KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21572/root/usr/lib/python2.4/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21572/root/usr/lib/python2.4/test/test_weakref.pyo
mò
‚=5Dc@sedkZdkZdkZdkZdkZdklZdfd„ƒYZdfd„ƒYZd„Z	d„Z
d„Zd	eifd
„ƒYZ
de
fd„ƒYZd
eifd„ƒYZdfd„ƒYZde
fd„ƒYZdklZdeifd„ƒYZdeifd„ƒYZdZhde<Zd„ZedjoeƒndS(N(stest_supporttCcBstZd„ZRS(NcCsdS(N((tself((t'/usr/lib/python2.4/test/test_weakref.pytmethods(t__name__t
__module__R(((RR
stCallablecBstZdZd„ZRS(NcCs
||_dS(N(txRtbar(RR((Rt__call__s(RRtNoneRR	(((RRscCs
d„}|S(NcCsdS(N((((Rtfs(R(R((Rtcreate_functions	cCs
tƒiS(N(RR(((Rtcreate_bound_methodscCstiS(N(RR(((Rtcreate_unbound_methodstTestBasecBstZd„Zd„ZRS(NcCs
d|_dS(Ni(Rtcbcalled(R((RtsetUp#scCs|id7_dS(Ni(RR(Rtref((Rtcallback&s(RRRR(((RR!s	tReferencesTestCasecBstZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d	„Z
d
„Zd„Zd„Z
d
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS( NcCs]|itƒ|itƒ|itƒ|itƒtƒ}ti|ƒ}|
~|
dS(N(
Rtcheck_basic_refRRR
RtotweakrefRtwr(RRR((Rttest_basic_ref,s



	cCs8|itƒ|itƒ|itƒ|itƒdS(N(Rtcheck_basic_callbackRRR
R(R((Rttest_basic_callback;s


cCs…tƒ}ti||iƒ}ti||iƒ}~|i|ƒdjdƒ|i|ƒdjdƒ|i|i
djdƒdS(Ns$expected reference to be invalidatedis-callback not called the right number of times(RRRRRRtref1tref2tassert_R
R(RRRR((Rttest_multiple_callbacksAs	cCsC|d„}tƒ}ti||ƒ|_ti||ƒ}~dS(NcCs|iƒdS(N(RR(tobjectR((RRXs(RRRtcRRR(RRR!R((Rttest_multiple_selfref_callbacksMs
	cCs°tƒ}d|_ti||iƒ}ti||iƒ}~d„}|i
ti||ƒ|i
ti||ƒ|i
tittitƒƒƒ|i
|idjƒdS(NicCs|idS(N(tproxyR(R#((Rtcheckfsi(RRRRR#RRRRR$tassertRaisestReferenceErrortboolRR(RRRRR$((Rttest_proxy_ref_s			"cCsT|ƒ}ti|ƒ}|i|ƒdj	dƒ|ƒ}|i||jdƒdS(Ns,weak reference to live object should be lives-<ref>() should return original object if live(tfactoryRRRRRR
to2(RR)RRR*((RRns		cCs`d|_|ƒ}ti||iƒ}~|i|idjdƒ|i|ƒdjdƒdS(Niis(callback did not properly set 'cbcalled's3ref2 should be dead after deleting object reference(	RRR)RRRRRR
(RR)RR((RRws		cCsÝtƒ}ti|ƒ}ti|ƒ}ti|ƒ}|i||jdƒtƒ}ti|ƒ}ti|ƒ}ti|ƒ}|i||jdƒ|iti	|ƒdjdƒ~|iti	|ƒdjdƒdS(Ns1reference object w/out callback should be re-usediswrong weak ref count for objectis4wrong weak ref count for object after deleting proxy(
RRRRRR#RRRtgetweakrefcount(RRRRR#((Rttest_ref_reuses"		cCsPtƒ}ti|ƒ}ti|ƒ}ti|ƒ}|i||jdƒdS(Ns4proxy object w/out callback should have been re-used(	RRRR#tproxy1Rtproxy2RR(RR.R-RR((Rttest_proxy_reuse—s	cCs·tƒ}|i|ti|ƒƒtiƒ}ti|ƒ}|i	|dƒ|i
dƒ|it|ƒdƒ|i
|dƒddg|(|it|ƒdƒ|it|ƒdƒ|i
d|jdƒd|d<|i|ddƒ|i|ddƒti|ƒ}ti|ƒ}|i||ƒtitd	ƒƒ}ti|ƒ}|i||ƒ|i|d|dƒ|i|d |d ƒ|i|dd!|dd!ƒdS(
Ns(proxy for empty UserList should be falseiis+proxy for non-empty UserList should be trueiis,proxy didn't support __contains__() properlyii
(RRRtcheck_proxyRR#tUserListtLtptfailIftappendtassertEqualtlent
failUnlesstL2tp2trangetL3tp3(RR:R=R3R2RR9R<((Rttest_basic_proxyŸs2	


cCs|itiƒdS(N(Rtcheck_shared_without_callbackRR(R((Rt test_shared_ref_without_callbackÄscCs|itiƒdS(N(RR?RR#(R((Rt"test_shared_proxy_without_callbackÇscCsætdƒ}||dƒ}||dƒ}|i||jdƒ~~||ƒ}||dƒ}|i||jdƒ~~||ƒ}||ƒ}|i||jdƒ~~||dƒ}||ƒ}|i||jdƒdS(Nis%both callbacks were None in the C APIs&callbacks were NULL, None in the C APIs%both callbacks were NULL in the C APIs&callbacks were None, NULL in the C API(tObjectRtmakerefR
tp1R:RR(RRCR:RDR((RR?Ês cCs½tƒ}ti|ƒ}|i||ƒ|it|ƒti	jdƒ|dƒ|i|i
djdƒ|ddƒ|i|i
djdƒ|it|ƒ|it|dddƒdS(	Nsproxy is not of callable types	twinkies!s1call through proxy not passed through to originalRsSplat.iii(
RRRR#RRR0RttypetCallableProxyTypeRR%t	TypeError(RRR((Rttest_callable_proxyÜs	

cCsÌd|_|i|idjdƒd|_|i|idjdƒ|`|it|dƒdƒd|_|i|idjdƒd|_|i|idjdƒ|`|it|dƒd	ƒdS(
Nis)proxy does not reflect attribute additionis-proxy does not reflect attribute modificationtfoos(proxy does not reflect attribute removals4object does not reflect attribute addition via proxys8object does not reflect attribute modification via proxys3object does not reflect attribute removal via proxy(RRIRRR#thasattr(RRR#((RR0ñs$				cCsIdfd„ƒY}|ƒ}ti|ƒ}|d=|i|idƒdS(NtFoocBstZdZd„ZRS(NcCs
||_dS(N(taccessorRtresult(RRL((Rt__delitem__s(RRR
RMRN(((RRK	si(RKtgRR#RRR6RM(RRKROR((Rttest_proxy_deletions
	cCsHdtfd„ƒY}|ƒ}|itti|ƒƒt|ƒƒdS(NtListcBstZRS(N(RR(((RRQs(tlistRQtlystRR6R'RR#(RRQRS((Rttest_proxy_bools	cCsÝtƒ}ti|ƒ}ti||iƒ}|iti	|ƒdjdƒti
|ƒ}ti
||iƒ}|iti	|ƒdjdƒ~~~~|iti	|ƒdjdƒ|iti	dƒdjdƒdS(Nis*got wrong number of weak reference objectsiisAweak reference objects not unlinked from referent when discarded.is2got wrong number of weak reference objects for int(
RRRRRRRRRR+R#R-R.(RR.R-RRR((Rttest_getweakrefcounts	cCsõtƒ}ti||iƒ}ti||iƒ}~|iti	|ƒ|gjdƒtƒ}ti||iƒ}ti||iƒ}~|iti	|ƒ|gjdƒ~|iti	|ƒgjdƒ|iti	dƒgjdƒdS(Nslist of refs does not matchslist of refs not clearedis#list of refs does not match for int(
RRRRRRRRRtgetweakrefs(RRRR((Rttest_getweakrefs-s"		cCscdtfd„ƒY}|dƒ}ti|ƒ}|i|ddjƒ|id|djƒdS(NtFcBstZRS(N(RR(((RRXEsf2.0f1.0f3.0(tfloatRXRRR#R3RR(RRXRR3((Rttest_newstyle_number_opsDs
c	sšdtfd„ƒY‰h‰‡d†‰‡‡‡d†}y|ƒWnˆj
onX|idƒy|ƒWnˆj
onX|idƒdS(Nt
BogusErrorcBstZRS(N(RR(((RR[Oscsˆ|=dS(N(tdatatk(R](R\(RtremoveRscs)d„}dˆti|ˆƒ<ˆ‚dS(NcCsfS(N((((Rt<lambda>Us(RR
R\RRR^R[(R(R[R^R\(RtencapsulateTs	sexception not properly restored(t	ExceptionR[R\R^R`Rtfail(RR[R\R^R`((R[R\R^Rttest_callbacks_protectedLs
cs’dk‰dtfd„ƒY}|ƒ}ti|‡d†ƒ}~~|ƒ}|ƒ|_ti|i‡d†ƒ}|ƒ}||_~~dS(NRcBstZRS(N(RR(((RRrscs
ˆiƒS(N(tgctcollect(tignore(Rd(RR_vscs
ˆiƒS(N(RdRe(Rf(Rd(RR_~s(
RdR RR!RRRtc1titc2(RR!RRdRRiRg((RdRttest_sf_bug_840829es						cCsvdk}dtfd„ƒY}dtfd„ƒY}|ƒ}||_ti||iƒ|_~~~|i	ƒdS(NtJcBstZRS(N(RR(((RRkstIIcBstZd„ZRS(NcCs|idS(N(RRk(RRf((Rt	acallback”s(RRRm(((RRl“s(
RdR RkRltIRRRmRRe(RRnRkRlRd((Rttest_callback_in_cycle_1s				cCssdk}dtfd„ƒY}dfd„ƒY}|ƒ}||_ti||iƒ|_~~~|i	ƒdS(NRkcBstZRS(N(RR(((RRkÄsRlcBstZd„ZRS(NcCs|idS(N(RRk(RRf((RRmÈs(RRRm(((RRlÇs(
RdR RkRlRnRRRmRRe(RRnRkRlRd((Rttest_callback_in_cycle_2µs				cCsmdk}dfd„ƒY}|ƒ|ƒ}}||_||_ti||iƒ|_~~|i	ƒdS(NRcBstZd„ZRS(NcCs|i|i|idS(N(RtmeRgR(RRf((RtcbÜs(RRRr(((RRÛs(
RdRRgRiRqRRRrRRe(RRRdRiRg((Rttest_callback_in_cycle_3Òs			cCs‰dk}dtfd„ƒY}dfd„ƒY}|ƒ|ƒ}}||_||_ti||i	ƒ|_
~~~~|iƒdS(NRcBstZd„ZRS(NcCs|i|i|idS(N(RRqRgR(RRf((RRrõs(RRRr(((RRôstDcBstZRS(N(RR(((RRtús(RdR RRtRgRiRqRRRrRRe(RRRtRdRiRg((Rttest_callback_in_cycle_4ês				csdk}g‰dtf‡d†ƒY}|dƒ|dƒ}}||_||_ti||i	ƒ|_
ti||i	ƒ|_
‡d†}ti||ƒ}~~~|i
ˆgƒ|iƒ|i
ˆdgƒ|i
|ƒdƒˆ2|iƒ|i
ˆgƒdS(NRcstZd„Z‡d†ZRS(NcCs
||_dS(N(tvalueRt	attribute(RRv((Rt__init__scsˆi|iƒdS(N(talistR5RR!(RRf(Ry(RRms(RRRxRm((Ry(RRs	iicsˆidƒdS(NsC went away(RyR5(Rf(Ry(RtC_went_away ssC went away(RdRyR RRgRiR!RRRmRRzRR6ReR
(RRRyRdRRzRiRg((RyRt#test_callback_in_cycle_resurrections$				

c	s%dk}g‰‡d†}dtf‡d†ƒY}|ƒ|ƒ}}||_||_|i}t
i||ƒ|_t
i||iƒ|_t
i||ƒ}|i|ƒ|jƒ~~~~|iˆgƒ|iƒ|iˆdgƒ|i|ƒdƒˆ2|iƒ|iˆgƒdS(NcsˆidƒdS(Nssafe_callback called(RyR5(Rf(Ry(Rt
safe_callback9sRcstZ‡d†ZRS(NcsˆidƒdS(Ns	cb called(RyR5(RRf(Ry(RRr=s(RRRr((Ry(RR<sssafe_callback called(RdRyR|R RR!tdtotherRrRRRRtexternal_wrRRR6ReR
(	RRR}RyR!RRdRR|((RyRttest_callbacks_on_callback4s(					

cCs|itiƒdS(N(Rtcheck_gc_during_creationRR(R((Rttest_gc_during_ref_creationZscCs|itiƒdS(N(RRRR#(R((Rttest_gc_during_proxy_creation]scCs¡tiƒ}tidddƒtiƒdfd„ƒY}d„}|ƒ}|ƒ}||_||ƒ|_
z|ƒ}ti||ƒWdti|ŒXdS(NitAcBstZRS(N(RR(((RR„dscGsdS(N((targs((RRgs(
Rdt
get_thresholdt
thresholdst
set_thresholdReR„Rt
referencedtaRCRRR(RRCR„RŠR‰RR‡((RR`s
					(!RRRRRR"R(RRR,R/R>R@RAR?RHR0RPRTRURWRZRcRjRoRpRsRuR{R€R‚RƒR(((RR*s>								
			%												(	(				.	&		tSubclassableWeakrefTestCasecBs,tZd„Zd„Zd„Zd„ZRS(Ncs dtif‡d†ƒY‰tdƒ}ˆ|ddƒ}|i|ƒ|jƒ|i|iƒ|i	|i
dƒ~|i|ƒdjƒ|i|iƒdS(NtMyRefcs&tZdd‡d†Z‡d†ZRS(Ni*cs&||_tˆ|ƒi||ƒdS(N(RvRtsuperRŒRxtobR(RRŽRRv(RŒ(RRx~s	cst|_tˆ|ƒiƒS(N(tTrueRtcalledRRŒR	(R(RŒ(RR	s	(RRR
RxR	((RŒ(RRŒ}sRIRvi(RRRŒRBRtmrRRRR6RvR
(RRRŒR‘((RŒRttest_subclass_refs|scCsdtifd„ƒY}tdƒ}||ƒ}ti|ƒ}|i||j	ƒ|i	ti
|ƒ||gƒ|i	ti|ƒdƒ||ƒ}|i	ti|ƒdƒti
|ƒ}|i	t|ƒdƒ|i||djƒ|i||djƒ|i||djƒdS(NRŒcBstZRS(N(RR(((RRŒŽsi*iiii(RRRŒRBRtr1tr2RRR6RVR+tr3trefsR7(RR“R”R•RRŒR–((Rt-test_subclass_refs_dont_replace_standard_refsscCsdtifd„ƒY}tdƒ}||tƒ}||tƒ}|i
||j	ƒti|ƒ}|i
||jƒ|i
||jƒdS(NRŒcBstZRS(N(RR(((RRŒŸsi*(
RRRŒRBRtidR“tstrR”RRRVR–(RR“R”RRŒR–((Rt*test_subclass_refs_dont_conflate_callbacksžscCsdtifd„ƒY}tdƒ}||dddƒ}|i|i	dƒ|i|i
dƒ|i|iƒdƒ|it
|dƒƒdS(NRŒcBs)tZdZd„Zd„Zd„ZRS(Ntslot1tslot2cCstii|||ƒS(N(RRt__new__RERŽR(RERŽRR›Rœ((RR¬scCs||_||_dS(N(R›RRœ(RRŽRR›Rœ((RRx®s	cCs|i|iS(N(RR›Rœ(R((Rtmeth±s(sslot1sslot2(RRt	__slots__RRxRž(((RRŒªs		i*tabctdeftabcdeft__dict__(RRRŒRBRR
trRR6R›RœRžR4RJ(RRR¤RŒ((Rttest_subclass_refs_with_slots©s	(RRR’R—RšR¥(((RR‹zs			RBcBstZd„Zd„ZRS(NcCs
||_dS(N(targR(RR¦((RRx¼scCsd|iS(Ns<Object %r>(RR¦(R((Rt__repr__¾s(RRRxR§(((RRB»s	tMappingTestCasecBsÔtZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d	„Z
d
„Zd„Zd„Z
d
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(Ni
cCsb|iƒ\}}xN|D]F}|iti|ƒdjd|ƒ|i|||ijdƒqW|i	ƒ}|iƒi	ƒ}|i
ƒ|i
ƒ|i||jdƒ~~|it|ƒ|ijƒ|d=|it|ƒ|idjdƒ~~|it|ƒdjdƒtiƒ}|it|idƒtƒ|d<|it|idƒdS(	Nis&wrong number of weak references to %r!s#wrong object returned by weak dict!s/cloning of weak-valued dictionary did not work!is/deleting object did not cause dictionary updates0deleting the values did not clear the dictionaryi(Rtmake_weak_valued_dicttdicttobjectsRRRR+R¦titemstitems1tcopytitems2tsortR7tCOUNTtWeakValueDictionaryR%tKeyErrort__getitem__R(RR¯RR­R«Rª((Rttest_weak_valuesÆs2


cCsX|iƒ\}}xN|D]F}|iti|ƒdjd|ƒ|i|i||jdƒqW|i	ƒ}|iƒi	ƒ}|it
|ƒt
|ƒjdƒ~~|it|ƒ|ijƒ|d=|it|ƒ|idjdƒ~~|it|ƒdjdƒtdƒ}d	||<|i|i|ƒƒ|i|id
ƒƒdS(Nis&wrong number of weak references to %r!s#wrong object returned by weak dict!s.cloning of weak-keyed dictionary did not work!is/deleting object did not cause dictionary updates.deleting the keys did not clear the dictionaryi*s$What is the meaning of the universe?i"(Rtmake_weak_keyed_dictRªR«RRRR+R¦R¬R­R®R¯tsetR7R±RBthas_key(RR¯RR­R«Rª((Rttest_weak_keysäs.
cCs#|iƒ\}}|i|ƒdS(N(RR¶RªR«tcheck_iters(RR«Rª((Rttest_weak_keyed_itersscCs#|iƒ\}}|i|ƒdS(N(RR©RªR«Rº(RR«Rª((Rttest_weak_valued_itersscCs.|iƒ}x!|iƒD]}|i|ƒqW|it|ƒdjdƒ|iƒ}x|D]}|i|ƒq_W|it|ƒdjdƒ|iƒ}x!|i
ƒD]}|i|ƒq«W|it|ƒdjdƒ|iƒ}x!|iƒD]}|i|ƒq÷W|it|ƒdjdƒdS(Nis#iteritems() did not touch all itemss!__iter__() did not touch all keyss!iterkeys() did not touch all keyss%itervalues() did not touch all values(RªR¬t	iteritemstitemR^RRR7tkeysR]titerkeystvaluest
itervaluestv(RRªR¿R¬R¾RÃRÁR]((RRºs*


cCs?tdƒ}tih|d<ƒ}|i||djƒdS(Niil(RBRRtWeakKeyDictionaryRªRR(RRªR((Rt#test_make_weak_keyed_dict_from_dict"scCsNtdƒ}tih|d<ƒ}ti|ƒ}|i||djƒdS(Niil(RBRRRÄRªtdict2RR(RRÆRRª((Rt.test_make_weak_keyed_dict_from_weak_keyed_dict'scCsLtiƒ}ttt|iƒƒ}x|D]}|i
||<q+W||fS(N(RRÄRªtmapRBR;RR±R«RR¦(RRR«Rª((RR¶-scCsLtiƒ}ttt|iƒƒ}x|D]}|||i
<q+W||fS(N(RR²RªRÈRBR;RR±R«RR¦(RRR«Rª((RR©4sc	Csþ|ƒ}|||<|||<|it|ƒdjƒ|i	ƒ\}}|it|ƒdjƒ||jo|i||jƒn|i||jƒ|i	ƒ\}}|it|ƒdjƒ||jo|i||jƒn|i||jƒdS(Niii(tklasstweakdicttvalue1tkey1tvalue2tkey2RRR7tpopitemR]RÃ(	RRÉRÌRËRÎRÍRÊRÃR]((Rt
check_popitem;s	



cCs&|itidtƒdtƒƒdS(NRÌRÎ(RRÐRR²R(R((Rttest_weak_valued_dict_popitemMscCs&|ititƒdtƒdƒdS(Nsvalue 1svalue 2(RRÐRRÄR(R((Rttest_weak_keyed_dict_popitemQscCsÿ|i||j	dƒ|ƒ}|i||ƒ}|i||jƒ|i|i	|ƒƒ|i|i
|ƒ|jƒ|i|||jƒ|i||ƒ}|i||jƒ|i|i	|ƒƒ|i|i
|ƒ|jƒ|i|||jƒdS(Ns9invalid test -- value parameters must be distinct objects(RRRËRÍRÉRÊt
setdefaulttkeyRR¸tget(RRÉRÔRËRÍRÊR((Rtcheck_setdefaultUs	cCs#|itidtƒtƒƒdS(NRÔ(RRÖRR²R(R((Rt test_weak_valued_dict_setdefaultfscCs |ititƒddƒdS(Nsvalue 1svalue 2(RRÖRRÄR(R((Rttest_weak_keyed_dict_setdefaultjscCs|ƒ}|i|ƒ|it|ƒt|ƒjƒxo|iƒD]a}|i|i	|ƒdƒ|i
|ƒ}|i|||jƒ|i||i
|ƒjƒqBWxj|iƒD]\}|i|i	|ƒdƒ||}|i|||jƒ|i||i
|ƒjƒq´WdS(Ns(mysterious new key appeared in weak dicts%original key disappeared in weak dict(RÉRÊtupdateRªRRR7R¿R]R¸RÕRÃ(RRÉRªRÊR]RÃ((Rtcheck_updatens"	

 

cCs>|itihdtƒ<dtƒ<tƒtƒ<ƒdS(NiRŠ(RRÚRR²R(R((Rttest_weak_valued_dict_updateƒscCs;|itihtƒd<tƒd<tƒd<ƒdS(Niii(RRÚRRÄR(R((Rttest_weak_keyed_dict_update‡scCs‘tiƒ}tdƒ}tdƒ}d||<d||<|it|ƒdjƒ||=|it|ƒdjƒ|i|i	ƒ|gjƒdS(Nt1t2t	somethingii(
RRÄR}RBto1R*RRR7R¿(RR}R*Rà((Rttest_weak_keyed_delitem‹s

cCs—tiƒ}tdƒ}tdƒ}||d<||d<|it|ƒdjƒ|d=|it|ƒdjƒ|i|i	ƒd|fgjƒdS(NRÝRÞRßssomething elseii(
RR²R}RBRàR*RRR7R¬(RR}R*Rà((Rttest_weak_valued_delitem–s

cCstiƒ}tdƒ}|it|i|ƒ|it|i	|ƒ|it
|idƒ|it
|i	dƒ|it
|iddƒdS(NRÝi
(RRÄR}RBRRR%R³RNR´RGt__setitem__(RR}R((Rttest_weak_keyed_bad_delitem¡sc	sêtiƒ}t‰dtf‡‡d†ƒY}g}tdƒD]}|||ƒq?~‰xˆD]}|i||<qbW~|i
ƒ‰ˆiƒt‰d}xˆD]}|d7}||=q¥W|it|ƒdƒ|i|dƒdS(NRcs)tZd„Zd„Z‡‡d†ZRS(NcCs
||_dS(N(RhRRv(RRh((RRx¸scCs
t|iƒS(N(thashRRv(R((Rt__hash__ºscs"ˆoˆd=n|i|ijS(Niÿÿÿÿ(tmutatetobjsRRvR~(RR~(RçRè(Rt__eq__¼s(RRRxRæRé((RçRè(RR·s		iiii(RRÄR}tFalseRçR Rt_[1]R;RhRèRRvR¿treverseRtcountRR6R7(	RRçRëRR}RhRèRRí((RçRèRt!test_weak_keyed_cascading_deletes¯s$-
	
(RRR±RµR¹R»R¼RºRÅRÇR¶R©RÐRÑRÒRÖR×RØRÚRÛRÜRáRâRäRî(((RR¨Âs.																					(s
mapping_teststWeakValueDictionaryTestCasecBsStZdZhdedƒ<dedƒ<dedƒ<ZeiZd„ZRS(s?Check that WeakValueDictionary conforms to the mapping protocolRÌiRÎitkey3icCs
|iiƒS(N(Rt!_WeakValueDictionaryTestCase__refR®(R((Rt
_referenceâs(	RRt__doc__RBRñRR²t	type2testRò(((RRïÞs3	tWeakKeyDictionaryTestCasecBsStZdZhedƒd<edƒd<edƒd<ZeiZd„ZRS(s=Check that WeakKeyDictionary conforms to the mapping protocolRÌiRÎiRðicCs
|iiƒS(N(Rt_WeakKeyDictionaryTestCase__refR®(R((RRòés(	RRRóRBRöRRÄRôRò(((RRõås3	sà Doctest for examples in the library reference: libweakref.tex

>>> import weakref
>>> class Dict(dict):
...     pass
...
>>> obj = Dict(red=1, green=2, blue=3)   # this object is weak referencable
>>> r = weakref.ref(obj)
>>> print r() is obj
True

>>> import weakref
>>> class Object:
...     pass
...
>>> o = Object()
>>> r = weakref.ref(o)
>>> o2 = r()
>>> o is o2
True
>>> del o, o2
>>> print r()
None

>>> import weakref
>>> class ExtendedRef(weakref.ref):
...     def __init__(self, ob, callback=None, **annotations):
...         super(ExtendedRef, self).__init__(ob, callback)
...         self.__counter = 0
...         for k, v in annotations.iteritems():
...             setattr(self, k, v)
...     def __call__(self):
...         '''Return a pair containing the referent and the number of
...         times the reference has been called.
...         '''
...         ob = super(ExtendedRef, self).__call__()
...         if ob is not None:
...             self.__counter += 1
...             ob = (ob, self.__counter)
...         return ob
...
>>> class A:   # not in docs from here, just testing the ExtendedRef
...     pass
...
>>> a = A()
>>> r = ExtendedRef(a, foo=1, bar="baz")
>>> r.foo
1
>>> r.bar
'baz'
>>> r()[1]
1
>>> r()[1]
2
>>> r()[0] is a
True


>>> import weakref
>>> _id2obj_dict = weakref.WeakValueDictionary()
>>> def remember(obj):
...     oid = id(obj)
...     _id2obj_dict[oid] = obj
...     return oid
...
>>> def id2obj(oid):
...     return _id2obj_dict[oid]
...
>>> a = A()             # from here, just testing
>>> a_id = remember(a)
>>> id2obj(a_id) is a
True
>>> del a
>>> try:
...     id2obj(a_id)
... except KeyError:
...     print 'OK'
... else:
...     print 'WeakValueDictionary error'
OK

t
libreftestcCs.tittttƒtitit	ƒdS(N(
ttest_supporttrun_unittestRR¨RïRõtrun_doctesttsystmodulesR(((Rt	test_mainAs
	t__main__(RdRûtunittestR1RttestRøRRRR
RtTestCaseRRR‹RBR¨t
mapping_teststBasicTestMappingProtocolRïRõR÷t__test__RýR(RøRR÷RÿRdR
RBRR1RýRïRRûRRR‹RRõRR¨RR((Rt?s4					
				ÿÿRAÿ
S	



Anon7 - 2021