python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_property.cpython-312.opt-1.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|_y)N_spamselfs r__init__zBaseClass.__init__s	
rc|jS)BaseClass.getterrrs rspamzBaseClass.spamzzrc||_yNrrvalues  rrzBaseClass.spams	
rc|`yr"rrs rrzBaseClass.spam!sJrN)rrr	rpropertyrsetterdeleterr
rrrrsK
[[
\\rrceZdZejj
dZejdZejdZy)SubClassc,t|j)SubClass.getter)rrrs rrz
SubClass.spam's$**%%rc,t|jr")rrr#s  rrz
SubClass.spam,$**%%rc,t|jr")rrrs rrz
SubClass.spam0r.rN)rrr	rrgetterr'r(r
rrr*r*%sN^^&&
[[&&
\\&&rr*c*eZdZdZdZeedZy)PropertyDocBasec|jSr"rrs r	_get_spamzPropertyDocBase._get_spam6szzrspam spam spamdocN)rrr	rr5r&rr
rrr2r24s
EI#34Drr2cDeZdZejj
dZy)PropertyDocSubc|jS)z*The decorator does not use this doc stringrrs rrzPropertyDocSub.spam;r rN)rrr	r2rr0r
rrr:r::s   !rr:cDeZdZejj
dZy)PropertySubNewGettercy)
new docstringrr
rs rrzPropertySubNewGetter.spamArN)rrr	rrr0r
rrr=r=@s^^rr=c@eZdZedZej
dZy)PropertyNewGettercy)zoriginal docstringr3r
rs rrzPropertyNewGetter.spamGr@rcy)r?r
rs rrzPropertyNewGetter.spamKr@rN)rrr	r&rr0r
rrrBrBFs,

[[rrBceZdZdZdZej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
rr)rassertEqualrrdelattr
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*assertRaisesrgetattrrsetattrrrLrsubs  r test_property_decorator_subclassz.PropertyTests.test_property_decorator_subclass`sGj+wV<+wVTB+wV<r)Docstrings are omitted with -O2 and abovecxt}|j|jjjdy)Nr,)r*rK	__class__r__doc__rVs  r$test_property_decorator_subclass_docz2PropertyTests.test_property_decorator_subclass_docgs,j++335FGrcxt}|j|jjjdy)Nr)rrKr\rr]rOs  r%test_property_decorator_baseclass_docz3PropertyTests.test_property_decorator_baseclass_docms,{,,446HIrct}t}|j|jjj
d|j|jjj
dy)Nr6)r2r:rKr\rr])rrPrWs   rtest_property_decorator_docz)PropertyTests.test_property_decorator_docssT ,,446FG++335EFrc\t}|j|jd|j|jjjdt}|j|jd|j|jjjdy)Nrr?rE)r=rKrr\r]rB)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)NTFr31c4eZdZdZWe_eeZy)EPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Ccyr"r
rs rfoozIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foorNrrr	rm__isabstractmethod__r&)valsrCrks+.(smrrrceZdZdZeZy)KPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBoolctr")
ValueErrorrs r__bool__zTPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBool.__bool__s
 l"rN)rrr	rw__len__r
rrNotBoolrts
#Grryc>eZdZdZWe_eeZy)rkcyr"r
rs rrmzIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foornrNro)rysrrrzEPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Cs+29(smr)objectassertIsrmrpboolrSrv)rrrryrqs  @@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)Nbasicr7extendedr&rKr])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>.PropertyWritableDoccy)Eggseggsr
rs rrzTPropertyTests.test_property_decorator_doc_writable.<locals>.PropertyWritableDoc.spamsrN)rrr	r&rr
rrPropertyWritableDocrs


rrrSpam)r|rKr\rr])rrrWs   r$test_property_decorator_doc_writablez2PropertyTests.test_property_decorator_doc_writablesj	&	"#++33V<%+

"++33V<rctjtd}tdddd}|}t	dD]}|jdddd|j
||z
dd	y)
Ngettotalrefcountfgetfsetfdelr8drrI)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&44rN)rrr	classmethodr&r]r
rrArs


5
5rrz
A doc for 'A'rKr]rrs  rtest_class_propertyz!PropertyTests.test_class_propertys"	5	5
	
O4rcPGdd}|j|jdy)Nc*eZdZdZeedZy)5PropertyTests.test_class_property_override.<locals>.AFirstcy)NSecondr
rs rr]z=PropertyTests.test_class_property_override.<locals>.A.__doc__s rN)rrr	r]rr&r
rrrrs


 
 rrrrrs  rtest_class_property_overridez*PropertyTests.test_class_property_overrides"	 	 	
H-rct}dD]8}|jtd|d5|jdg|zddd:y#1swYExYw)N)rr3z3^__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rrr3cyNr3r
rs r<lambda>zJPropertyTests.test_property_setname_on_property_subclass.<locals>.<lambda>r)r&rrr0)rrrrnps     r*test_property_setname_on_property_subclassz8PropertyTests.test_property_setname_on_property_subclasssF	 (	 		
S!	q!
XXn
%rN)rrr	rQrXunittestskipIfrflagsoptimizer^r`rbrfrrrr
refcount_testrrrrrr
rrrGrGPs
)=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.+&rrGceZdZdZy)PropertySubThis is a subclass of propertyN)rrr	r]r
rrrrs(rrceZdZy)PropertySubWoDocNrr
rrrrr
rrceZdZdZdZy)PropertySubSlotsz5This is a subclass of property that defines __slots__r
N)rrr	r]	__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>.Foocy)z5Trying to copy this docstring will raise an exceptionr3r
rs rrzKPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Foo.spamsrN)rrr	rrr
rrFoors!"rr)rSAttributeErrorr|rrs  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_proprmNrrr	rr
rrslotted_propr Irrr]cy)Nr
r
rrundocumented_getterzXPropertySubclassTests.test_property_with_slots_no_docstring.<locals>.undocumented_getter
r)r&assertIsNonerT)rrrrs    r%test_property_with_slots_no_docstringz;PropertySubclassTests.test_property_with_slots_no_docstringsW	!8	!
N'!Y56	
,-'!Y56rrYrZcGddt}|d}|j|jd}|jt5||}dddy#1swYyxYw)NceZdZdZy)_PropertySubclassTests.test_property_with_slots_docstring_silently_dropped.<locals>.slotted_proprNrr
rrrrrrr	what's upr7cy)zgetter doc.rr
r
rrdocumented_getterzdPropertySubclassTests.test_property_with_slots_docstring_silently_dropped.<locals>.documented_getterr)r&rr]rSrrrrrs    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)rmr]Nrr
rrrr*s*Irrrr7cy)what's up getter doc?rr
r
rrrzhPropertySubclassTests.test_property_with_slots_and_doc_slot_docstring_present.<locals>.documented_getter0rrrrrs    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)Nrz+Docstring of `property` subclass is ignoredzissue 41287 is fixedz;Subclasses of `property` ignores `doc` constructor argumentcy)Getter docstringNr
xs rr0z5PropertySubclassTests.test_issue41287.<locals>.getterBrrcyr"r
rs r
getter_wo_docz<PropertySubclassTests.test_issue41287.<locals>.getter_wo_docEsrz1Getter overrides explicit property docstring (%s)rz&Getter docstring is not picked-up (%s)z3Property class doc appears in instance __doc__ (%s))rKrr]r&rrr)rr8r0rpss     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>.Foocy)!spam wrapped in property subclassr3r
rs rrz;PropertySubclassTests.test_docstring_copy.<locals>.Foo.spam[rNrrr	rrr
rrrrZ


rrrr|rKrr]rs  rtest_docstring_copyz)PropertySubclassTests.test_docstring_copyWs.	&	
	
HH/	1rcd}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)	a5
        Property tries to provide the best docstring it finds for its instances.
        If a user-provided docstring is available, it is preserved on copies.
        If no docstring is available during property creation, the property
        will utilize the docstring from the getter if available.
        cyrr
rs rgetter1z;PropertySubclassTests.test_docstring_copy2.<locals>.getter1lrrcy)doc 2rYr
rs rgetter2z;PropertySubclassTests.test_docstring_copy2.<locals>.getter2nrrcy)doc 3rr
rs rgetter3z;PropertySubclassTests.test_docstring_copy2.<locals>.getter3qrrNzdoc-Arruser)r&r0rKr])rrrrrp2s      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|_yrrrs rrzXPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.__init__sQ
rc|jS)rrrs rrzTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spamszz!rc||_y)zthis docstring is ignoredNrr#s  rrzTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spams#
rN)rrr	rrrr'r
rrrrs/.

"
"[[
#
#rrr3rYrcHeZdZWjjdZy)RPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSubcd|_y)zanother ignored docstringrNrr#s  rrzWPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSub.spams$
rN)rrr	rr')rsrFooSubr!s
XX__
$
$rr#rr)rrmr#foosubrs    @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>.Foocyza docstringr3r
rs rrzNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spamr	rcya new docstringrYr
rs rrzNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spamr	rN)rrr	rrr0r
rrrr)s,


[[

rrr.ceZdZedZy)MPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBasecyr+r
rs rrzRPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBase.spamr	rNr
r
rrFooBaser0rrr2cHeZdZWjjdZy)JPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2cyr-r
rs rrzOPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2.spamr	rN)rrr	rr0)r2srFoo2r4s
\\
 
 
!
rr6r)rrr6r2s   @r&test_property_new_getter_new_docstringz<PropertySubclassTests.test_property_new_getter_new_docstringsa	&		
))+<=	f	
	7	
	
))+<=rN)rrr	rrrrrrrrrrr
rr&r7r
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 getterrrr>r@rmrs rtest_get_propertyz/_PropertyUnreachableAttribute.test_get_propertys=

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

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

#
#ND4H4HIY4Z
[				s	
<A)rrr	r;r@rr>rrArDrFrHr
rrr9r9s9J
C
C+ rr9c$eZdZdZGddZy)$PropertyUnreachableAttributeWithNamezI^property 'foo' of 'PropertyUnreachableAttributeWithName\.cls' object {}$ceZdZeZy)(PropertyUnreachableAttributeWithName.clsN)rrr	r&rmr
rrrrLs	jrrN)rrr	r;rr
rrrJrJs]JrrJc<eZdZdZGddZee_y)"PropertyUnreachableAttributeNoNamezA^property of 'PropertyUnreachableAttributeNoName\.cls' object {}$ceZdZy)&PropertyUnreachableAttributeNoName.clsNrr
rrrrPsrrN)rrr	r;rr&rmr
rrrNrNsUJ

jCGrrN__main__)rrtestr	Exceptionrrrrr|rr*r2r:r=rBTestCaserGr&rrrrr9rJrNrmainr
rr<module>rVs$	9		,		,		,	"
&y
&5f5_9Y&H%%Y&x)()	x	xb>H--b>J2+H(J[J[)FHYHYzHMMOr