Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_keywordonlyarg.cpython-39.pyc

a

XC?hi�@s�dZdZdZddlZdd�Zdd�dd	�Zd
d�Zdd
�Zddd�dd�Zddd�dd�Z	dd�dd�Z
dd�dd�ZGdd�d�ZGdd�dej
�Zedkr�e��dS) z?Unit tests for the keyword only argument specified in PEP 3102.z	Jiwon Seozseojiwon at gmail dot com�NcOs|t|�t|���S�N��sum�values)Zpos_arg1�arg�kwarg�r�=/opt/alt/python39/lib64/python3.9/test/test_keywordonlyarg.py�posonly_sumsr
��k1cCs||Srr�r�k2rrr	�keywordonly_sum
srcCs||Srrr
rrr	�keywordonly_nodefaults_sumsrcKs||t|���Srr)rrrrrr	�keywordonly_and_kwarg_sumsr�rcGs||||t|�Sr)r)�a�brrrrrr	�
mixedargs_sumsrcOs$||||t|�t|���Srr)rrrrr�kwargsrrr	�mixedargs_sum2srF��reversecGstt|�|d�S�Nr��sorted�list)rZnumsrrr	�sortnumsrcOstt|�|d�Srr)rZwordsrrrr	�	sortwordssrc@s*eZdZdd�dd�Zdd�Zdd�Zd	S)
�FoorrcCs||_||_dSrr
��selfrrrrr	�__init__szFoo.__init__cCs||_||_dSrr
)r"�p1rrrrr	�setszFoo.setcCs|j|jSrr
�r"rrr	r"szFoo.sumN)�__name__�
__module__�__qualname__r#r%rrrrr	r sr c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�KeywordOnlyArgTestCasecCsdd�}|�t||�dS)NcSst|dd�dS)N�<test>�single)�compile)�srrr	�shouldRaiseSyntaxError'szNKeywordOnlyArgTestCase.assertRaisesSyntaxError.<locals>.shouldRaiseSyntaxError)�assertRaises�SyntaxError)r"Zcodestrr/rrr	�assertRaisesSyntaxError&sz.KeywordOnlyArgTestCase.assertRaisesSyntaxErrorcCsT|�d�|�d�|�d�|�d�|�d�|�d�|�d�|�d�dS)	Nzdef f(p, *):
  pass
zdef f(p1, *, p1=100):
  pass
zdef f(p1, *k1, k1=100):
  pass
z!def f(p1, *, k1, k1=100):
  pass
zdef f(p1, *, **k1):
  pass
zdef f(p1, *, k1, **k1):
  pass
z!def f(p1, *, None, **k1):
  pass
z$def f(p, *, (k1, k2), **kw):
  pass
�r2r&rrr	�$testSyntaxErrorForFunctionDefinition+s






z;KeywordOnlyArgTestCase.testSyntaxErrorForFunctionDefinitioncCsTdd�dd�td�D��}t|dd�dd�d	d�td�D��}t|dd�dS)
Nzdef f(%s):
  pass
z, css|]}d|VqdS�zi%dNr��.0�irrr	�	<genexpr>7�zDKeywordOnlyArgTestCase.testSyntaxForManyArguments.<locals>.<genexpr>i,r+r,zdef f(*, %s):
  pass
css|]}d|VqdSr5rr6rrr	r9:r:)�join�ranger-)r"Zfundefrrr	�testSyntaxForManyArguments5sz1KeywordOnlyArgTestCase.testSyntaxForManyArgumentscCs`ddd�dd�}|�t��}|ddd�Wd�n1s<0Yd}|�t|j�|�dS)	N)�ccSsdSrr�rrr>rrr	�f>szCKeywordOnlyArgTestCase.testTooManyPositionalErrorMessage.<locals>.f���z;f() takes from 1 to 2 positional arguments but 3 were given)N)r0�	TypeError�assertEqual�str�	exception)r"r@�excZexpectedrrr	�!testTooManyPositionalErrorMessage=s
*z8KeywordOnlyArgTestCase.testTooManyPositionalErrorMessagecCs|�d�|�d�dS)Nz
f(p, k=1, p2)zf(p, k1=50, *(1,2), k1=100)r3r&rrr	�testSyntaxErrorForFunctionCallEs
z5KeywordOnlyArgTestCase.testSyntaxErrorForFunctionCallcCs�|�ttd�|�ttd�|�ttd�ztddd�|�d�WntyVYn0ztdd�|�d�Wnty�Yn0dS)Nr�d��)rZnon_existing_argzshould raise TypeErrorrBr)r0rDrrr �failr&rrr	�2testRaiseErrorFuncallWithUnexpectedKeywordArgumentIs
zIKeywordOnlyArgTestCase.testRaiseErrorFuncallWithUnexpectedKeywordArgumentcCs�|�dtd��|�dtdiddi���|�dtdgd�R��|�dtdgd�Ridd	i���|�dtdd
��|�dtddd��|�dtddd��|�dtdddd��|�dtfddd�dd	d
����|�dtddd��|�dtdddd��|�dtdddd	d��|�dtdddd	dd��|�dtddd��|�dtdddd��|�dtdddd	d��|�dtdddd	dd��|�dtdddd	ddd��|�dtddd	iddd����|�dtdd����|�dtddd����|�gd�tddd��|�gd�tddddd��|�gd�t	ddd��|�gd�t	ddddd��|�gd�t	dddddd��dS) NrArC�2rB�)rBrC�
�4�rr
)rr�k3)rrr���)rArBrCr)rrT)rCrBrATrr?rr>r)r>rr�ignore)rrX)rA)
rEr
rrrrr rrrr&rrr	�testFunctionCallXsH"����
�z'KeywordOnlyArgTestCase.testFunctionCallcCsnddd�dd�}|�d|jj�|�ddi|j�ddi|_z|dd	d
�|�d�WntyhYn0dS)
NrrcSs||||Srr)r$Zp2rrrrr	�foo�sz2KeywordOnlyArgTestCase.testKwDefaults.<locals>.foorBrrrArQrz&__kwdefaults__ is not properly changed)r)rE�__code__�co_kwonlyargcount�__kwdefaults__rMrD)r"rZrrr	�testKwDefaults�s
z%KeywordOnlyArgTestCase.testKwDefaultscCsXGdd�d�}|�|�jddd�d�|�|j|�ddd�d�|jt|jddd�dS)Nc@seZdZddd�dd�ZdS)z;KeywordOnlyArgTestCase.test_kwonly_methods.<locals>.ExamplerArBr
cSs||fSrrr!rrr	r@�sz=KeywordOnlyArgTestCase.test_kwonly_methods.<locals>.Example.fN�r'r(r)r@rrrr	�Example�sr`rArBr
)rArB)rEr@r0rD)r"r`rrr	�test_kwonly_methods�sz*KeywordOnlyArgTestCase.test_kwonly_methodscCstd�dd�dS)NrcSsdSrrrrrr	�<lambda>�r:z8KeywordOnlyArgTestCase.test_issue13343.<locals>.<lambda>)�unittestr&rrr	�test_issue13343�sz&KeywordOnlyArgTestCase.test_issue13343cCs$Gdd�d�}|�|���d�dS)Nc@seZdZdd�dd�ZdS)z/KeywordOnlyArgTestCase.test_mangling.<locals>.X�*)�_X__acSs|Srr)r"rfrrr	r@�sz1KeywordOnlyArgTestCase.test_mangling.<locals>.X.fNr_rrrr	�X�srgre)rEr@)r"rgrrr	�
test_mangling�sz$KeywordOnlyArgTestCase.test_manglingcCs�d}|�t��&}|tfttd�dd�}Wd�n1s:0Y|�t|j�d�|�t��&}|tfttd�dd�}Wd�n1s�0Y|�t|j�d�dS)Nre)�y�zcSsdSrr��v�xrirjrrr	r@�sz?KeywordOnlyArgTestCase.test_default_evaluation_order.<locals>.fzname 'b' is not definedcSsdSrrrkrrr	rb�r:zFKeywordOnlyArgTestCase.test_default_evaluation_order.<locals>.<lambda>)r0�	NameErrorrr>�drErFrG)r"r�errr@rrr	�test_default_evaluation_order�s44z4KeywordOnlyArgTestCase.test_default_evaluation_orderN)r'r(r)r2r4r=rIrJrNrYr^rardrhrqrrrr	r*%s
(
	r*�__main__)r)r)�__doc__�
__author__Z	__email__rcr
rrrrrrrr ZTestCaser*r'�mainrrrr	�<module>s