Ë
    bQêj/  ã                   ó  — d dl Z d dlZd dlmZ d dlZddlmZ  G d„ d«      Z G d„ deej                  ej                  «      Z G d	„ d
eej                  ej                  «      Zd„ Z G d„ dej                  ej                  «      Z G d„ dej                  ej                  «      Z G d„ dej                  ej                  «      Z G d„ dej                  ej                  «      Z G d„ dej                  ej                  «      Z G d„ d«      Z G d„ dej                  eej                  «      Z G d„ dej                  eej                  «      Z G d„ dej                  «      Zedk(  r ej2                  «        yy)é    N)Úimport_moduleé   )Úutilc                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚResourceTestsc                 ól   — t        j                  | j                  «      dz  }|j                  «       sJ ‚y )Núbinary.file©Ú	resourcesÚfilesÚdataÚis_file©ÚselfÚtargets     úl/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/importlib_resources/tests/test_resource.pyÚtest_is_file_existsz!ResourceTests.test_is_file_exists   s)   € Ü—‘ §¡Ó+¨mÑ;ˆØ�~‰~ÔÐÑó    c                 ól   — t        j                  | j                  «      dz  }|j                  «       rJ ‚y )Nz
not-a-filer
   r   s     r   Útest_is_file_missingz"ResourceTests.test_is_file_missing   s,   € Ü—‘ §¡Ó+¨lÑ:ˆØ—>‘>Ô#Ð#Ð#Ð#r   c                 ó�   — t        j                  | j                  «      dz  }|j                  «       rJ ‚|j	                  «       sJ ‚y )NÚsubdirectory)r   r   r   r   Úis_dirr   s     r   Útest_is_dirzResourceTests.test_is_dir   s7   € Ü—‘ §¡Ó+¨nÑ<ˆØ—>‘>Ô#Ð#Ð#Ø�}‰}ŒÐ‰r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   © r   r   r   r   
   s   „ ò ò$ór   r   c                   ó   — e Zd Zy)ÚResourceDiskTestsN©r   r   r   r   r   r   r    r       ó   „ Ør   r    c                   ó   — e Zd Zy)ÚResourceZipTestsNr!   r   r   r   r$   r$      r"   r   r$   c                 ó\   — | j                  «       D �ch c]  }|j                  ’Œ c}S c c}w )N)ÚiterdirÚname)ÚtraversableÚitems     r   Únamesr*   #   s#   € Ø"-×"5Ñ"5Ó"7Ö8˜$ˆD�I‹IÒ8Ð8ùÒ8s   “)c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚResourceLoaderTestsc                 ó¾   — t        j                  | j                  | j                  j                  g d¢¬«      }t	        t        j                  |«      «      h d£k(  sJ ‚y )N©ÚAÚBÚC©ÚfileÚpathÚcontents>   r/   r0   r1   )r   Úcreate_packager   Ú__file__r*   r   r   ©r   Úpackages     r   Útest_resource_contentsz*ResourceLoaderTests.test_resource_contents(   sE   € Ü×%Ñ%Ø—‘ §¡×!3Ñ!3ºoô
ˆô ”Y—_‘_ WÓ-Ó.²/ÒAÐAÑAr   c                 óÜ   — t        j                  | j                  | j                  j                  g d¢¬«      }t	        j
                  |«      j                  d«      j                  «       sJ ‚y )N©r/   r0   r1   zD/EzD/Fr2   r0   ©r   r6   r   r7   r   r   Újoinpathr   r8   s     r   Útest_is_filez ResourceLoaderTests.test_is_file.   sQ   € Ü×%Ñ%Ø—‘Ø—‘×#Ñ#Ú2ô
ˆô
 �‰˜wÓ'×0Ñ0°Ó5×=Ñ=Ô?Ð?Ñ?r   c                 óÜ   — t        j                  | j                  | j                  j                  g d¢¬«      }t	        j
                  |«      j                  d«      j                  «       sJ ‚y )Nr<   r2   ÚD)r   r6   r   r7   r   r   r>   r   r8   s     r   r   zResourceLoaderTests.test_is_dir6   sQ   € Ü×%Ñ%Ø—‘Ø—‘×#Ñ#Ú2ô
ˆô
 �‰˜wÓ'×0Ñ0°Ó5×<Ñ<Ô>Ð>Ñ>r   c                 óÜ   — t        j                  | j                  | j                  j                  g d¢¬«      }t	        j
                  |«      j                  d«      j                  «       rJ ‚y )Nr<   r2   ÚZr=   r8   s     r   Útest_resource_missingz)ResourceLoaderTests.test_resource_missing>   sT   € Ü×%Ñ%Ø—‘Ø—‘×#Ñ#Ú2ô
ˆô
 —?‘? 7Ó+×4Ñ4°SÓ9×AÑAÔCÐCÐCÐCr   N)r   r   r   r:   r?   r   rD   r   r   r   r,   r,   '   s   „ òBò@ò?óDr   r,   c                   ó   — e Zd Zd„ Zy)ÚResourceCornerCaseTestsc                 ót  — t        j                  | j                  | j                  j                  g d¢¬«      }t	        «       |_        d|_        |j
                  |j                  _        |j                  |j                  _        t        j                  |«      j                  d«      j                  «       rJ ‚y)z°
        Test odd ball packages which:
        # 1. Do not have a ResourceReader as a loader
        # 2. Are not on the file system
        # 3. Are not in a zip file
        r.   r2   z/path/which/shall/not/be/namedr/   N)r   r6   r   r7   ÚobjectÚ
__loader__Ú__spec__ÚloaderÚoriginr   r   r>   r   )r   Úmodules     r   Ú#test_package_has_no_reader_fallbackz;ResourceCornerCaseTests.test_package_has_no_reader_fallbackH   s‡   € ô ×$Ñ$Ø—‘ §¡×!3Ñ!3ºoô
ˆô #›HˆÔà:ˆŒØ!'×!2Ñ!2ˆ�‰ÔØ!'§¡ˆ�‰ÔÜ—?‘? 6Ó*×3Ñ3°CÓ8×@Ñ@ÔBÐBÐBÐBr   N)r   r   r   rN   r   r   r   rF   rF   G   s   „ óCr   rF   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚResourceFromZipsTest01c                 ó‚   — t        d«      }t        j                  |«      j                  d«      j	                  «       sJ ‚y ©Núdata01.subdirectoryr	   )r   r   r   r>   r   ©r   Ú	submodules     r   Útest_is_submodule_resourcez1ResourceFromZipsTest01.test_is_submodule_resource\   s3   € Ü!Ð"7Ó8ˆ	Ü�‰˜yÓ)×2Ñ2°=ÓA×IÑIÔKÐKÑKr   c                 ól   — t        j                  d«      j                  d«      j                  «       sJ ‚y rR   ©r   r   r>   r   ©r   s    r   Ú$test_read_submodule_resource_by_namez;ResourceFromZipsTest01.test_read_submodule_resource_by_name`   s)   € Ü�‰Ð4Ó5×>Ñ>¸}ÓM×UÑUÔWÐWÑWr   c                 ód   — t        d«      }t        t        j                  |«      «      ddhk(  sJ ‚y ©NrS   ú__init__.pyr	   )r   r*   r   r   rT   s     r   Útest_submodule_contentsz.ResourceFromZipsTest01.test_submodule_contentsc   s.   € Ü!Ð"7Ó8ˆ	Ü”Y—_‘_ YÓ/Ó0°]ÀMÐ4RÒRÐRÑRr   c                 óN   — t        t        j                  d«      «      ddhk(  sJ ‚y r\   ©r*   r   r   rY   s    r   Útest_submodule_contents_by_namez6ResourceFromZipsTest01.test_submodule_contents_by_nameg   s/   € Ü”Y—_‘_Ð%:Ó;Ó<ØØðA
ò 
ð 	
ñ 
r   c                 óˆ  — t        j                  t        j                  d«      «      5 }|j                  dk(  sJ ‚|j	                  «       sJ ‚|j                  d«      j	                  «       sJ ‚t        t        |j                  «       «      «      sJ ‚	 d d d «       j                  j                  «       rJ ‚y # 1 sw Y   Œ&xY w)NÚdata01r   )r   Úas_filer   r'   r   r>   ÚlenÚlistr&   ÚparentÚexists)r   r   s     r   Útest_as_file_directoryz-ResourceFromZipsTest01.test_as_file_directorym   sŸ   € Ü×ÑœyŸ™¨xÓ8Ó9ð 	-¸TØ—9‘9 Ò(Ð(Ð(Ø—;‘;”=Ð �=Ø—=‘= Ó0×7Ñ7Ô9Ð9Ð9Ü”t˜DŸL™L›NÓ+Ô,Ð,Ñ,÷		-ð
 —;‘;×%Ñ%Ô'Ð'Ð'Ð'÷	-ð 	-ús   ©A)B8Â8CN)r   r   r   rV   rZ   r^   ra   ri   r   r   r   rP   rP   [   s   „ òLòXòSò
ó(r   rP   c                   ó   — e Zd ZdZd„ Zy)ÚResourceFromZipsTest02Údata02c                 ó˜   — t        t        j                  d«      «      ddhk(  sJ ‚t        t        j                  d«      «      ddhk(  sJ ‚y)z…
        Test thata zip with two unrelated subpackages return
        distinct resources. Ref python/importlib_resources#44.
        z
data02.oner]   zresource1.txtz
data02.twozresource2.txtNr`   rY   s    r   Útest_unrelated_contentsz.ResourceFromZipsTest02.test_unrelated_contentsy   sF   € ô
 ”Y—_‘_ \Ó2Ó3¸ÀÐ7WÒWÐWÐWÜ”Y—_‘_ \Ó2Ó3¸ÀÐ7WÒWÐWÑWr   N)r   r   r   ÚMODULErn   r   r   r   rk   rk   v   s   „ Ø€FóXr   rk   c                   ód   — e Zd ZdZd„ Zd„ Zd„ Z ej                  d«      d„ «       Z	d„ Z
d„ Zd	„ Zy
)ÚDeletingZipsTestz^Having accessed resources in a zip file should not keep an open
    reference to the zip.
    c                 ó„   — t        j                  d«      j                  «       D �cg c]  }|j                  ‘Œ c} y c c}w )Nrc   )r   r   r&   r'   )r   r)   s     r   Útest_iterdir_does_not_keep_openz0DeletingZipsTest.test_iterdir_does_not_keep_open‡   s)   € Ü(Ÿ™¨xÓ8×@Ñ@ÓBÖC�tˆ�‹ÔCùÒCs   ¦=c                 óh   — t        j                  d«      j                  d«      j                  «        y ©Nrc   r	   rX   rY   s    r   Útest_is_file_does_not_keep_openz0DeletingZipsTest.test_is_file_does_not_keep_openŠ   ó"   € Ü�‰˜Ó!×*Ñ*¨=Ó9×AÑAÕCr   c                 óh   — t        j                  d«      j                  d«      j                  «        y )Nrc   znot-presentrX   rY   s    r   Ú'test_is_file_failure_does_not_keep_openz8DeletingZipsTest.test_is_file_failure_does_not_keep_open�   rw   r   zDesired but not supported.c                 óZ   — t        j                  t        j                  d«      dz  «       y ru   )r   rd   r   rY   s    r   Útest_as_file_does_not_keep_openz0DeletingZipsTest.test_as_file_does_not_keep_open�   s   € ä×Ñœ)Ÿ/™/¨(Ó3°mÑCÕDr   c                 óv   — t        j                  t        j                  d«      dz  «      j                  «        y)zr
        Mimic what certifi does on import to make its bundle
        available for the process duration.
        rc   r	   N)r   rd   r   Ú	__enter__rY   s    r   Ú$test_entered_path_does_not_keep_openz5DeletingZipsTest.test_entered_path_does_not_keep_open”   s)   € ô
 	×Ñœ)Ÿ/™/¨(Ó3°mÑCÓD×NÑNÕPr   c                 óh   — t        j                  d«      j                  d«      j                  «        y ru   )r   r   r>   Ú
read_bytesrY   s    r   Ú#test_read_binary_does_not_keep_openz4DeletingZipsTest.test_read_binary_does_not_keep_open›   s"   € Ü�‰˜Ó!×*Ñ*¨=Ó9×DÑDÕFr   c                 ól   — t        j                  d«      j                  d«      j                  d¬«       y )Nrc   ú
utf-8.filezutf-8)Úencoding)r   r   r>   Ú	read_textrY   s    r   Ú!test_read_text_does_not_keep_openz2DeletingZipsTest.test_read_text_does_not_keep_openž   s'   € Ü�‰˜Ó!×*Ñ*¨<Ó8×BÑBÈGÐBÕTr   N)r   r   r   Ú__doc__rs   rv   ry   ÚunittestÚskipr{   r~   r�   r†   r   r   r   rq   rq   ‚   sM   „ ñòDòDòDð €X‡]�]Ð/Ó0ñEó 1ðEòQòGóUr   rq   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚResourceFromNamespaceTestsc                 ó~   — t        j                  t        d«      «      j                  d«      j	                  «       sJ ‚y ©NÚnamespacedata01r	   )r   r   r   r>   r   rY   s    r   rV   z5ResourceFromNamespaceTests.test_is_submodule_resource£   s7   € äß‰U”=Ð!2Ó3ó5ç‰X�mÓ$ß‰W‹Yðð	
ñr   c                 ól   — t        j                  d«      j                  d«      j                  «       sJ ‚y r�   rX   rY   s    r   rZ   z?ResourceFromNamespaceTests.test_read_submodule_resource_by_name«   s)   € Ü�‰Ð0Ó1×:Ñ:¸=ÓI×QÑQÔSÐSÑSr   c                 ó¦   — t        t        j                  t        d«      «      «      }	 |j	                  d«       |h d£k(  sJ ‚y # t
        $ r Y Œw xY w©NrŽ   Ú__pycache__>   úutf-16.filer   rƒ   r	   ©r*   r   r   r   ÚremoveÚKeyError©r   r5   s     r   r^   z2ResourceFromNamespaceTests.test_submodule_contents®   sQ   € ÜœŸ™¬Ð7HÓ)IÓJÓKˆð	Ø�O‰O˜MÔ*ð ÒWÒWÐWÑWøô ò 	Ùð	ús   ©A Á	AÁAc                 ó”   — t        t        j                  d«      «      }	 |j                  d«       |h d£k(  sJ ‚y # t        $ r Y Œw xY wr‘   ©r*   r   r   r•   r–   r—   s     r   ra   z:ResourceFromNamespaceTests.test_submodule_contents_by_name¶   sL   € ÜœŸ™Ð):Ó;Ó<ˆð	Ø�O‰O˜MÔ*ð ÒWÒWÐWÑWøô ò 	Ùð	ús    ; »	AÁAc                 ó¤   — t        t        j                  t        d«      «      «      }	 |j	                  d«       |dhk(  sJ ‚y # t
        $ r Y Œw xY w©Nznamespacedata01.subdirectoryr’   r	   r”   r—   s     r   Útest_submodule_sub_contentsz6ResourceFromNamespaceTests.test_submodule_sub_contents¾   sR   € ÜœŸ™¬Ð7UÓ)VÓWÓXˆð	Ø�O‰O˜MÔ*ð ˜M˜?Ò*Ð*Ñ*øô ò 	Ùð	ús   ©A Á	AÁAc                 ó’   — t        t        j                  d«      «      }	 |j                  d«       |dhk(  sJ ‚y # t        $ r Y Œw xY wr›   r™   r—   s     r   Ú#test_submodule_sub_contents_by_namez>ResourceFromNamespaceTests.test_submodule_sub_contents_by_nameÆ   sM   € ÜœŸ™Ð)GÓHÓIˆð	Ø�O‰O˜MÔ*ð ˜M˜?Ò*Ð*Ñ*øô ò 	Ùð	ús    : º	AÁAN)	r   r   r   rV   rZ   r^   ra   rœ   rž   r   r   r   r‹   r‹   ¢   s#   „ ò
òTòXòXò+ó+r   r‹   c                   ó   — e Zd ZdZy)ÚResourceFromNamespaceDiskTestsrŽ   N©r   r   r   ro   r   r   r   r    r    Ï   ó	   „ ð
 �Fr   r    c                   ó   — e Zd ZdZy)ÚResourceFromNamespaceZipTestsrŽ   Nr¡   r   r   r   r¤   r¤   ×   r¢   r   r¤   c                   ó   — e Zd Zd„ Zy)ÚMainModuleTestsc                 óÌ   — t        j                  d«      }|j                  �J ‚| j                  t        d¬«      5  t        j                  |«       ddd«       y# 1 sw Y   yxY w)z„
        __main__ module with no spec should raise TypeError (for clarity).

        See python/cpython#138531 for details.
        Ú__main__NzzCannot access resources for '__main__' as it does not appear to correspond to an importable module (its __spec__ is None).)Úmsg)ÚtypesÚ
ModuleTyperJ   ÚassertRaisesÚ	TypeErrorr   r   )r   Ú
mainmodules     r   Útest_main_module_with_none_specz/MainModuleTests.test_main_module_with_none_specà   se   € ô ×%Ñ% jÓ1ˆ
à×"Ñ"Ð*Ð*Ð*à×ÑÜð Mð ó 
ñ 	(ô �O‰O˜JÔ'÷		(÷ 	(ñ 	(ús   »AÁA#N)r   r   r   r¯   r   r   r   r¦   r¦   ß   s   „ ó(r   r¦   r¨   )rª   rˆ   Ú	importlibr   Úimportlib_resourcesr   Ú r   r   Ú	DiskSetupÚTestCaser    ÚZipSetupr$   r*   r,   rF   rP   rk   rq   r‹   r    r¤   r¦   r   Úmainr   r   r   ú<module>r·      sJ  ðÛ Û Ý #ã 'å ÷ñ ô"	˜ t§~¡~°x×7HÑ7Hô 	ô	�} d§m¡m°X×5FÑ5Fô 	ò9ôD˜$Ÿ.™.¨(×*;Ñ*;ô Dô@C˜dŸn™n¨h×.?Ñ.?ô Cô((˜TŸ]™]¨H×,=Ñ,=ô (ô6	X˜TŸ]™]¨H×,=Ñ,=ô 	XôU�t—}‘} h×&7Ñ&7ô U÷@*+ñ *+ôZØ‡N�NØØ×ÑôôØ‡M�MØØ×Ñôô(�h×'Ñ'ô (ð& ˆzÒØ€H‡M�M…Oð r   