Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib64/python3.7/lib2to3/tests/data/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/lib2to3/tests/data/__pycache__/py3_test_grammar.cpython-37.pyc

B

� 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/python37/lib64/python3.7/lib2to3/tests/data/py3_test_grammar.py�
testBackslashszTokenTests.testBackslashc	Csr|�td�td��|�dd�|�dd�|�dd�|�dd�|�ttd�ddlm}|dkr�|�dd�|�ddk�|�ddk�|�ddk�x�d	D]4}yt|�}Wq�tk
r�|�	d
|�Yq�Xq�Wn�|dk�r`|�dd�|�d
dk�|�d
dk�|�ddk�xPdD]8}yt|�}Wn$tk
�rV|�	d
|�YnX�q"Wn|�	d|�dS)Nr�i����	Z0x)�maxsizei�l��)Z
2147483648Z
0o40000000000Z0x100000000Z"0b10000000000000000000000000000000z(OverflowError on huge integer literal %rl����l����l����l����)Z9223372036854775808Z0o2000000000000000000000Z0x10000000000000000ZA0b100000000000000000000000000000000000000000000000000000000000000zWeird maxsize value %r)
r�type�assertRaises�SyntaxError�eval�sysr�assert_�
OverflowError�fail)rr�sr	r
r
r�testPlainIntegerss8


zTokenTests.testPlainIntegerscCs$d}d}d}d}d}d}d}d}dS)Nrl����l���?l�
~��l!]cll�����r
)rr	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=
��?g��Q�	@g��
�BgIae
�Hg���#;�7r
)rr	r
r
r�testUnderscoresInNumbersKs"z#TokenTests.testUnderscoresInNumberscCs0d}d}d}d}d}d}d}d}d}d}d}dS)Ng��Q�	@g�s@gj�t��?g��
�Bg��t� =g�W�H�BgF�@r
)rr	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)rr	�yr
r
r�testStringLiteralsos6&&

zTokenTests.testStringLiteralscCs$d}|�|tk�|�ttd�dS)N.z.. .)r�Ellipsisrrr)rr	r
r
r�testEllipsis�szTokenTests.testEllipsisN)
�__name__�
__module__�__qualname__rrrrrr)r+r
r
r
rrs
$
*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)r)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�ytd�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
cSsdS)Nr
)�one_argumentr
r
r�f2�r2z$GrammarTests.testFuncdef.<locals>.f2cSsdS)Nr
)�two�	argumentsr
r
r�f3�r2z$GrammarTests.testFuncdef.<locals>.f3)r3)r5r6cSsdS)Nr
)Zone_argr
r
r�a1�r2z$GrammarTests.testFuncdef.<locals>.a1cSsdS)Nr
)r5�argsr
r
r�a2�r2z$GrammarTests.testFuncdef.<locals>.a2cWsdS)Nr
)�restr
r
r�v0�r2z$GrammarTests.testFuncdef.<locals>.v0cWsdS)Nr
)�ar;r
r
r�v1�r2z$GrammarTests.testFuncdef.<locals>.v1cWsdS)Nr
)r=�br;r
r
r�v2�r2z$GrammarTests.testFuncdef.<locals>.v2r!r������rrcSsdS)Nr
)r=r
r
r�d01�r2z%GrammarTests.testFuncdef.<locals>.d01)r!r=cSsdS)Nr
)r=r?r
r
r�d11�r2z%GrammarTests.testFuncdef.<locals>.d11r?cSsdS)Nr
)r=r?�cr
r
r�d21�r2z%GrammarTests.testFuncdef.<locals>.d21)r!rrA)rrA)rArIcSsdS)Nr
)r=r?r
r
r�d02�r2z%GrammarTests.testFuncdef.<locals>.d02)r!r)r)r=r?cSsdS)Nr
)r=r?rIr
r
r�d12�r2z%GrammarTests.testFuncdef.<locals>.d12cSsdS)Nr
)r=r?rI�dr
r
r�d22�r2z%GrammarTests.testFuncdef.<locals>.d22cWsdS)Nr
)r=r;r
r
r�d01v�r2z&GrammarTests.testFuncdef.<locals>.d01v)r!rrArBcWsdS)Nr
)r=r?r;r
r
r�d11vr2z&GrammarTests.testFuncdef.<locals>.d11vcWsdS)Nr
)r=r?rIr;r
r
r�d21vr2z&GrammarTests.testFuncdef.<locals>.d21vcWsdS)Nr
)r=r?r;r
r
r�d02v
r2z&GrammarTests.testFuncdef.<locals>.d02v)rrArBcWsdS)Nr
)r=r?rIr;r
r
r�d12vr2z&GrammarTests.testFuncdef.<locals>.d12v)rArBrCcWsdS)Nr
)r=r?rIrMr;r
r
r�d22vr2z&GrammarTests.testFuncdef.<locals>.d22vrMr	sfooz/Bytes should not work as keyword argument namescSs|S)Nr
)�keyr
r
r�pos0key1-r2z*GrammarTests.testFuncdef.<locals>.pos0key1�d)rU)�k2cSs||||fS)Nr
)�p1�p2�k1rXr
r
r�pos2key2/r2z*GrammarTests.testFuncdef.<locals>.pos2key2)r[��)r[rX)rXr[c[s|||||fS)Nr
)rYrZr[rXZkwargr
r
r�pos2key2dict3r2z.GrammarTests.testFuncdef.<locals>.pos2key2dict)rX�tokwarg1�tokwarg2)r_r`rXc_s||fS)Nr
)r9�kwargsr
r
r�f8sz#GrammarTests.testFuncdef.<locals>.f)r	r()r!rArBzf(1, *(2,3), 4)zf(1, x=2, *(3,4), x=5))�returncSsdS)Nr
)r	r
r
rrb@r2rc)r	cSsdS)Nr
)r	r
r
rrbBr2cWsdS)Nr
)r	r
r
rrbDr2c[sdS)Nr
)r	r
r
rrbFr2)r(cSsdS)Nr
)r	r(r
r
rrbHr2r()r?rIcSsdS)Nr
)r=r?rIrMr
r
rrbJr2)r?rI�e�gcWsdS)Nr
)r=r?rIrMrdrbrer
r
rrbLr2r)�i�j��)r?rIrdre�hrg�krcc_sdS)Nr
)r=r?rIrMrdrbrjrfrgrerkr
r
rrbOscSs|S)Nr
)r	r
r
r�nullUr2z&GrammarTests.testFuncdef.<locals>.nullcSsdS)Nr
)r	r
r
rrbVscs�S)Nr
r
)�closurer
rrb\r2cs�S)Nr
)r	)rmr
rrb]r2)rkcs�S)Nr
)rk)rmr
rrb^r2cs�S)Nr
r
)rmr
rrb_r2z
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!)rBrC)rBrC)r!)r�__code__�co_varnames�str�	TypeErrorrrrr�list�__annotations__�int�floatr)rr1r4r7r8r:r<r>r@rGrHrJrKrLrNrOrPrQrRrSrTrVr\r^rbrlr
)rmr�testFuncdef�s4
































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>gr2z*GrammarTests.testLambdef.<locals>.<lambda>rcSsttS)N)r=rMr
r
r
rrwir2cSsdd�dD�S)NcSsg|]}d|k�qS)rr
)�.0r	r
r
r�
<listcomp>jsz>GrammarTests.testLambdef.<locals>.<lambda>.<locals>.<listcomp>)���rArr
r
r
r
rrwjr2r!cSs|S)Nr
)�zr
r
rrwlr2cSs|�S)Nr
)r(r
r
rrwlr2cSs|�S)Nr
)r	r
r
rrwlr2rcSs|||S)Nr
)r	r(r{r
r
rrwnr2rCrArDzlambda x: x = 2zlambda (None,): None�)rkcSs|||S)Nr
)r	r(rkr
r
rrwsr2�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
)rr	r�r
r
r�testSimpleStmt{szGrammarTests.testSimpleStmtc	CsRd}d}d}}}d\}}}d}\}}}\}}}}t|d�t|d�dS)Nr!)r!rrA)r!r)rArBz	x + 1 = 1z
a + 1 = b + 2)r)	rr	r(r{�abcr=r?rI�xyzr
r
r�testExprStmt�s

zGrammarTests.testExprStmtcCs,dddg}|\}}}|||f}~~~~~dS)Nr!rrAr
)rr�r	r(r{r�r
r
r�testDelStmt�s



zGrammarTests.testDelStmtcCsdS)Nr
)rr
r
r�testPassStmt�szGrammarTests.testPassStmtcCsxPqWdS)Nr
)rr
r
r�
testBreakStmt�szGrammarTests.testBreakStmtcCs�d}x|rd}qqWd}x(|s@d}y
wd}Wqd}YqXqW|dkrT|�|�d}x|srd}zwZWdd}XqZW|dkr�|�|�dS)Nr!rr�okz&continue failed to continue inside tryz'continue inside try called except blockzfinally block not called)r)rrf�msgr
r
r�testContinueStmt�s,

zGrammarTests.testContinueStmtcsd�fdd�	}|�dS)Nr!rcshd}xD|rH|d7}y$|r*|dkr*|d8}P|d8}wWq�YqXqW|dksZ|dkrd��d�dS)Nrr!z1continue then break in try/except in loop broken!)r)Zextra_burning_oil�countZ	big_hippo)rr
r�
test_inner�sz9GrammarTests.test_break_continue_loop.<locals>.test_inner)r!rr
)rr�r
)rr�test_break_continue_loop�s
z%GrammarTests.test_break_continue_loopcCs*dd�}dd�}|�|�}t|d�dS)NcSsdS)Nr
r
r
r
r�g1�r2z#GrammarTests.testReturn.<locals>.g1cSsdS)Nr!r
r
r
r
r�g2�r2z#GrammarTests.testReturn.<locals>.g2zclass foo:return 1)r)rr�r�r	r
r
r�
testReturn�s
zGrammarTests.testReturncCst|d�dS)Nzclass foo:yield 1)r)rr
r
r�	testYield�szGrammarTests.testYieldcCsDytd��Wntk
r YnXyt�Wntk
r>YnXdS)Nzjust testing)�RuntimeError�KeyboardInterrupt)rr
r
r�	testRaise�szGrammarTests.testRaisecCsdddl}ddl}ddl}ddlm}ddlm}ddlm}m}ddlm}m}ddlm}m}dS)Nr)�time)�path�argv)rr�r�r�)rrr�r�r�r
r
r�
testImport�szGrammarTests.testImportcCsdS)Nr
)rr
r
r�
testGlobal�szGrammarTests.testGlobalcsd�d���fdd�}dS)NrcsdS)Nr
r
)r	r(r
rrbsz$GrammarTests.testNonlocal.<locals>.fr
)rrbr
)r	r(r�testNonlocalszGrammarTests.testNonlocalc
Cs�dst�dstd��dd�s t�ds0tdd���yds>td��Wn4tk
rt}z|�|jdd�Wdd}~XYnX|�d�dS)Nr!cSs|S)Nr
)r	r
r
rrwr2z)GrammarTests.testAssert.<locals>.<lambda>cSs|dS)Nr!r
)r	r
r
rrw
r2rr�z%AssertionError not raised by assert 0)�AssertionErrorrr9r)rrdr
r
r�
testAsserts$zGrammarTests.testAssertcCsdS)Nr
)rr
r
r�testIfszGrammarTests.testIfcCsd}d}|�|d�dS)Nrr)r)rr	r
r
r�	testWhile&szGrammarTests.testWhilecCs�xdD]}qWxdD]
\}}}qWGdd�d�}d}x|d�D]}||}q>W|dkr`|�d�g}xd	D]\}|�|�qjW|�|d
ddg�dS)
N)r!rrAr
c@s$eZdZdd�Zdd�Zdd�ZdS)z%GrammarTests.testFor.<locals>.SquarescSs||_g|_dS)N)�max�sofar)rr�r
r
r�__init__;sz.GrammarTests.testFor.<locals>.Squares.__init__cSs
t|j�S)N)r&r�)rr
r
r�__len__>r2z-GrammarTests.testFor.<locals>.Squares.__len__cSsVd|kr|jksnt�t|j�}x$||krJ|j�||�|d}q(W|j|S)Nrr!)r��
IndexErrorr&r��append)rrf�nr
r
r�__getitem__?s

z1GrammarTests.testFor.<locals>.Squares.__getitem__N)r,r-r.r�r�r�r
r
r
r�Squares:sr�rrizfor over growing sequence))r!)r)rAr!rrA)rr��assertEqual)rrfrgrkr�r�r	�resultr
r
r�testFor5s

zGrammarTests.testForc
Cs�yddWntk
r YnXyddWn^tk
rBYnLtk
rb}zWdd}~XYn,tk
r�}zWdd}~XYnYnXyddWntttfk
r�YnXyddWn(tttfk
r�}zWdd}~XYnXzWdXdS)Nr!r)�ZeroDivisionError�EOFErrorrqr�)rr�r
r
r�testTryPs2zGrammarTests.testTrycCsdS)Nr
)rr
r
r�	testSuitegszGrammarTests.testSuitecCsdsdrdsdsdrdS)Nr!Fr
)rr
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
)rr	r
r
r�testComparison�shzGrammarTests.testComparisoncCsd}d}d}dS)Nr!rr
)rr	r
r
r�testBinaryMaskOps�szGrammarTests.testBinaryMaskOpscCsd}d}d}dS)Nrrr!r
)rr	r
r
r�testShiftOps�szGrammarTests.testShiftOpscCsd}d}d}d}dS)Nr!rrzr
)rr	r
r
r�testAdditiveOps�szGrammarTests.testAdditiveOpscCsd}d}d}d}dS)Nr!g�?rgr
)rr	r
r
r�testMultiplicativeOps�sz"GrammarTests.testMultiplicativeOpscCsd}d}d}d}d}dS)Nr!rz���g�?r
)rr	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�Z01234rzrC���������r!r)r!rA)r!rrB)r!rrAcSst|t�r|SdS)Nr
)�
isinstance�tuple)r	r
r
rrw�r2z,GrammarTests.testSelectors.<locals>.<lambda>)rUz[1, (1,), (1, 2), (1, 2, 3)])rr�r��modulesrr�sortrrp)	rrr�rIr	r=rrM�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!rrA�oner5)r�r5rBrCrD)r�r5�threeZfourZfiveZsixr�r	�{r
)rr	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)r,r-r.r
r
r
r�B�sr�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.B2N)r,r-r.r
r
r
r�B2�sr�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.C1N)r,r-r.r
r
r
r�C1�sr�c@seZdZdS)z%GrammarTests.testClassdef.<locals>.C2N)r,r-r.r
r
r
r�C2�sr�c@seZdZdS)z$GrammarTests.testClassdef.<locals>.DN)r,r-r.r
r
r
r�D�sr�c@s$eZdZdd�Zdd�Zdd�ZdS)z$GrammarTests.testClassdef.<locals>.CcSsdS)Nr
)rr
r
r�meth1�r2z*GrammarTests.testClassdef.<locals>.C.meth1cSsdS)Nr
)r�argr
r
r�meth2�r2z*GrammarTests.testClassdef.<locals>.C.meth2cSsdS)Nr
)rr8r:r
r
r�meth3�r2z*GrammarTests.testClassdef.<locals>.C.meth3N)r,r-r.r�r�r�r
r
r
r�C�sr�cSs|S)Nr
)r	r
r
r�class_decorator�r2z2GrammarTests.testClassdef.<locals>.class_decoratorc@seZdZdS)z$GrammarTests.testClassdef.<locals>.GN)r,r-r.r
r
r
r�Gsr�r
)	rr�r�r�r�r�r�r�r�r
r
r�testClassdef�szGrammarTests.testClassdefcCs,dddg}|�dd�|D�dddd��dS)Nr!rrAcSsi|]}|d|�qS)r!r
)rxrfr
r
r�
<dictcomp>sz.GrammarTests.testDictcomps.<locals>.<dictcomp>rB)r!rrA)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!rrArBrC�Apple�Banana�Coconutz  Applez Banana zCoco  nut  cSsg|]}|���qSr
)�strip)rxrr
r
rrysz.GrammarTests.testListcomps.<locals>.<listcomp>z	Coco  nutcSsg|]}d|�qS)rAr
)rxr	r
r
rrysrDrri�cSsg|]}|dkr|�qS)rr
)rxr	r
r
rryscsg|]}�D]}||f�qqSr
r
)rxrfr)�strsr
rrys)r!r�)r!r�)r!r�)rr�)rr�)rr�)rAr�)rAr�)rAr�)rBr�)rBr�)rBr�)rCr�)rCr�)rCr�cs(g|] }dd��D�D]}||f�qqS)cSsg|]}d|kr|�qS)r�r
)rxrbr
r
rrysz9GrammarTests.testListcomps.<locals>.<listcomp>.<listcomp>r
)rxrfr)r�r
rryscSsg|]}dd�|��qS)cs�fdd�t�d�D�S)Ncsg|]}�|�qSr
r
)rxrf)r=r
rryszKGrammarTests.testListcomps.<locals>.<listcomp>.<lambda>.<locals>.<listcomp>r!)�range)r=r
)r=rrwr2z7GrammarTests.testListcomps.<locals>.<listcomp>.<lambda>r
)rxrgr
r
rrys���@�cSsdd�|D�S)NcSs,g|]$}|dkrd|ko"dkn�qS)rrrAr
)rxr	r
r
rry!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�||dgD��qS)cSsg|]}|�qSr
r
)rxr(r
r
rry&szTGrammarTests.testListcomps.<locals>.test_nested_front.<locals>.<listcomp>.<listcomp>r!r
)rxr	r
r
rry&szIGrammarTests.testListcomps.<locals>.test_nested_front.<locals>.<listcomp>)r!rArCr!rrArBrCrD)r�r
)rr
r�test_nested_front%sz5GrammarTests.testListcomps.<locals>.test_nested_frontz"[i, s for i in nums for s in strs]z[x if y])r!�Boeing)r�Ford)rA�
Macdonalds)r�Airliner)r|�Engine)��Cheeseburger)r!r)r!r|)rr|)rAr�csDg|]<\}}�D].\}}�D] \}}||kr||kr||f�qqqSr
r
)rxZsnoZsnameZpnoZpnameZsp_snoZsp_pno)�parts�suppartr
rry?s)r�r�)r�r�)r�r�)r�r�)r�r�r)rr�Zspcsr�r�Z	suppliersr	r
)r�rr�r�r�
testListcomps
sF

 
.

zGrammarTests.testListcompscs�dd�td�D�}|�t|�dd�td�D��yt|�|�d�Wntk
rZYnXd�y(�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
)rxr	r
r
rryKsz6GrammarTests.testGenexps.<locals>.<genexpr>.<listcomp>rN)r�)rxr	r
r
r�	<genexpr>Ksz+GrammarTests.testGenexps.<locals>.<genexpr>r!cSsg|]}|�qSr
r
)rxr	r
r
rryLsz,GrammarTests.testGenexps.<locals>.<listcomp>rz&should produce StopIteration exceptionc3s|]
}�VqdS)Nr
)rxrM)r=r
rr�Uszshould produce TypeErrorcss |]}dD]}||fVq
qdS)�abcdNr
)rxr	r(r
r
rr�[sr�cSsg|]}dD]}||f�qqS)r�r
)rxr	r(r
r
rry[scss |]}dD]}||fVq
qdS)�xyNr
)rxr	r(r
r
rr�\sZabcSsg|]}dD]}||f�qqS)r�r
)rxr	r(r
r
rry\scSsg|]}|�qSr
r
)rxr	r
r
rry^scss|]
}|VqdS)Nr
)rxr	r
r
rr�_scss|]
}|VqdS)Nr
)rxr(r
r
rr�_scSsg|]}|�qSr
r
)rxr	r
r
rry`scss|]}|dVqdS)rNr
)rxr	r
r
rr�bscSsg|]}|d�qS)rr
)rxr	r
r
rrybscss|]}|dr||VqdS)rNr
)rxr	r
r
rr�cscSsg|]}|dr||�qS)rr
)rxr	r
r
rrycscss|]
}|VqdS)Nr
)rxr	r
r
rr�dscss|]
}|VqdS)Nr
)rxr(r
r
rr�dscSsg|]}|�qSr
r
)rxr	r
r
rrydscss|]
}|VqdS)Nr
)rxr	r
r
rr�escss|]
}|VqdS)Nr
)rxr(r
r
rr�escss|]
}|VqdS)Nr
)rxr{r
r
rr�escSsg|]}|�qSr
r
)rxr	r
r
rryescss|]
}|VqdS)Nr
)rxr	r
r
rr�fscSsg|]}|�qSr
r
)rxr(r
r
rryfscss|]
}|VqdS)Nr
)rxr{r
r
rr�fscSsg|]}|�qSr
r
)rxr	r
r
rryfscss|]
}|VqdS)TNr
)rxr	r
r
rr�gscss|]
}|VqdS)Nr
)rxr(r
r
rr�gscss|]
}|VqdS)TNr
)rxr{r
r
rr�gscSsg|]}|�qSr
r
)rxr	r
r
rrygscss|]
}|VqdS)TNr
)rxr	r
r
rr�hscss|]}dr|VqdS)FNr
)rxr(r
r
rr�hscss|]
}|VqdS)TNr
)rxr{r
r
rr�hsrzfoo(x for x in range(10), 100)zfoo(100, x for x in range(10)))	r�r��nextr�
StopIterationrqrr�sumr)rrer?r
)r=r�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|]
}|VqdS)Nr
)rxrfr
r
rr�nsz9GrammarTests.testComprehensionSpecials.<locals>.<genexpr>rCFc3s(|] }�rt��D]}||fVqqdS)N)r�)rxrfrg)�tr	r
rr�rsTcSs"g|]}td�D]}||f�qqS)rC)r�)rxrfrgr
r
rrytsz:GrammarTests.testComprehensionSpecials.<locals>.<listcomp>cSs g|]}|dr|dr|�qS)rrAr
)rxr	r
r
rryxsr!rEcss"|]}|dr|dr|VqdS)rrANr
)rxr	r
r
rr�yscSsg|]
\}|�qSr
r
)rxr	r
r
rry|s))rB)rC)rDrBrDcss|]\}|VqdS)Nr
)rxr	r
r
rr�}s))rE)rF)rrFr)r�r�r&rr)rrer
)r�r	r�testComprehensionSpecialsls $z&GrammarTests.testComprehensionSpecialsc
Cs�Gdd�dt�}|��WdQRX|��}WdQRX|��
\}}WdQRX|��|��WdQRXWdQRX|��}|��}WdQRXWdQRX|��}|��WdQRXWdQRXdS)Nc@seZdZdd�Zdd�ZdS)z1GrammarTests.test_with_statement.<locals>.managercSsdS)N)r!rr
)rr
r
r�	__enter__�sz;GrammarTests.test_with_statement.<locals>.manager.__enter__cWsdS)Nr
)rr9r
r
r�__exit__�sz:GrammarTests.test_with_statement.<locals>.manager.__exit__N)r,r-r.r�r�r
r
r
r�manager�sr�)�object)rr�r	r(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
)rxr	r
r
rry�sz/GrammarTests.testIfElseExpr.<locals>.<listcomp>cSsdS)NTr
r
r
r
rrw�r2z-GrammarTests.testIfElseExpr.<locals>.<lambda>cSsdS)NFr
r
r
r
rrw�r2TcSsg|]}|d�r|d��qS)Fr
)rxr	r
r
rry�scSs|rdSdS)NFTr
)r	r
r
rrw�r2cSs|rdSdS)NTFr
)r	r
r
rrw�r2r!rCzcheck 1rzcheck 2rDzcheck 3rrAzcheck 4zcheck 5zcheck 6FrErirBg@)r�)rrr
r
r�testIfElseExpr�s$$$"zGrammarTests.testIfElseExprN))r,r-r.r0rvr�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�rr
r
r
rr/�sN9
	

#?#r/cCsttt�dS)N)rrr/r
r
r
r�	test_main�sr�__main__)
Ztest.supportrrZunittestrZTestCaserr/rr,r
r
r
r�<module>s