Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/lib2to3/tests/data/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/lib2to3/tests/data/__pycache__/py3_test_grammar.cpython-38.pyc

U

i�f�x�@sfddlmZmZddlZddlZddlTGdd�dej�ZGdd�dej�Zdd	�Ze	d
krbe�dS)�)�run_unittest�check_syntax_errorN)�*c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�
TokenTestscCs(d}|�|dd�d}|�|dd�dS)N�zbackslash for line continuationrzbackslash ending comment��assertEquals��self�x�r�H/opt/alt/python38/lib64/python3.8/lib2to3/tests/data/py3_test_grammar.py�
testBackslashszTokenTests.testBackslashc	Csj|�td�td��|�dd�|�dd�|�dd�|�dd�|�ttd�ddlm}|dkr�|�dd�|�ddk�|�ddk�|�ddk�d	D]4}zt|�}Wq�tk
r�|�	d
|�Yq�Xq�n�|dk�rX|�dd�|�d
dk�|�d
dk�|�ddk�dD]8}zt|�}Wn$tk
�rP|�	d
|�YnX�qn|�	d|�dS)Nr�i����	Z0x)�maxsizei�l��)Z
2147483648Z
0o40000000000Z0x100000000Z"0b10000000000000000000000000000000z(OverflowError on huge integer literal %rl����l���������l����)Z9223372036854775808Z0o2000000000000000000000Z0x10000000000000000ZA0b100000000000000000000000000000000000000000000000000000000000000zWeird maxsize value %r)
r�type�assertRaises�SyntaxError�eval�sysr�assert_�
OverflowError�fail)r
r�srrrr
�testPlainIntegerss8
zTokenTests.testPlainIntegerscCs$d}d}d}d}d}d}d}d}dS)Nrrl���?l�
~��l!]cll�����rr	rrr
�testLongIntegersAszTokenTests.testLongIntegerscCsHd}d}d}d}d}d}d}d}d}d}d}d	}d
}d
}d}d}d
}dS)N�
i�[lE#�Wi#���
iw	gffffff?@g?@gףp=
��?���Q�	@���
�BgIae
�Hg���#;�7rr	rrr
�testUnderscoresInNumbersKs"z#TokenTests.testUnderscoresInNumberscCs0d}d}d}d}d}d}d}d}d}d}d}dS)Nr g�s@gj�t��?r!g��t� =g�W�H�BgF�@rr	rrr
�
testFloatsaszTokenTests.testFloatscCs*d}d}|�t|�dko||k�d}d}|�t|�dkoL||koLt|�dk�d}d}|�t|�dkoz||kozt|�dk�d}d}|�t|�d	ko�||k�d
}d
}|�t|�d	ko�||k�d}d}|�||�d}|�||�d}|�||�d}|�||�dd
��}dd
��}|�||�dS)N�r�'��'�"�"zdoesn't "shrink" does it�zdoes "shrink" doesn't itz2
The "quick"
brown fox
jumps over
the 'lazy' dog.
zhello \T)r�len�ordr)r
r�yrrr
�testStringLiteralsos6&&

zTokenTests.testStringLiteralscCs$d}|�|tk�|�ttd�dS)N.z.. .)r�Ellipsisrrrr	rrr
�testEllipsis�szTokenTests.testEllipsisN)
�__name__�
__module__�__qualname__rrrr"r#r.r0rrrr
rs
$
*rc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�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/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMS)N�GrammarTestscCstd�}dS)Nz	1, 0 or 1)rr	rrr
�
testEvalInput�szGrammarTests.testEvalInputcs dd�}|�|d�|di�dd�}dd�}|�|jjd�|�|jjd	�d
d�}dd
�}dd�}dd�}dd�}|�|d�|d�|dd�|dd�|�|d�|d�|dd�|dddddddddd�
|d�|d�|dd�|ddd�|dddddddddd�
|dd�|ddd�|dddd�|dddddddddd�
dzdd�}	|	�|	d�|	d �|	fd!di�d{d"d#�}
|
d�|
dd�|
d|d$di�d}d%d&�}|dd�|ddd�|d'�|d~d(��|dd)��|d�d*di�d�d+d,�}|�|d�|dd�|d-�|d�d.��|d�d$di�|fddd/��d�d0d1�}
|
d�|
dd�|
ddd�d�d2d3�}|dd�|ddd�|dddd�d�d4d5�}|�|d�|dd�|d6�|d �|fd!di�d�d7d8�}|d�|dd�|ddd�d�d9d:�}|dd�|ddd�|dddd�|d6�|d�d*di�d�d;d<�}|�|d�|dd�|ddd�|d�d=��|fddd/��d�d>d?�}|d�|dd�|ddd�|dddd�|d6�|d�d@��|d�d.�d*di�d�dAdB�}|dd�|ddd�|dddd�|ddddd�|d6�|d�d@��|d�d(�dCdi�ztd�dEdi�Wntk
�r�YnX|�dF�dGdH�}|dIdJ�dIdK�dLdM�}|dddIdN�|dddIdOdP�|dddIdOdQ�dIdN�dRdS�}|dddIdIdOdT�|dddIdOdIdU�dVdW�}|�|d�ddg�dddX��dYdddX�f�|�ttdZ�|�ttd[�t	d\�d]dW�}|�|j
d^t	i�td_�d`dW�}|�|j
dDti�td_�dadW�}|�|j
dDti�td_�dbdW�}|�|j
dDti�ddc�dddW�}|�|j
dedi�dddf�dgdW�}|�|j
dddf��d�dddddh�didW�}|�|j
dddddh��d�ddjdk�dddddddldmdn�dodW�}|�|j
dddddddldmdn��dpdq�}|t	d\�drdW��}|�|j
d^t	i�d��fdsdW�}d��fdtdW�	}ddu��fdvdW�
}td\��fdwdW�}t
|dx�t
|dy�dS)�NcSsdS�Nrrrrr
�f1��z$GrammarTests.testFuncdef.<locals>.f1rcSsdSr6r�Zone_argumentrrr
�f2�r8z$GrammarTests.testFuncdef.<locals>.f2cSsdSr6r��twoZ	argumentsrrr
�f3�r8z$GrammarTests.testFuncdef.<locals>.f3r9r;cSsdSr6r)Zone_argrrr
�a1�r8z$GrammarTests.testFuncdef.<locals>.a1cSsdSr6r)r<�argsrrr
�a2�r8z$GrammarTests.testFuncdef.<locals>.a2cWsdSr6r)�restrrr
�v0�r8z$GrammarTests.testFuncdef.<locals>.v0cWsdSr6r��arArrr
�v1�r8z$GrammarTests.testFuncdef.<locals>.v1cWsdSr6r�rD�brArrr
�v2�r8z$GrammarTests.testFuncdef.<locals>.v2r&r������rrcSsdSr6r�rDrrr
�d01�r8z%GrammarTests.testFuncdef.<locals>.d01�r&rDcSsdSr6r�rDrGrrr
�d11�r8z%GrammarTests.testFuncdef.<locals>.d11rGcSsdSr6r�rDrG�crrr
�d21�r8z%GrammarTests.testFuncdef.<locals>.d21�r&rrI�rrI�rIrUcSsdSr6rrRrrr
�d02�r8z%GrammarTests.testFuncdef.<locals>.d02�r&r�rrRcSsdSr6rrTrrr
�d12�r8z%GrammarTests.testFuncdef.<locals>.d12cSsdSr6r�rDrGrU�drrr
�d22�r8z%GrammarTests.testFuncdef.<locals>.d22cWsdSr6rrCrrr
�d01v�r8z&GrammarTests.testFuncdef.<locals>.d01v)r&rrIrJcWsdSr6rrFrrr
�d11vr8z&GrammarTests.testFuncdef.<locals>.d11vcWsdSr6r�rDrGrUrArrr
�d21vr8z&GrammarTests.testFuncdef.<locals>.d21vcWsdSr6rrFrrr
�d02v
r8z&GrammarTests.testFuncdef.<locals>.d02v)rrIrJcWsdSr6rrcrrr
�d12vr8z&GrammarTests.testFuncdef.<locals>.d12v)rIrJrKcWsdSr6r)rDrGrUr_rArrr
�d22vr8z&GrammarTests.testFuncdef.<locals>.d22vr_rsfooz/Bytes should not work as keyword argument namescSs|Sr6r��keyrrr
�pos0key1-r8z*GrammarTests.testFuncdef.<locals>.pos0key1�drh)�k2cSs||||fSr6r)�p1�p2�k1rlrrr
�pos2key2/r8z*GrammarTests.testFuncdef.<locals>.pos2key2)ro��)rorl)rlroc[s|||||fSr6r)rmrnrorlZkwargrrr
�pos2key2dict3r8z.GrammarTests.testFuncdef.<locals>.pos2key2dict)rl�tokwarg1�tokwarg2)rsrtrlc_s||fSr6r)r?�kwargsrrr
�f8sz#GrammarTests.testFuncdef.<locals>.f�rr-)r&rIrJzf(1, *(2,3), 4)zf(1, x=2, *(3,4), x=5))�returncSsdSr6r�rrrr
rv@r8rxrycSsdSr6rryrrr
rvBr8cWsdSr6rryrrr
rvDr8c[sdSr6rryrrr
rvFr8�r-cSsdSr6rrwrrr
rvHr8r-)rGrUcSsdSr6rr^rrr
rvJr8)rGrU�e�gcWsdSr6r)rDrGrUr_r{rvr|rrr
rvLr8r)�i�j��)rGrUr{r|�hr~�krxc_sdSr6r)rDrGrUr_r{rvr�r}r~r|r�rrr
rvOscSs|Sr6rryrrr
�nullUr8z&GrammarTests.testFuncdef.<locals>.nullcSsdSr6rryrrr
rvVscs�Sr6rr�Zclosurerr
rv\r8cs�Sr6rryr�rr
rv]r8�r�cs�Sr6rr�r�rr
rv^r8cs�Sr6rrr�rr
rv_r8z
f(*g(1=2))zf(**g(1=2)))r&)r&)r&)r&)r&)r&r)r&r)r&r)r&)r&)r&r)r&r)r&)r&)r&)r&r)r&r)r&)r&r)r&r)r&)r&r)r&r)r&)r)r&)rJrK)rJrK)r&)r�__code__�co_varnames�str�	TypeErrorrrrr�list�__annotations__�int�floatr)r
r7r:r=r>r@rBrErHrPrSrVrZr]r`rarbrdrerfrgrjrprrrvr�rr�r
�testFuncdef�sB































�����
zGrammarTests.testFuncdefcCs�dd�}|�|�d�dd�}dd�}|�|�dddg�ddd�fdd�fd	d�}|�|�d�ddd�}|�|dd
�d�|�|dd
d
�d�t|d�t|d�dd�dd�}|�|dd
�d�|�|dd
dd�d�dS)NcSsdS)Nrrrrrr
�<lambda>gr8z*GrammarTests.testLambdef.<locals>.<lambda>rcSsttSr6)rDr_rrrr
r�ir8cSsdd�dD�S)NcSsg|]}d|k�qSr\r��.0rrrr
�
<listcomp>jsz>GrammarTests.testLambdef.<locals>.<lambda>.<locals>.<listcomp>)���rIrrrrrr
r�jr8r&cSs|Sr6r)�zrrr
r�lr8cSs|�Sr6rrzrrr
r�lr8cSs|�Sr6rryrrr
r�lr8rcSs|||Sr6r)rr-r�rrr
r�nr8rKrIrLzlambda x: x = 2zlambda (None,): None�r�cSs|||Sr6r)rr-r�rrr
r�sr8�rr)r&)r)rr)r
�l1�l2�l3�l4�l5�l6rrr
�testLambdefes


zGrammarTests.testLambdefcCsd}~dd�}|�dS)Nr&cSs
d}~dS�Nr&rryrrr
�foo~sz(GrammarTests.testSimpleStmt.<locals>.foor)r
rr�rrr
�testSimpleStmt{szGrammarTests.testSimpleStmtc	CsRd}d}d}}}d\}}}d}\}}}\}}}}t|d�t|d�dS)Nr&rW)r&r)rIrJz	x + 1 = 1z
a + 1 = b + 2�r)	r
rr-r��abcrDrGrU�xyzrrr
�testExprStmt�s

zGrammarTests.testExprStmtcCs,dddg}|\}}}|||f}~~~~~dS)Nr&rrIr)r
r�rr-r�r�rrr
�testDelStmt�s



zGrammarTests.testDelStmtcCsdSr6r�r
rrr
�testPassStmt�szGrammarTests.testPassStmtcCsqqdSr6rr�rrr
�
testBreakStmt�szGrammarTests.testBreakStmtcCs�d}|rd}qqd}|s<d}zWqd}Wqd}YqXq|dkrN|�|�d}|snd}z
W�qRW5d}XqR|dkr�|�|�dS)Nr&rr$�okz&continue failed to continue inside tryz'continue inside try called except blockzfinally block not called�r)r
r}�msgrrr
�testContinueStmt�s,

zGrammarTests.testContinueStmtcsd�fdd�	}|�dS)Nr&rcshd}|rJ|d7}z(|r*|dkr*|d8}WqJ|d8}WqWq�YqXq|dksZ|dkrd��d�dS)Nrr&z1continue then break in try/except in loop broken!r�)Zextra_burning_oil�countZ	big_hippor�rr
�
test_inner�s
z9GrammarTests.test_break_continue_loop.<locals>.test_inner)r&rr)r
r�rr�r
�test_break_continue_loop�s
z%GrammarTests.test_break_continue_loopcCs*dd�}dd�}|�|�}t|d�dS)NcSsdSr6rrrrr
�g1�r8z#GrammarTests.testReturn.<locals>.g1cSsdSr�rrrrr
�g2�r8z#GrammarTests.testReturn.<locals>.g2zclass foo:return 1r�)r
r�r�rrrr
�
testReturn�s
zGrammarTests.testReturncCst|d�dS)Nzclass foo:yield 1r�r�rrr
�	testYield�szGrammarTests.testYieldcCsDztd��Wntk
r YnXzt�Wntk
r>YnXdS)Nzjust testing)�RuntimeError�KeyboardInterruptr�rrr
�	testRaise�szGrammarTests.testRaisecCsdddl}ddl}ddl}ddlm}ddlm}ddlm}m}ddlm}m}ddlm}m}dS)Nr)�time)�path�argv)rr�r�r�)r
rr�r�r�rrr
�
testImport�szGrammarTests.testImportcCsdSr6rr�rrr
�
testGlobal�szGrammarTests.testGlobalcsd�d���fdd�}dS)NrcsdSr6rrrwrr
rvsz$GrammarTests.testNonlocal.<locals>.fr)r
rvrrwr
�testNonlocalszGrammarTests.testNonlocalc
Cs�dst�dstd��dd�s t�ds0tdd���zds>td��Wn4tk
rt}z|�|jdd�W5d}~XYnX|�d�dS)Nr&cSs|Sr6rryrrr
r�r8z)GrammarTests.testAssert.<locals>.<lambda>cSs|dSr�rryrrr
r�
r8rr�z%AssertionError not raised by assert 0)�AssertionErrorrr?r)r
r{rrr
�
testAsserts$zGrammarTests.testAssertcCsdSr6rr�rrr
�testIfszGrammarTests.testIfcCsd}d}|�|d�dS)Nrrrr	rrr
�	testWhile&szGrammarTests.testWhilecCs�dD]}qdD]
\}}}qGdd�d�}d}|d�D]}||}q4|dkrT|�d�g}d	D]\}|�|�q\|�|d
ddg�dS)
NrWrc@s$eZdZdd�Zdd�Zdd�ZdS)z%GrammarTests.testFor.<locals>.SquarescSs||_g|_dSr6)�max�sofar)r
r�rrr
�__init__;sz.GrammarTests.testFor.<locals>.Squares.__init__cSs
t|j�Sr6)r+r�r�rrr
�__len__>r8z-GrammarTests.testFor.<locals>.Squares.__len__cSsRd|kr|jksnt�t|j�}||krH|j�||�|d}q&|j|S)Nrr&)r��
IndexErrorr+r��append)r
r}�nrrr
�__getitem__?s

z1GrammarTests.testFor.<locals>.Squares.__getitem__N)r1r2r3r�r�r�rrrr
�Squares:sr�rrizfor over growing sequence)rQr\rYr&rrI)rr��assertEqual)r
r}r~r�r�r�r�resultrrr
�testFor5s


zGrammarTests.testForc
Cs�zddWntk
r YnXzddWn^tk
rBYnLtk
rb}zW5d}~XYn,tk
r�}zW5d}~XYnYnXzddWntttfk
r�YnXzddWn(tttfk
r�}zW5d}~XYnXzW5XdS�Nr&r)�ZeroDivisionError�EOFErrorr�r�)r
r�rrr
�testTryPs2zGrammarTests.testTrycCsdSr6rr�rrr
�	testSuitegszGrammarTests.testSuitecCsdsdrdsdsdrdS)Nr&Frr�rrr
�testTestvs
zGrammarTests.testTestcCs�ddk}ddkrddkrddkr ddkr(ddkr0ddkr8ddkr@ddk	rHddkrPddkrXddkr�dkr�dkr�dkr�dkr�dkr�dkr�dkr�dkr�dk	r�nndS)Nr&rrr	rrr
�testComparison�shzGrammarTests.testComparisoncCsd}d}d}dSr�rr	rrr
�testBinaryMaskOps�szGrammarTests.testBinaryMaskOpscCsd}d}d}dS)Nrrr&rr	rrr
�testShiftOps�szGrammarTests.testShiftOpscCsd}d}d}d}dS)Nr&rr�rr	rrr
�testAdditiveOps�szGrammarTests.testAdditiveOpscCsd}d}d}d}dS)Nr&��?rgrr	rrr
�testMultiplicativeOps�sz"GrammarTests.testMultiplicativeOpscCsd}d}d}d}d}dS)Nr&r����r�rr	rrr
�testUnaryOps�s
zGrammarTests.testUnaryOpsc	Cs�ddl}ddl}|jd}|��}|jd��}d}|d}|d}|dd�}|dd�}|dd�}|dd�}|dd�}|dd�}|dd�}i}d	|d	<d
|d<d|d
<d|d<t|�}|jdd�d�|�t|�d�dS)Nrr�Z01234r�rK���������r&rrQrIr[rJrWcSst|t�r|SdS)Nr)�
isinstance�tupleryrrr
r��r8z,GrammarTests.testSelectors.<locals>.<lambda>rhz[1, (1,), (1, 2), (1, 2, 3)])rr�r��modulesr��sortrr�)	r
rr�rUrrDrr_�Lrrr
�
testSelectors�s,
zGrammarTests.testSelectorscCs�d}dpdpd}dpdpdddf}g}dg}dp6dp6dg}dpDdpDdddg}g}i}ddi}ddi}dpjddppdi}ddd�}ddd�}dddddd	d
�}dh}ddh}dddh}dddh}|}d}d
}dS)Nr&rrI�oner<)r�r<rJrKrL)r�r<�threeZfourZfiveZsixr�r�{rr	rrr
�	testAtoms�s,



zGrammarTests.testAtomsc	Cs|Gdd�d�}Gdd�d�}Gdd�d|�}Gdd�d|�}Gd	d
�d
|||�}Gdd�d�}d
d�}|Gdd�d��}dS)Nc@seZdZdS)z$GrammarTests.testClassdef.<locals>.BN�r1r2r3rrrr
�B�sr�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.B2Nr�rrrr
�B2�sr�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.C1Nr�rrrr
�C1�sr�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.C2Nr�rrrr
�C2�sr�c@seZdZdS)z$GrammarTests.testClassdef.<locals>.DNr�rrrr
�D�sr�c@s$eZdZdd�Zdd�Zdd�ZdS)z$GrammarTests.testClassdef.<locals>.CcSsdSr6rr�rrr
�meth1�r8z*GrammarTests.testClassdef.<locals>.C.meth1cSsdSr6r)r
�argrrr
�meth2�r8z*GrammarTests.testClassdef.<locals>.C.meth2cSsdSr6r)r
r>r@rrr
�meth3�r8z*GrammarTests.testClassdef.<locals>.C.meth3N)r1r2r3r�r�r�rrrr
�C�sr�cSs|Sr6rryrrr
�class_decorator�r8z2GrammarTests.testClassdef.<locals>.class_decoratorc@seZdZdS)z$GrammarTests.testClassdef.<locals>.GNr�rrrr
�Gsr�r)	r
r�r�r�r�r�r�r�r�rrr
�testClassdef�szGrammarTests.testClassdefcCs,dddg}|�dd�|D�dddd��dS)Nr&rrIcSsi|]}||d�qSrQr�r�r}rrr
�
<dictcomp>sz.GrammarTests.testDictcomps.<locals>.<dictcomp>rJrW�r�)r
�numsrrr
�
testDictcompss
zGrammarTests.testDictcompscs�dddddg}dddg�d	d
dg}��dd
�|D�dddg���dd
�|D�dddddg���dd
�|D�dddg����fdd
�|D�ddddddddddd d!d"d#d$g����fd%d
�|D�ddddddd d!d#d$g
���d&d
�td�D�dgddgdddgdddd'gddd(d)d*gg�d+d,�}��||�d-d-d-g��fd.d/�}|�t�d0�t�d1�d2d3d4g}d5d6d7g�d8d9d:d;g���fd<d
�|D�}��|d=d>d?d@g�dS)ANr&rrIrJrK�Apple�Banana�Coconutz  Applez Banana zCoco  nut  cSsg|]}|���qSr)�strip)r�rrrr
r�sz.GrammarTests.testListcomps.<locals>.<listcomp>z	Coco  nutcSsg|]}d|�qSrYrr�rrr
r�srLrr��cSsg|]}|dkr|�qSr\rr�rrr
r�scsg|]}�D]}||f�qqSrr�r�r}r��strsrr
r�s)r&r�)r&r�)r&r�)rr�)rr�)rr�)rIr�)rIr�)rIr�)rJr�)rJr�)rJr�)rKr�)rKr�)rKr�cs(g|] }dd��D�D]}||f�qqS)cSsg|]}d|kr|�qS)r�r)r�rvrrr
r�sz9GrammarTests.testListcomps.<locals>.<listcomp>.<listcomp>rrrrr
r�scSsg|]}dd�|��qS)cs�fdd�t�d�D�S)Ncsg|]}�|�qSrrr�rOrr
r�szKGrammarTests.testListcomps.<locals>.<listcomp>.<lambda>.<locals>.<listcomp>r&��rangerOrrOr
r�r8z7GrammarTests.testListcomps.<locals>.<listcomp>.<lambda>r)r�r~rrr
r�s���@�cSsdd�|D�S)NcSs,g|]$}|dkrd|ko"dkn�qS)rrrIrr�rrr
r�!szDGrammarTests.testListcomps.<locals>.test_in_func.<locals>.<listcomp>r)�lrrr
�test_in_func sz0GrammarTests.testListcomps.<locals>.test_in_funcFcs,��dd�dD�ddgddgdd	gg�dS)
NcSs"g|]}dd�||dfD��qS)cSsg|]}|�qSrr�r�r-rrr
r�&szTGrammarTests.testListcomps.<locals>.test_nested_front.<locals>.<listcomp>.<listcomp>r&rr�rrr
r�&szIGrammarTests.testListcomps.<locals>.test_nested_front.<locals>.<listcomp>)r&rIrKr&rrIrJrKrLr�rr�rr
�test_nested_front%s�z5GrammarTests.testListcomps.<locals>.test_nested_frontz"[i, s for i in nums for s in strs]z[x if y])r&�Boeing)r�Ford)rI�
Macdonalds)r�Airliner)r��Engine)��Cheeseburger)r&r)r&r�)rr�)rIrcsDg|]<\}}�D].\}}�D] \}}||kr||kr||f�qqqSrr)r�ZsnoZsnameZpnoZpnameZsp_snoZsp_pno)�parts�suppartrr
r�>s�)r
r)r
r)rr)rr)r�rr)r
r�Zspcsr
rZ	suppliersrr)rr
rrr
�
testListcomps
sx

 ����*�

�����zGrammarTests.testListcompscs�dd�td�D�}|�t|�dd�td�D��zt|�|�d�Wntk
rZYnXd�z(�fdd��D�}t|�|�d	�Wntk
r�YnX|�td
d�dD��dd�dD��|�td
d�dD��dd�dD��dd�td�D��dd�dd��D�D�}|�t|�tdd�td�D���|�tdd�td�D��tdd�td�D���|�tdd�td�D��tdd�td�D���|�tdd�dd�td�D�D��tdd�td�D���|�tdd�dd�dd�td�D�D�D��tdd�td�D���|�tdd�d d�d!d�td�D�D�D��td"d�td�D���|�td#d�d$d�d%d�td�D�D�D��td&d�td�D���|�td'd�d(d�d)d�td�D�D�D��d*�t|d+�t|d,�dS)-Ncss |]}dd�td�D�VqdS)cSsg|]}|�qSrrr�rrr
r�Ksz6GrammarTests.testGenexps.<locals>.<genexpr>.<listcomp>rNrr�rrr
�	<genexpr>Ksz+GrammarTests.testGenexps.<locals>.<genexpr>r&cSsg|]}|�qSrrr�rrr
r�Lsz,GrammarTests.testGenexps.<locals>.<listcomp>rz&should produce StopIteration exceptionc3s|]
}�VqdSr6r)r�r_rOrr
rUszshould produce TypeErrorcss |]}dD]}||fVq
qdS)�abcdNr�r�rr-rrr
r[srcSsg|]}dD]}||f�qqS)rrrrrr
r�[scss |]}dD]}||fVq
qdS)�xyNrrrrr
r\sZabcSsg|]}dD]}||f�qqS)rrrrrr
r�\scSsg|]}|�qSrrr�rrr
r�^scss|]
}|VqdSr6rr�rrr
r_scss|]
}|VqdSr6rrrrr
r_scSsg|]}|�qSrrr�rrr
r�`scss|]}|dVqdS�rNrr�rrr
rbscSsg|]}|d�qSr\rr�rrr
r�bscss|]}|dr||VqdSrrr�rrr
rcscSsg|]}|dr||�qSr\rr�rrr
r�cscss|]
}|VqdSr6rr�rrr
rdscss|]
}|VqdSr6rrrrr
rdscSsg|]}|�qSrrr�rrr
r�dscss|]
}|VqdSr6rr�rrr
rescss|]
}|VqdSr6rrrrr
rescss|]
}|VqdSr6r�r�r�rrr
rescSsg|]}|�qSrrr�rrr
r�escss|]
}|VqdSr6rr�rrr
rfscSsg|]}|�qSrrrrrr
r�fscss|]
}|VqdSr6rrrrr
rfscSsg|]}|�qSrrr�rrr
r�fscss|]
}|VqdS�TNrr�rrr
rgscss|]
}|VqdSr6rrrrr
rgscss|]
}|VqdSrrrrrr
rgscSsg|]}|�qSrrr�rrr
r�gscss|]
}|VqdSrrr�rrr
rhscss|]}dr|VqdS)FNrrrrr
rhscss|]
}|VqdSrrrrrr
rhsrzfoo(x for x in range(10), 100)zfoo(100, x for x in range(10)))	rr��nextr�
StopIterationr�r��sumr)r
r|rGrrOr
�testGenexpsIs8$$"00:DDD2
zGrammarTests.testGenexpscs�d�dd�t��D�}d�|�tt|��d�d�d���fdd�t��D�}d�d�|�dd	�td�D�t|��|�d
d	�td�D�dddg�|�td
d�td�D��dddg�|�dd	�dD�dddg�|�tdd�dD��dddg�dS)Nrcss|]
}|VqdSr6rr�rrr
rnsz9GrammarTests.testComprehensionSpecials.<locals>.<genexpr>rKFc3s(|] }�rt��D]}||fVqqdSr6r�r�r}r~��trrr
rrs

TcSs"g|]}td�D]}||f�qqS�rKrr"rrr
r�ts
z:GrammarTests.testComprehensionSpecials.<locals>.<listcomp>cSs g|]}|dr|dr|�qSrXrr�rrr
r�xsr&rMcss"|]}|dr|dr|VqdS)rrINrr�rrr
ryscSsg|]
\}|�qSrrr�rrr
r�|s))rJr%)rLrJrLcss|]\}|VqdSr6rr�rrr
r}s))rM)rN)rrNr)rr�r+r�)r
r|rr#r
�testComprehensionSpecialsls $z&GrammarTests.testComprehensionSpecialsc
Cs�Gdd�dt�}|��W5QRX|��}W5QRX|��
\}}W5QRX|��|��W5QRXW5QRX|��}|��}W5QRXW5QRX|��}|��W5QRXW5QRXdS)Nc@seZdZdd�Zdd�ZdS)z1GrammarTests.test_with_statement.<locals>.managercSsdS)Nr[rr�rrr
�	__enter__�sz;GrammarTests.test_with_statement.<locals>.manager.__enter__cWsdSr6r)r
r?rrr
�__exit__�sz:GrammarTests.test_with_statement.<locals>.manager.__exit__N)r1r2r3r'r(rrrr
�manager�sr))�object)r
r)rr-rrr
�test_with_statements


z GrammarTests.test_with_statementcCs�dd�}|�dd�dd�dd�fD�dg�|�d	d�d
d�dd�fD�dg�|�d
n|dd�d
�|�drx|dd�nd
d
�|�dr�d
o�dndd�|�dr�d
o�dndd�|�d
o�dndd�|�dr�dp�|dd�ndd�|�d�p�|dd�n|dd�d�|�d�pd
n|dd�d
�|�dndd�|�d�r>dndd�|�dndd�|�d
ndd
�|�dndd�|�dndd�|�d�r�ddkndd�dS)NcSstt�|S)z@helper to check that evaluation of expressions is done correctly)�printr)r�Zretrrr
�
_checkeval�sz/GrammarTests.testIfElseExpr.<locals>._checkevalcSsg|]}|�r|��qSrrr�rrr
r��sz/GrammarTests.testIfElseExpr.<locals>.<listcomp>cSsdS)NTrrrrr
r��r8z-GrammarTests.testIfElseExpr.<locals>.<lambda>cSsdS)NFrrrrr
r��r8TcSsg|]}|d�r|d��qS)Frr�rrr
r��scSs|rdSdS)NFTrryrrr
r��r8cSs|rdSdS)NTFrryrrr
r��r8r&rKzcheck 1rzcheck 2rLzcheck 3rrIzcheck 4zcheck 5zcheck 6FrMr�rJg@r�)r
r-rrr
�testIfElseExpr�s$$$"zGrammarTests.testIfElseExprN))r1r2r3r5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr!r&r+r.rrrr
r4�sN9
	

#?#r4cCsttt�dSr6)rrr4rrrr
�	test_main�sr/�__main__)
Ztest.supportrrZunittestrZTestCaserr4r/r1rrrr
�<module>s