ó
ç'ÊUc           @   sË   d  d l  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 e f d „  ƒ  YZ d e j f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   unittest(   t   Settings(   t   NotConfigured(   t   MiddlewareManagert   M1c           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   d  S(   N(    (   t   selft   spider(    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   open_spider	   s    c         C   s   d  S(   N(    (   R   R   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   close_spider   s    c         C   s   d  S(   N(    (   R   t   responset   requestR   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   process   s    (   t   __name__t
   __module__R   R   R   (    (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR      s   		t   M2c           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   d  S(   N(    (   R   R   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR      s    c         C   s   d  S(   N(    (   R   R   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR      s    (   R   R   R   R   (    (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR      s   		t   M3c           B   s   e  Z d  „  Z RS(   c         C   s   d  S(   N(    (   R   R	   R
   R   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR      s    (   R   R   R   (    (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR      s   t   MOffc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   d  S(   N(    (   R   R   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR   $   s    c         C   s   d  S(   N(    (   R   R   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR   '   s    c         C   s
   t  ‚ d  S(   N(   R   (   R   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   __init__*   s    (   R   R   R   R   R   (    (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR   "   s   		t   TestMiddlewareManagerc           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c         C   s$   g  d d d g D] } d | ^ q S(   NR   R   R   s   tests.test_middleware.%s(    (   t   clst   settingst   x(    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   _get_mwlist_from_settings0   s    c         C   sC   t  t |  ƒ j | ƒ t | d ƒ r? |  j d j | j ƒ n  d  S(   NR   (   t   superR   t   _add_middlewaret   hasattrt   methodst   appendR   (   R   t   mw(    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR   4   s    (   R   R   t   classmethodR   R   (    (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR   .   s   t   MiddlewareManagerTestc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   sœ   t  ƒ  t ƒ  t ƒ  } } } t | | | ƒ } |  j | j d | j | j g ƒ |  j | j d | j | j g ƒ |  j | j d | j | j g ƒ d  S(   NR   R   R   (	   R   R   R   R   t   assertEqualR   R   R   R   (   R   t   m1t   m2t   m3t   mwman(    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt	   test_init;   s
    ##c         C   s¸   t  t ƒ  t ƒ  t ƒ  ƒ } |  j g  | j d D] } | j ^ q/ t t g ƒ |  j g  | j d D] } | j ^ qb t t g ƒ |  j g  | j d D] } | j ^ q• t t g ƒ d  S(   NR   R   R   (   R   R   R   R   R   R   t   im_class(   R   R#   R   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   test_methodsB   s    &&&c         C   sO   t  ƒ  t ƒ  t ƒ  } } } t | | | ƒ } |  j | j | | | f ƒ d  S(   N(   R   R   R   R   R   t   middlewares(   R   R    R!   R"   R#   (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   test_enabledK   s    c         C   sQ   t  ƒ  } t j | ƒ } g  | j D] } | j ^ q" } |  j | t t g ƒ d  S(   N(   R   R   t   from_settingsR'   t	   __class__R   R   R   (   R   R   R#   R   t   classes(    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   test_enabled_from_settingsP   s    	(   R   R   R$   R&   R(   R,   (    (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyR   9   s   				N(   t   twisted.trialR    t   scrapy.settingsR   t   scrapy.exceptionsR   t   scrapy.middlewareR   t   objectR   R   R   R   R   t   TestCaseR   (    (    (    s9   /home/travis/build/scrapy/scrapy/tests/test_middleware.pyt   <module>   s   
