HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //lib/python3/dist-packages/hyperlink/test/__pycache__/test_decoded_url.cpython-310.pyc
o

G�_��@s`ddlmZddlmZmZddlmZmZddlm	Z	ddl
mZdZd	Z
Gd
d�de�ZdS)
�)�unicode_literals)�Dict�Union�)�
DecodedURL�URL)�_percent_decode�)�HyperlinkTestCasezhttp://example.com/#uahttps://%75%73%65%72:%00%00%00%00@xn--bcher-kva.ch:8080/a/nice%20nice/./path/?zot=23%25&zut#frégc@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�TestURLcCs�t�t�}|jdksJ�|jdksJ�|jdksJ�|jdks!J�|jdks(J�t�t�}|jdks4J�|jdks;J�|jdksBJ�|jd	ksIJ�|jd
ksPJ�|�	d�dgksZJ�|j
d
ksaJ�|jdkshJ�dS)NZhttpzexample.com�P)�r
Zhttpsu
bücher.chi�)�az	nice nice�.�pathr
ufrég�zot�23%�user)rz)r�	from_text�	BASIC_URL�scheme�host�portr�fragment�	TOTAL_URL�getr�userinfo)�selfZbdurl�durl�r�A/usr/lib/python3/dist-packages/hyperlink/test/test_decoded_url.py�test_durl_basics

zTestURL.test_durl_basiccCs^t�t�}|�d�jddksJ�|�d�jddksJ�|��|ks%J�|��|us-J�|�d�jddks9J�|jdks@J�d|jvsGJ�d|��jvsPJ�|�	�j
dksYJ�d	|��jd
vsdJ�|jdd�tksnJ�|j
ssJ�|jsxJ�||j��ks�J�tjtdd
�}||jjdd
�ks�J�tt�t��d	��dks�J�|d
kr�J�|d
ks�J�dS)Nzte%t���z	../test2%�/r
rrz	fr%C3%A9g� r	T)Z
with_password)Zlazyzhttp://example.com/%20)rrrZsiblingr�child�clickr�	normalize�to_urirZto_iri�to_textZabsolute�rootedZencoded_urlZget_decoded_url�strr�rr�durl2rrr �test_passthroughs's.


��zTestURL.test_passthroughscCs,t�t�}t|�dt|j�dksJ�dS)NzDecodedURL(url=�))rrr�repr�_url�rrrrr �	test_reprMs
"zTestURL.test_reprcCsTt�t�}|�d�dgksJ�|�dd�}|�d�dgksJ�|�dd�}|�d�dgks/J�t|��d�}|�d�dgks@J�|�d�}|�d�gksNJ�t�d�}|�d�d	d
gks^J�|�dd��d�dgkslJ�t�d�}|�d
�t�d�ks}J�|jd
dd�t�d�ks�J�|jd
dd�t�d�ks�J�|jd
ddd�t�d�ks�J�dS)Nrrr$Zspacezspa%ed)Zurlz/?%61rg=b&arg=c�arg�b�c�du.https://example.com/a/b/?fóó=1&bar=2&fóó=3ufóózhttps://example.com/a/b/?bar=2�1)�valueu&https://example.com/a/b/?bar=2&fóó=3r	)�limitr)r9r:)rrrr�add�setr(�remover2rrr �test_query_manipulationRs8


�
�
�
��zTestURL.test_query_manipulationcCs�t�t�}t�t�}t�t�}|��}||ksJ�||ksJ�||ks%J�|dus+J�||jks2J�tttf}i}|||<|||<t|�dksJJ�|||<t|�dksVJ�|||<t|�dksbJ�dS)Nr	r�)	rrrrr(r1rr�len)rrr-ZburlZdurl_uriZAnyURLZdurl_maprrr �test_equality_and_hashabilityvs$


z%TestURL.test_equality_and_hashabilitycCsHt�t�}|j|j|j|j|j|j|j	|j
|j|jd�	}||ks"J�dS)N)	rrr�queryrrr*r�uses_netloc)
rrr�replacerrrrBrrr*rrCr,rrr �test_replace_roundtrip�s
�zTestURL.test_replace_roundtripcCsFt�t�}|�t��|jdd�Wd�dS1swYdS)N)rZpwZthiswillcauseafailure)r)rrr�assertRaises�
ValueErrorrDr2rrr �test_replace_userinfo�s
�
��zTestURL.test_replace_userinfocCsTt�t�}|t�t�ksJ�dt|�vsJ�dt|�vsJ�|��|��ks(J�dS)Nr)�asText)rrrZfromText�dirr)rIr2rrr �test_twisted_compat�s

zTestURL.test_twisted_compatcCsntd�dksJ�td�dksJ�|�t��tddd�Wd�n1s&wYtddd�dks5J�dS)	Nuabcdé%C3%A9éfguabcdéééfgu
abcdé%C3éfgT)Zraise_subencoding_excué%25é�ascii)Zsubencoding)rrF�UnicodeDecodeError)rrrr �test_percent_decode_mixed�s�z!TestURL.test_percent_decode_mixedcCsPt�t�}t�d�}|�|�}|j|jksJ�|j|jksJ�|jdks&J�dS)Nu/tëst)utëst)rrrr&rr)rrZ	durl_destZclickedrrr �test_click_decoded_url�s


zTestURL.test_click_decoded_urlcCs>t�d�}|jdksJ�|�d�dgksJ�|jdksJ�dS)N�/x+y%2B?a=b+c%2B�zx+y+r�b c+))rrR�rrrrrBr2rrr �test_decode_plus�s
zTestURL.test_decode_pluscCsBtjddd�}|jdksJ�|�d�dgksJ�|jdksJ�dS)NrPF)Zquery_plus_is_spacerQr�b+c+))rrUrSr2rrr �test_decode_nonplussed�s�zTestURL.test_decode_nonplussedN)�__name__�
__module__�__qualname__r!r.r3r>rArErHrKrNrOrTrVrrrr rs&$
	
rN)Z
__future__r�typingrrr
rrr1r�commonr
rrrrrrr �<module>s�