3 ,ò¿W}Ëã@sÊdZddlZdd„ZGdd„dejƒZGdd„dejƒZGd d „d ejƒZGd d „d ejƒZGd d„dejƒZGdd„dejƒZ Gdd„dejƒZ Gdd„dejƒZ Gdd„dejƒZ dd„Z dd„ZdS)zTests for ZCML directives. éNc Cs*y ddl}Wntk r$dd„SX|S)NrcSsdS)N©)Úselfrrú/usr/lib/python3.6/test_zcml.pyÚsz"skipIfNoSecurity..)Z zope.securityÚ ImportError)ZtestfuncZzoperrrÚskipIfNoSecuritys   rc@seZdZdd„Zdd„ZdS)Ú Test_handlercOsddlm}|||ŽS)Nr)Úhandler)Úzope.component.zcmlr )rÚargsÚkwr rrrÚ_callFUTs zTest_handler._callFUTc sŠddlm}ddlm}ddlm}m}ddlm}|ƒ‰d ‡fdd„ }|j |ƒz(|j d|||ƒ|j ˆj |ƒ|kƒWd|j ƒXdS) Nr)Ú Components)ÚgetSiteManager)ÚcompÚIApp)Ú_BLANKcsˆS)Nr)Úcontext)ÚregistryrrÚdummy'sz=Test_handler.test_uses_configured_site_manager..dummyÚregisterUtility)N)Zzope.interface.registryrÚzope.componentrÚ#zope.component.testfiles.componentsrrZzope.component._compatrZsethookr Ú assertTrueZ getUtilityÚreset)rrrrrrrr)rrÚ!test_uses_configured_site_manager s    z.Test_handler.test_uses_configured_site_managerN)Ú__name__Ú __module__Ú __qualname__r rrrrrrsrc@s$eZdZdd„Zdd„Zdd„ZdS)ÚTest__rolledUpFactorycOsddlm}|||ŽS)Nr)Ú_rolledUpFactory)r r )rr r r rrrr 4s zTest__rolledUpFactory._callFUTcsJtƒ}tƒ‰‡fdd„}|j|gƒ}|j|j|kƒ|j||ƒˆkƒdS)NcsˆS)Nr)Úobj)Ú_CREATEDrrÚ_factory;sz5Test__rolledUpFactory.test_with_one.._factory)Úobjectr rÚfactory)rÚ_OBJr#Úrolledr)r"rÚ test_with_one8s   z#Test__rolledUpFactory.test_with_onecsrtƒ}tƒ‰tƒ‰tƒ‰‡fdd„}‡fdd„}‡fdd„}|j|||gƒ}|j|j|kƒ|j||ƒˆkƒdS)NcsˆS)Nr)r!)Ú _CREATED1rrÚ _factory1Fsz;Test__rolledUpFactory.test_with_multiple.._factory1csˆS)Nr)r!)Ú _CREATED2rrÚ _factory2Hsz;Test__rolledUpFactory.test_with_multiple.._factory2csˆS)Nr)r!)Ú _CREATED3rrÚ _factory3Jsz;Test__rolledUpFactory.test_with_multiple.._factory3)r$r rr%)rr&r*r,r.r'r)r)r+r-rÚtest_with_multipleAs   z(Test__rolledUpFactory.test_with_multipleN)rrrr r(r/rrrrr2s rc@speZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z e dd„ƒZ e dd„ƒZ e dd„ƒZ dd„ZdS)Ú Test_adaptercOsddlm}|||ŽS)Nr)Úadapter)r r1)rr r r1rrrr Ss zTest_adapter._callFUTcCsJddlm}ddlm}Gdd„d|ƒ}tƒ}|j||j|g|g|ƒdS)Nr)Ú Interface)ÚComponentConfigurationErrorc@s eZdZdS)z-Test_adapter.test_empty_factory..IFooN)rrrrrrrÚIFooZsr4)Úzope.interfacer2r r3Ú_makeConfigContextÚ assertRaisesr )rr2r3r4Ú_cfg_ctxrrrÚtest_empty_factoryWs   zTest_adapter.test_empty_factorycCs€ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gdd „d tƒ}Gd d „d tƒ}tƒ}|j||j|||g||g|ƒdS) Nr)r2)r3c@s eZdZdS)z>Test_adapter.test_multiple_factory_multiple_for_..IFooN)rrrrrrrr4csr4c@s eZdZdS)z>Test_adapter.test_multiple_factory_multiple_for_..IBarN)rrrrrrrÚIBaresr:c@s eZdZdS)z=Test_adapter.test_multiple_factory_multiple_for_..FooN)rrrrrrrÚFoogsr;c@s eZdZdS)z=Test_adapter.test_multiple_factory_multiple_for_..BarN)rrrrrrrÚBarisr<)r5r2r r3r$r6r7r )rr2r3r4r:r;r<r8rrrÚ#test_multiple_factory_multiple_for_`s   z0Test_adapter.test_multiple_factory_multiple_for_cCs.Gdd„dtƒ}tƒ}|jt|j||gƒdS)Nc@seZdZdd„ZdS)z>Test_adapter.test_no_for__factory_not_adapts.._FactorycSs ||_dS)N)r)rrrrrÚ__init__sszGTest_adapter.test_no_for__factory_not_adapts.._Factory.__init__N)rrrr>rrrrÚ_Factoryrsr?)r$r6r7Ú TypeErrorr )rr?r8rrrÚtest_no_for__factory_not_adaptspsz,Test_adapter.test_no_for__factory_not_adaptsc Csªddlm}Gdd„d|ƒ}Gdd„d|ƒ}ddlm}m}ddlm}||ƒ||ƒ|d ƒGd d „d tƒƒƒƒ}tƒ}|j||gƒ|j dd } |j | d dd ƒdS)Nr)r2c@s eZdZdS)z'Test_adapter.test_no_name..IFooN)rrrrrrrr4zsr4c@s eZdZdS)z'Test_adapter.test_no_name..IBarN)rrrrrrrr:|sr:)r1Únamed)Ú implementerÚbarc@seZdZdd„ZdS)z+Test_adapter.test_no_name.._FactorycSs ||_dS)N)r)rrrrrr>„sz4Test_adapter.test_no_name.._Factory.__init__N)rrrr>rrrrr?€sr?ér é) r5r2rr1rBrCr$r6r Ú_actionsÚ assertEqual) rr2r4r:r1rBrCr?r8ÚactionrrrÚ test_no_namexs   zTest_adapter.test_no_namecCsNddlm}ddlm}||ƒGdd„dtƒƒ}tƒ}|jt|j||gƒdS)Nr)r2)r1c@seZdZdd„ZdS)z]Test_adapter.test_no_for__factory_adapts_no_provides_factory_not_implements.._FactorycSs ||_dS)N)r)rrrrrr>‘szfTest_adapter.test_no_for__factory_adapts_no_provides_factory_not_implements.._Factory.__init__N)rrrr>rrrrr?sr?) r5r2Úzope.component._declarationr1r$r6r7r@r )rr2r1r?r8rrrÚ>test_no_for__factory_adapts_no_provides_factory_not_implementsŒs   zKTest_adapter.test_no_for__factory_adapts_no_provides_factory_not_implementsc Csddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}Gd d „d tƒ}tƒ}|j|||g||gd d |j t |j ƒd ƒ|j |j ddfƒ|j dd}|j |d|ƒ|j |dd|f|d fƒ|j |dddƒ|j |ddj |ƒ|j |dd|fƒ|j |dd |ƒ|j |ddd ƒ|j |dddƒ|j |j ddfƒ|j dd}|j |d|ƒ|j |ddƒ|j |dd|fƒ|j |j ddfƒ|j dd}|j |d|ƒ|j |ddƒ|j |dd|fƒdS)Nr)r2)ÚprovideInterface)r c@s eZdZdS)zCTest_adapter.test_multiple_factory_single_for__w_name..IFooN)rrrrrrrr4šsr4c@s eZdZdS)zBTest_adapter.test_multiple_factory_single_for__w_name..FooN)rrrrrrrr;œsr;c@s eZdZdS)zBTest_adapter.test_multiple_factory_single_for__w_name..BarN)rrrrrrrr<žsr<Útest)ÚnameérEÚcallableÚ discriminatorr1r ÚregisterAdapterérFéÚTESTINGÚ) r5r2Úzope.component.interfacerMr r r$r6r rHÚlenrGr%) rr2rMr r4r;r<r8rIrrrÚ(test_multiple_factory_single_for__w_name–s<    z5Test_adapter.test_multiple_factory_single_for__w_namec CsZddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||g||gd d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |dd|f|dfƒ|j |dddƒ|dd }|j t ||ƒƒ|j |jj|kƒ|j |dd|fƒ|j |dd |ƒ|j |dddƒ|j |dddƒdS)Nr)r2)ÚLocatingUntrustedAdapterFactory)r c@s eZdZdS)zFTest_adapter.test_single_factory_single_for_w_permission..IFooN)rrrrrrrr4Ásr4c@s eZdZdS)zETest_adapter.test_single_factory_single_for_w_permission..FooN)rrrrrrrr;Ãsr;Útesting)Ú permissionrPrErQrRr1rWr rSrTrFrUrV)r5r2Úzope.security.adapterr[r r r$r6r rHrYrGrÚ isinstancer%) rr2r[r r4r;r8rIÚ factory_proxyrrrÚ+test_single_factory_single_for_w_permission¼s,     z8Test_adapter.test_single_factory_single_for_w_permissionc CsXddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||g||gd d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |dd|f|dfƒ|j |dddƒ|dd }|j t ||ƒƒ|j |j|kƒ|j |dd|fƒ|j |dd |ƒ|j |dddƒ|j |dddƒdS)Nr)r2)r[)r c@s eZdZdS)zPTest_adapter.test_single_factory_single_for_w_locate_no_permission..IFooN)rrrrrrrr4ßsr4c@s eZdZdS)zOTest_adapter.test_single_factory_single_for_w_locate_no_permission..FooN)rrrrrrrr;ásr;T)ÚlocaterPrErQrRr1rWr rSrTrFrUrV)r5r2r^r[r r r$r6r rHrYrGrr_r%) rr2r[r r4r;r8rIr`rrrÚ5test_single_factory_single_for_w_locate_no_permissionÚs,     zBTest_adapter.test_single_factory_single_for_w_locate_no_permissionc CsXddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||g||gd d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |dd|f|dfƒ|j |dddƒ|dd }|j t ||ƒƒ|j |j|kƒ|j |dd|fƒ|j |dd |ƒ|j |dddƒ|j |dddƒdS)Nr)r2)ÚTrustedAdapterFactory)r c@s eZdZdS)zQTest_adapter.test_single_factory_single_for_w_trusted_no_permission..IFooN)rrrrrrrr4üsr4c@s eZdZdS)zPTest_adapter.test_single_factory_single_for_w_trusted_no_permission..FooN)rrrrrrrr;þsr;T)ÚtrustedrPrErQrRr1rWr rSrTrFrUrV)r5r2r^rdr r r$r6r rHrYrGrr_r%) rr2rdr r4r;r8rIr`rrrÚ6test_single_factory_single_for_w_trusted_no_permission÷s*     zCTest_adapter.test_single_factory_single_for_w_trusted_no_permissionc Csöddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}||ƒ||ƒGdd „d tƒƒƒ}tƒ}|j ||gƒ|j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |d d|f|dfƒ|j |dd||f|ddfƒdS)Nr)r2)rC)r1)r c@s eZdZdS)zUTest_adapter.test_no_for__no_provides_factory_adapts_factory_implements..IFooN)rrrrrrrr4sr4c@seZdZdd„ZdS)zYTest_adapter.test_no_for__no_provides_factory_adapts_factory_implements.._FactorycSs ||_dS)N)r)rrrrrr>szbTest_adapter.test_no_for__no_provides_factory_adapts_factory_implements.._Factory.__init__N)rrrr>rrrrr?sr?rPrErQrRr1rWr rSrV) r5r2rCrKr1r r r$r6r rHrYrG) rr2rCr1r r4r?r8rIrrrÚ:test_no_for__no_provides_factory_adapts_factory_implementss&        zGTest_adapter.test_no_for__no_provides_factory_adapts_factory_implementsN)rrrr r9r=rArJrLrZrrarcrfrgrrrrr0Qs  &   r0c@s8eZdZdd„ZeZdd„Zedd„ƒZedd„ƒZd S) ÚTest_zcml_functionalcCsddlm}|ƒdS)Nr)Ú clearZCML)Zzope.component.tests.examplesri)rrirrrÚsetUp/s zTest_zcml_functional.setUpcCs"ddlm}d|}|j|ƒdS)Nr)Ú xmlconfigzÅ %s )Zzope.configurationrkÚstring)rZsnippetrkÚtemplaterrrÚ _runSnippet4s z Test_zcml_functional._runSnippetc Csˆddlm}ddlm}ddlm}ddlm}m}ddl m }|j dƒ|ƒ}||ƒ}||ƒ} |j || ƒƒ|j t || ƒƒ|kƒdS)Nr)ÚisProxy)ÚremoveSecurityProxy)ÚContent)ÚI1ÚA1)Ú ProxyFactorya )Ú zope.proxyroÚzope.security.proxyrprrqÚ zope.component.testfiles.adapterrrrsÚzope.security.checkerrtrnrÚtype) rrorprqrrrsrtÚobÚpÚarrrÚ)test_with_proxy_factory_public_permission?s    z>Test_zcml_functional.test_with_proxy_factory_public_permissionc Csddlm}ddlm}ddlm}ddlm}ddlm }ddl m }|j dƒ|ƒ}||ƒ}||ƒ} |j || ƒƒ|j t|| ƒƒ|kƒdS) Nr)ro)rp)rq)rr)rt)Ú LocationProxya )rurorvrprrqrwrrrxrtZzope.location.locationr~rnrry) rrorprqrrrtr~rzr{r|rrrÚtest_located_proxy_factoryYs      z/Test_zcml_functional.test_located_proxy_factoryN) rrrrjZtearDownrnrr}rrrrrrh,s  rhc@speZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z e dd„ƒZ e dd„ƒZ e dd„ƒZdS)ÚTest_subscribercOsddlm}|||ŽS)Nr)Ú subscriber)r r)rr r rrrrr vs zTest_subscriber._callFUTcCs*ddlm}tƒ}|jt|j||fƒdS)Nr)r2)r5r2r6r7r@r )rr2r8rrrÚtest_no_factory_no_handlerzs z*Test_subscriber.test_no_factory_no_handlercCsHddlm}Gdd„d|ƒ}dd„}tƒ}|jt|j||f||ddS)Nr)r2c@s eZdZdS)zBTest_subscriber.test_no_factory_w_handler_w_provides..IFooN)rrrrrrrr4‚sr4cWsdS)Nr)r rrrÚ_handler„szFTest_subscriber.test_no_factory_w_handler_w_provides.._handler)r Úprovides)r5r2r6r7r@r )rr2r4rƒr8rrrÚ$test_no_factory_w_handler_w_provides€s  z4Test_subscriber.test_no_factory_w_handler_w_providescCsHddlm}Gdd„dtƒ}dd„}tƒ}|jt|j||f||ddS)Nr)r2c@s eZdZdS)z5Test_subscriber.test_w_factory_w_handler..FooN)rrrrrrrr;sr;cWsdS)Nr)r rrrrƒsz:Test_subscriber.test_w_factory_w_handler.._handler)r )r5r2r$r6r7r@r )rr2r;rƒr8rrrÚtest_w_factory_w_handler‹s  z(Test_subscriber.test_w_factory_w_handlercCs<ddlm}Gdd„dtƒ}tƒ}|jt|j||f|ƒdS)Nr)r2c@s eZdZdS)z7Test_subscriber.test_w_factory_no_provides..FooN)rrrrrrrr;˜sr;)r5r2r$r6r7r@r )rr2r;r8rrrÚtest_w_factory_no_provides–s  z*Test_subscriber.test_w_factory_no_providescCsLddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|jt|j|||ddS)Nr)r2c@s eZdZdS)zQTest_subscriber.test_w_factory_w_provides_no_for_factory_wo_adapter..IFooN)rrrrrrrr4 sr4c@s eZdZdS)zPTest_subscriber.test_w_factory_w_provides_no_for_factory_wo_adapter..FooN)rrrrrrrr;¢sr;)r%r„)r5r2r$r6r7r@r )rr2r4r;r8rrrÚ3test_w_factory_w_provides_no_for_factory_wo_adapteržs zCTest_subscriber.test_w_factory_w_provides_no_for_factory_wo_adaptercCs\ddlm}ddlm}ddlm}dd„}tƒ}|j||f|d|jt |j ƒdƒ|j|j ddfƒ|j dd}|j|d |ƒ|j|d dƒ|j|d dd ƒ|j|d d|ƒ|j|d d|fƒ|j|d d dƒ|j|d ddƒ|j|j ddfƒ|j dd}|j|d |ƒ|j|d dƒ|j|d d|fƒdS)Nr)r2)rM)r cWsdS)Nr)r rrrrƒ­szGTest_subscriber.test_no_factory_w_handler_no_provides.._handlerrTrErQrRr ZregisterHandlerrPrWrFrV) r5r2rXrMr r r6r rHrYrG)rr2rMr rƒr8rIrrrÚ%test_no_factory_w_handler_no_provides©s*   z5Test_subscriber.test_no_factory_w_handler_no_providesc Csêddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}d d „}tƒ}|j||f||d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d|ƒ|j |ddƒ|j |dddƒ|j |dd |ƒ|j |dd|fƒ|j |dd |ƒ|j |dddƒ|j |dddƒ|j |j d dfƒ|j d d }|j |d|ƒ|j |ddƒ|j |dd|fƒ|j |j ddfƒ|j dd }|j |d|ƒ|j |ddƒ|j |dd|fƒdS)Nr)r2)rM)r c@s eZdZdS)z7Test_subscriber.test_w_factory_w_provides..IFooN)rrrrrrrr4Çsr4c@s eZdZdS)z6Test_subscriber.test_w_factory_w_provides..FooN)rrrrrrrr;Ésr;cWsdS)Nr)r rrrrƒËsz;Test_subscriber.test_w_factory_w_provides.._handler)r„rPrErQrRr ÚregisterSubscriptionAdapterrTrFrWrUrV) r5r2rXrMr r r$r6r rHrYrG) rr2rMr r4r;rƒr8rIrrrÚtest_w_factory_w_providesÃs:   z)Test_subscriber.test_w_factory_w_providesc Cs ddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd „d tƒ}t ƒ}|j ||f||d d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d|ƒ|j |ddƒ|j |dddƒ|dd } |jt| |ƒƒ|j| jj|kƒ|j |dd|fƒ|j |dd |ƒ|j |dddƒ|j |dddƒ|j |j d dfƒ|j d d }|j |d|ƒ|j |ddƒ|j |dd|fƒ|j |j ddfƒ|j dd }|j |d|ƒ|j |ddƒ|j |dd|fƒdS)Nr)r2)r[)rM)r c@s eZdZdS)zDTest_subscriber.test_w_factory_w_provides_w_permission..IFooN)rrrrrrrr4îsr4c@s eZdZdS)zCTest_subscriber.test_w_factory_w_provides_w_permission..FooN)rrrrrrrr;ðsr;r\)r„r]rPrErQrRr rŠrTrFrWrUrV)r5r2r^r[rXrMr r r$r6r rHrYrGrr_r%) rr2r[rMr r4r;r8rIr`rrrÚ&test_w_factory_w_provides_w_permissionèsB       z6Test_subscriber.test_w_factory_w_provides_w_permissionc Csddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd „d tƒ}t ƒ}|j ||f||d d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d|ƒ|j |ddƒ|j |dddƒ|dd } |jt| |ƒƒ|j| j|kƒ|j |dd|fƒ|j |dd |ƒ|j |dddƒ|j |dddƒ|j |j d dfƒ|j d d }|j |d|ƒ|j |ddƒ|j |dd|fƒ|j |j ddfƒ|j dd }|j |d|ƒ|j |ddƒ|j |dd|fƒdS)Nr)r2)r[)rM)r c@s eZdZdS)zNTest_subscriber.test_w_factory_w_provides_wo_permission_w_locate..IFooN)rrrrrrrr4sr4c@s eZdZdS)zMTest_subscriber.test_w_factory_w_provides_wo_permission_w_locate..FooN)rrrrrrrr;sr;T)r„rbrPrErQrRr rŠrTrFrWrUrV)r5r2r^r[rXrMr r r$r6r rHrYrGrr_r%) rr2r[rMr r4r;r8rIr`rrrÚ0test_w_factory_w_provides_wo_permission_w_locates@     z@Test_subscriber.test_w_factory_w_provides_wo_permission_w_locatec Csddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd „d tƒ}t ƒ}|j ||f||d d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d|ƒ|j |ddƒ|j |dddƒ|dd } |jt| |ƒƒ|j| j|kƒ|j |dd|fƒ|j |dd |ƒ|j |dddƒ|j |dddƒ|j |j d dfƒ|j d d }|j |d|ƒ|j |ddƒ|j |dd|fƒ|j |j ddfƒ|j dd }|j |d|ƒ|j |ddƒ|j |dd|fƒdS)Nr)r2)rd)rM)r c@s eZdZdS)zOTest_subscriber.test_w_factory_w_provides_wo_permission_w_trusted..IFooN)rrrrrrrr4Csr4c@s eZdZdS)zNTest_subscriber.test_w_factory_w_provides_wo_permission_w_trusted..FooN)rrrrrrrr;Esr;T)r„rerPrErQrRr rŠrTrFrWrUrV)r5r2r^rdrXrMr r r$r6r rHrYrGrr_r%) rr2rdrMr r4r;r8rIr`rrrÚ1test_w_factory_w_provides_wo_permission_w_trusted=s@     zATest_subscriber.test_w_factory_w_provides_wo_permission_w_trustedN)rrrr r‚r…r†r‡rˆr‰r‹rrŒrrŽrrrrr€ts   % + *r€c@s`eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z e dd„ƒZ dS)Ú Test_utilitycOsddlm}|||ŽS)Nr)Úutility)r r)rr r rrrrr js zTest_utility._callFUTcCs4Gdd„dtƒ}t}tƒ}|jt|j|||ddS)Nc@s eZdZdS)z9Test_utility.test_w_factory_w_component.._FactoryN)rrrrrrrr?osr?)r%Ú component)r$r6r7r@r )rr?Ú _COMPONENTr8rrrÚtest_w_factory_w_componentns  z'Test_utility.test_w_factory_w_componentcCs.Gdd„dtƒ}tƒ}|jt|j||ddS)Nc@s eZdZdS)zOTest_utility.test_w_factory_wo_provides_factory_no_implements.._FactoryN)rrrrrrrr?xsr?)r%)r$r6r7r@r )rr?r8rrrÚ0test_w_factory_wo_provides_factory_no_implementswsz=Test_utility.test_w_factory_wo_provides_factory_no_implementscCs"t}tƒ}|jt|j||ddS)N)r‘)r$r6r7r@r )rr’r8rrrÚ2test_w_component_wo_provides_component_no_provides~sz?Test_utility.test_w_component_wo_provides_component_no_providescCsŠddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j|||d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |d d|dfƒ|j |dddƒ|j |dd dƒ|j |dd |ƒ|j |dddƒ|j |dddƒ|j |dd|iƒ|j |j d dfƒ|j d d }|j |d |ƒ|j |d dƒ|j |dd|fƒdS)Nr)r2)rM)r c@s eZdZdS)z4Test_utility.test_w_factory_w_provides..IFooN)rrrrrrrr4ˆsr4c@s eZdZdS)z3Test_utility.test_w_factory_w_provides..FooN)rrrrrrrr;Šsr;)r%r„rTrErQrRrrWr rrPrFrVr r%) r5r2rXrMr r r$r6r rHrYrG)rr2rMr r4r;r8rIrrrr‹„s.   z&Test_utility.test_w_factory_w_providesc Csœddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}||ƒGdd „d tƒƒ}tƒ}|j ||d |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |dd|dfƒ|j |dddƒ|j |dd dƒ|j |dd |ƒ|j |dddƒ|j |dddƒ|j |dd|iƒ|j |j d dfƒ|j d d }|j |d |ƒ|j |ddƒ|j |dd|fƒdS)Nr)r2)rC)rM)r c@s eZdZdS)zHTest_utility.test_w_factory_wo_provides_factory_implements..IFooN)rrrrrrrr4¦sr4c@s eZdZdS)zGTest_utility.test_w_factory_wo_provides_factory_implements..FooN)rrrrrrrr;¨sr;)r%rTrErQrRrrWr rrPrFrVr r%) r5r2rCrXrMr r r$r6r rHrYrG) rr2rCrMr r4r;r8rIrrrÚ-test_w_factory_wo_provides_factory_implements¡s2    z:Test_utility.test_w_factory_wo_provides_factory_implementscCsnddlm}ddlm}ddlm}Gdd„d|ƒ}tƒ}tƒ}|j||d|d|j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |d d |dfƒ|j |dddƒ|j |dd |ƒ|j |dd |ƒ|j |dddƒ|j |dddƒ|j |j d dfƒ|j d d }|j |d |ƒ|j |d dƒ|j |dd|fƒdS)Nr)r2)rM)r c@s eZdZdS)z=Test_utility.test_w_component_w_provides_w_name..IFooN)rrrrrrrr4Äsr4rN)r‘rOr„rTrErQrRrr rrPrFrVrW) r5r2rXrMr r r$r6r rHrYrG)rr2rMr r4r’r8rIrrrÚ"test_w_component_w_provides_w_nameÀs.    z/Test_utility.test_w_component_w_provides_w_namec Cs¸ddlm}m}m}ddlm}Gdd„d|ƒ}||ƒ|dƒGdd„dtƒƒƒ}|ƒ}tƒ}|j||d |j dd } |j | d d |ƒ|j | d d |ƒ|j | d d dƒdS)Nr)r2rCrB)r c@s eZdZdS)z?Test_utility.test_w_component_wo_provides_wo_name..IFooN)rrrrrrrr4ßsr4Úfooc@s eZdZdS)z>Test_utility.test_w_component_wo_provides_wo_name..FooN)rrrrrrrr;ásr;)r‘rEr rTrP) r5r2rCrBr r r$r6r rGrH) rr2rCrBr r4r;r˜r8rIrrrÚ$test_w_component_wo_provides_wo_nameÜs  z1Test_utility.test_w_component_wo_provides_wo_namec Csddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd „d tƒ}|ƒ}|||ƒtƒ}|j ||d |j t |j ƒd ƒ|j |j ddfƒ|j dd } |j | d |ƒ|j | dd|dfƒ|j | dddƒ|j | dd |ƒ|j | dd |ƒ|j | dddƒ|j | dddƒ|j |j d dfƒ|j d d } |j | d |ƒ|j | ddƒ|j | dd|fƒdS)Nr)r2)ÚdirectlyProvides)rM)r c@s eZdZdS)zJTest_utility.test_w_component_wo_provides_component_provides..IFooN)rrrrrrrr4òsr4c@s eZdZdS)zITest_utility.test_w_component_wo_provides_component_provides..FooN)rrrrrrrr;ôsr;)r‘rTrErQrRrrWr rrPrFrV) r5r2ršrXrMr r r$r6r rHrYrG) rr2ršrMr r4r;r’r8rIrrrÚ/test_w_component_wo_provides_component_providesís2     z.IFoocSsdS)Nr)rrrrrDszGTest_utility.test_w_component_w_provides_w_permission..IFoo.barN)rrrrDrrrrr4sr4c@seZdZdd„ZdS)zBTest_utility.test_w_component_w_provides_w_permission..FoocSsdS)Nr)rrrrrDszFTest_utility.test_w_component_w_provides_w_permission..Foo.barN)rrrrDrrrrr;sr;r\)r‘r„r]rTrErQrRrrWr rrDrPrFrV)r5r2rurœrXrMZzope.component.securityrr r r$r6r rHrYrGrr_Ú__Security_checker__Úget_permissions) rr2rœrMrr r4r;r’r8rIZcomponent_proxyrrrÚ(test_w_component_w_provides_w_permission s<         z5Test_utility.test_w_component_w_provides_w_permissionN)rrrr r“r”r•r‹r–r—r™r›rr rrrrrhs rc@s$eZdZdd„Zdd„Zdd„ZdS)ÚTest_interfacecOsddlm}|||ŽS)Nr)Ú interface)r r¢)rr r r¢rrrr 5s zTest_interface._callFUTcCsªddlm}ddlm}Gdd„d|ƒ}tƒ}|j||ƒ|jt|jƒdƒ|j|jddfƒ|jdd}|j|d|ƒ|j|ddƒ|j|d d |dfƒdS) Nr)r2)rMc@s eZdZdS)z1Test_interface.test_wo_name_wo_type..IFooN)rrrrrrrr4<sr4rErQrRr rW) r5r2rXrMr6r rHrYrG)rr2rMr4r8rIrrrÚtest_wo_name_wo_type9s   z#Test_interface.test_wo_name_wo_typecCsÀddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}tƒ}|j||d|d |jt|jƒd ƒ|j|jddfƒ|jdd }|j|d |ƒ|j|d dƒ|j|d d||fƒdS)Nr)r2)rMc@s eZdZdS)z/Test_interface.test_w_name_w_type..IFooN)rrrrrrrr4Jsr4c@s eZdZdS)z/Test_interface.test_w_name_w_type..IBarN)rrrrrrrr:Lsr:r˜)rOryrErQrRr ) r5r2rXrMr6r rHrYrG)rr2rMr4r:r8rIrrrÚtest_w_name_w_typeGs  z!Test_interface.test_w_name_w_typeN)rrrr r£r¤rrrrr¡3sr¡c@speZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z e dd„ƒZ e dd„ƒZ e dd„ƒZdS)Ú Test_viewcOsddlm}|||ŽS)Nr)Úview)r r¦)rr r r¦rrrr Zs zTest_view._callFUTc Cstddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gdd „d tƒ}tƒ}|j||j||f|d ||f|d dS) Nr)r2)r3c@s eZdZdS)zCTest_view.test_w_allowed_interface_wo_permission..IViewTypeN)rrrrrrrÚ IViewTypeasr§c@seZdZdd„Zdd„ZdS)z?Test_view.test_w_allowed_interface_wo_permission..IViewcSsdS)Nrrrrrr˜dszCTest_view.test_w_allowed_interface_wo_permission..IView.foocSsdS)NrrrrrrDfszCTest_view.test_w_allowed_interface_wo_permission..IView.barN)rrrr˜rDrrrrÚIViewcsr¨c@s$eZdZdd„Zdd„Zdd„ZdS)z?Test_view.test_w_allowed_interface_wo_permission.._ViewcSs ||_dS)N)r)rrrrrr>iszHTest_view.test_w_allowed_interface_wo_permission.._View.__init__cSsdS)Nrrrrrr˜kszCTest_view.test_w_allowed_interface_wo_permission.._View.foocSsdS)NrrrrrrDmszCTest_view.test_w_allowed_interface_wo_permission.._View.barN)rrrr>r˜rDrrrrÚ_Viewhsr©rW)Úfor_Úallowed_interface)r5r2r r3r$r6r7r )rr2r3r§r¨r©r8rrrÚ&test_w_allowed_interface_wo_permission^s  z0Test_view.test_w_allowed_interface_wo_permissionc Csdddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||j||f|d||fd d dS) Nr)r2)r3c@s eZdZdS)zDTest_view.test_w_allowed_attributes_wo_permission..IViewTypeN)rrrrrrrr§xsr§c@s$eZdZdd„Zdd„Zdd„ZdS)z@Test_view.test_w_allowed_attributes_wo_permission.._ViewcSs ||_dS)N)r)rrrrrr>{szITest_view.test_w_allowed_attributes_wo_permission.._View.__init__cSsdS)Nrrrrrr˜}szDTest_view.test_w_allowed_attributes_wo_permission.._View.foocSsdS)NrrrrrrDszDTest_view.test_w_allowed_attributes_wo_permission.._View.barN)rrrr>r˜rDrrrrr©zsr©rWr˜rD)rªÚallowed_attributes)r˜rD)r5r2r r3r$r6r7r )rr2r3r§r©r8rrrÚ'test_w_allowed_attributes_wo_permissionus  z1Test_view.test_w_allowed_attributes_wo_permissionc CsPddlm}ddlm}Gdd„d|ƒ}tƒ}|j||j|f|d||fddS)Nr)r2)r3c@s eZdZdS)z4Test_view.test_w_factory_as_empty..IViewTypeN)rrrrrrrr§Šsr§rW)rª)r5r2r r3r6r7r )rr2r3r§r8rrrÚtest_w_factory_as_empty‡s   z!Test_view.test_w_factory_as_emptyc Cstddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}Gdd „d tƒ}tƒ}|j||j|||f|d ||fd dS) Nr)r2)r3c@s eZdZdS)zBTest_view.test_w_multiple_factory_multiple_for_..IViewTypeN)rrrrrrrr§”sr§c@s eZdZdS)z.FooN)rrrrrrrr;–sr;c@s eZdZdS)z.BarN)rrrrrrrr<˜sr<rW)rª)r5r2r r3r$r6r7r )rr2r3r§r;r<r8rrrÚ%test_w_multiple_factory_multiple_for_‘s  z/Test_view.test_w_multiple_factory_multiple_for_c Cs^ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||j||f|dfd dS) Nr)r2)r3c@s eZdZdS)z1Test_view.test_w_for__as_empty..IViewTypeN)rrrrrrrr§¢sr§c@seZdZdd„ZdS)z-Test_view.test_w_for__as_empty.._ViewcSs ||_dS)N)r)rrrrrr>¥sz6Test_view.test_w_for__as_empty.._View.__init__N)rrrr>rrrrr©¤sr©rW)rª)r5r2r r3r$r6r7r )rr2r3r§r©r8rrrÚtest_w_for__as_emptyŸs  zTest_view.test_w_for__as_emptycCsLddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||f|d |fd |j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |dd||fd |fƒ|j |dddƒ|j |dd |ƒ|j |dd||fƒ|j |dd|ƒ|j |dd d ƒ|j |dddƒ|j |j d dfƒ|j d d }|j |d |ƒ|j |ddƒ|j |dd|fƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |ddƒ|j |dd|fƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |ddƒ|j |dd|fƒdS)Nr)r2)r )rMc@s eZdZdS)zSTest_view.test_w_single_factory_single_for__wo_permission_w_name..IViewTypeN)rrrrrrrr§°sr§c@seZdZdd„ZdS)zOTest_view.test_w_single_factory_single_for__wo_permission_w_name.._ViewcSs ||_dS)N)r)rrrrrr>³szXTest_view.test_w_single_factory_single_for__wo_permission_w_name.._View.__init__N)rrrr>rrrrr©²sr©rN)rªrFrErQrRr¦r rSrTrPrUrVrW) r5r2r r rXrMr$r6r rHrYrG)rr2r rMr§r©r8rIrrrÚ6test_w_single_factory_single_for__wo_permission_w_name¬sD    z@Test_view.test_w_single_factory_single_for__wo_permission_w_namec Csšddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}Gdd „d tƒ}tƒ}|j|||g|d |fd |j|jddfƒ|jdd }|j|d |ƒ|j|dd||fd |fƒ|j|dddƒ|dd }|j |j |kƒtƒ} tƒ} || | ƒ} |j t | |ƒƒ|j | j | kƒ|j t | j |ƒƒ|j | j j | kƒ|j|dd||fƒ|j|dd|ƒ|j|ddd ƒ|j|dddƒdS)Nr)r2)r c@s eZdZdS)zNTest_view.test_w_multiple_factory_single_for__wo_permission..IViewTypeN)rrrrrrrr§Ùsr§c@seZdZdd„ZdS)zJTest_view.test_w_multiple_factory_single_for__wo_permission.._ViewcSs ||_dS)N)r)rrrrrr>ÜszSTest_view.test_w_multiple_factory_single_for__wo_permission.._View.__init__N)rrrr>rrrrr©Ûsr©c@seZdZdd„ZdS)zKTest_view.test_w_multiple_factory_single_for__wo_permission.._View2cSs||_||_dS)N)rÚrequest)rrr³rrrr>ßszTTest_view.test_w_multiple_factory_single_for__wo_permission.._View2.__init__N)rrrr>rrrrÚ_View2Þsr´rW)rªrErQrRr¦r rSrTrPrFrUrV)r5r2r r r$r6r rHrGrr%r_r³r) rr2r r§r©r´r8rIr%rr³r¦rrrÚ1test_w_multiple_factory_single_for__wo_permissionÖs6      z;Test_view.test_w_multiple_factory_single_for__wo_permissionc Csfddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||g|d|fd d |j|jddfƒ|jdd }|j|d |ƒ|j|d d||fd|fƒ|j|dddƒ|dd }tƒ}tƒ} ||| ƒ} |j | j |kƒ|j | j | kƒ|j |j |kƒ|j|dd||fƒ|j|dd|ƒ|j|dddƒ|j|dddƒdS)Nr)r2)r c@s eZdZdS)zKTest_view.test_w_single_factory_single_for__w_permission..IViewTypeN)rrrrrrrr§þsr§c@seZdZdd„ZdS)zGTest_view.test_w_single_factory_single_for__w_permission.._ViewcSs||_||_dS)N)rr³)rrr³rrrr>szPTest_view.test_w_single_factory_single_for__w_permission.._View.__init__N)rrrr>rrrrr©sr©rWr\)rªr]rErQrRr¦r rSrTrPrFrUrV) r5r2r r r$r6r rHrGrrr³r%) rr2r r§r©r8rIr%rr³r¦rrrÚ.test_w_single_factory_single_for__w_permissionús0     z8Test_view.test_w_single_factory_single_for__w_permissionc Csæddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||g|d|fd dd |j|jddfƒ|jdd }|j|d |ƒ|j|dd||fd|fƒ|j|dddƒ|dd }|j }|j|j d d iƒdS)Nr)r2)r c@s eZdZdS)z]Test_view.test_w_single_factory_single_for__w_permission_and_allowed_attrs..IViewTypeN)rrrrrrrr§sr§c@seZdZdd„Zdd„ZdS)zYTest_view.test_w_single_factory_single_for__w_permission_and_allowed_attrs.._ViewcSs||_||_dS)N)rr³)rrr³rrrr>!szbTest_view.test_w_single_factory_single_for__w_permission_and_allowed_attrs.._View.__init__cSsdS)Nr)rrrrrD$sz]Test_view.test_w_single_factory_single_for__w_permission_and_allowed_attrs.._View.barN)rrrr>rDrrrrr© sr©rWr\rD)rªr]r­rErQrRr¦r rS)rD) r5r2r r r$r6r rHrGÚcheckerrŸ) rr2r r§r©r8rIr%r·rrrÚ@test_w_single_factory_single_for__w_permission_and_allowed_attrss      zJTest_view.test_w_single_factory_single_for__w_permission_and_allowed_attrsc Csèddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||g|d|fd |fd |j|jddfƒ|jdd }|j|d |ƒ|j|d d||fd|fƒ|j|dddƒ|dd }|j }|j|j dd iƒdS)Nr)r2)r c@seZdZdd„ZdS)z]Test_view.test_w_single_factory_single_for__w_permission_and_allowed_iface..IViewTypecSsdS)Nr)rrrrrD9szaTest_view.test_w_single_factory_single_for__w_permission_and_allowed_iface..IViewType.barN)rrrrDrrrrr§8sr§c@seZdZdd„Zdd„ZdS)zYTest_view.test_w_single_factory_single_for__w_permission_and_allowed_iface.._ViewcSs||_||_dS)N)rr³)rrr³rrrr><szbTest_view.test_w_single_factory_single_for__w_permission_and_allowed_iface.._View.__init__cSsdS)Nr)rrrrrD?sz]Test_view.test_w_single_factory_single_for__w_permission_and_allowed_iface.._View.barN)rrrr>rDrrrrr©;sr©rWr\)rªr]r«rErQrRr¦r rSrD) r5r2r r r$r6r rHrGr·rŸ) rr2r r§r©r8rIr%r·rrrÚ@test_w_single_factory_single_for__w_permission_and_allowed_iface4s      zJTest_view.test_w_single_factory_single_for__w_permission_and_allowed_ifaceN)rrrr r¬r®r¯r°r±r²rµrr¶r¸r¹rrrrr¥Xs  *$ r¥c@s8eZdZdd„Zdd„Zdd„Zdd„Zed d „ƒZd S) Ú Test_resourcecOsddlm}|||ŽS)Nr)Úresource)r r»)rr r r»rrrr Rs zTest_resource._callFUTc Csnddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gdd „d tƒ}tƒ}|j||j||f|d |d dS) Nr)r2)r3c@s eZdZdS)zKTest_resource.test_w_allowed_interface_wo_permission..IResourceTypeN)rrrrrrrÚ IResourceTypeYsr¼c@seZdZdd„Zdd„ZdS)zCTest_resource.test_w_allowed_interface_wo_permission..IViewcSsdS)Nrrrrrr˜\szGTest_resource.test_w_allowed_interface_wo_permission..IView.foocSsdS)NrrrrrrD^szGTest_resource.test_w_allowed_interface_wo_permission..IView.barN)rrrr˜rDrrrrr¨[sr¨c@s$eZdZdd„Zdd„Zdd„ZdS)zGTest_resource.test_w_allowed_interface_wo_permission.._ResourcecSs ||_dS)N)r)rrrrrr>aszPTest_resource.test_w_allowed_interface_wo_permission.._Resource.__init__cSsdS)Nrrrrrr˜cszKTest_resource.test_w_allowed_interface_wo_permission.._Resource.foocSsdS)NrrrrrrDeszKTest_resource.test_w_allowed_interface_wo_permission.._Resource.barN)rrrr>r˜rDrrrrÚ _Resource`sr½rW)r«)r5r2r r3r$r6r7r )rr2r3r¼r¨r½r8rrrr¬Vs   z4Test_resource.test_w_allowed_interface_wo_permissionc Cs^ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j||j||f|dd d dS) Nr)r2)r3c@s eZdZdS)zLTest_resource.test_w_allowed_attributes_wo_permission..IResourceTypeN)rrrrrrrr¼psr¼c@s$eZdZdd„Zdd„Zdd„ZdS)zHTest_resource.test_w_allowed_attributes_wo_permission.._ResourcecSs ||_dS)N)r)rrrrrr>sszQTest_resource.test_w_allowed_attributes_wo_permission.._Resource.__init__cSsdS)Nrrrrrr˜uszLTest_resource.test_w_allowed_attributes_wo_permission.._Resource.foocSsdS)NrrrrrrDwszLTest_resource.test_w_allowed_attributes_wo_permission.._Resource.barN)rrrr>r˜rDrrrrr½rsr½rWr˜rD)r­)r˜rD)r5r2r r3r$r6r7r )rr2r3r¼r½r8rrrr®ms   z5Test_resource.test_w_allowed_attributes_wo_permissioncCsæddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j|||d ƒ|j t |j ƒd ƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |d dd ||fƒ|j |dddƒ|j |dd |ƒ|j |dd|fƒ|j |dd |ƒ|j |ddd ƒ|j |dddƒ|j |j d dfƒ|j d d }|j |d |ƒ|j |d dƒ|j |dd|fƒ|j |j ddfƒ|j dd }|j |d |ƒ|j |d dƒ|j |dd|fƒdS)Nr)r2)rM)r c@s eZdZdS)z>Test_resource.test_wo_permission_w_name..IResourceTypeN)rrrrrrrr¼ƒsr¼c@s$eZdZdd„Zdd„Zdd„ZdS)z:Test_resource.test_wo_permission_w_name.._ResourcecSs ||_dS)N)r)rrrrrr>†szCTest_resource.test_wo_permission_w_name.._Resource.__init__cSsdS)Nrrrrrr˜ˆsz>Test_resource.test_wo_permission_w_name.._Resource.foocSsdS)NrrrrrrDŠsz>Test_resource.test_wo_permission_w_name.._Resource.barN)rrrr>r˜rDrrrrr½…sr½rNrPrErQrRr»r rSrTrFrUrVrW) r5r2rXrMr r r$r6r rHrYrG)rr2rMr r¼r½r8rIrrrÚtest_wo_permission_w_names:    z'Test_resource.test_wo_permission_w_namec Csnddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}tƒ}|j|||dd dd |jt|j ƒd ƒ|j|j ddfƒ|j dd }|j|d|ƒ|j|ddd||fƒ|j|dddƒ|dd }|j |j |kƒtƒ}||ƒ} | j } |j| j d d iƒ|j | j|kƒ|j|dd|fƒ|j|dd |ƒ|j|dddƒ|j|dddƒdS)Nr)r2)r c@s eZdZdS)z6Test_resource.test_w_permission..IResourceTypeN)rrrrrrrr¼¬sr¼c@s$eZdZdd„Zdd„Zdd„ZdS)z2Test_resource.test_w_permission.._ResourcecSs ||_dS)N)r)rrrrrr>¯sz;Test_resource.test_w_permission.._Resource.__init__cSsdS)Nrrrrrr˜±sz6Test_resource.test_w_permission.._Resource.foocSsdS)NrrrrrrD³sz6Test_resource.test_w_permission.._Resource.barN)rrrr>r˜rDrrrrr½®sr½rNr\r˜)r]r­rPrErQrRr»r rSrTrFrUrV)r˜)r5r2r r r$r6r rHrYrGrr%ržrŸr) rr2r r¼r½r8rIr%rr»r·rrrÚtest_w_permission¨s2      zTest_resource.test_w_permissionN) rrrr r¬r®r¾rr¿rrrrrºPs )rºcCsGdd„dtƒ}|ƒS)Nc@s eZdZdZdd„Zdd„ZdS)z$_makeConfigContext.._ContextrVcSs g|_dS)N)rG)rrrrr>Ðsz-_makeConfigContext.._Context.__init__c_s|jj||fƒdS)N)rGÚappend)rr r rrrrIÒsz+_makeConfigContext.._Context.actionN)rrrÚinfor>rIrrrrÚ_ContextÎsrÂ)r$)rÂrrrr6Ísr6c CsRtjtjtƒtjtƒtjtƒtjtƒtjtƒtjtƒtjt ƒtjt ƒtjt ƒf ƒS)N) ÚunittestZ TestSuiteZ makeSuiterrr0r€rr¡r¥rºrhrrrrÚ test_suiteÖsrÄ)Ú__doc__rÃrZTestCaserrr0rhr€rr¡r¥rºr6rÄrrrrÚs"\HuL%y}