python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_keywordonlyarg.cpython-312.opt-1.pyc

ΑedZdZdZddlZdZdddZdZd	Zddd
dZddd
dZ	d
ddZ
d
ddZGddZGddejZedk(rej yy)z?Unit tests for the keyword only argument specified in PEP 3102.z	Jiwon Seozseojiwon at gmail dot comNcR|t|zt|jzSNsumvalues)pos_arg1argkwargs   L/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_keywordonlyarg.pyposonly_sumrs!c#hU\\^!444k1c||zSrrk2s  rkeywordonly_sumr

7Nr
c||zSrrrs  rkeywordonly_nodefaults_sumrrr
c@||zt|jzSrr)rrr
s   rkeywordonly_and_kwarg_sumrs
7S(((r
rc0||z|z|zt|zSr)r)abrrr	s     r
mixedargs_sumrsq52:?SX%%r
cd||z|z|zt|zt|jzSrr)rrrrr	kwargss      rmixedargs_sum2r!s-q52:?SX%FMMO(<<<r
Freversec.tt||SNr"sortedlist)r#numss  rsortnumr*s$t*g..r
c.tt||Sr%r&)r#wordsr s   r	sortwordsr-s$u+w//r
c$eZdZdddZdZdZy)Foorrc ||_||_yrrselfrrs   r__init__zFoo.__init__r
c ||_||_yrr)r2p1rrs    rsetzFoo.setr4r
c4|j|jzSrrr2s rrzFoo.sum"sww  r
N)__name__
__module____qualname__r3r7rrr
rr/r/s!"!r
r/cTeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZy
)KeywordOnlyArgTestCasec8d}|jt||y)Nct|ddy)N<test>single)compile)ss rshouldRaiseSyntaxErrorzNKeywordOnlyArgTestCase.assertRaisesSyntaxError.<locals>.shouldRaiseSyntaxError'sAx*r
)assertRaisesSyntaxError)r2codestrrEs   rassertRaisesSyntaxErrorz.KeywordOnlyArgTestCase.assertRaisesSyntaxError&s	++'=wGr
c|jd|jd|jd|jd|jd|jd|jd|jdy)	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
rIr9s r$testSyntaxErrorForFunctionDefinitionz;KeywordOnlyArgTestCase.testSyntaxErrorForFunctionDefinition+sz$$%=>$$%FG$$%HI$$%JK$$%DE$$%HI$$%JK$$%MNr
cddjdtdDz}t|ddddjdtdDz}t|ddy)	Nzdef f(%s):
  pass
z, c3&K|]	}d|zywzi%dNr.0is  r	<genexpr>zDKeywordOnlyArgTestCase.testSyntaxForManyArguments.<locals>.<genexpr>7s3R!EAI3Ri,rArBzdef f(*, %s):
  pass
c3&K|]	}d|zywrOrrPs  rrSzDKeywordOnlyArgTestCase.testSyntaxForManyArguments.<locals>.<genexpr>:s6UQuqy6UrT)joinrangerC)r2fundefs  rtestSyntaxForManyArgumentsz1KeywordOnlyArgTestCase.testSyntaxForManyArguments5sU'$))3RuSz3R*RR(+*TYY6U%PS*6U-UU(+r
cdddd}|jt5}|dddddd|jd}|jt	j
|y#1swY>xYw)N)ccyrrrrr[s   rfzCKeywordOnlyArgTestCase.testTooManyPositionalErrorMessage.<locals>.f>sr
z:() takes from 1 to 2 positional arguments but 3 were givenr)rF	TypeErrorr<assertEqualstr	exception)r2r^excexpecteds    r!testTooManyPositionalErrorMessagez8KeywordOnlyArgTestCase.testTooManyPositionalErrorMessage=sm	d	


y
)	S
aAJ	~~&'<<S]]+X6			sA%%A.cH|jd|jdy)Nz
f(p, k=1, p2)zf(p, k1=50, *(1,2), k1=100)rKr9s rtestSyntaxErrorForFunctionCallz5KeywordOnlyArgTestCase.testSyntaxErrorForFunctionCallFs$$_5$$%BCr
c\|jttd|jttd|jttd	tdd|jd	td|jdy#t$rY*wxYw#t$rYywxYw)Nrd)rnon_existing_argzshould raise TypeErrorr`r)rFrbrrr/failr9s r2testRaiseErrorFuncallWithUnexpectedKeywordArgumentzIKeywordOnlyArgTestCase.testRaiseErrorFuncallWithUnexpectedKeywordArgumentJs)_b9)%?D)S"-	sS9II./	&!,II./			
		s$B2B	BB	B+*B+cp|jdtd|jdtdiddi|jdtdgd|jdtdgdidd	i|jdtd
|jdtdd|jdtdd|jdtddd|jdtd ddddd	d
|jdt	dd|jdt	ddd|jdt	dddd	|jdt	dddd	d|jdtdd|jdtddd|jdtdddd	|jdtdddd	d|jdtdddd	dd|jdtddd	iddd|jdt
dj|jdt
ddj|jgdtddd|jgdtdddd|jgdtddd|jgdtdddd|jgdtdddddy)!Nr_ra2r`)r`ra
4rr)rrk3)rrr)r_r`rar)rrw)rar`r_Tr"r]rr[r)r[rrignore)r#r{)r_r)
rcrrrrr!r/rr*r-r9s rtestFunctionCallz'KeywordOnlyArgTestCase.testFunctionCallYsKN+k6s1g67A 5u 56+a"A"A#a"ABOq12oq9:71CD 9Q1 KL2EaAE;<mE	F	
mA!45
aq 9:-1q"ABM!QaA$FGnQ156q! :;.A!"BCN1aqQ$GH'1aA!B	D'JAJqq9IJ	L	
C1IMMO,cQ!n0023'!Aa.1'!Aa">?	#c#(>?	#c#t(LM"3s3XN	Pr
cdddd}|jd|jj|jddi|jddi|_	|dd	|j	d
y#t
$rYywxYw)Nrrc||z|z|zSrr)r6p2rrs    rfooz2KeywordOnlyArgTestCase.testKwDefaults.<locals>.foos7R<"$$r
r`rrr_rtrz&__kwdefaults__ is not properly changedr)rc__code__co_kwonlyargcount__kwdefaults__rorb)r2rs  rtestKwDefaultsz%KeywordOnlyArgTestCase.testKwDefaultss}	%1	%	
CLL::;$q3#5#56"1X	RLII>?		sA22	A>=A>cGdd}|j|jddd|j|j|ddd|jt|jddy)NceZdZddddZy);KeywordOnlyArgTestCase.test_kwonly_methods.<locals>.Exampler_r`rc
||fSrrr1s   rr^z=KeywordOnlyArgTestCase.test_kwonly_methods.<locals>.Example.fs2v
r
Nr:r;r<r^rr
rExamplersA
r
rr_r`r)r_r`)rcr^rFrb)r2rs  rtest_kwonly_methodsz*KeywordOnlyArgTestCase.test_kwonly_methodssi			
a0&979q96B)WYY1;r
ctddy)Nrcyrrrs r<lambda>z8KeywordOnlyArgTestCase.test_issue13343.<locals>.<lambda>r
)unittestr9s rtest_issue13343z&KeywordOnlyArgTestCase.test_issue13343s
#r
cbGdd}|j|jdy)NceZdZdddZy)/KeywordOnlyArgTestCase.test_mangling.<locals>.X*)_X__ac|Srr)r2rs  rr^z1KeywordOnlyArgTestCase.test_mangling.<locals>.X.fs
r
Nrrr
rXrs
!
r
rr)rcr^)r2rs  r
test_manglingz$KeywordOnlyArgTestCase.test_manglings&			
"%r
cd}|jt5}|tfttdd}ddd|jt
jd|jt5}|tfttdd}ddd|jt
|jdy#1swYxYw#1swY;xYw)Nr)yzcyrrvxrrs    rr^z?KeywordOnlyArgTestCase.test_default_evaluation_order.<locals>.fsr
zname 'b' is not definedcyrrrs    rrzFKeywordOnlyArgTestCase.test_default_evaluation_order.<locals>.<lambda>rr
)rF	NameErrorrr[drcrdre)r2rerrr^s    rtest_default_evaluation_orderz4KeywordOnlyArgTestCase.test_default_evaluation_orders


y
)	S
a
		
S]]+-FG


y
)	3Sa2a12A	3S]]+-FG
			3	3sB61C6B?CN)r:r;r<rIrLrYrhrjrpr|rrrrrrr
rr>r>%sDH
O,7D
&PP<$&	Hr
r>__main__r)__doc__
__author__	__email__rrrrrrr!r*r-r/TestCaser>r:mainrr
r<module>rsE

'	5)&q&==!/$0!!IHX..IHXzHMMOr