ó
ç'ÊUc           @   sg   d  d l  Z  d  d l Z d  d l m Z d g Z d e j f d „  ƒ  YZ e d k rc e j ƒ  n  d S(   iÿÿÿÿN(   t   CaselessDicts   scrapy.utils.datatypest   CaselessDictTestc           B   sk   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   c         C   sŒ   i d d 6d d 6} t  | ƒ } |  j | d d ƒ |  j | d d ƒ d d f } t  | ƒ } |  j | d d ƒ |  j | d d ƒ d  S(   Ni   t   redi   t   black(   s   redi   (   s   blacki   (   R    t   assertEqual(   t   selft   seqt   d(    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt	   test_init
   s    c         C   s{   t  ƒ  } d | d <|  j | d d ƒ |  j | j d ƒ d ƒ d | d <|  j | d d ƒ |  j | j d ƒ d ƒ d  S(   Ni   t	   key_Lowert	   KEy_loWeri   t	   KEY_LOWER(   R    R   t   get(   R   R   (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_caseless   s    	

c         C   sJ   t  i d d 6ƒ } | d =|  j t | j d ƒ |  j t | j d ƒ d  S(   Ni   t	   key_lowert	   key_LOWER(   R    t   assertRaisest   KeyErrort   __getitem__(   R   R   (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_delete   s    c         C   sO   t  ƒ  } |  j | j d d ƒ d ƒ d | d <|  j | j d d ƒ d ƒ d  S(   Nt   ci   i
   (   R    R   R   (   R   R   (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_getdefault%   s    	
c         C   sŠ   t  i d d 6d d 6ƒ } | j d d ƒ } |  j | d ƒ |  j | d d ƒ | j d d ƒ } |  j | d ƒ |  j | d d ƒ d  S(	   Ni   t   ai   t   bt   Ai   R   t   C(   R    t
   setdefaultR   (   R   R   t   r(    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_setdefault+   s    c         C   sõ   d } t  j | ƒ } |  j | d d  ƒ |  j | d d  ƒ t  j | d ƒ } |  j | d d ƒ |  j | d d ƒ t  ƒ  } | j | ƒ } |  j | d d  ƒ |  j | d d  ƒ | j | d ƒ } |  j | d d ƒ |  j | d d ƒ d  S(   NR   R   R   t   Bi   (   R   R   (   R    t   fromkeysR   t   None(   R   t   keysR   t   instance(    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_fromkeys6   s    	c         C   s)   t  ƒ  } d | d <d | k s% t ‚ d  S(   Ni   R   (   R    t   AssertionError(   R   R   (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_containsJ   s    	
c         C   sF   t  ƒ  } d | d <|  j | j d ƒ d ƒ |  j t | j d ƒ d  S(   Ni   R   R   (   R    R   t   popR   R   (   R   R   (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_popO   s    	
c         C   sL   d t  f d „  ƒ  Y} | ƒ  } d | d <|  j t | j ƒ  ƒ d g ƒ d  S(   Nt   MyDictc           B   s   e  Z d  „  Z RS(   c         S   s
   | j  ƒ  S(   N(   t   title(   R   t   key(    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   normkeyW   s    (   t   __name__t
   __module__R*   (    (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyR'   V   s   i   s   key-ones   Key-One(   R    R   t   listR    (   R   R'   R   (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_normkeyU   s    	
c         C   si  d t  f d „  ƒ  Y} | i d d 6ƒ } |  j | d d ƒ |  j | j d ƒ d ƒ | ƒ  } d | d <|  j | d d ƒ |  j | j d ƒ d ƒ | ƒ  } | j d d ƒ |  j | d d ƒ |  j | j d ƒ d ƒ | ƒ  } | j i d d 6ƒ |  j | d d ƒ |  j | j d ƒ d ƒ | j d d ƒ } |  j | d d ƒ |  j | j d ƒ d ƒ d  S(   NR'   c           B   s   e  Z d  „  Z RS(   c         S   s   | d  k	 r | d Sd  S(   Ni   (   R   (   R   t   value(    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt	   normvalue`   s    (   R+   R,   R0   (    (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyR'   _   s   i   R)   i   (   s   key(   R    R   R   R   t   updateR   (   R   R'   R   (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   test_normvalue^   s&    	
		c         C   sm   t  i d d 6ƒ } t j | ƒ } |  j | | ƒ |  j | j d ƒ | j d ƒ ƒ t | t  ƒ si t ‚ d  S(   NR/   t   header1(   R    t   copyR   R   t
   isinstanceR#   (   R   t   h1t   h2(    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt	   test_copy{   s
    "(   R+   R,   R   R   R   R   R   R"   R$   R&   R.   R2   R8   (    (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyR      s   		
									t   __main__(	   R4   t   unittestt   scrapy.utils.datatypesR    t   __doctests__t   TestCaseR   R+   t   main(    (    (    s>   /home/travis/build/scrapy/scrapy/tests/test_utils_datatypes.pyt   <module>   s   	{