Your IP : 216.73.216.60


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_symtable.cpython-38.opt-1.pyc

U

i�f�$�@sFdZddlZddlZdZdd�ZGdd�dej�ZedkrBe��dS)	z&
Test the API of the symtable module.
�Na:
import sys

glob = 42
some_var = 12
some_non_assigned_global_var = 11
some_assigned_global_var = 11

class Mine:
    instance_var = 24
    def a_method(p1, p2):
        pass

def spam(a, b, *var, **kw):
    global bar
    global some_assigned_global_var
    some_assigned_global_var = 12
    bar = 47
    some_var = 10
    x = 23
    glob
    def internal():
        return x
    def other_internal():
        nonlocal some_var
        some_var = 3
        return some_var
    return internal

def foo():
    pass

def namespace_test(): pass
def namespace_test(): pass
cCs&|��D]}|��|kr|SqdS�N)�get_children�get_name)�block�nameZch�r�7/opt/alt/python38/lib64/python3.8/test/test_symtable.py�
find_block.sr	c@seZdZe�edd�Zeed�Zeed�Zeed�Z	ee	d�Z
ee	d�Zeed�Zd	d
�Z
dd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Z d1d2�Z!d3d4�Z"d5d6�Z#d7d8�Z$d9d:�Z%d;S)<�SymtableTest�?�exec�Mine�a_method�spam�internal�other_internal�foocCs^|�|j��d�|�|j��d�|�|j��d�|�|j��d�|�|j��d�dS)N�module�classZfunction)�assertEqual�topZget_typer
rrr��selfrrr�	test_type?s
zSymtableTest.test_typecCs4|�|j���|�|j���|�|j���dSr)�assertFalserZis_optimizedZhas_exec�
assertTruerrrrr�test_optimizedFszSymtableTest.test_optimizedcCsD|�|j���|�|j���|�|j���|�|j���dSr)rrZ	is_nestedr
rrrrrrr�test_nestedLszSymtableTest.test_nestedcCs4|�|j���|�|j���|�|j���dSr)rrZhas_childrenr
rrrrrr�
test_childrenRszSymtableTest.test_childrencCs(|�|j��d�|�|j��d�dS)Nr�)rrZ
get_linenorrrrr�test_linenoWszSymtableTest.test_linenocCsz|j}|�t|���ddddg�ddddddddg}|�t|���|�|�t|���d	d
dg�|�|j��d�dS)
N�a�b�kw�varrr�some_var�x�bar�glob�some_assigned_global_var)r&)rr�sortedZget_parametersZ
get_localsZget_globalsrZ	get_frees)r�func�expectedrrr�test_function_info[szSymtableTest.test_function_infocCs�|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d����dS)Nr(r'r&Zinstance_var�some_non_assigned_global_varr))	rr�lookup�	is_globalrZis_declared_globalrr
rrrrr�test_globalscszSymtableTest.test_globalscCsF|�|j�d����|�|j�d����d}|�|j��|�dS)Nr%)r%)rrr/Zis_nonlocalrrrZ
get_nonlocals)rr,rrr�
test_nonlocaloszSymtableTest.test_nonlocalcCs\|�|j�d����|�|j�d����|�|j�d����|�|j�d����dS)Nr&r'r.r))rrr/�is_localrrrrrr�
test_localuszSymtableTest.test_localcCs|�|j�d����dS)Nr&)rrr/Zis_freerrrr�	test_free|szSymtableTest.test_freecCsF|�|j�d����|�|j�d����|�|j�d����dS)Nr&r)rrr/Z
is_referencedrrrrrr�test_referencedszSymtableTest.test_referencedcCs:dD]}|�|j�|����q|�|j�d����dS)N)r!r$r#r&)rrr/Zis_parameterr)rZsymrrr�test_parameters�szSymtableTest.test_parameterscCs6|�t|j���t|j����|�t|jjd�dS)NZnot_here)r�lenrZget_identifiersZget_symbols�assertRaises�KeyErrorr/rrrr�test_symbol_lookup�s�zSymtableTest.test_symbol_lookupcCs�|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d���|jk�|j�d�}|�t	|�
��d�|�t|j�dS)Nr
rrrZnamespace_testr&�)
rrr/�is_namespacer
rrZ
get_namespacerr8Zget_namespacesr9�
ValueError)rZns_testrrr�test_namespaces�szSymtableTest.test_namespacescCsr|�|j�d����|�|j�d����|�|j�d����|�|j�d����|�|j�d����dS)Nr&r'rr)rrr/Zis_assignedrr
rrrrrr�
test_assigned�s
zSymtableTest.test_assignedcCs�t�ddd�}|��d}|�|�d����|�|�d����|�|�d����t�ddd�}|��d}|�|�d����|�|�d����t�ddd�}|�|�d����t�ddd�}dS)	Nzdef f():
    x: int
Ztestrrr&zdef f():
    x = 1
zglobal x
x: intz=def g():
    x = 2
    def f():
        nonlocal x
    x: int)�symtablerrr/r3Zis_annotatedrr0)rZst1Zst2Zst3Zst4Zst5Zst6rrr�test_annotated�s�zSymtableTest.test_annotatedcCs|�|j�d����dS)N�sys)rrr/Zis_importedrrrr�
test_imported�szSymtableTest.test_importedcCsR|�|j��d�|�|j��d�|�|j�d���d�|�|j��d�dS)Nrrr&r
)rrrrr/r
rrrr�	test_name�szSymtableTest.test_namecCs|�|j��d�dS)N)r)rr
Zget_methodsrrrr�test_class_info�szSymtableTest.test_class_infoc
s��fdd�}|dd�|dd�t�ddd	���t��.��t��t�dtd�d	�W5QRXW5QRX��t��t�dtd�d	�W5QRX��t��t�dtd�d	�W5QRXdS)
Nc
stzt�|dd�WnLtk
r^}z.��|jd���|jd���|j|�W5d}~XYnX��d|f�dS)Nrr�zno SyntaxError for %r)rA�SyntaxErrorr�filename�lineno�offsetZfail)Z
brokencoderK�errr�
checkfilename�s z9SymtableTest.test_filename_correct.<locals>.checkfilenamezdef f(x): foo)(rzdef f(x): global x��passsspamr)rAZassertWarns�DeprecationWarningr9�	TypeError�	bytearray�
memoryview�list)rrMrrr�test_filename_correct�s	

�&z"SymtableTest.test_filename_correctcCst�ddd�}dS)N�42r�eval�rA�rZsymbolsrrr�	test_eval�szSymtableTest.test_evalcCst�ddd�}dS)NrVrZsinglerXrYrrr�test_single�szSymtableTest.test_singlecCst�ddd�}dS)Nzdef f(x): return xrrrXrYrrr�	test_exec�szSymtableTest.test_execcCsJt�t�d�dd�}|�t|d��d}t�|dd�}|�t|d��dS)N�utf8rrr
s+# -*- coding: iso8859-15 -*-
class �: pass
uŽ)rA�	TEST_CODE�encodeZassertIsNotNoner	)rr�coderrr�
test_bytes�s
zSymtableTest.test_bytescCs(|�t|j�d�|�t|j�d�dS)Nz<SymbolTable for module ?>z$<Function SymbolTable for spam in ?>)r�strrrrrrr�test_symtable_repr�szSymtableTest.test_symtable_reprN)&�__name__�
__module__�__qualname__rAr^rr	r
rrrrrrrrrr r-r1r2r4r5r6r7r;r?r@rBrDrErFrUrZr[r\rarcrrrrr
4s@






	r
�__main__)	�__doc__rAZunittestr^r	ZTestCaser
rd�mainrrrr�<module>s%C