ó
ç'ÊUc           @   sÂ   d  d l  m Z d  d l m Z d  d l m Z m Z d  d l m Z d  d l	 m
 Z
 d  d l m Z d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   TestCase(   t   urlparse(   t   Responset   Request(   t   Spider(   t   OffsiteMiddleware(   t   get_crawlert   TestOffsiteMiddlewarec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sM   t  t ƒ } | j |  j ƒ    |  _ t j | ƒ |  _ |  j j |  j ƒ d  S(   N(	   R   R   t   _create_spidert   _get_spiderargst   spiderR   t   from_crawlert   mwt   spider_opened(   t   selft   crawler(    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyt   setUp   s    c         C   s   t  d d d d d g ƒ S(   Nt   namet   foot   allowed_domainss   scrapytest.orgs
   scrapy.org(   t   dict(   R   (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR	      s    c         C   s·   t  d ƒ } t d ƒ t d ƒ t d ƒ t d d t ƒg } t d ƒ t d ƒ t d	 ƒ t d
 ƒ t d ƒ t d ƒ g } | | } t |  j j | | |  j ƒ ƒ } |  j | | ƒ d  S(   Ns   http://scrapytest.orgs   http://scrapytest.org/1s   http://scrapy.org/1s   http://sub.scrapy.org/1s   http://offsite.tld/letmepasst   dont_filters   http://scrapy2.orgs   http://offsite.tld/s!   http://offsite.tld/scrapytest.orgs'   http://offsite.tld/rogue.scrapytest.orgs$   http://rogue.scrapytest.org.haha.coms   http://roguescrapytest.org(   R   R   t   Truet   listR   t   process_spider_outputR
   t   assertEquals(   R   t   rest   onsite_reqst   offsite_reqst   reqst   out(    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyt   test_process_spider_output   s    								
!(   t   __name__t
   __module__R   R	   R   (    (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR   
   s   		t   TestOffsiteMiddleware2c           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   t  d d d d  ƒ S(   NR   R   R   (   R   t   None(   R   (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR	   *   s    c         C   sY   t  d ƒ } t d ƒ t d ƒ g } t |  j j | | |  j ƒ ƒ } |  j | | ƒ d  S(   Ns   http://scrapytest.orgs   http://a.com/b.htmls   http://b.com/1(   R   R   R   R   R   R
   R   (   R   R   R   R   (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR   -   s    !(   R    R!   R	   R   (    (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR"   (   s   	t   TestOffsiteMiddleware3c           B   s   e  Z d  „  Z RS(   c         C   s
   t  d ƒ S(   NR   (   R   (   R   (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyt   _get_spider5   s    (   R    R!   R%   (    (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR$   3   s   t   TestOffsiteMiddleware4c           B   s   e  Z d  „  Z d „  Z RS(   c         C   s+   t  d ƒ j } t d d d d d  | g ƒ S(   Ns   http:////scrapytest.orgR   R   R   s   scrapytest.org(   R   t   hostnameR   R#   (   R   t   bad_hostname(    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR%   ;   s    c         C   sP   t  d ƒ } t d ƒ g } t |  j j | | |  j ƒ ƒ } |  j | | ƒ d  S(   Ns   http://scrapytest.orgs   http://scrapytest.org/1(   R   R   R   R   R   R
   R   (   R   R   R   R   (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR   ?   s    !(   R    R!   R%   R   (    (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyR&   9   s   	N(   t   unittestR    t   six.moves.urllib.parseR   t   scrapy.httpR   R   t   scrapy.spidersR   t    scrapy.spidermiddlewares.offsiteR   t   scrapy.utils.testR   R   R"   R$   R&   (    (    (    sG   /home/travis/build/scrapy/scrapy/tests/test_spidermiddleware_offsite.pyt   <module>   s   