Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/lib2to3/tests/data/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/lib2to3/tests/data/__pycache__/py3_test_grammar.cpython-39.pyc

a

XC?h�y�@s\ddlmZddlZddlZddlTGdd�dej�ZGdd�dej�ZedkrXe��dS)	���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/python39/lib64/python3.9/lib2to3/tests/data/py3_test_grammar.py�
testBackslashszTokenTests.testBackslashc	Csf|�td�td��|�dd�|�dd�|�dd�|�dd�|�ttd�ddlm}|dkr�|�dd�|�ddk�|�ddk�|�ddk�d	D]2}zt|�}Wq�ty�|�	d
|�Yq�0q�n�|dk�rT|�dd�|�d
dk�|�d
dk�|�ddk�dD]6}zt|�}Wn"t�yL|�	d
|�Yn0�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
�testStringLiteralsos("..zTokenTests.testStringLiteralscCs$d}|�|tu�|�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sxdd�}|�|d�|dii��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 �|	fid!di��d{d"d#�}
|
d�|
dd�|
d|id$di��d}d%d&�}|dd�|ddd�|d'�|dgd(�R�|ddgd)�R�|d~id*di��dd+d,�}|�|d�|dd�|d-�|dgd.�R�|d�id$di��|fiddd/���d�d0d1�}
|
d�|
dd�|
ddd�d�d2d3�}|dd�|ddd�|dddd�d�d4d5�}|�|d�|dd�|d6�|d �|fid!di��d�d7d8�}|d�|dd�|ddd�d�d9d:�}|dd�|ddd�|dddd�|d6�|d�id*di��d�d;d<�}|�|d�|dd�|ddd�|dgd=�R�|fiddd/���d�d>d?�}|d�|dd�|ddd�|dddd�|d6�|ddgd@�R�|dgd.�Rid*di��d�dAdB�}|dd�|ddd�|dddd�|ddddd�|d6�|ddgd@�R�|dgd(�RidCdi��ztd�idEdi��Wnt�y�Yn0|�dF�dGdH�}|dIdJ�dIdK�dLdM�}|dddIdN�|dddIdOdP�|dddIdOdQ�dIdN�dRdS�}|dddIdIdOdT�|dddIdOdIdU�dVdW�}|�|dgddg�RdddX��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�dri)�k2cSs||||fSr6r)�p1�p2�k1rmrrr
�pos2key2/r8z*GrammarTests.testFuncdef.<locals>.pos2key2)rp��)rprm)rmrpc[s|||||fSr6r)rnrorprm�kwargrrr
�pos2key2dict3r8z.GrammarTests.testFuncdef.<locals>.pos2key2dict)rm�tokwarg1�tokwarg2)rurvrmc_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
rx@r8rzr{cSsdSr6rr{rrr
rxBr8cWsdSr6rr{rrr
rxDr8c[sdSr6rr{rrr
rxFr8�r-cSsdSr6rryrrr
rxHr8r-)rGrUcSsdSr6rr^rrr
rxJr8)rGrU�e�gcWsdSr6r)rDrGrUr_r}rxr~rrr
rxLr8r)�i�j��)rGrUr}r~�hr��krzc_sdSr6r)rDrGrUr_r}rxr�rr�r~r�rrr
rxOscSs|Sr6rr{rrr
�nullUr8z&GrammarTests.testFuncdef.<locals>.nullcSsdSr6rr{rrr
rxVscs�Sr6rr�Zclosurerr
rx\r8cs�Sr6rr{r�rr
rx]r8�r�cs�Sr6rr�r�rr
rx^r8cs�Sr6rrr�rr
rx_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)rJrK)rJrK)r&)r�__code__�co_varnames�str�	TypeErrorrrrr�list�__annotations__�int�floatr)r
r7r:r=r>r@rBrErHrPrSrVrZr]r`rarbrdrerfrhrkrqrtrxr�rr�r
�testFuncdef�s>






























 �����
zGrammarTests.testFuncdefcCs�dd�}|�|�d�dd�}dd�}|�|�gd��ddd�fd	d�fd
d�}|�|�d�ddd�}|�|dd�d
�|�|ddd�d�t|d�t|d�dd�dd�}|�|dd�d�|�|dddd�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>jr8z>GrammarTests.testLambdef.<locals>.<lambda>.<locals>.<listcomp>)���rIrrrrrr
r�jr8)rr&rr&cSs|Sr6r)�zrrr
r�lr8cSs|�Sr6rr|rrr
r�lr8cSs|�Sr6rr{r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r{r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 + 2r)	r
rr-r��abcrDrGrU�xyzrrr
�testExprStmt�s

zGrammarTests.testExprStmtcCs*gd�}|\}}}|||f}~~~~~dS)NrWr)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}Yq0q|dkrN|�|�d}|std}zWd}qRWd}qRd}0qR|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�Yq0q|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_loopcsDdd�}dd�}ddg��fdd�}|�|�}|�}t|d	�dS)
NcSsdSr6rrrrr
�g1�r8z#GrammarTests.testReturn.<locals>.g1cSsdSr�rrrrr
�g2�r8z#GrammarTests.testReturn.<locals>.g2rrIcsdg��RSr�rr�Zreturn_listrr
�g3�r8z#GrammarTests.testReturn.<locals>.g3zclass foo:return 1r)r
r�r�r�r�x3rr�r
�
testReturn�szGrammarTests.testReturncsRdd�}ddg��fdd�}�fdd�}|�}|�}|�}t|d	�t|d
�dS)Ncss
dVdSr�rrrrr
r��r8z"GrammarTests.testYield.<locals>.g1rrIc3sdg��RVdSr�rr�Z
yield_listrr
r��r8z"GrammarTests.testYield.<locals>.g2c3st��EdHdSr6)�iterrr�rr
r��r8z"GrammarTests.testYield.<locals>.g3zclass foo:yield 1zdef g4(): yield from *ar)r
r�r�r�Zx1Zx2r�rr�r
�	testYield�s
zGrammarTests.testYieldcCs@ztd��WntyYn0zt�Wnty:Yn0dS)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
�
testGlobalszGrammarTests.testGlobalcsd�d���fdd�}dS)NrcsdSr6rrryrr
rxsz$GrammarTests.testNonlocal.<locals>.fr)r
rxrryr
�testNonlocalszGrammarTests.testNonlocalc
Cs�dsJ�dsJd��dd�s J�ds0Jdd���zds>Jd��Wn6tyv}z|�|jdd�WYd}~nd}~00|�d�dS)Nr&cSs|Sr6rr{rrr
r�r8z)GrammarTests.testAssert.<locals>.<lambda>cSs|dSr�rr{r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
�testIf%szGrammarTests.testIfcCsd}d}|�|d�dS)Nrrrr	rrr
�	testWhile2szGrammarTests.testWhilecCs�dD]}qdD]
\}}}qGdd�d�}d}|d�D]}||}q4|dkrT|�d�g}d	D]\}|�|�q\|�|gd��dS)
NrWrc@s$eZdZdd�Zdd�Zdd�ZdS)z%GrammarTests.testFor.<locals>.SquarescSs||_g|_dSr6)�max�sofar)r
r�rrr
�__init__Gsz.GrammarTests.testFor.<locals>.Squares.__init__cSs
t|j�Sr6)r+r�r�rrr
�__len__Jr8z-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__Ks

z1GrammarTests.testFor.<locals>.Squares.__getitem__N)r1r2r3r�r�r�rrrr
�SquaresFsr�rrizfor over growing sequence)rQr\rY)rr��assertEqual)r
rr�r�r�r�r�resultrrr
�testForAs


zGrammarTests.testForc
Cs�zddWntyYn0zddWn`ty>YnPty`}zWYd}~n6d}~0ty�}zWYd}~nd}~0Yn0zddWntttfy�Yn0zddWn*tttfy�}zWYd}~n
d}~00zWn0dS�Nr&r)�ZeroDivisionError�EOFErrorr�r�)r
r�rrr
�testTry\s""*zGrammarTests.testTrycCsdSr6rr�rrr
�	testSuitesszGrammarTests.testSuitecCsdsdrdsdsdrdS)Nr&Frr�rrr
�testTest�szGrammarTests.testTestcCs�ddk}ddkrddkrddkr ddkr(ddkr0ddkr8ddur@ddurHddvrPddvrXddkr�dkr�dkr�dkr�dkr�dkr�dvr�dvr�dur�dur�nndS)Nr&rrr	rrr
�testComparison�szGrammarTests.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�tupler{rrr
r��r8z,GrammarTests.testSelectors.<locals>.<lambda>riz[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}hd�}hd�}|}d
}d}dS)Nr&rrI�oner<)r�r<rJrKrL)r�r<�threeZfourZfiveZsix>r<r�r�>rrIrJr�{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�r8r�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.B2Nr�rrrr
�B2�r8r�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.C1Nr�rrrr
�C1r8r�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.C2Nr�rrrr
�C2r8r�c@seZdZdS)z$GrammarTests.testClassdef.<locals>.DNr�rrrr
�Dr8r�c@s$eZdZdd�Zdd�Zdd�ZdS)z$GrammarTests.testClassdef.<locals>.CcSsdSr6rr�rrr
�meth1r8z*GrammarTests.testClassdef.<locals>.C.meth1cSsdSr6r)r
�argrrr
�meth2r8z*GrammarTests.testClassdef.<locals>.C.meth2cSsdSr6r)r
r>r@rrr
�meth3r8z*GrammarTests.testClassdef.<locals>.C.meth3N)r1r2r3r�r�r�rrrr
�Csr�cSs|Sr6rr{rrr
�class_decoratorr8z2GrammarTests.testClassdef.<locals>.class_decoratorc@seZdZdS)z$GrammarTests.testClassdef.<locals>.GNr�rrrr
�Gsr�r)	r
r�r�r�r�r�r�r�r�rrr
�testClassdef�szGrammarTests.testClassdefcCs*gd�}|�dd�|D�dddd��dS)NrWcSsi|]}||d�qSrQr�r�rrrr
�
<dictcomp>r8z.GrammarTests.testDictcomps.<locals>.<dictcomp>rrIrJ�r�)r
�numsrrr
�
testDictcompsszGrammarTests.testDictcompsc	sZgd�}gd��gd�}��dd�|D�gd����dd�|D�gd����d	d�|D�gd
�����fdd�|D�gd�����fd
d�|D�gd����dd�td�D�dgddggd�gd�gd�g�dd�}��||�gd���fdd�}|�t�d�t�d�gd�}gd��gd����fdd�|D�}��|gd ��dS)!N)r&rrIrJrK)�Apple�Banana�Coconut)z  Applez Banana zCoco  nut  cSsg|]}|���qSr)�strip)r�rrrr
r�r8z.GrammarTests.testListcomps.<locals>.<listcomp>)rrz	Coco  nutcSsg|]}d|�qSrYrr�rrr
r�r8)rIrLrr��cSsg|]}|dkr|�qSr\rr�rrr
r�r8rgcsg|]}�D]}||f�qqSrr�r�rr��strsrr
r�r8))r&r�r&r�r&r)rr�rr�rr)rIr�rIr�rIr)rJr�rJr�rJr)rKr�rKr�rKrcs(g|] }dd��D�D]}||f�qqS)cSsg|]}d|vr|�qS)r�r)r�rxrrr
r�%r8z9GrammarTests.testListcomps.<locals>.<listcomp>.<listcomp>rrrrr
r�%r8)
r	r
rrr
rrrrrcSsg|]}dd�|��qS)cs�fdd�t�d�D�S)Ncsg|]}�|�qSrrr�rOrr
r�)r8zKGrammarTests.testListcomps.<locals>.<listcomp>.<lambda>.<locals>.<listcomp>r&��rangerOrrOr
r�)r8z7GrammarTests.testListcomps.<locals>.<listcomp>.<lambda>r)r�r�rrr
r�)r8rKr&)r&rrJ)r&rIr�)r&rJ��@�cSsdd�|D�S)NcSs,g|]$}|dkrd|ko"dkn�qS)rrrIrr�rrr
r�-r8zDGrammarTests.testListcomps.<locals>.test_in_func.<locals>.<listcomp>r)�lrrr
�test_in_func,sz0GrammarTests.testListcomps.<locals>.test_in_func)FFFcs,��dd�dD�ddgddgdd	gg�dS)
NcSs"g|]}dd�||dfD��qS)cSsg|]}|�qSrr�r�r-rrr
r�2r8zTGrammarTests.testListcomps.<locals>.test_nested_front.<locals>.<listcomp>.<listcomp>r&rr�rrr
r�2r8zIGrammarTests.testListcomps.<locals>.test_nested_front.<locals>.<listcomp>)r&rIrKr&rrIrJrKrLr�rr�rr
�test_nested_front1s�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�)rIr"csDg|]<\}}�D].\}}�D] \}}||kr||kr||f�qqqSrr)r�ZsnoZsnameZpnoZpnameZsp_snoZsp_pno)�parts�suppartrr
r�Js
�))rr )rr!)rr!)rr#)r�rr)r
r�ZspcsrrZ	suppliersrr)r$r
rr%r
�
testListcompss8���

�zGrammarTests.testListcompscs�dd�td�D�}|�t|�dd�td�D��zt|�|�d�WntyXYn0d�z(�fdd��D�}t|�|�d	�Wnty�Yn0|�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�Wr8z6GrammarTests.testGenexps.<locals>.<genexpr>.<listcomp>rNrr�rrr
�	<genexpr>Wr8z+GrammarTests.testGenexps.<locals>.<genexpr>r&cSsg|]}|�qSrrr�rrr
r�Xr8z,GrammarTests.testGenexps.<locals>.<listcomp>rz&should produce StopIteration exceptionc3s|]
}�VqdSr6r)r�r_rOrr
r'ar8zshould produce TypeErrorcss |]}dD]}||fVq
qdS)�abcdNr�r�rr-rrr
r'gr8r(cSsg|]}dD]}||f�qqS)r(rr)rrr
r�gr8css |]}dD]}||fVq
qdS)�xyNrr)rrr
r'hr8ZabcSsg|]}dD]}||f�qqS)r*rr)rrr
r�hr8cSsg|]}|�qSrrr�rrr
r�jr8css|]
}|VqdSr6rr�rrr
r'kr8css|]
}|VqdSr6rrrrr
r'kr8cSsg|]}|�qSrrr�rrr
r�lr8css|]}|dVqdS�rNrr�rrr
r'nr8cSsg|]}|d�qSr\rr�rrr
r�nr8css|]}|dr||VqdSr+rr�rrr
r'or8cSsg|]}|dr||�qSr\rr�rrr
r�or8css|]
}|VqdSr6rr�rrr
r'pr8css|]
}|VqdSr6rrrrr
r'pr8cSsg|]}|�qSrrr�rrr
r�pr8css|]
}|VqdSr6rr�rrr
r'qr8css|]
}|VqdSr6rrrrr
r'qr8css|]
}|VqdSr6r�r�r�rrr
r'qr8cSsg|]}|�qSrrr�rrr
r�qr8css|]
}|VqdSr6rr�rrr
r'rr8cSsg|]}|�qSrrrrrr
r�rr8css|]
}|VqdSr6rr,rrr
r'rr8cSsg|]}|�qSrrr�rrr
r�rr8css|]
}|VqdS�TNrr�rrr
r'sr8css|]
}|VqdSr6rrrrr
r'sr8css|]
}|VqdSr-rr,rrr
r'sr8cSsg|]}|�qSrrr�rrr
r�sr8css|]
}|VqdSr-rr�rrr
r'tr8css|]}dr|VqdS)FNrrrrr
r'tr8css|]
}|VqdSr-rr,rrr
r'tr8rzfoo(x for x in range(10), 100)zfoo(100, x for x in range(10)))	rr��nextr�
StopIterationr�r��sumr)r
r~rGrrOr
�testGenexpsUs8$$"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�gd��|�tdd�td�D��gd��|�d
d	�dD�gd��|�tdd�dD��gd��dS)Nrcss|]
}|VqdSr6rr�rrr
r'zr8z9GrammarTests.testComprehensionSpecials.<locals>.<genexpr>rKFc3s(|] }�rt��D]}||fVqqdSr6r�r�rr���trrr
r'~r8TcSs"g|]}td�D]}||f�qqS�rKrr2rrr
r��r8z:GrammarTests.testComprehensionSpecials.<locals>.<listcomp>cSs g|]}|dr|dr|�qSrXrr�rrr
r��r8)r&rKrMcss"|]}|dr|dr|VqdS)rrINrr�rrr
r'�r8cSsg|]
\}|�qSrrr�rrr
r��r8))rJr5)rL)rJrKrLcss|]\}|VqdSr6rr�rrr
r'�r8))rM)rN)r)rMrNr)rr�r+r�)r
r~rr3r
�testComprehensionSpecialsxs "z&GrammarTests.testComprehensionSpecialsc	CstGdd�dt�}|��Wd�n1s,0Y|��}Wd�n1sR0Y|��\}}Wd�n1s|0Y|��6|��Wd�n1s�0YWd�n1s�0Y|��6}|��}Wd�n1s�0YWd�n1�s0Y|��8}|��Wd�n1�sF0YWd�n1�sf0YdS)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)r1r2r3r7r8rrrr
�manager�sr9)�object)r
r9rr-rrr
�test_with_statement�s<>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��r8z/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��r8cSs|rdSdS)NFTrr{rrr
r��r8cSs|rdSdS)NTFrr{r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�rr&r1r6r;r>rrrr
r4�sN9
	

#?#r4�__main__)	Ztest.supportrZunittestrZTestCaserr4r1�mainrrrr
�<module>s#