+
    -½i”  ã                   óÆ   € R t ^ RIt^ RIt ! R R]P                  4      tRt ! R R]P                  4      t ! R R]P                  4      t ! R	 R
]P                  4      tR# )as  Tests for advice

This module was adapted from 'protocols.tests.advice', part of the Python
Enterprise Application Kit (PEAK).  Please notify the PEAK authors
(pje@telecommunity.com and tsarna@sarna.org) if bugs are found or
Zope-specific changes are required, so that the PEAK version of this module
can be kept in sync.

PEAK is a Python application framework that interoperates with (but does
not require) Zope 3 and Twisted.  It provides tools for manipulating UML
models, object-relational persistence, aspect-oriented programming, and more.
Visit the PEAK home page at http://peak.telecommunity.com for more information.
Nc                   ó8   a € ] tR t^ t o R tR tR tR tRtV t	R# )ÚFrameInfoTestc                ó´   € ^ RI Hp VP                  w  r#rEV P                  VR4       VP                  WE3 F  pV P                  WaP                  4       K   	  R# )é    ©Úadvisory_testingÚmoduleN)Úzope.interface.testsr   ÚmoduleLevelFrameInfoÚassertEqualÚ__dict__ÚassertIsÚ
my_globals©Úselfr   Úkindr   Úf_localsÚ	f_globalsÚds   &      ÚB/usr/lib/python3/dist-packages/zope/interface/tests/test_advice.pyÚtest_w_moduleÚFrameInfoTest.test_w_module"   sM   € Ý9à 0× EÑ Eñ	ˆØ	Ø×Ñ˜˜xÔ(Ø—‘ (Ó5ˆAØ�M‰M˜!×8Ñ8Ö9ó 6ó    c                óÌ   € ^ RI Hp VP                  P                  w  ppppV P	                  VR4       VP
                  V3 F  pV P                  WaP                  4       K   	  R# )r   r   ÚclassN)r	   r   ÚNewStyleClassÚclassLevelFrameInfor   r   r   r   r   s   &      r   Útest_w_classÚFrameInfoTest.test_w_class*   s[   € Ý9ð '×4Ñ4×HÑHñ	ˆØ	Ø	Ø	Ø×Ñ˜˜wÔ'à—‘ )Ó+ˆAØ�M‰M˜!×8Ñ8Ö9ó ,r   c                ód  € ^ RI Hp V! \        P                  ! 4       4      w  r#rEV P	                  VR4       \        P                  ! 4       pV P	                  WFP
                  4       V P	                  V\        4       4       VP                  V3 F  pV P                  V\        4       4       K  	  R# )r   ©ÚgetFrameInfozfunction callN)
Úzope.interface.advicer!   ÚsysÚ	_getframer   r   Úlocalsr   r   Úglobals)r   r!   r   r   r   r   Úframer   s   &       r   Útest_inside_function_callÚ'FrameInfoTest.test_inside_function_call5   s|   € Ý6Ù,8¼¿º»Ó,IÑ)ˆ�hØ×Ñ˜˜Ô/ä—’“ˆØ×Ñ˜§>¡>Ô2Ø×Ñ˜¤6£8Ô,à—‘ )Ó+ˆAØ�M‰M˜!œW›YÖ'ó ,r   c                ó  € ^ RI Hp RV/p/ p\        \        W#4       V P	                  VR,          R4       V P                  VR,          V4       V P                  VR,          4       V P                  VR,          V4       R# )	r   r    r!   r   Úexecr   r   r   N)r"   r!   r+   Ú_FUNKY_EXECr   r   ÚassertIsNone)r   r!   Ú_globalsÚ_localss   &   r   Útest_inside_execÚFrameInfoTest.test_inside_execA   sk   € Ý6Ø" LÐ1ˆØˆÜŒ[˜(Ô,Ø×Ñ˜ �¨&Ô1Ø�‰�g˜jÕ)¨7Ô3Ø×Ñ˜' (Õ+Ô,Ø�‰�g˜kÕ*¨HÖ5r   © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r(   r0   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r       s   ø‡ € ò:ò	:ò
(÷6ð 6r   r   zMimport sys
kind, module, f_locals, f_globals = getFrameInfo(sys._getframe())
c                   ó8   a € ] tR t^Rt o R tR tR tR tRtV t	R# )ÚTest_isClassAdvisorc                ó   € ^ RI Hp V! V/ VB # )r   )ÚisClassAdvisor)r"   r>   )r   ÚargsÚkwr>   s   &*, r   Ú_callFUTÚTest_isClassAdvisor._callFUTT   s   € Ý8Ù˜tÐ* rÑ*Ð*r   c                óH   € V P                  V P                  V 4      R 4       R# )FN©r   rA   ©r   s   &r   Útest_w_non_functionÚ'Test_isClassAdvisor.test_w_non_functionX   s   € Ø×Ñ˜Ÿ™ tÓ,¨eÖ4r   c                óN   € R  pV P                  V P                  V4      R4       R# )c                  ó   € \        4       h©N©ÚNotImplementedErrorr2   r   r   ÚfooÚ7Test_isClassAdvisor.test_w_normal_function.<locals>.foo]   ó   € Ü%Ó'Ð'r   FNrD   )r   rM   s   & r   Útest_w_normal_functionÚ*Test_isClassAdvisor.test_w_normal_function[   s"   € ò	(ð 	×Ñ˜Ÿ™ sÓ+¨UÖ3r   c                ól   € R  p\        4       Vn        V P                  V P                  V4      R4       R# )c                  ó   € \        4       hrJ   rK   r2   r   r   ÚbarÚ8Test_isClassAdvisor.test_w_advisor_function.<locals>.bard   rO   r   TN)ÚobjectÚpreviousMetaclassr   rA   )r   rT   s   & r   Útest_w_advisor_functionÚ+Test_isClassAdvisor.test_w_advisor_functionb   s,   € ò	(ô !'£ˆÔØ×Ñ˜Ÿ™ sÓ+¨TÖ2r   r2   N)
r3   r4   r5   r6   rA   rF   rP   rX   r7   r8   r9   s   @r   r<   r<   R   s   ø‡ € ò+ò5ò4÷3ð 3r   r<   c                   óD   a € ] tR t^kt o R tR tR tR tR tR t	Rt
V tR# )	ÚTest_determineMetaclassc                ó   € ^ RI Hp V! V/ VB # )r   )ÚdetermineMetaclass)r"   r]   )r   r?   r@   r]   s   &*, r   rA   Ú Test_determineMetaclass._callFUTm   s   € Ý<Ù! 4Ð.¨2Ñ.Ð.r   c                óh   €  ! R  R\         4      pV P                  V P                  RV4      V4       R# )c                   ó   € ] tR t^stRtR# )ÚDTest_determineMetaclass.test_empty_w_explicit_metatype.<locals>.Metar2   N©r3   r4   r5   r6   r7   r2   r   r   ÚMetara   s   ó   † Ûr   rc   Nr2   ©Útyper   rA   ©r   rc   s   & r   Útest_empty_w_explicit_metatypeÚ6Test_determineMetaclass.test_empty_w_explicit_metatypeq   s+   € ô	”4ô 	ð 	×Ñ˜Ÿ™ r¨4Ó0°$Ö7r   c                óp   €  ! R  R\         4      pV P                  V P                  V34      \         4       R# )c                   ó   € ] tR t^ztRtR# )Ú1Test_determineMetaclass.test_single.<locals>.Metar2   Nrb   r2   r   r   rc   rl   z   rd   r   rc   Nre   rg   s   & r   Útest_singleÚ#Test_determineMetaclass.test_singlex   s+   € ô	”4ô 	ð 	×Ñ˜Ÿ™¨ wÓ/´Ö6r   c                ó”   €  ! R  R\         4      p ! R R\         VR7      pV P                  V P                  V\         34      V4       R# )c                   ó   € ] tR t^�tRtR# )Ú<Test_determineMetaclass.test_meta_of_class.<locals>.Metametar2   Nrb   r2   r   r   ÚMetametarq   �   rd   r   rr   c                   ó   € ] tR t^„tRtR# )Ú8Test_determineMetaclass.test_meta_of_class.<locals>.Metar2   Nrb   r2   r   r   rc   rt   „   rd   r   rc   ©Ú	metaclassNre   )r   rr   rc   s   &  r   Útest_meta_of_classÚ*Test_determineMetaclass.test_meta_of_class   s;   € ô	”tô 	ô	”4 8õ 	ð 	×Ñ˜Ÿ™¨¬d |Ó4°hÖ?r   c                óÂ   €  ! R  R\         4      p ! R RV4      p ! R R\         VR7      p ! R R\         VR7      pV P                  V P                  W434      V4       R	# )
c                   ó   € ] tR t^‹tRtR# )ÚGTest_determineMetaclass.test_multiple_in_hierarchy_py3k.<locals>.Meta_Ar2   Nrb   r2   r   r   ÚMeta_Ar{   ‹   rd   r   r|   c                   ó   € ] tR t^ŽtRtR# )ÚGTest_determineMetaclass.test_multiple_in_hierarchy_py3k.<locals>.Meta_Br2   Nrb   r2   r   r   ÚMeta_Br~   Ž   rd   r   r   c                   ó   € ] tR t^‘tRtR# )ÚBTest_determineMetaclass.test_multiple_in_hierarchy_py3k.<locals>.Ar2   Nrb   r2   r   r   ÚAr�   ‘   rd   r   r‚   ru   c                   ó   € ] tR t^”tRtR# )ÚBTest_determineMetaclass.test_multiple_in_hierarchy_py3k.<locals>.Br2   Nrb   r2   r   r   ÚBr„   ”   rd   r   r…   Nre   ©r   r|   r   r‚   r…   s   &    r   Útest_multiple_in_hierarchy_py3kÚ7Test_determineMetaclass.test_multiple_in_hierarchy_py3k‰   sS   € ô	”Tô 	ô	�Vô 	ô	” õ 	ô	” õ 	ð 	×Ñ˜Ÿ™¨ vÓ.°Ö7r   c                óÊ   €  ! R  R\         4      p ! R R\         4      p ! R R\         VR7      p ! R R\         VR7      pV P                  \        V P                  W434       R	# )
c                   ó   € ] tR t^›tRtR# )ÚKTest_determineMetaclass.test_multiple_not_in_hierarchy_py3k.<locals>.Meta_Ar2   Nrb   r2   r   r   r|   r‹   ›   rd   r   r|   c                   ó   € ] tR t^žtRtR# )ÚKTest_determineMetaclass.test_multiple_not_in_hierarchy_py3k.<locals>.Meta_Br2   Nrb   r2   r   r   r   r�   ž   rd   r   r   c                   ó   € ] tR t^¡tRtR# )ÚFTest_determineMetaclass.test_multiple_not_in_hierarchy_py3k.<locals>.Ar2   Nrb   r2   r   r   r‚   r�   ¡   rd   r   r‚   ru   c                   ó   € ] tR t^¤tRtR# )ÚFTest_determineMetaclass.test_multiple_not_in_hierarchy_py3k.<locals>.Br2   Nrb   r2   r   r   r…   r‘   ¤   rd   r   r…   N)rf   ÚassertRaisesÚ	TypeErrorrA   r†   s   &    r   Ú#test_multiple_not_in_hierarchy_py3kÚ;Test_determineMetaclass.test_multiple_not_in_hierarchy_py3k™   sP   € ô	”Tô 	ô	”Tô 	ô	” õ 	ô	” õ 	ð 	×Ñœ) T§]¡]°Q°FÖ;r   r2   N)r3   r4   r5   r6   rA   rh   rm   rw   r‡   r”   r7   r8   r9   s   @r   r[   r[   k   s)   ø‡ € ò/ò8ò7ò@ò8÷ <ð <r   r[   c                   óD   a € ] tR t^ªt o R tR tR tR tR tR t	Rt
V tR# )	ÚTest_minimalBasesc                ó   € ^ RI Hp V! V4      # )r   )ÚminimalBases)r"   r™   )r   Úklassesr™   s   && r   rA   ÚTest_minimalBases._callFUT¬   s   € Ý6Ù˜GÓ$Ð$r   c                óH   € V P                  V P                  . 4      . 4       R # rJ   rD   rE   s   &r   Ú
test_emptyÚTest_minimalBases.test_empty°   s   € Ø×Ñ˜Ÿ™ rÓ*¨BÖ/r   c                ó\   € V P                  V P                  \        .4      \        .4       R # rJ   )r   rA   rf   rE   s   &r   Útest_w_newstyle_metaÚ&Test_minimalBases.test_w_newstyle_meta³   s   € Ø×Ñ˜Ÿ™¬ vÓ.´°Ö7r   c                ó`   €  ! R  R4      pV P                  V P                  V.4      V.4       R# )c                   ó   € ] tR t^¸tRtR# )Ú2Test_minimalBases.test_w_newstyle_class.<locals>.Cr2   Nrb   r2   r   r   ÚCr¤   ¸   rd   r   r¥   NrD   )r   r¥   s   & r   Útest_w_newstyle_classÚ'Test_minimalBases.test_w_newstyle_class¶   s+   € ÷	ñ 	ð 	×Ñ˜Ÿ™¨ sÓ+¨a¨SÖ1r   c                ó¼  €  ! R  R4      p ! R RV4      p ! R RV4      p ! R R4      pV P                  V P                  WV.4      V.4       V P                  V P                  W.4      V.4       V P                  V P                  W#.4      V.4       V P                  V P                  W.4      V.4       V P                  V P                  WBV.4      W$.4       R# )	c                   ó   € ] tR t^¿tRtR# )Ú@Test_minimalBases.test_simple_hierarchy_skips_implied.<locals>.Ar2   Nrb   r2   r   r   r‚   rª   ¿   rd   r   r‚   c                   ó   € ] tR t^ÂtRtR# )Ú@Test_minimalBases.test_simple_hierarchy_skips_implied.<locals>.Br2   Nrb   r2   r   r   r…   r¬   Â   rd   r   r…   c                   ó   € ] tR t^ÅtRtR# )Ú@Test_minimalBases.test_simple_hierarchy_skips_implied.<locals>.Cr2   Nrb   r2   r   r   r¥   r®   Å   rd   r   r¥   c                   ó   € ] tR t^ÈtRtR# )Ú@Test_minimalBases.test_simple_hierarchy_skips_implied.<locals>.Dr2   Nrb   r2   r   r   ÚDr°   È   rd   r   r±   NrD   )r   r‚   r…   r¥   r±   s   &    r   Ú#test_simple_hierarchy_skips_impliedÚ5Test_minimalBases.test_simple_hierarchy_skips_implied½   sÅ   € ÷	ñ 	ô	�ô 	ô	�ô 	÷	ñ 	ð 	×Ñ˜Ÿ™¨¨a yÓ1°A°3Ô7Ø×Ñ˜Ÿ™¨ vÓ.°°Ô4Ø×Ñ˜Ÿ™¨ vÓ.°°Ô4Ø×Ñ˜Ÿ™¨ vÓ.°°Ô4Ø×Ñ˜Ÿ™¨¨a yÓ1°A°6Ö:r   c                óv   €  ! R  R4      p ! R R4      pV P                  V P                  WV.4      W!.4       R# )c                   ó   € ] tR t^ÓtRtR# )Ú@Test_minimalBases.test_repeats_kicked_to_end_of_queue.<locals>.Ar2   Nrb   r2   r   r   r‚   r¶   Ó   rd   r   r‚   c                   ó   € ] tR t^ÖtRtR# )Ú@Test_minimalBases.test_repeats_kicked_to_end_of_queue.<locals>.Br2   Nrb   r2   r   r   r…   r¸   Ö   rd   r   r…   NrD   )r   r‚   r…   s   &  r   Ú#test_repeats_kicked_to_end_of_queueÚ5Test_minimalBases.test_repeats_kicked_to_end_of_queueÑ   s7   € ÷	ñ 	÷	ñ 	ð 	×Ñ˜Ÿ™¨¨a yÓ1°A°6Ö:r   r2   N)r3   r4   r5   r6   rA   r�   r    r¦   r²   r¹   r7   r8   r9   s   @r   r—   r—   ª   s(   ø‡ € ò%ò0ò8ò2ò;÷(;ð ;r   r—   )	Ú__doc__r#   ÚunittestÚTestCaser   r,   r<   r[   r—   r2   r   r   Ú<module>r¾      sc   ðñó Û ô)6�H×%Ñ%ô )6ðX€ô3˜(×+Ñ+ô 3ô2<<˜h×/Ñ/ô <<ô~/;˜×)Ñ)ö /;r   