ó
ç'ÊUc           @   s¿   d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l m Z d  d l	 m
 Z
 d  d l m Z d  d l m Z e j j e j j e ƒ ƒ Z d e j f d	 „  ƒ  YZ d S(
   iÿÿÿÿN(   t   verifyObject(   t   unittest(   t   ISpiderLoader(   t   SpiderLoader(   t   Settings(   t   Requestt   SpiderLoaderTestc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(	   c         C   s¡   t  j j t d ƒ } |  j ƒ  |  _ t  j |  j ƒ t  j j |  j d ƒ |  _ t j	 | |  j ƒ t
 j j |  j ƒ t i d g d 6ƒ } t j | ƒ |  _ d  S(   Nt   test_spiderst   test_spiders_xxxt   SPIDER_MODULES(   t   ost   patht   joint
   module_dirt   mktempt   tmpdirt   mkdirt   spiders_dirt   shutilt   copytreet   syst   appendR   R   t   from_settingst   spider_loader(   t   selft   orig_spiders_dirt   settings(    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt   setUp   s    c         C   s'   |  `  t j d =t j j |  j ƒ d  S(   NR   (   R   R   t   modulesR   t   removeR   (   R   (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt   tearDown   s    
c         C   s   t  t |  j ƒ d  S(   N(   R    R   R   (   R   (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt   test_interface$   s    c         C   s2   |  j  t |  j j ƒ  ƒ t d d d g ƒ ƒ d  S(   Nt   spider1t   spider2t   spider3(   t   assertEqualt   setR   t   list(   R   (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt	   test_list'   s    c         C   s)   |  j  j d ƒ } |  j | j d ƒ d  S(   NR    t   Spider1(   R   t   loadR#   t   __name__(   R   R    (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt	   test_load+   s    c         C   së   |  j  |  j j t d ƒ ƒ d g ƒ |  j  |  j j t d ƒ ƒ d g ƒ |  j  t |  j j t d ƒ ƒ ƒ t d d g ƒ ƒ |  j  |  j j t d ƒ ƒ g  ƒ |  j  |  j j t d ƒ ƒ g  ƒ |  j  |  j j t d ƒ ƒ d	 g ƒ d  S(
   Ns   http://scrapy1.org/testR    s   http://scrapy2.org/testR!   s   http://scrapy3.org/tests   http://scrapy999.org/tests   http://spider3.coms   http://spider3.com/onlythisR"   (   R#   R   t   find_by_requestR   R$   (   R   (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt   test_find_by_request/   s    

!c         C   sP   d } t  i | g d 6ƒ } t j | ƒ |  _ t |  j j ƒ d k sL t ‚ d  S(   Ns,   tests.test_spiderloader.test_spiders.spider1R	   i   (   R   R   R   R   t   lent   _spiderst   AssertionError(   R   t   moduleR   (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt   test_load_spider_module=   s    c            sl   d ‰  d j  ‡  f d †  d Dƒ ƒ } t i | d 6ƒ } t j | ƒ |  _ t |  j j ƒ d k sh t ‚ d  S(	   Ns%   tests.test_spiderloader.test_spiders.t   ,c         3   s   |  ] } ˆ  | Vq d  S(   N(    (   t   .0t   s(   t   prefix(    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pys	   <genexpr>E   s    R    R!   R	   i   (   s   spider1s   spider2(   R   R   R   R   R   R-   R.   R/   (   R   R0   R   (    (   R5   sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyR1   C   s
    c         C   sP   d } t  i | g d 6ƒ } t j | ƒ |  _ t |  j j ƒ d k sL t ‚ d  S(   Ns,   tests.test_spiderloader.test_spiders.spider0R	   i    (   R   R   R   R   R-   R.   R/   (   R   R0   R   (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt   test_load_base_spiderJ   s    (
   R)   t
   __module__R   R   R   R&   R*   R,   R1   R6   (    (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyR      s   	
							(   R   R
   R   t   zope.interface.verifyR    t   twisted.trialR   t   scrapy.interfacesR   t   scrapy.spiderloaderR   t   scrapy.settingsR   t   scrapy.httpR   R   t   dirnamet   abspatht   __file__R   t   TestCaseR   (    (    (    sD   /home/travis/build/scrapy/scrapy/tests/test_spiderloader/__init__.pyt   <module>   s   