python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_property.cpython-312.opt-2.pyc

ΑeSE,ddlZddlZddlmZGddeZGddeZGddeZGd	d
eZGdde	Z
Gd
de
ZGdde	ZGddeZ
Gdde
ZGdde	ZGddej ZGddeZGddeZGddeZGdd ej ZGd!d"ZGd#d$eej ZGd%d&eej Zed'k(rej6yy)(N)supportceZdZy)PropertyBaseN__name__
__module____qualname__F/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_property.pyrrrrceZdZy)PropertyGetNrr
rrrrr
rrceZdZy)PropertySetNrr
rrrrr
rrceZdZy)PropertyDelNrr
rrrrr
rrcjeZdZdZedZejdZejdZy)	BaseClasscd|_yN_spamselfs r__init__zBaseClass.__init__s	
rc	|jSNrrs rspamzBaseClass.spamszzrc||_yrrrvalues  rr zBaseClass.spams	
rc|`yrrrs rr zBaseClass.spam!sJrN)rrr	rpropertyr setterdeleterr
rrrrsK
[[
\\rrceZdZejj
dZejdZejdZy)SubClassc.	t|jr)rrrs rr z
SubClass.spam's$**%%rc,t|jr)rrr"s  rr z
SubClass.spam,$**%%rc,t|jr)rrrs rr z
SubClass.spam0r,rN)rrr	rr getterr&r'r
rrr)r)%sN^^&&
[[&&
\\&&rr)c*eZdZdZdZeedZy)PropertyDocBasec|jSrrrs r	_get_spamzPropertyDocBase._get_spam6szzrspam spam spamdocN)rrr	rr3r%r r
rrr0r04s
EI#34Drr0cDeZdZejj
dZy)PropertyDocSubc	|jSrrrs rr zPropertyDocSub.spam;s8zzrN)rrr	r0r r.r
rrr8r8:s   !rr8cDeZdZejj
dZy)PropertySubNewGetterc	yrr
rs rr zPropertySubNewGetter.spamArN)rrr	rr r.r
rrr;r;@s^^rr;c@eZdZedZej
dZy)PropertyNewGetterc	yNr1r
rs rr zPropertyNewGetter.spamGs rc	y)Nr
rs rr zPropertyNewGetter.spamKr=rN)rrr	r%r r.r
rrr?r?Fs,

[[rr?ceZdZdZdZejejjdk\ddZ
ejejjdk\ddZdZejejjdk\ddZ
d	Zejejjdk\dd
Zejejjdk\ddZej$dZejejjdk\dd
Zejejjdk\ddZdZdZy)
PropertyTestsct}|j|jd|j|jdd|_|j|jd|j|jdt	|d|jt
|d|jt
|dd|_|j|jd|j|jdy)Nr
r r)rassertEqualr rdelattr
assertTruehasattrrbases  r!test_property_decorator_baseclassz/PropertyTests.test_property_decorator_baseclassQs{A&Q'	B'R(fGD&112GD'223	B'R(rct}|jtt|d|jtt
|dd|jtt|dy)Nr )r)assertRaisesrgetattrrsetattrrrJrsubs  r test_property_decorator_subclassz.PropertyTests.test_property_decorator_subclass`sGj+wV<+wVTB+wV<r)Docstrings are omitted with -O2 and abovecxt}|j|jjjdy)NzSubClass.getter)r)rI	__class__r __doc__rTs  r$test_property_decorator_subclass_docz2PropertyTests.test_property_decorator_subclass_docgs,j++335FGrcxt}|j|jjjdy)NzBaseClass.getter)rrIrZr r[rMs  r%test_property_decorator_baseclass_docz3PropertyTests.test_property_decorator_baseclass_docms,{,,446HIrct}t}|j|jjj
d|j|jjj
dy)Nr4)r0r8rIrZr r[)rrNrUs   rtest_property_decorator_docz)PropertyTests.test_property_decorator_docssT ,,446FG++335EFrc\t}|j|jd|j|jjjdt}|j|jd|j|jjjdy)Nrz
new docstringrC)r;rIr rZr[r?)rnewgettersub	newgetters   r!test_property_getter_doc_overridez/PropertyTests.test_property_getter_doc_overrideys,-**A.//44<<oN%'	+,,1199?KrcdddgdgddfD]BGfddt}|j|jjt	DGdd	t|jt5Gfd
dt}|jjdddy#1swYyxYw)NTFr11c4eZdZdZWe_eeZy)EPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Ccyrr
rs rfoozIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foorNrrr	rk__isabstractmethod__r%)valsrCris+.(smrrpceZdZdZeZy)KPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBoolctr)
ValueErrorrs r__bool__zTPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBool.__bool__s
 l"rN)rrr	ru__len__r
rrNotBoolrrs
#Grrwc>eZdZdZWe_eeZy)ricyrr
rs rrkzIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foorlrNrm)rwsrrpzEPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Cs+29(smr)objectassertIsrkrnboolrQrt)rrprwros  @@r,test_property___isabstractmethod__descriptorz:PropertyTests.test_property___isabstractmethod__descriptors%aS"c2	AC
$F
$

MM!%%44d3i@
	A	f	

z
*	'
$F
$

EE&&
	'	'	's5(B&&B/ctd}|j|jdd|_|j|jdy)Nbasicr5extendedr%rIr[)rps  r"test_property_builtin_doc_writablez0PropertyTests.test_property_builtin_doc_writables=
!G,	J/rc&Gddt}|}|j|jjjdd|jj_|j|jjjdy)NceZdZedZy)OPropertyTests.test_property_decorator_doc_writable.<locals>.PropertyWritableDocc	yNeggsr
rs rr zTPropertyTests.test_property_decorator_doc_writable.<locals>.PropertyWritableDoc.spamsrN)rrr	r%r r
rrPropertyWritableDocrs


rrEggsSpam)rzrIrZr r[)rrrUs   r$test_property_decorator_doc_writablez2PropertyTests.test_property_decorator_doc_writablesj	&	"#++33V<%+

"++33V<rctjtd}tdddd}|}t	dD]}|jdddd|j
||z
dd	y)
Ngettotalrefcountfgetfsetfdelr6drrG)delta)r
get_attributesysr%rangerassertAlmostEqual)rr	fake_proprefs_beforeis     rtest_refleaks_in___init__z'PropertyTests.test_refleaks_in___init__ss"006HIVVVU;	&(s	>Avvvu=	>/1K?"MrcPGdd}|j|jdy)Nc&eZdZeedZy),PropertyTests.test_class_property.<locals>.Ac d|jzS)NzA doc for %r)rclss rr[z4PropertyTests.test_class_property.<locals>.A.__doc__s&44rNrrr	classmethodr%r[r
rrArs


5
5rrz
A doc for 'A'rIr[rrs  rtest_class_propertyz!PropertyTests.test_class_propertys"	5	5
	
O4rcPGdd}|j|jdy)Nc(eZdZ	eedZy)5PropertyTests.test_class_property_override.<locals>.Acy)NSecondr
rs rr[z=PropertyTests.test_class_property_override.<locals>.A.__doc__s rNrr
rrrrs


 
 rrrrrs  rtest_class_property_overridez*PropertyTests.test_class_property_overrides"	 	 	
H-rct}dD]8}|jtd|d5|jdg|zddd:y#1swYExYw)N)rr1z3^__set_name__\(\) takes 2 positional arguments but z were given$r)r%assertRaisesRegex	TypeError__set_name__)rrrs   r%test_property_set_name_incorrect_argsz3PropertyTests.test_property_set_name_incorrect_argsseJ	+A''FqcV
+!q*	
+
+	+
+
+sA		A	cGddt}Gdd}tj|}|j|d|jd}y)NceZdZdZy)EPropertyTests.test_property_setname_on_property_subclass.<locals>.procy)Nabcdefr
)typargskwargss   r__new__zMPropertyTests.test_property_setname_on_property_subclass.<locals>.pro.__new__srN)rrr	rr
rrprors
 rrceZdZy)CPropertyTests.test_property_setname_on_property_subclass.<locals>.ANrr
rrrrsrrr1cyrAr
rs r<lambda>zJPropertyTests.test_property_setname_on_property_subclass.<locals>.<lambda>sr)r%rrr.)rrrrnps     r*test_property_setname_on_property_subclassz8PropertyTests.test_property_setname_on_property_subclasssF	 (	 		
S!	q!
XXn
%rN)rrr	rOrVunittestskipIfrflagsoptimizer\r^r`rdr}rrr
refcount_testrrrrrr
rrrErEPs
)=X__SYY''1,@BHBHX__SYY''1,@BJBJGX__SYY''1,@BLBL'.X__SYY''1,@B0B0X__SYY''1,@B=B=
NNX__SYY''1,@B5B5X__SYY''1,@B.B.+&rrEceZdZy)PropertySubNrr
rrrrs(rrceZdZy)PropertySubWoDocNrr
rrrrr
rrceZdZ	dZy)PropertySubSlotsr
Nrrr		__slots__r
rrrrs
?IrrceZdZdZdZejejjdk\ddZ
ejejjdk\ddZejejjdk\ddZejejjdk\ddZ
ejejjdk\dd	Zejejjdk\dd
Zejejjdk\ddZy)
PropertySubclassTestscv|jt5Gddt}dddy#1swYyxYw)NceZdZedZy)FPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Fooc	yrAr
rs rr zKPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Foo.spamsOrN)rrr	rr r
rrFoors!"rr)rQAttributeErrorrzrrs  r#test_slots_docstring_copy_exceptionz9PropertySubclassTests.test_slots_docstring_copy_exceptions3

~
.	
f
			s/8cGddt}|}|jt|ddd}||}|jt|ddy)NceZdZdZy)QPropertySubclassTests.test_property_with_slots_no_docstring.<locals>.slotted_proprkNrr
rrslotted_propr Irrr[cyNr
r
rrundocumented_getterzXPropertySubclassTests.test_property_with_slots_no_docstring.<locals>.undocumented_getter
r)r%assertIsNonerR)rrrrs    r%test_property_with_slots_no_docstringz;PropertySubclassTests.test_property_with_slots_no_docstringsW	!8	!
N'!Y56	
,-'!Y56rrWrXcGddt}|d}|j|jd}|jt5||}dddy#1swYyxYw)NceZdZdZy)_PropertySubclassTests.test_property_with_slots_docstring_silently_dropped.<locals>.slotted_proprNrr
rrrrrrr	what's upr5c	yrr
r
rrdocumented_getterzdPropertySubclassTests.test_property_with_slots_docstring_silently_dropped.<locals>.documented_gettersr)r%rr[rQrrrrrs    r3test_property_with_slots_docstring_silently_droppedzIPropertySubclassTests.test_property_with_slots_docstring_silently_droppedsa	!8	!
[)!))$	

~
.	0./A	0	0	0s	AA'cGddt}|d}|jd|jd}||}|jd|jy)NceZdZdZy)cPropertySubclassTests.test_property_with_slots_and_doc_slot_docstring_present.<locals>.slotted_prop)rkr[Nrr
rrrr*s*Irrrr5c	yrr
r
rrrzhPropertySubclassTests.test_property_with_slots_and_doc_slot_docstring_present.<locals>.documented_getter0s'rzwhat's up getter doc?rrs    r7test_property_with_slots_and_doc_slot_docstring_presentzMPropertySubclassTests.test_property_with_slots_and_doc_slot_docstring_present&sU	+8	+
[)aii0	
*+0!))<rcz|jtjddtddddj}|j|ddd}d}tttfD]}||dddj}|j|dd|j
z||dddj}|j|dd	|j
z||dddj}|j|dd|j
z||dddj}|j
|d
|j
zy)NzThis is a subclass of propertyz+Docstring of `property` subclass is ignoredzissue 41287 is fixedz;Subclasses of `property` ignores `doc` constructor argumentcyrr
xs rr.z5PropertySubclassTests.test_issue41287.<locals>.getterBs"rcyrr
rs r
getter_wo_docz<PropertySubclassTests.test_issue41287.<locals>.getter_wo_docEsrz1Getter overrides explicit property docstring (%s)zGetter docstringz&Getter docstring is not picked-up (%s)z3Property class doc appears in instance __doc__ (%s))rIrr[r%rrr)rr6r.rpss     rtest_issue41287z%PropertySubclassTests.test_issue412877sW	
,,.NF	H$d,BCKK4V	X	#	K)99
	hBVT4)?@HHCS"8PSUS^S^^
`VT4.66CS"46^acalal6lm]D$0FGOOCS"8PSUS^S^^
`]D$5==Cc#X[][f[f#fg
	hrcnGddt}|j|jjdy)NceZdZedZy)6PropertySubclassTests.test_docstring_copy.<locals>.Fooc	yrAr
rs rr z;PropertySubclassTests.test_docstring_copy.<locals>.Foo.spam[s7rNrrr	rr r
rrrrZ


rr!spam wrapped in property subclassrzrIr r[rs  rtest_docstring_copyz)PropertySubclassTests.test_docstring_copyWs.	&	
	
HH/	1rc	d}d}d}t|ddd}|j|}|j|jd|j|jdt|ddd}|j|}|j|jd|j|jdt|ddd}|j|}|j|jd|j|jdt|ddd}d|_|j|}|j|jd|j|jdt|ddd}d|_|j|}|j|jd|j|jdy)NcyrAr
rs rgetter1z;PropertySubclassTests.test_docstring_copy2.<locals>.getter1lrrc	yNrWr
rs rgetter2z;PropertySubclassTests.test_docstring_copy2.<locals>.getter2nrc	y)Nrr
rs rgetter3z;PropertySubclassTests.test_docstring_copy2.<locals>.getter3qr
rzdoc-Azdoc 2zdoc 3user)r%r.rIr[)rr	rrrp2s      rtest_docstring_copy2z*PropertySubclassTests.test_docstring_copy2cs				
WdD'2
XXg
G,W-
WdD'2
XXg
G,W-
WdD$/
XXg
G,W-
WdD$/	
XXg
F+W-
WdD$/	
XXg
F+V,rcGddt}|j|jdd|_|j|jd|jjjdGfdd}|}|j|jdd|_|j|jd	|j|jjdy)
NcFeZdZdZedZejdZy)OPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foocd|_yrArrs rrzXPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.__init__sQ
rc	|jSrrrs rr zTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spams7zz!rc	||_yrrr"s  rr zTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spams/"
rN)rrr	rrr r&r
rrrrs/.

"
"[[
#
#rrr1rWrcHeZdZWjjdZy)RPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSubc	d|_yrrr"s  rr zWPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSub.spams/#
rN)rrr	r r&)rsrFooSubrs
XX__
$
$rrrr)rrkrfoosubrs    @r,test_property_setter_copies_getter_docstringzBPropertySubclassTests.test_property_setter_copies_getter_docstrings		#&		#e1%1%HH/	1	$S	$
a(f-KK/	1rcGddt}|j|jjdGddtGfdd}|j|jjdy)Nc@eZdZedZej
dZy)IPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Fooc	yrAr
rs rr zNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spam!rc	yrr
rs rr zNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spam%rN)rrr	rr r.r
rrrr"s,


[[

rrza new docstringceZdZedZy)MPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBasec	yrAr
rs rr zRPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBase.spamr$rNrr
rrFooBaser(rrr*cHeZdZWjjdZy)JPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2c	yrr
rs rr zOPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2.spamr&rN)rrr	r r.)r*srFoo2r,s
\\
 
 
!
rr.r)rrr.r*s   @r&test_property_new_getter_new_docstringz<PropertySubclassTests.test_property_new_getter_new_docstringsa	&		
))+<=	f	
	7	
	
))+<=rN)rrr	rrrrrrrrrrrrrr/r
rrrrs7X__SYY''1,@B0B0"X__SYY''1,@B
=B
=X__SYY''1,@BhBh<X__SYY''1,@B1B1X__SYY''1,@B8-B8-tX__SYY''1,@B1B1>X__SYY''1,@B>B>rrc@eZdZdZdZdZdZedZdZ	dZ
dZy)_PropertyUnreachableAttributeNc8|jj|Sr)
msg_formatformat)rmsgs  r_format_exc_msgz-_PropertyUnreachableAttribute._format_exc_msgs%%c**rc.|j|_yr)robjrs r
setUpClassz(_PropertyUnreachableAttribute.setUpClasss'')rc|jt|jd5|jjdddy#1swYyxYw)Nz
has no getterrrr6r8rkrs rtest_get_propertyz/_PropertyUnreachableAttribute.test_get_propertys=

#
#ND4H4H4Y
Z	HHLL			sAAc|jt|jd5d|j_dddy#1swYyxYw)Nz
has no setterr;rs rtest_set_propertyz/_PropertyUnreachableAttribute.test_set_propertys=

#
#ND4H4H4Y
Z	 DHHL	 	 	 sAA
c|jt|jd5|j`dddy#1swYyxYw)Nzhas no deleterr;rs rtest_del_propertyz/_PropertyUnreachableAttribute.test_del_propertys<

#
#ND4H4HIY4Z
[				s	
<A)rrr	r3r8rr6rr9r<r>r@r
rrr1r1s9J
C
C+ rr1c$eZdZdZGddZy)$PropertyUnreachableAttributeWithNamezI^property 'foo' of 'PropertyUnreachableAttributeWithName\.cls' object {}$ceZdZeZy)(PropertyUnreachableAttributeWithName.clsN)rrr	r%rkr
rrrrDs	jrrN)rrr	r3rr
rrrBrBs]JrrBc<eZdZdZGddZee_y)"PropertyUnreachableAttributeNoNamezA^property of 'PropertyUnreachableAttributeNoName\.cls' object {}$ceZdZy)&PropertyUnreachableAttributeNoName.clsNrr
rrrrHsrrN)rrr	r3rr%rkr
rrrFrFsUJ

jCGrrF__main__)rrtestr	Exceptionrrrrrzrr)r0r8r;r?TestCaserEr%rrrrr1rBrFrmainr
rr<module>rNs$	9		,		,		,	"
&y
&5f5_9Y&H%%Y&x)()	x	xb>H--b>J2+H(J[J[)FHYHYzHMMOr