+
    üÐj#  ã                   óÐ   € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht  ! R R]	P                  4      t^R	R^R	.^R	/.t ! R
 R4      t ! R R]P                   4      tR# )é    N)Údedent)Úsob)Ú	Ephemeral)Ú
components)Úunittestc                   ó   € ] tR t^tRtR# )ÚDummy© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r
   ó    Ú7/usr/lib/python3/dist-packages/twisted/test/test_sob.pyr	   r	      ó   † Ûr   r	   Úhelloc                   ó   € ] tR t^tRtR# )Ú
FakeModuler
   Nr   r
   r   r   r   r      r   r   r   c                   ób   a € ] tR t^ t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tRtV tR# )ÚPersistTestsc                ó.  € \          FŠ  p\        P                  ! VR 4      pRP                  4        F\  pVP	                  V4       VP                  RV,           R7       \        P                  ! RV,           V4      pV P                  W4       K^  	  KŒ  	  R# )Ú úsource picklezpersisttest.©ÚfilenameN)Úobjectsr   Ú
PersistentÚsplitÚsetStyleÚsaveÚloadÚassertEqual)ÚselfÚoÚpÚstyleÚo1s   &    r   Ú
testStylesÚPersistTests.testStyles!   sq   € ßˆAÜ—’˜q "Ó%ˆAØ(×.Ñ.Ö0�Ø—
‘
˜5Ô!Ø—‘ °Õ 6�Ô7Ü—X’X˜n¨uÕ4°eÓ<�Ø× Ñ  Ö'ó	 1ó r   c                óL  € \        4       p^Vn        VP                  \        P                  \        P
                  ! VR4      4       RP                  4        FÉ  p\        P                  ! V4      P                  V4       \        P                  ! V4      P                  RV,           R7       \        P                  ! RV,           V4      pV P                  VP                  VP                  4       V P                  \        P                  ! V4      P                  V4       KË  	  R# )é   Úlalar   zlala.r   N)r	   ÚfooÚsetComponentr   ÚIPersistabler   r    r!   r"   r#   r$   r(   )r%   r&   r(   r)   s   &   r   ÚtestStylesBeingSetÚPersistTests.testStylesBeingSet*   sÈ   € Ü‹GˆØˆŒØ	�‰”s×'Ñ'¬¯ª¸¸6Ó)BÔCØ$×*Ñ*Ö,ˆEÜ×Ò˜QÓ×(Ñ(¨Ô/Ü×Ò˜QÓ×$Ñ$¨g¸­oÐ$Ô>Ü—’˜' E�/¨5Ó1ˆBØ×Ñ˜QŸU™U B§F¡FÔ+Ø×ÑœS×-Ò-¨bÓ1×7Ñ7¸Ö?ó -r   c                óz   € \         P                  ! RR4      pV P                  \        VP                  RRR7       R# )z/
Calling save() with a passphrase is an error.
NÚobjectzfilename.pickleÚabc)Ú
passphrase)r   Ú
PersistantÚassertRaisesÚ	TypeErrorr"   )r%   r'   s   & r   ÚtestPassphraseErrorÚ PersistTests.testPassphraseError5   s0   € ô �NŠN˜4 Ó*ˆØ×Ñœ) Q§V¡VÐ->È5ÐÖQr   c                óð  € . ROp\         P                  ! VR4      pRP                  4        FÆ  pVP                  V4       VP	                  4        \         P
                  ! RV^ ,          ,           V4      pV P                  W4       RP                  4        FX  pVP	                  V4       \         P
                  ! RV,           R,           V^ ,          ,           V4      pV P                  W4       KZ  	  KÈ  	  R# )	é   r5   r   z	object.taz	lala lolozobject-z.taN©r>   é   é   )r   r   r    r!   r"   r#   r$   )r%   r&   r'   r(   r)   Útags   &     r   Ú	testNamesÚPersistTests.testNames<   s´   € ÚˆÜ�NŠN˜1˜hÓ'ˆØ$×*Ñ*Ö,ˆEØ�J‰J�uÔØ�F‰FŒHÜ—’˜+¨¨a­Õ0°%Ó8ˆBØ×Ñ˜QÔ#Ø"×(Ñ(Ö*�Ø—‘�s”Ü—X’X˜i¨#�o°Õ5¸¸a½Õ@À%ÓH�Ø× Ñ  Ö'ó +ó -r   c                óÞ   € \        R R4      ;_uu_ 4       pVP                  R4       RRR4       \        P                  ! R R4      pV P	                  V. RO4       R#   + '       g   i     L=; i)zpersisttest.pythonÚwzfoo=[1,2,3] Nr/   r?   )ÚopenÚwriter   ÚloadValueFromFiler$   )r%   Úfr&   s   &  r   Ú
testPythonÚPersistTests.testPythonI   sO   € ÜÐ&¨×,Ô,°Ø�G‰G�NÔ#÷ -ä×!Ò!Ð"6¸Ó>ˆØ×Ñ˜šIÖ&÷ -×,ús   •AÁA,	c                ód  € V P                  \        \        P                  R 4       V P	                  R\        P                  ! R4      4       V P	                  R\        P                  ! R4      4       V P	                  R\        P                  ! R4      4       V P	                  R\        P                  ! R4      4       V P	                  R\        P                  ! R4      4       V P	                  R\        P                  ! R	4      4       V P	                  R\        P                  ! R
4      4       R# )z	file.blahÚpythonzfile.pyzfile.tacz	file.etacÚpicklezfile.tapz	file.etapÚsourcezfile.tasz	file.etasN)r9   ÚKeyErrorr   Ú	guessTyper$   ©r%   s   &r   ÚtestTypeGuesserÚPersistTests.testTypeGuesserO   sÇ   € Ø×Ñœ(¤C§M¡M°;Ô?Ø×Ñ˜¤3§=¢=°Ó#;Ô<Ø×Ñ˜¤3§=¢=°Ó#<Ô=Ø×Ñ˜¤3§=¢=°Ó#=Ô>Ø×Ñ˜¤3§=¢=°Ó#<Ô=Ø×Ñ˜¤3§=¢=°Ó#=Ô>Ø×Ñ˜¤3§=¢=°Ó#<Ô=Ø×Ñ˜¤3§=¢=°Ó#=Ö>r   c                óˆ  € ^V P                   n        V P                  4       p\        P                  ! V4       \        P
                  P                  VR4      pRs\        VR4      ;_uu_ 4       pVP                  \        R4      4       RRR4       \        P                  ! VR4      pV P                  V\        4       V P                  V^ ,          R4       V P                  V^,          R4       V P                  \        \         4       V P                  \        P"                  \         4       @R#   + '       g   i     L°; i)zÑ
L{_EverythingEphermal.__getattr__} will proxy the __main__ module as an
L{Ephemeral} object, and during load will be transparent, but after
load will return L{Ephemeral} objects from any accessed attributes.
zpersisttest.ee_getattrNrF   a†  
            app = []
            import __main__
            app.append(__main__.testMainModGetattr == 1)
            try:
                __main__.somethingElse
            except AttributeError:
                app.append(True)
            else:
                app.append(False)
            from twisted.test import test_sob
            test_sob.mainWhileLoading = __main__
            rP   zExpected attribute not set.zUnexpected attribute set.)ÚfakeMainÚtestMainModGetattrÚmktempÚosÚmkdirÚpathÚjoinÚmainWhileLoadingrG   rH   r   r   r#   ÚassertIsInstanceÚlistÚ
assertTruer   ÚsomethingElse)r%   Údirnamer   rJ   Úloadeds   &    r   ÚtestEverythingEphemeralGetattrÚ+PersistTests.testEverythingEphemeralGetattrY   sí   € ð ,-ˆ�‰Ô(à—+‘+“-ˆÜ
�Š�Ôä—7‘7—<‘< Ð)AÓBˆð  ÐÜ�(˜C× Ô  AØ�G‰GÜðóô÷ !ô& —’˜( HÓ-ˆØ×Ñ˜f¤dÔ+Ø�‰˜˜q�	Ð#@ÔAØ�‰˜˜q�	Ð#>Ô?Ø×ÑÔ.´	Ô:Ø×ÑÔ.×<Ñ<¼iÔHÚ÷3 !× ús   Á.D1Ä1E	c                óô  € ^V P                   n        V P                  4       p\        P                  ! V4       \        P
                  P                  VR4      p\        VR4      ;_uu_ 4       pVP                  R4       VP                  R4       VP                  R4       RRR4       \        P                  ! VR4       V P                  V P                   P                  ^4       R#   + '       g   i     LO; i)zE
Verify that _EverythingEphemeral.__setattr__ won't affect __main__.
zpersisttest.ee_setattrrF   zimport __main__
z __main__.testMainModSetattr = 2
zapp = None
NrP   )rW   ÚtestMainModSetattrrY   rZ   r[   r\   r]   rG   rH   r   r#   r$   ©r%   rc   r   rJ   s   &   r   ÚtestEverythingEphemeralSetattrÚ+PersistTests.testEverythingEphemeralSetattrƒ   s©   € ð ,-ˆ�‰Ô(à—+‘+“-ˆÜ
�Š�Ôä—7‘7—<‘< Ð)AÓBˆÜ�(˜C× Ô  AØ�G‰GÐ'Ô(Ø�G‰GÐ7Ô8Ø�G‰G�NÔ#÷ !ô
 	�Š�˜8Ô$à×Ñ˜Ÿ™×9Ñ9¸1Ö=÷ !× ús   Á,4C'Ã'C7	c                óÈ  € V P                  4       p\        P                  ! V4       \        P                  P	                  VR4      p\        VR4      ;_uu_ 4       pVP                  R4       RRR4       V P                  \        \        P                  VR4       V P                  \        \        P                  R,          4      \        4       R#   + '       g   i     Ll; i)zG
Test that an exception during load() won't cause _EE to mask __main__
zpersisttest.ee_exceptionrF   zraise ValueError
NrP   Ú__main__)rY   rZ   r[   r\   r]   rG   rH   r9   Ú
ValueErrorr   r#   r$   ÚtypeÚsysÚmodulesr   ri   s   &   r   Ú testEverythingEphemeralExceptionÚ-PersistTests.testEverythingEphemeralException–   s’   € ð —+‘+“-ˆÜ
�Š�ÔÜ—7‘7—<‘< Ð)CÓDˆä�(˜C× Ô  AØ�G‰GÐ(Ô)÷ !ð 	×Ñœ*¤c§h¡h°¸(ÔCØ×ÑœœcŸk™k¨*Õ5Ó6¼
ÖC÷	 !× ús   ÁCÃC!	c                ó‚   € \         P                  R,          V n        \        4       ;V n        \         P                  R&   R# )zQ
Replace the __main__ module with a fake one, so that it can be mutated
in tests
rm   N)rp   rq   ÚrealMainr   rW   rS   s   &r   ÚsetUpÚPersistTests.setUp¤   s+   € ô
 Ÿ™ JÕ/ˆŒÜ2<³,Ð>ˆŒœŸ™ JÓ/r   c                ó@   € V P                   \        P                  R&   R# )z(
Restore __main__ to its original value
rm   N)ru   rp   rq   rS   s   &r   ÚtearDownÚPersistTests.tearDown¬   s   € ð #'§-¡-Œ�‰�JÓr   )rW   ru   N)r   r   r   r   r*   r2   r;   rC   rK   rT   re   rj   rr   rv   ry   r   Ú__classdictcell__)Ú__classdict__s   @r   r   r       sE   ø‡ € ò(ò	@òRò(ò'ò?ò(òT>ò&Dò?÷0ð 0r   r   )r>   r   )rZ   rp   Útextwrapr   Útwisted.persistedr   Útwisted.persisted.stylesr   Útwisted.pythonr   Útwisted.trialr   ÚComponentizedr	   r   r   ÚTestCaser   r
   r   r   Ú<module>r„      sl   ðó
 
Û 
Ý å !Ý .Ý %Ý "ô	ˆJ×$Ñ$ô 	ð
 ØØØˆ€LØˆ€Lð€÷	ñ 	ôP0�8×$Ñ$ö P0r   