ó
ç'ÊUc           @   su   d  d l  Z  d  d l m Z d  d l m Z d  d l m Z m Z d e  j f d „  ƒ  YZ	 d e f d „  ƒ  YZ
 d S(	   iÿÿÿÿN(   t   Request(   t   Spider(   t   request_to_dictt   request_from_dictt   RequestSerializationTestc           B   se   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d
 d „ Z d „  Z	 d „  Z
 d „  Z d	 „  Z RS(   c         C   s   t  ƒ  |  _ d  S(   N(   t
   TestSpidert   spider(   t   self(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   setUp	   s    c         C   s   t  d ƒ } |  j | ƒ d  S(   Ns   http://www.example.com(   R    t   _assert_serializes_ok(   R   t   r(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt
   test_basic   s    c         C   sh   t  d d d d d d d d d	 d
 i d d 6d i d d 6d d d d d i d d 6ƒ	} |  j | ƒ d  S(   Ns   http://www.example.comt   callbackt
   parse_itemt   errbackt   handle_errort   methodt   POSTt   bodys	   some bodyt   headerss   text/html; charset=latin-1s   content-encodingt   cookiest   usdt   currencyt   encodings   latin-1t   priorityi   t   metat   bt   a(   R    R	   (   R   R
   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   test_all_attributes   s    	c         C   s#   t  d d d ƒ} |  j | ƒ d  S(   Ns   http://www.example.comR   s   £(   R    R	   (   R   R
   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   test_latin1_body   s    c         C   s#   t  d d d ƒ} |  j | ƒ d  S(   Ns   http://www.example.comR   s   Â£(   R    R	   (   R   R
   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   test_utf8_body!   s    c         C   s8   t  | d | ƒ} t | d | ƒ} |  j | | ƒ d  S(   NR   (   R   R   t   _assert_same_request(   R   t   requestR   t   dt   request2(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyR	   %   s    c         C   sö   |  j  | j | j ƒ |  j  | j | j ƒ |  j  | j | j ƒ |  j  | j | j ƒ |  j  | j | j ƒ |  j  | j | j ƒ |  j  | j | j ƒ |  j  | j | j ƒ |  j  | j	 | j	 ƒ |  j  | j
 | j
 ƒ |  j  | j | j ƒ d  S(   N(   t   assertEqualt   urlR   R   R   R   R   R   R   t	   _encodingR   t   dont_filter(   R   t   r1t   r2(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyR   *   s    c         C   s>   t  d d |  j j d |  j j ƒ} |  j | d |  j ƒd  S(   Ns   http://www.example.comR   R   R   (   R    R   R   R   R	   (   R   R
   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   test_callback_serialization7   s    c         C   sH   t  d d d „  ƒ} |  j t t | ƒ |  j t t | d |  j ƒd  S(   Ns   http://www.example.comR   c         S   s   |  S(   N(    (   t   x(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   <lambda>=   s    R   (   R    t   assertRaisest
   ValueErrorR   R   (   R   R
   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   test_unserializable_callback1<   s    c         C   s/   t  d d |  j j ƒ} |  j t t | ƒ d  S(   Ns   http://www.example.comR   (   R    R   R   R,   R-   R   (   R   R
   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   test_unserializable_callback2A   s    N(   t   __name__t
   __module__R   R   R   R   R   t   NoneR	   R   R)   R.   R/   (    (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyR      s   								R   c           B   s    e  Z d  Z d „  Z d „  Z RS(   t   testc         C   s   d  S(   N(    (   R   t   response(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyR   H   s    c         C   s   d  S(   N(    (   R   t   failure(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyR   J   s    (   R0   R1   t   nameR   R   (    (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyR   F   s   	(   t   unittestt   scrapy.httpR    t   scrapy.spidersR   t   scrapy.utils.reqserR   R   t   TestCaseR   R   (    (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_utils_reqser.pyt   <module>   s
   ?