ó
ç'ÊUc           @   sw   d  d l  Z  d  d l m Z d  d l m Z m Z m Z d g Z d e  j f d „  ƒ  YZ	 e
 d k rs e  j ƒ  n  d S(   iÿÿÿÿN(   t   Spider(   t   url_is_from_any_domaint   url_is_from_spidert   canonicalize_urls   scrapy.utils.urlt   UrlUtilsTestc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d } |  j  t | d g ƒ ƒ |  j t | d g ƒ ƒ d } |  j  t | d g ƒ ƒ |  j t | d g ƒ ƒ d } |  j  t | d g ƒ ƒ |  j  t | d g ƒ ƒ d } |  j  t | d	 g ƒ ƒ |  j t | d
 g ƒ ƒ d } |  j t | d g ƒ ƒ |  j t | d d g ƒ ƒ d  S(   Ns/   http://www.wheele-bin-art.co.uk/get/product/123s   wheele-bin-art.co.uks	   art.co.uks+   http://wheele-bin-art.co.uk/get/product/123s/   http://www.Wheele-Bin-Art.co.uk/get/product/123s   wheele-bin-art.CO.UKs   WHEELE-BIN-ART.CO.UKs$   http://192.169.0.15:8080/mypage.htmls   192.169.0.15:8080s   192.169.0.15s†   javascript:%20document.orderform_2581_1190810811.mode.value=%27add%27;%20javascript:%20document.orderform_2581_1190810811.submit%28%29s   testdomain.coms   .testdomain.com(   t
   assertTrueR   t   assertFalse(   t   selft   url(    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyt   test_url_is_from_any_domain   s    c         C   sk   t  d d ƒ } |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ d  S(   Nt   names   example.coms%   http://www.example.com/some/page.htmls%   http://sub.example.com/some/page.htmls%   http://www.example.org/some/page.htmls%   http://www.example.net/some/page.html(   R    R   R   R   (   R   t   spider(    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyt   test_url_is_from_spider    s
    c         C   sr   d t  f d „  ƒ  Y} |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ d  S(   Nt   MySpiderc           B   s   e  Z d  Z RS(   s   example.com(   t   __name__t
   __module__R
   (    (    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyR   (   s   s%   http://www.example.com/some/page.htmls%   http://sub.example.com/some/page.htmls%   http://www.example.org/some/page.htmls%   http://www.example.net/some/page.html(   R    R   R   R   (   R   R   (    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyt(   test_url_is_from_spider_class_attributes'   s
    c         C   sÿ   t  d d d d d g ƒ } |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d	 | ƒ ƒ |  j t d
 | ƒ ƒ |  j t d | ƒ ƒ t  d d d t d ƒ ƒ } |  j t d | ƒ ƒ t  d d d d ƒ } |  j t d | ƒ ƒ d  S(   NR
   s   example.comt   allowed_domainss   example.orgs   example.nets%   http://www.example.com/some/page.htmls%   http://sub.example.com/some/page.htmls!   http://example.com/some/page.htmls%   http://www.example.org/some/page.htmls%   http://www.example.net/some/page.htmls$   http://www.example.us/some/page.html(   s   example.coms   example.net(   s   example.coms   example.net(   R    R   R   R   t   set(   R   R   (    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyt,   test_url_is_from_spider_with_allowed_domains/   s    c         C   sž   d t  f d „  ƒ  Y} |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ |  j t d | ƒ ƒ d  S(	   NR   c           B   s   e  Z d  Z d Z RS(   s   example.coms   example.orgs   example.net(   s   example.orgs   example.net(   R   R   R
   R   (    (    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyR   ?   s   s%   http://www.example.com/some/page.htmls%   http://sub.example.com/some/page.htmls!   http://example.com/some/page.htmls%   http://www.example.org/some/page.htmls%   http://www.example.net/some/page.htmls$   http://www.example.us/some/page.html(   R    R   R   R   (   R   R   (    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyt=   test_url_is_from_spider_with_allowed_domains_class_attributes>   s    c         C   sÎ  |  j  t d ƒ d ƒ t t d ƒ t ƒ s1 t ‚ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d	 ƒ d
 ƒ |  j  t d d t ƒd ƒ |  j  t d ƒ d ƒ |  j  t d d t ƒd ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ f |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ f |  j  t d ƒ d ƒ f |  j  t d ƒ d  ƒ |  j  t d! ƒ d" ƒ |  j  t d# ƒ d$ ƒ |  j  t d% ƒ d& ƒ |  j  t d' ƒ d' ƒ |  j  t d( ƒ d) ƒ |  j  t d( d* t ƒd( ƒ |  j  t d+ ƒ d+ ƒ |  j  t d, ƒ d- ƒ |  j  t d. ƒ d ƒ |  j  t d/ ƒ d0 ƒ |  j  t d1 ƒ d1 ƒ d  S(2   Ns   http://www.example.com/u   http://www.example.coms   http://www.example.coms%   http://www.example.com/do?a=1&b=2&c=3s%   http://www.example.com/do?c=1&b=2&a=3s%   http://www.example.com/do?a=3&b=2&c=1s   http://www.example.com/do?&a=1s   http://www.example.com/do?a=1s*   http://www.example.com/do?c=3&b=5&b=2&a=50s*   http://www.example.com/do?a=50&b=2&b=5&c=3s    http://www.example.com/do?b=&a=2t   keep_blank_valuess   http://www.example.com/do?a=2s    http://www.example.com/do?a=2&b=s"   http://www.example.com/do?b=&c&a=2s#   http://www.example.com/do?a=2&b=&c=u    http://www.example.com/do?1750,4s#   http://www.example.com/do?1750%2C4=s'   http://www.example.com/do?q=a space&a=1s'   http://www.example.com/do?a=1&q=a+spaces'   http://www.example.com/do?q=a+space&a=1s)   http://www.example.com/do?q=a%20space&a=1s   http://www.example.com/a%a3dos   http://www.example.com/a%A3dos    http://www.example.com/do?k=b%a3s    http://www.example.com/do?k=b%A3s   http://www.example.com/a do?a=1s!   http://www.example.com/a%20do?a=1s"   http://www.example.com/a %20do?a=1s$   http://www.example.com/a%20%20do?a=1s&   http://www.example.com/a doÂ£.html?a=1s,   http://www.example.com/a%20do%C2%A3.html?a=1u-   http://www.example.com/do?price=Â£500&a=5&z=3u1   http://www.example.com/do?a=5&price=%C2%A3500&z=3s-   http://www.example.com/do?price=Â£500&a=5&z=3s1   http://www.example.com/do?a=5&price=%C2%A3500&z=3s+   http://www.example.com/do?price(Â£)=500&a=1s3   http://www.example.com/do?a=1&price%28%C2%A3%29=500u,   http://user:pass@www.example.com:81/do?now=1u,   http://user:pass@www.example.com/do?a=1#fragu'   http://user:pass@www.example.com/do?a=1t   keep_fragmentssb   http://www.simplybedrooms.com/White-Bedroom-Furniture/Bedroom-Mirror:-Josephine-Cheval-Mirror.htmlu+   http://www.example.com/caf%E9-con-leche.htms+   http://www.example.com/caf%E9-con-leche.htms   http://www.EXAMPLE.com/s'   http://foo.com/AC%2FDC+rocks%3f/?yeah=1s'   http://foo.com/AC%2FDC+rocks%3F/?yeah=1s   http://foo.com/AC%2FDC/(   t   assertEqualR   t
   isinstancet   strt   AssertionErrort   Falset   True(   R   (    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyt   test_canonicalize_urlI   s|    


	(   R   R   R	   R   R   R   R   R   (    (    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyR   	   s   					t   __main__(   t   unittestt   scrapy.spidersR    t   scrapy.utils.urlR   R   R   t   __doctests__t   TestCaseR   R   t   main(    (    (    s8   /home/travis/build/scrapy/scrapy/tests/test_utils_url.pyt   <module>   s   	¤