+
    üÐjê  ã                   óÄ   € R t ^ RIt^ RIt^ RIHtHt ^ RIHt  ! R R4      t ! R R4      t	R R	 lt
R
 t ! R R]P                  4      t ! R R]P                  4      tR# )z(
Tests for L{twisted.persisted.styles}.
N)Ú_UniversalPicklingErrorÚunpickleMethod)Úunittestc                   ó<   a € ] tR t^t o RtV 3R lR ltR tRtV tR# )ÚFooú
Helper class.
c                ó   <€ V ^8„  d   QhRR/# ©é   ÚreturnN© )ÚformatÚ__classdict__s   "€ÚD/usr/lib/python3/dist-packages/twisted/persisted/test/test_styles.pyÚ__annotate__ÚFoo.__annotate__   s   ø€ ÷ ,ñ ,˜$ñ ,ó    c                ó   € R V n         R# )ú
test-valueN©Úinstance_member©Úselfs   &r   Ú__init__ÚFoo.__init__   s
   € Ø+ˆÖr   c                ó   € V P                   # )z
Helper method.
r   r   s   &r   ÚmethodÚ
Foo.method   s   € ð ×#Ñ#Ð#r   r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s   ø‡ € ñ÷,ð ,÷$ð $r   r   c                   ó   € ] tR t^tRtRtR# )ÚBarr   r   N)r   r   r    r!   r"   r#   r   r   r   r'   r'      s   † õr   r'   c                ó   € V ^8„  d   QhRR/# r	   r   )r   s   "r   r   r   $   s   € ÷ ñ ˜ñ r   c                 ó   € R# )z!
A sample function for pickling.
Nr   r   r   r   ÚsampleFunctionr*   $   s   ‚ r   c                 ó   € V # )Nr   )Úxs   &r   Ú<lambda>r-   *   s   € ™!r   c                   ó<   a € ] tR t^-t o RtR tV 3R lR ltRtV tR# )ÚUniversalPicklingErrorTestsz1
Tests the L{_UniversalPicklingError} exception.
c                ó   € \         h)z"
Raise L{UniversalPicklingError}.
)r   r   s   &r   Úraise_UniversalPicklingErrorÚ8UniversalPicklingErrorTests.raise_UniversalPicklingError2   s
   € ô &Ð%r   c                ó   <€ V ^8„  d   QhRR/# r	   r   )r   r   s   "€r   r   Ú(UniversalPicklingErrorTests.__annotate__8   s   ø€ ÷ Sñ S¨Dñ Sr   c                óZ   € V P                  \        P                  V P                  4       R# )zF
Handling L{pickle.PicklingError} handles
L{_UniversalPicklingError}.
N)ÚassertRaisesÚpickleÚPicklingErrorr1   r   s   &r   Útest_handledByPickleModuleÚ6UniversalPicklingErrorTests.test_handledByPickleModule8   s    € ð
 	×Ñœ&×.Ñ.°×0QÑ0QÖRr   r   N)	r   r   r    r!   r"   r1   r9   r#   r$   r%   s   @r   r/   r/   -   s   ø‡ € ñò&÷Sö Sr   r/   c                   ó�   a € ] tR t^@t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
RtV tR# )ÚUnpickleMethodTestsz(
Tests for the unpickleMethod function.
c                ó   <€ V ^8„  d   QhRR/# r	   r   )r   r   s   "€r   r   Ú UnpickleMethodTests.__annotate__E   s   ø€ ÷ (ñ (°$ñ (r   c                ó¨   € \        4       p\        RV\         4      pV P                  W!P                  4       V P	                  W!P                  4       R# )zR
L{unpickleMethod} returns an instance method bound to the
instance passed to it.
r   N)r   r   ÚassertEqualr   ÚassertIsNot©r   ÚfooÚms   &  r   Ú test_instanceBuildingNamePresentÚ4UnpickleMethodTests.test_instanceBuildingNamePresentE   s=   € ô
 ‹eˆÜ˜8 S¬#Ó.ˆØ×Ñ˜ŸJ™JÔ'Ø×Ñ˜ŸJ™JÖ'r   c                ó   <€ V ^8„  d   QhRR/# r	   r   )r   r   s   "€r   r   r>   O   s   ø€ ÷ +ñ +¨ñ +r   c                ó0  € \        4       p\        P                  ! VP                  4      pV P                  W!P                  4       V P	                  W!P                  4       V P                  RV! 4       4       RVn        V P                  RV! 4       4       R# )zI
Copying an instance method returns a new method with the same
behavior.
r   z	new-valueN)r   Úcopyr   r@   rA   r   rB   s   &  r   Útest_instanceCopyMethodÚ+UnpickleMethodTests.test_instanceCopyMethodO   sm   € ô
 ‹eˆÜ�IŠI�c—j‘jÓ!ˆØ×Ñ˜ŸJ™JÔ'Ø×Ñ˜ŸJ™JÔ'Ø×Ñ˜¡q£sÔ+Ø)ˆÔØ×Ñ˜¡a£cÖ*r   c                ó   <€ V ^8„  d   QhRR/# r	   r   )r   r   s   "€r   r   r>   \   s   ø€ ÷ 	(ñ 	(°Tñ 	(r   c                ó¨   € \        4       p\        RV\        4      pV P                  W!P                  4       V P                  W!P                  4       R# )z—
If the named method is not present in the class,
L{unpickleMethod} finds a method on the class of the instance
and returns a bound method from there.
r   N)r   r   r'   r@   r   rA   rB   s   &  r   Ú#test_instanceBuildingNameNotPresentÚ7UnpickleMethodTests.test_instanceBuildingNameNotPresent\   s=   € ô ‹eˆÜ˜8 S¬#Ó.ˆØ×Ñ˜ŸJ™JÔ'Ø×Ñ˜ŸJ™JÖ'r   c                ó   <€ V ^8„  d   QhRR/# r	   r   )r   r   s   "€r   r   r>   g   s   ø€ ÷ ,ñ , 4ñ ,r   c                óf   € \         P                   ! \        4      pV P                  V\        4       R# )zQ
Copying a function returns the same reference, without creating
an actual copy.
N)rI   r*   r@   )r   Úfs   & r   Útest_copyFunctionÚ%UnpickleMethodTests.test_copyFunctiong   s"   € ô
 �IŠI”nÓ%ˆØ×Ñ˜œNÖ+r   c                ó   <€ V ^8„  d   QhRR/# r	   r   )r   r   s   "€r   r   r>   o   s   ø€ ÷ Rñ R Tñ Rr   c                óp   € R pV P                  \        P                  ! \        ^ R7      V! R4      4       R# )zL
We do not contaminate normal function pickling with concerns from
Twisted.
c                 óŠ   € R P                  R\        ,           \        P                  RV ,           R.4      P                  R4      # )Ú
ÚcÚpÚ.Úascii)Újoinr   r*   Úencode)Úns   &r   ÚexpectedÚ9UnpickleMethodTests.test_primeDirective.<locals>.expectedu   s6   € Ø—9‘9Ø”x•¤×!8Ñ!8¸#À½'À3ÐGóç‰f�W‹oðr   )ÚprotocolÚ0N)r@   r7   Údumpsr*   )r   r`   s   & r   Útest_primeDirectiveÚ'UnpickleMethodTests.test_primeDirectiveo   s(   € ò	ð
 	×ÑœŸš¤n¸qÔAÁ8ÈCÃ=ÖQr   c                ó   <€ V ^8„  d   QhRR/# r	   r   )r   r   s   "€r   r   r>   |   s   ø€ ÷ Mñ M°ñ Mr   c                ól   € V P                  \        P                  \        P                  \        4       R# )zI
Pickling a C{lambda} function ought to raise a L{pickle.PicklingError}.
N)r6   r7   r8   rd   ÚlambdaExampler   s   &r   Útest_lambdaRaisesPicklingErrorÚ2UnpickleMethodTests.test_lambdaRaisesPicklingError|   s    € ð 	×Ñœ&×.Ñ.´·±¼mÖLr   r   N)r   r   r    r!   r"   rE   rJ   rN   rS   re   rj   r#   r$   r%   s   @r   r<   r<   @   sJ   ø‡ € ñ÷(ð (÷+ð +÷	(ð 	(÷,ð ,÷Rð R÷Mö Mr   r<   )r"   rI   r7   Útwisted.persisted.stylesr   r   Útwisted.trialr   r   r'   r*   ri   ÚTestCaser/   r<   r   r   r   Ú<module>ro      sb   ðñó Û ç LÝ "÷$ñ $÷ñ õñ €ôS (×"3Ñ"3ô Sô&@M˜(×+Ñ+ö @Mr   