ó
    ×›‘h#  ã                   óÎ   • S SK r S SKrS SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr   " S S\	R                  5      rS	S
SS	S
/S	S
0/r " S S5      r " S S\R                   5      rg)é    N)Údedent)Úsob)Ú	Ephemeral)Ú
components)Úunittestc                   ó   • \ rS rSrSrg)ÚDummyé   © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    ÚYC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/test/test_sob.pyr	   r	      ó   † Úr   r	   é   Úhello)r   r   c                   ó   • \ rS rSrSrg)Ú
FakeModuleé   r   Nr   r   r   r   r   r      r   r   r   c                   óV   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rSrg)ÚPersistTestsé    c                 ó  • [          H  n[        R                  " US5      nSR                  5        HQ  nUR	                  U5        UR                  SU-   S9  [        R                  " SU-   U5      nU R                  X5        MS     M�     g )NÚ úsource picklezpersisttest.©Úfilename)Ú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                 ó4  • [        5       nSUl        UR                  [        R                  [        R
                  " US5      5        SR                  5        H¾  n[        R                  " U5      R                  U5        [        R                  " U5      R                  SU-   S9  [        R                  " SU-   U5      nU R                  UR                  UR                  5        U R                  [        R                  " U5      R                  U5        MÀ     g )Né   Úlalar   zlala.r    )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                 ór   • [         R                  " SS5      nU R                  [        UR                  SSS9  g)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                 ó¾  • / SQn[         R                  " US5      nSR                  5        H®  nUR                  U5        UR	                  5         [         R
                  " SUS   -   U5      nU R                  X5        SR                  5        HH  nUR	                  U5        [         R
                  " SU-   S-   US   -   U5      nU R                  X5        MJ     M°     g )	N©r   é   é   r9   r   z	object.tar   z	lala lolozobject-z.ta)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                 óÈ   • [        SS5       nUR                  S5        S S S 5        [        R                  " SS5      nU R	                  U/ SQ5        g ! , (       d  f       N:= f)Nzpersisttest.pythonÚwzfoo=[1,2,3] r3   rB   )ÚopenÚwriter   ÚloadValueFromFiler(   )r)   Úfr*   s      r   Ú
testPythonÚPersistTests.testPythonI   sL   € ÜÐ&¨Ô,°Ø�G‰G�NÔ#÷ -ä×!Ò!Ð"6¸Ó>ˆØ×Ñ˜šIÕ&÷ -Õ,ús   �AÁ
A!c                 ób  • U R                  [        [        R                  S5        U R	                  S[        R                  " S5      5        U R	                  S[        R                  " S5      5        U R	                  S[        R                  " S5      5        U R	                  S[        R                  " S5      5        U R	                  S[        R                  " S5      5        U R	                  S	[        R                  " S
5      5        U R	                  S	[        R                  " S5      5        g )Nz	file.blahÚpythonzfile.pyzfile.tacz	file.etacÚpicklezfile.tapz	file.etapÚsourcezfile.tasz	file.etas)r=   ÚKeyErrorr   Ú	guessTyper(   ©r)   s    r   ÚtestTypeGuesserÚPersistTests.testTypeGuesserO   sÇ   € Ø×Ñœ(¤C§M¡M°;Ô?Ø×Ñ˜¤3§=¢=°Ó#;Ô<Ø×Ñ˜¤3§=¢=°Ó#<Ô=Ø×Ñ˜¤3§=¢=°Ó#=Ô>Ø×Ñ˜¤3§=¢=°Ó#<Ô=Ø×Ñ˜¤3§=¢=°Ó#=Ô>Ø×Ñ˜¤3§=¢=°Ó#<Ô=Ø×Ñ˜¤3§=¢=°Ó#=Õ>r   c                 ób  • SU R                   l        U R                  5       n[        R                  " U5        [        R
                  R                  US5      nSq[        US5       nUR                  [        S5      5        SSS5        [        R                  " US5      nU R                  U[        5        U R                  US   S5        U R                  US   S	5        U R                  [        [         5        U R                  [        R"                  [         5        Bg! , (       d  f       N¥= f)
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.
r   zpersisttest.ee_getattrNrI   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__
            rS   r   zExpected attribute not set.zUnexpected attribute set.)ÚfakeMainÚtestMainModGetattrÚmktempÚosÚmkdirÚpathÚjoinÚmainWhileLoadingrJ   rK   r   r   r'   ÚassertIsInstanceÚlistÚ
assertTruer   ÚsomethingElse)r)   Údirnamer!   rM   Úloadeds        r   ÚtestEverythingEphemeralGetattrÚ+PersistTests.testEverythingEphemeralGetattrY   sê   € ð ,-ˆ�‰Ô(à—+‘+“-ˆÜ
�Š�Ôä—7‘7—<‘< Ð)AÓBˆð  ÐÜ�(˜CÔ  AØ�G‰GÜðóô÷ !ô& —’˜( HÓ-ˆØ×Ñ˜f¤dÔ+Ø�‰˜˜q™	Ð#@ÔAØ�‰˜˜q™	Ð#>Ô?Ø×ÑÔ.´	Ô:Ø×ÑÔ.×<Ñ<¼iÔHÙ÷3 !Õ ús   Á&D Ä 
D.c                 óÞ  • SU R                   l        U R                  5       n[        R                  " U5        [        R
                  R                  US5      n[        US5       nUR                  S5        UR                  S5        UR                  S5        SSS5        [        R                  " US5        U R                  U R                   R                  S5        g! , (       d  f       NL= f)	zE
Verify that _EverythingEphemeral.__setattr__ won't affect __main__.
r   zpersisttest.ee_setattrrI   zimport __main__
z __main__.testMainModSetattr = 2
zapp = None
NrS   )rZ   ÚtestMainModSetattrr\   r]   r^   r_   r`   rJ   rK   r   r'   r(   ©r)   rf   r!   rM   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Ã
C,c                 óª  • U R                  5       n[        R                  " U5        [        R                  R	                  US5      n[        US5       nUR                  S5        SSS5        U R                  [        [        R                  US5        U R                  [        [        R                  S   5      [        5        g! , (       d  f       Ne= f)zG
Test that an exception during load() won't cause _EE to mask __main__
zpersisttest.ee_exceptionrI   zraise ValueError
NrS   Ú__main__)r\   r]   r^   r_   r`   rJ   rK   r=   Ú
ValueErrorr   r'   r(   ÚtypeÚsysÚmodulesr   rl   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                 óx   • [         R                  S   U l        [        5       =U l        [         R                  S'   g)zQ
Replace the __main__ module with a fake one, so that it can be mutated
in tests
rp   N)rs   rt   ÚrealMainr   rZ   rV   s    r   ÚsetUpÚPersistTests.setUp¤   s+   € ô
 Ÿ™ JÑ/ˆŒÜ2<³,Ð>ˆŒœŸ™ JÒ/r   c                 ó>   • U R                   [        R                  S'   g)z(
Restore __main__ to its original value
rp   N)rx   rs   rt   rV   s    r   ÚtearDownÚPersistTests.tearDown¬   s   € ð #'§-¡-Œ�‰�JÒr   )rZ   rx   N)r   r   r   r   r.   r6   r?   rF   rN   rW   rh   rm   ru   ry   r|   r   r   r   r   r   r       s=   † ò(ò	@òRò(ò'ò?ò(òT>ò&Dò?õ0r   r   )r]   rs   Ú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   