python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_dynamicclassattribute.cpython-312.pyc

͑eC&
ddlZddlZddlZddlmZGddeZGddeZGddeZGd	d
eZ	Gdde
ZGd
deZGdde
Z
Gdde
ZGddeZGdde
ZGddej"ZGddej"ZGddej(ZGddeZGd d!eZGd"d#ej(Zed$k(rej4yy)%N)DynamicClassAttributeceZdZy)PropertyBaseN__name__
__module____qualname__S/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_dynamicclassattribute.pyrr	rrceZdZy)PropertyGetNrr
rrrrr
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	rrrsetterdeleterr
rrrrsK
[[
\\rrceZdZejdZejdZejdZejdZy)SubClassrc,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.spam3r-rN)	rrr	r__dict__rgetterr&r'r
rrr)r)&sXf%D	[[&&
[[&&
\\&&rr)c*eZdZdZdZeedZy)PropertyDocBasec|jSr"rrs r	_get_spamzPropertyDocBase._get_spam9szzrspam spam spam)docN)rrr	rr5rrr
rrr2r27s
E 0@ADrr2cNeZdZejdZejdZy)PropertyDocSubrc|jS)z*The decorator does not use this doc stringrrs rrzPropertyDocSub.spam?r rN)rrr	r2r/rr0r
rrr9r9=s(##F+D	[[rr9cNeZdZejdZejdZy)PropertySubNewGetterrcy)
new docstringrr
rs rrzPropertySubNewGetter.spamFrN)rrr	rr/rr0r
rrr<r<Ds(f%D	[[rr<c@eZdZedZej
dZy)PropertyNewGettercy)zoriginal docstringr3r
rs rrzPropertyNewGetter.spamLr?rcy)r>r
rs rrzPropertyNewGetter.spamPr?rN)rrr	rrr0r
rrrArAKs,
[[rrAc:eZdZeej
dZy) ClassWithAbstractVirtualPropertycyr"r
r
rrcolorz&ClassWithAbstractVirtualProperty.colorV	
rN)rrr	rabcabstractmethodrHr
rrrFrFUs"

rrF)	metaclassc:eZdZejedZy) ClassWithPropertyAbstractVirtualcyr"r
r
rrrHz&ClassWithPropertyAbstractVirtual.color\rIrN)rrr	rJrKrrHr
rrrNrN[s"

rrNcJeZdZdZdZejejjdk\ddZ
ejejjdk\ddZdZejejjdk\ddZ
d	Zd
Zy)
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_baseclassbs{A&Q'	B'R(fGD&112GD'223	B'R(rct}|jtt|d|jtt
|dd|jtt|dy)Nr)r)assertRaisesrgetattrrsetattrrrVrsubs  r test_property_decorator_subclassz.PropertyTests.test_property_decorator_subclassqsGj+wV<+wVTB+wV<r)Docstrings are omitted with -O2 and abovec~t}|j|jjdjdy)Nrr+)r)rU	__class__r/__doc__r`s  r$test_property_decorator_subclass_docz2PropertyTests.test_property_decorator_subclass_docxs1j//7??ARSrc~t}|j|jjdjdy)Nrr)rrUrfr/rgrYs  r%test_property_decorator_baseclass_docz3PropertyTests.test_property_decorator_baseclass_doc~s1{008@@BTUrct}t}|j|jjdj
d|j|jjdj
dy)Nrr6)r2r9rUrfr/rg)rrZras   rtest_property_decorator_docz)PropertyTests.test_property_decorator_docs^ 008@@BRS//7??AQRrcht}|j|jd|j|jjdj
dt
}|j|jd|j|jjdj
dy)Nrrr>rD)r<rUrrfr/rgrA)rnewgettersub	newgetters   r!test_property_getter_doc_overridez/PropertyTests.test_property_getter_doc_overrides,-**A.//88@HH/Z%'	+,,55f=EEWrc>ddgdgddfD]EGfddt}|j|jdjt	GGd	d
t|jt5Gfddt}dddy#1swYyxYw)NTFr31c4eZdZdZWe_eeZy)EPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Ccyr"r
rs rfoozIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foorNrrr	rw__isabstractmethod__r)valsrCrus+.(+C0rr|rwceZdZdZeZy)KPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBoolctr")
ValueErrorrs r__bool__zTPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBool.__bool__s
 l"rN)rrr	r__len__r
rrNotBoolr~s
#Grrc>eZdZdZWe_eeZy)rucyr"r
rs rrwzIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foorxrNry)rsrr|zEPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Cs+29(+C0r)objectassertIsr/rzboolr]r)rr|rr{s  @@r,test_property___isabstractmethod__descriptorz:PropertyTests.test_property___isabstractmethod__descriptors%aS"c2	MC
1F
1

MM!**U+@@$s)L
	M	f	

z
*	1
1F
1	1	1	1s8BBc|jtt|jttGddt}|jt|Gddt}|jt|Gddt}|jt5|j
ddd|j
|j
dGdd	t}|jt5|j
ddd|j
|j
d
y#1swYxYw#1swY7xYw)NceZdZy)0PropertyTests.test_abstract_virtual.<locals>.APVNrr
rrAPVrrrceZdZy)0PropertyTests.test_abstract_virtual.<locals>.AVPNrr
rrAVPrrrrc"eZdZedZdZy)2PropertyTests.test_abstract_virtual.<locals>.Okay1c|jSr"_colorrs rrHz8PropertyTests.test_abstract_virtual.<locals>.Okay1.color{{"rcd|_y)Ncyanrrs rrz;PropertyTests.test_abstract_virtual.<locals>.Okay1.__init__s	$rNrrr	rrHrr
rrOkay1rs
"
##
#
%rrrc"eZdZedZdZy)2PropertyTests.test_abstract_virtual.<locals>.Okay2c|jSr"rrs rrHz8PropertyTests.test_abstract_virtual.<locals>.Okay2.colorrrcd|_y)Nmagentarrs rrz;PropertyTests.test_abstract_virtual.<locals>.Okay2.__init__s	'rNrr
rrOkay2rs
"
##
#
(rrr)r]	TypeErrorrFrNAttributeErrorrHrU)rrrrrs     rtest_abstract_virtualz#PropertyTests.test_abstract_virtuals)%EF)%EF	2	)S)	2	)S)	%4	%

~
.	KK	/	(4	(

~
.	KK		2				s#
D4=
E4D=E	N)rrr	r[rbunittestskipIfsysflagsoptimizerhrjrlrprrr
rrrQrQas
)=X__SYY''1,@BTBTX__SYY''1,@BVBVSX__SYY''1,@BXBX1,3rrQceZdZdZy)PropertySubz+This is a subclass of DynamicClassAttributeN)rrr	rgr
rrrrs5rrceZdZdZdZy)PropertySubSlotszBThis is a subclass of DynamicClassAttribute that defines __slots__r
N)rrr	rg	__slots__r
rrrrs
LIrrcleZdZejeedddZejejjdk\ddZejejjdk\ddZejejjdk\ddZ
y	)
PropertySubclassTestsrgz9__doc__ is already present, __slots__ will have no effectcV	Gddt}td#t$rYywxYw)NcBeZdZedZedejy)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.spamsr
N)rrr	rrprintrgr
rrFoors$!"d4<<(rrzAttributeError not raised)r	Exceptionrrrs  r#test_slots_docstring_copy_exceptionz9PropertySubclassTests.test_slots_docstring_copy_exceptions5
	9
)f
)788		s	((rcrdctGddt}|j|jdjdy)NceZdZedZy)6PropertySubclassTests.test_docstring_copy.<locals>.Foocy).spam wrapped in DynamicClassAttribute subclassr3r
rs rrz;PropertySubclassTests.test_docstring_copy.<locals>.Foo.spamrNrrr	rrr
rrrr


rrrrrrUr/rgrs  rtest_docstring_copyz)PropertySubclassTests.test_docstring_copys3	&	
	
LL ((<	>rcGddt}|j|jdd|_|j|jd|jjdjdGfdd}|}|j|jdd	|_|j|jd
|j|jdjdy)NcFeZdZdZedZejdZy)OPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foocd|_y)Nr3rrs 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/.

"
"[[
#
#rrr3rcrrcReZdZWjdZej
dZy)RPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSubrcd|_y)zanother ignored docstringeggsNrr#s  rrzWPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSub.spams$
rN)rrr	r/rr&)rsrFooSubrs'<<'D
[[
$
$rrr)rrUrr/rg)rrwrfoosubrs    @r,test_property_setter_copies_getter_docstringzBPropertySubclassTests.test_property_setter_copies_getter_docstrings		#&		#e1%1%LL ((<	>	$S	$a(f-OOF#++<	>rcGddt}|j|jdjdGddtGfdd}|j|jdjdy)	Nc@eZdZedZej
dZy)IPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foocyza docstringr3r
rs rrzNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spamrrcya new docstringrcr
rs rrzNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spamrrN)rrr	rrr0r
rrrrs,


[[

rrrrceZdZedZy)MPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBasecyrr
rs rrzRPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBase.spamrrNrr
rrFooBaserrrrcReZdZWjdZej
dZy)JPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2rcyrr
rs rrzOPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2.spam#rrN)rrr	r/rr0)rsrFoo2r!s)##F+D
[[

rrr)rrrrs   @r&test_property_new_getter_new_docstringz<PropertySubclassTests.test_property_new_getter_new_docstringsk	&		
f-557HI	f	
	7		
f-557HIrN)rrr	rrrXrrrrrrrrr
rrrrsX__W-y9GI9I9X__SYY''1,@B>B>X__SYY''1,@B>B>@X__SYY''1,@BJBJrr__main__)rJrrtypesrrrrrrrrr)r2r9r<rAABCMetarFrNTestCaserQrrrrmainr
rr<module>rs

'	9		,		,		,	"&y&"BfB_9



c3H%%c3N6'6,XJH--XJxzHMMOr