HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/lib2to3/tests/__pycache__/test_pytree.cpython-310.pyc
o

�i�?�@shdZddlmZddlmZzeWn
eydd�ZYnwGdd�dej�ZGd	d
�d
ej�Z	dS)aUnit tests for pytree.py.

NOTE: Please *don't* add doc strings to individual test methods!
In verbose mode, printing of the module, class and method name is much
more helpful than printing of (the first line of) the docstring,
especially when debugging a test.
�)�support�)�pytreecCst|�}|��|S�N)�list�sort)Zlst�l�r	�6/usr/local/lib/python3.10/lib2to3/tests/test_pytree.py�sortedsrc@seZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Z d<d=�Z!d>d?�Z"d@dA�Z#dBS)C�	TestNodesz(Unit tests for nodes (Base, Leaf, Node).cCs	|�ttj�dSr)�assertRaises�AssertionErrorrZBase)�selfr	r	r
�test_instantiate_baseszTestNodes.test_instantiate_basecCs,t�dd�}|�|jd�|�|jd�dS)N�d�foo)r�Leaf�assertEqual�type�value�r�l1r	r	r
�	test_leaf"szTestNodes.test_leafcCs t�dd�}|�t|�d�dS)NrrzLeaf(100, 'foo'))rrr�reprrr	r	r
�test_leaf_repr'szTestNodes.test_leaf_reprcCs@t�dd�}|�t|�d�tjdddd�}|�t|�d�dS)Nrr)� )�
r��contextz foo)rrr�str)rr�l2r	r	r
�
test_leaf_str+�zTestNodes.test_leaf_strcCs&t�dd�}d|_|�t|�d�dS)N��Zfoo_Zfoo_5)rr�prefixrr rr	r	r
�test_leaf_str_numeric_value1sz%TestNodes.test_leaf_str_numeric_valuecCs\t�dd�}tjdddd�}|�||�t�dd�}t�dd�}|�||�|�||�dS)Nrr�r)rrr�e�bar)rrr�assertNotEqual)rrr!�l3�l4r	r	r
�test_leaf_equality8szTestNodes.test_leaf_equalitycCsJt�dd�}|�|jd�|�|j�d|_|�|jd�|�|j�dS)Nrr�z  ##

)rrrr&�assertFalse�was_changed�
assertTruerr	r	r
�test_leaf_prefixAszTestNodes.test_leaf_prefixcCsLt�dd�}t�dd�}t�d||g�}|�|jd�|�|j||g�dS)Nrr��r*��)rr�Noderr�children�rrr!�n1r	r	r
�	test_nodeIs
zTestNodes.test_nodecCsPt�dd�}tjdddd�}t�d||g�}|�t|�dt|�t|�f�dS)Nrrr*r(rr5zNode(1000, [%s, %s]))rrr6rrr8r	r	r
�test_node_reprPs
�zTestNodes.test_node_reprcCs@t�dd�}tjdddd�}t�d||g�}|�t|�d�dS)Nrrr*r(rr5zfoo bar)rrr6rr r8r	r	r
�
test_node_strWr#zTestNodes.test_node_strcCs\t�dd�}|�|jd�t�d|g�}|�|jd�d|_|�|jd�|�|jd�dS)Nrrr/r5r)rrrr&r6)rrr9r	r	r
�test_node_prefix]szTestNodes.test_node_prefixcCs�tjdddd�}tjdddd�}t�d||g�}|�|��|j�|�|��d�|�|��d�tjddd	d�}t�d||g�}|�|��|j�|�|��d�|�|��d�dS)
Nrr�a�r&r*�br5r/�c)rrr6rZ
get_suffixr&)rrr!r9r,�n2r	r	r
�test_get_suffixfszTestNodes.test_get_suffixcCsDt�dd�}tjdgdd�}|�||�t�dd�}|�||�dS)Nr5r	r(ri�)rr6rr+)rr9rB�n3r	r	r
�test_node_equalityvs
zTestNodes.test_node_equalitycCsjt�dd�}t�dd�}t�d|g�}t�d|g�}|�||�t�dd�}t�d|g�}|�||�dS)Nrrr5r*)rrr6rr+)rrr!r9rBr,rDr	r	r
�test_node_recursive_equality}sz&TestNodes.test_node_recursive_equalitycCs�t�dd�}t�dd�}t�dd�}t�d|||g�}|�|j|||g�|�|jt�|�|j�t�dd�}|�	|�|�|j|||g�|�|jt�|�
|j�dS)Nrr�+r*r5�-)rrr6rr7�assertIsInstancerr0r1�replacer2)rrr!r,r9Zl2newr	r	r
�test_replace�s
zTestNodes.test_replacecCsvt�dd�}t�dd�}t�dd�}t�d|||g�}|�t�dd�t�dd�g�|�t|�d�|�|jt�dS)NrrrGr*r5�*zfoo**bar)	rrr6rJrr rIr7r)rrr!r,r9r	r	r
�test_replace_with_list�sz TestNodes.test_replace_with_listcCspt�dd�}t�dd�}t�dd�}t�d||g�}t�d|g�}t�d||g�}|�t|���|||g�dS�Nrrr*Zfooeyr5)rrr6rr�leaves)rrr!r,rBrDr9r	r	r
�test_leaves�szTestNodes.test_leavescCsxt�dd�}t�dd�}t�d||g�}t�dg�}t�d||g�}|�|��d�|�|��d�|�|��d�dS)Nrrr*r5r$rr)rrr6r�depth)rrr!rBrDr9r	r	r
�
test_depth�szTestNodes.test_depthcCsft�dd�}t�dd�}t�dd�}t�d||g�}t�d||g�}|�t|���|||||g�dSrN)rrr6rrZ
post_order�rrr!r,�c1r9r	r	r
�test_post_order��"zTestNodes.test_post_ordercCsft�dd�}t�dd�}t�dd�}t�d||g�}t�d||g�}|�t|���|||||g�dSrN)rrr6rrZ	pre_orderrSr	r	r
�test_pre_order�rVzTestNodes.test_pre_ordercCs�t�dd�}|�|j�|��|�|j�t�dd�}t�d|g�}|�|j�|��|�|j�t�dd�}t�dd�}t�dd�}t�d|||g�}t�d|g�}|�|j�|�|j�|�|j�|��|�|j�|�|j�|�|j�dS)Nr�fr5rrGr*)rrr0r1�changedr2r6)rrr9r!r,rBr	r	r
�test_changed�s*zTestNodes.test_changedcCs@dD]}tjdd|d�}|�t|�|d�|�|j|�qdS)N�Zxyz_r/rrr?)rrr2r rr&)rr&rr	r	r
�test_leaf_constructor_prefix�s
�z&TestNodes.test_leaf_constructor_prefixcCs|dD]9}t�dd�}tjdddd�}tjd||g|d�}|�t|�|d�|�|j|�|�|j|�|�|jd�qdS)	Nr[rrr�_r?r5Zself_foo)rrr6r2r rr&)rr&rr!r9r	r	r
�test_node_constructor_prefix�s�z&TestNodes.test_node_constructor_prefixcCs
t�dd�}t�dd�}t�d||g�}t�d|g�}|�|��d�|�|jg�|�|j|�|�|jd�|�|jd�|�|j�|�	|j�|�|��d�|�|��d�|�|jg�|�|jd�|�|jd�|�|jd�|�	|j�|�	|j�dS)Nrrr5rr)
rrr6r�remover7�parentr0r1r2)rrr!r9rBr	r	r
�test_remove�s&zTestNodes.test_removecCsHt�dg�}|��|�|jd�t�dd�}|��|�|jd�dS)Nr5rr)rr6r_rr`r)rr9rr	r	r
�test_remove_parentlesssz TestNodes.test_remove_parentlesscCs�t�dd�}t�d|g�}t�dd�}|�d|�|�|jd�|�|j|�|�|j|g�t�d|g�}|�d|�|�|jd�|�|j|�|�|jd�|�|j|g�|�t|jd|�|�t	|jdt
�dS)Nrrr5r*r�)rrr6Z	set_childrr`r7r
�
IndexError�	Exceptionr)rrr9r!rBr	r	r
�test_node_set_childszTestNodes.test_node_set_childcCs�t�dd�}t�d|g�}t�dd�}|�d|�|�|j|�|�|j||g�t�dd�}|�d|�|�|j|||g�|�t|jdt	�dS)Nrrr5r*r�abcr$)
rrr6Zinsert_childrr`r7r
rer)rrr9r!r,r	r	r
�test_node_insert_child#sz TestNodes.test_node_insert_childcCs�t�dg�}t�dd�}|�|�|�|j|�|�|j|g�t�dd�}|�|�|�|j|�|�|j||g�|�t|jt	�dS)Nr5rrr*)
rr6rZappend_childrr`r7r
rer)rr9rr!r	r	r
�test_node_append_child3s

z TestNodes.test_node_append_childcCsVt�dg�}t�dg�}t�d||g�}|�|j|�|�|jd�|�|jd�dS�Nr5)rr6�assertIs�next_siblingr�rr9rB�p1r	r	r
�test_node_next_siblingC�z TestNodes.test_node_next_siblingcCsVt�dd�}t�dd�}t�d||g�}|�|j|�|�|jd�|�|jd�dS�Nrr>r@r5)rrr6rkrlr�rrr!rnr	r	r
�test_leaf_next_siblingLrpz TestNodes.test_leaf_next_siblingcCsVt�dg�}t�dg�}t�d||g�}|�|j|�|�|jd�|�|jd�dSrj)rr6rk�prev_siblingrrmr	r	r
�test_node_prev_siblingUrpz TestNodes.test_node_prev_siblingcCsVt�dd�}t�dd�}t�d||g�}|�|j|�|�|jd�|�|jd�dSrq)rrr6rkrtrrrr	r	r
�test_leaf_prev_sibling^rpz TestNodes.test_leaf_prev_siblingN)$�__name__�
__module__�__qualname__�__doc__rrrr"r'r.r3r:r;r<r=rCrErFrKrMrPrRrUrWrZr\r^rarbrfrhrirorsrurvr	r	r	r
rsD		



				rc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�TestPatternsz&Unit tests for tree matching patterns.c
Cs�t�dd�}t�dd�}t�dd�}t�d||g�}t�d|g�}t�d||g�}tjdddd�}i}|�|j||d��|�|i�|�|j||d��|�|i�|�|j||d��|�|i�|�|j||d��|�|d|i�i}|�|j||d��|�|i�tjd|gdd�}	|�|	j||d��|�|i�|�|	j||d��|�|i�|�|	j||d��|�|||d	��i}|�|	j||d��|�|i�|�|	j||d��|�|i�dS)
Nrrr*r5�pl��name)�results�pn)r�r|)	rrr6�LeafPatternr0�matchrr2�NodePattern)
rrr!r,r9rB�rootr|�rr�r	r	r
�test_basic_patternsls>z TestPatterns.test_basic_patternscCs�t�dd�}t�dd�}t�dd�}t�d||g�}t�d|g�}t�d||g�}tjdddd�}tjd|gdd�}tj|g||ggdd�}	i}
|�|	�|g|
��|�|
i�|�|	�|g|
��|�|
i�|�	|	�|g|
��|�t
|
���gd	��|�|
d|�|�|
d|�|�|
d|g�|�|
|||gd	��i}
|�	|	�||g|
��|�|
|||gd
��|�|
d|�i}
dS)Nrrr*r5r|r}r��pw)r|r�r�)r|r�)
rrr6r�r��WildcardPatternr0Z	match_seqrr2r�keysrk)rrr!r,r9rBr�r|r�r�r�r	r	r
�
test_wildcard�s2zTestPatterns.test_wildcardc	Cs�t�dd�}t�dd�}t�dd�}t�dd�}t�dd�}t�dd�}||||||g}t�d|�}t�ddd	�}	t�ddd
�}
t�ddd�}t�ddd�}t�ddd
�}
t�ddd�}tj|	|
|g||
g|	|
g||g|
|ggdddd�}|�dd�|�|�D�gd��tjd|gdd�}tt�|g|g��}|�t	|�d�|d\}}|�|d�|�t
|d�d�|�|d||||||g�dD]}|�|d|t�d|��q�dS)Nrr>r@rA�d�erXr5�pa�pb�pc�pd�pe�pfrcr�)�min�maxr~cSsg|]}|d�qS)rr	)�.0�xr	r	r
�
<listcomp>�sz6TestPatterns.test_generate_matches.<locals>.<listcomp>)�r%r$rc��pr)rZcontentr~rZabcdef�p)rrr6r�r�rZgenerate_matchesr�r�lenr )rZlaZlbZlcZld�leZlfrOr�r�r�r�r�r�r�r�r��matchesrAr�r	r	r
�test_generate_matches�s@����z"TestPatterns.test_generate_matchescCs�t�dt�d�tjdd�t�d�f�}t�dd�}t�dd�}t�dd	�}t�d|||g�}i}|�|�||��|�|d|g�dS)
NiK��argsr}��(r�r��))	rr�r�r�rr6r2r�r)r�patternrr!r,Znoder�r	r	r
�test_has_key_example�s
��z!TestPatterns.test_has_key_exampleN)rwrxryrzr�r�r�r�r	r	r	r
r{hs$r{N)
rzr/rZlib2to3rr�	NameErrorZTestCaserr{r	r	r	r
�<module>s	�Q