+
    m4i                     `    ^ RI Ht ^ RIHt ^RIHt ^RIHt ^RIHtH	t	H
t
  ! R R]4      tR# )	    )unicode_literals)cast)_url)HyperlinkTestCase)register_schemeURL
DecodedURLc                   V   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
tV tR# )TestSchemeRegistrationc                ~    \        \        P                  4      V n        \	        \        P
                  4      V n        R # N)dictr   SCHEME_PORT_MAP_orig_scheme_port_mapsetNO_NETLOC_SCHEMES_orig_no_netloc_schemesselfs   &I/usr/lib/python3/dist-packages/hyperlink/test/test_scheme_registration.pysetUpTestSchemeRegistration.setUp   s(    %)$*>*>%?"'*4+A+A'B$    c                Z    V P                   \        n        V P                  \        n        R # r   )r   r   r   r   r   r   s   &r   tearDownTestSchemeRegistration.tearDown   s    #99!%!=!=r   c                   \        R RRR7       \        P                  ! R4      pVP                  R 8X  g   Q hVP                  R8X  g   Q hVP
                  RJ g   Q h\        P                  ! R4      pVP                  RR7      pVP                  4       R8X  g   Q h\        P                  ! R4      pVP                  4       R8X  g   Q h\        R	R
R7       \        R	R7      pVP                  RR7      pVP                  4       R8X  g   Q hR# )deltronTi  uses_netlocdefault_portzdeltron://example.comzdeltron:zexample.com)hostzdeltron://example.com:3030nonetroni  r!   schemeznonetron://example.comN)r   r   	from_textr&   portr    replaceto_text)r   u1u2u3u4s   &    r   test_register_scheme_basic1TestSchemeRegistration.test_register_scheme_basic   s    	t$G]]23yyI%%%ww$~~%%% ]]:&ZZ]Z+zz|6666 ]]78zz|6666
6
#ZZ]Z+zz|7777r   c                    \        R RR7       \        R R7      pVP                  RR7      pVP                  4       R8X  g   Q hR# )	noloctronFr    r%   )pathznoloctron:example/pathN)exampler4   )r   r   r)   r*   )r   r.   s   & r   test_register_no_netloc_scheme5TestSchemeRegistration.test_register_no_netloc_scheme-   s<    7$ZZ0Z1zz|7777r   c                    V P                  \        4      ;_uu_ 4        \        R R^R7       RRR4       R#   + '       g   i     R# ; i)badnetloclessFr   N)assertRaises
ValueErrorr   r   s   &r   !test_register_no_netloc_with_port8TestSchemeRegistration.test_register_no_netloc_with_port4   s.    z**OQO +***s	   7A	c           
     h   V P                  \        4      ;_uu_ 4        \        R \        \        R4      R7       RRR4       V P                  \        4      ;_uu_ 4        \        R \        \        \        4       4      R7       RRR4       R#   + '       g   i     L[; i  + '       g   i     R# ; i)	badnetlocNr3   r:   r;   r   r   boolobjectr   s   &r   test_invalid_uses_netloc/TestSchemeRegistration.test_invalid_uses_netloc9   sh    z**KT$5EF +z**KT$5IJ +* +****s   B$B B	 B1	c           
         V P                  \        4      ;_uu_ 4        \        R \        \        \        4       4      R7       RRR4       R#   + '       g   i     R# ; i)lolr3   Nr@   r   s   &r   !test_register_invalid_uses_netloc8TestSchemeRegistration.test_register_invalid_uses_netloc@   s5    z**EtD&(/CD +***   $AA	c           
         V P                  \        4      ;_uu_ 4        \        R \        \        \        4       4      R7       RRR4       R#   + '       g   i     R# ; i)noper$   Nr@   r   s   &r   test_register_invalid_port1TestSchemeRegistration.test_register_invalid_portE   s5    z**FdFH1EF +***rI   c                    \        R RR7       \        P                  ! R4      p\        P                  ! R4      pVP                  R4      R.8X  g   Q hVP                  R4      R.8X  g   Q hR# )	keepplusF)query_plus_is_spacezkeepplus://example.com/?q=a+bzhttps://example.com/?q=a+bqza+bza bN)r   r	   r'   get)r   plus_is_not_spaceplus_is_spaces   &  r   "test_register_no_quote_plus_scheme9TestSchemeRegistration.test_register_no_quote_plus_schemeJ   si    
>&00+
 #,,-IJ $$S)eW444  %%000r   )r   r   N)__name__
__module____qualname____firstlineno__r   r   r/   r6   r<   rC   rG   rL   rU   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s<     C
>
8.8P
KE
G
1 1r   r   N)
__future__r   typingr    r   commonr   r   r   r	   r    r   r   <module>rc      s(    '   % 3 3G1. G1r   