ó
ç'ÊUc           @   s¥   d  d l  m Z 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  d l m Z d „  Z d e f d	 „  ƒ  YZ e d
 k r¡ e ƒ  n  d S(   iÿÿÿÿ(   t   TestCaset   main(   t   Responset   XmlResponse(   t   DecompressionMiddleware(   t   Spider(   t   get_testdata(   t   assert_samelinesc         C   sY   t  d d ƒ } i  } x7 |  D]/ } t  d d | ƒ } t d d | ƒ| | <q W| | f S(   Nt
   compresseds   feed-sample1.xmls   feed-sample1.s   http://foo.com/bart   body(   R   R   (   t   formatst   uncompressed_bodyt   test_responsest   formatR	   (    (    sQ   /home/travis/build/scrapy/scrapy/tests/test_downloadermiddleware_decompression.pyt
   _test_data	   s    t   DecompressionMiddlewareTestc           B   sY   e  Z d  d d d g Z e e ƒ \ Z Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   t   tars   xml.bz2s   xml.gzt   zipc         C   s   t  ƒ  |  _ t d ƒ |  _ d  S(   Nt   foo(   R   t   mwR   t   spider(   t   self(    (    sQ   /home/travis/build/scrapy/scrapy/tests/test_downloadermiddleware_decompression.pyt   setUp   s    c         C   s‡   x€ |  j  D]u } |  j | } |  j j d  | |  j ƒ } t | t ƒ sf t d | t	 | ƒ j
 f ƒ ‚ t |  | j |  j | ƒ q
 Wd  S(   Ns   Failed %s, response type %s(   t   test_formatsR   R   t   process_responset   NoneR   t
   isinstanceR   t   AssertionErrort   typet   __name__R   R	   R   (   R   t   fmtt   rspt   new(    (    sQ   /home/travis/build/scrapy/scrapy/tests/test_downloadermiddleware_decompression.pyt   test_known_compression_formats   s    c         C   s_   t  d d d |  j ƒ } |  j j d  | |  j ƒ } | | k sE t ‚ t |  | j | j ƒ d  S(   Nt   urls   http://test.comR	   (	   R   R   R   R   R   R   R   R   R	   (   R   R   R    (    (    sQ   /home/travis/build/scrapy/scrapy/tests/test_downloadermiddleware_decompression.pyt   test_plain_response#   s    c         C   sf   t  d d d d ƒ } |  j j d  | |  j ƒ } | | k sB t ‚ | j sR t ‚ | j sb t ‚ d  S(   NR"   s   http://test.comR	   t    (   R   R   R   R   R   R   R	   (   R   R   R    (    (    sQ   /home/travis/build/scrapy/scrapy/tests/test_downloadermiddleware_decompression.pyt   test_empty_response)   s
    c         C   s
   |  `  d  S(   N(   R   (   R   (    (    sQ   /home/travis/build/scrapy/scrapy/tests/test_downloadermiddleware_decompression.pyt   tearDown0   s    (   R   t
   __module__R   R   R   R   R   R!   R#   R%   R&   (    (    (    sQ   /home/travis/build/scrapy/scrapy/tests/test_downloadermiddleware_decompression.pyR      s   				t   __main__N(   t   unittestR    R   t   scrapy.httpR   R   t*   scrapy.downloadermiddlewares.decompressionR   t   scrapy.spidersR   t   testsR   t   scrapy.utils.testR   R   R   R   (    (    (    sQ   /home/travis/build/scrapy/scrapy/tests/test_downloadermiddleware_decompression.pyt   <module>   s   		"