ó
ç'ÊUc           @   s¤   d  d l  Z  d  d l m Z d  d l m Z m Z d  d l m Z m Z d  d l	 m
 Z
 d e f d „  ƒ  YZ d e  j f d	 „  ƒ  YZ e d
 k r  e  j ƒ  n  d S(   iÿÿÿÿN(   t   Spider(   t   Requestt   Response(   t   Itemt   Field(   t   LogFormattert
   CustomItemc           B   s   e  Z e ƒ  Z d  „  Z RS(   c         C   s   d |  d S(   Ns   name: %st   name(    (   t   self(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pyt   __str__   s    (   t   __name__t
   __module__R   R   R	   (    (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pyR   	   s   	t   LoggingContribTestc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  ƒ  |  _ t d ƒ |  _ d  S(   Nt   default(   R   t	   formatterR    t   spider(   R   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pyt   setUp   s    c         C   sÄ   t  d ƒ } t d ƒ } |  j j | | |  j ƒ } | d | d } |  j | d ƒ t  d d i d d 6ƒ} t d d d	 g ƒ} |  j j | | |  j ƒ } | d | d } |  j | d
 ƒ d  S(   Ns   http://www.example.comt   msgt   argss:   Crawled (200) <GET http://www.example.com> (referer: None)t   headerss   http://example.comt   referert   flagst   cachedsS   Crawled (200) <GET http://www.example.com> (referer: http://example.com) ['cached'](   R   R   R   t   crawledR   t   assertEqual(   R   t   reqt   rest   logkwst   logline(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pyt   test_crawled   s    		c         C   s   i  } t  d ƒ } t d ƒ } |  j j | | | |  j ƒ } | d | d } | j ƒ  } t d „  | Dƒ ƒ sv t ‚ |  j | d d g ƒ d  S(   Nu   â€˜s   http://www.example.comR   R   c         s   s   |  ] } t  | t ƒ Vq d  S(   N(   t
   isinstancet   unicode(   t   .0t   x(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pys	   <genexpr>-   s    u   Dropped: â€˜s   {}(	   t	   ExceptionR   R   t   droppedR   t
   splitlinest   allt   AssertionErrorR   (   R   t   itemt	   exceptiont   responseR   R   t   lines(    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pyt   test_dropped&   s    c         C   sŽ   t  ƒ  } d | d <t d ƒ } |  j j | | |  j ƒ } | d | d } | j ƒ  } t d „  | Dƒ ƒ st t ‚ |  j | d d g ƒ d  S(	   Nu   Â£R   s   http://www.example.comR   R   c         s   s   |  ] } t  | t ƒ Vq d  S(   N(   R   R   (   R    R!   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pys	   <genexpr>7   s    u)   Scraped from <200 http://www.example.com>u   name: Â£(	   R   R   R   t   scrapedR   R$   R%   R&   R   (   R   R'   R)   R   R   R*   (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pyt   test_scraped0   s    	
(   R
   R   R   R   R+   R-   (    (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pyR      s   			
t   __main__(   t   unittestt   scrapy.spidersR    t   scrapy.httpR   R   t   scrapy.itemR   R   t   scrapy.logformatterR   R   t   TestCaseR   R
   t   main(    (    (    s;   /home/travis/build/scrapy/scrapy/tests/test_logformatter.pyt   <module>   s   )