Ë
    bQêj#  ã                   óD  — d dl Z d dlZd dlZd dlZddlmZ ddlmZ  G d„ d«      Z	 G d„ d«      Z
 G d	„ d
«      Z G d„ de	eej                  ej                  «      Z G d„ de
eej                  ej                  «      Z G d„ de	eej                   ej                  «      Zy)é    Né   )Úutil)Úwarnings_helperc                   ó   — e Zd ZdZdZy)ÚStringAnchorMixinÚdata01Údata02N)Ú__name__Ú
__module__Ú__qualname__Úanchor01Úanchor02© ó    ún/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/importlib_resources/tests/test_functional.pyr   r      s   „ Ø€HØ�Hr   r   c                   ó,   — e Zd Zed„ «       Zed„ «       Zy)ÚModuleAnchorMixinc                 ó,   — t        j                  d«      S )Nr   ©Ú	importlibÚimport_module©Úselfs    r   r   zModuleAnchorMixin.anchor01   ó   € ä×&Ñ& xÓ0Ð0r   c                 ó,   — t        j                  d«      S ©Nr	   r   r   s    r   r   zModuleAnchorMixin.anchor02   r   r   N)r
   r   r   Úpropertyr   r   r   r   r   r   r      s(   „ Øñ1ó ð1ð ñ1ó ñ1r   r   c                   ó–   ‡ — e Zd Zˆ fd„Zd„ Zed„ «       Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Z ej                  e¬«      d„ «       Zd„ Zˆ xZS )ÚFunctionalAPIBasec                 óD   •— t         ‰| �  «        | j                  d«       y r   )ÚsuperÚsetUpÚload_fixture)r   Ú	__class__s    €r   r"   zFunctionalAPIBase.setUp   s   ø€ Ü‰‰ŒØ×Ñ˜(Õ#r   c              #   óp   K  — dD ]!  }| j                  |¬«      5  |–— ddd«       Œ# y# 1 sw Y   Œ.xY w­w)zAYield various names of a text file in anchor02, each in a subTest))ÚsubdirectoryÚ	subsubdirúresource.txt)z#subdirectory/subsubdir/resource.txt)zsubdirectory/subsubdirr(   )Ú
path_partsN)ÚsubTest©r   r)   s     r   Ú_gen_resourcetxt_path_partsz-FunctionalAPIBase._gen_resourcetxt_path_parts   sF   è ø€ ð
ò 	!ˆJð
 —‘¨�Ó4ñ !Ø Ò ÷!ð !ñ	!÷
!ð !üs   ‚6š*Ÿ6ª3	¯6c                 óV   — dD ]#  }| j                  |«      sŒ| t        |«      d c S  | S )a&  Remove an architecture-specific UTF-16 BOM prefix when present.

        Some platforms surface UTF-16 BOM bytes as escaped text when the
        fixture is intentionally decoded as UTF-8 with ``errors='backslashreplace'``.
        Strip that prefix so assertions validate content consistently.)z\xff\xfez\xfe\xffu   ï»¿N)Ú
startswithÚlen)ÚstringÚboms     r   Úremove_utf16_bomz"FunctionalAPIBase.remove_utf16_bom)   s9   € ð :ò 	*ˆCØ× Ñ  Õ%Øœc #›h˜jÐ)Ò)ð	*ð ˆr   c                 ó  — t        j                  | j                  d«      dk(  sJ ‚t        j                  | j                  dddd¬«      dk(  sJ ‚| j	                  «       D ]*  }t        j                  | j                  g|¢­d	diŽdk(  rŒ*J ‚ | j                  t        «      5  t        j                  | j                  «       d d d «       | j                  t        t         j                  j                  f«      5  t        j                  | j                  d
«       d d d «       | j                  t        «      5  t        j                  | j                  d«       d d d «       t        j                  | j                  dd¬«      dk(  sJ ‚| j                  t        j                  | j                  dd¬«      «      dj                  d«      j                  d¬«      k(  sJ ‚y # 1 sw Y   �ŒxY w# 1 sw Y   ŒÑxY w# 1 sw Y   ŒŸxY w)Nú
utf-8.fileúHello, UTF-8 world!
r&   r'   r(   úutf-8©Úencodingú
a resourcer8   úno-such-fileúutf-16.fileúbinary.fileÚlatin1ú Úbackslashreplace©ÚerrorsúHello, UTF-16 world!
ú	utf-16-le)Ú	resourcesÚ	read_textr   r   r,   ÚassertRaisesÚOSErrorÚabcÚTraversalErrorÚUnicodeDecodeErrorr2   ÚencodeÚdecoder+   s     r   Útest_read_textz FunctionalAPIBase.test_read_text5   sô  € ä×Ñ §¡¨|Ó<Ð@WÒWð	
ØWô ×ÑØ—‘ØØØØ ôð òð		
ðð ×:Ñ:Ó<ò 	ˆJä×#Ñ#Ø—M‘Mðàòð %ñð
  ó ðð ð	ð ×ÑœwÓ'ñ 	/Ü×Ñ §¡Ô.÷	/à×Ñ¤¬¯©×)EÑ)EÐFÓGñ 	?Ü×Ñ §¡¨~Ô>÷	?à×ÑÔ1Ó2ñ 	>Ü×Ñ §¡¨}Ô=÷	>ô ×ÑØ—‘ØØ!ôð
 "ò"ð	
ð"ð ×$Ñ$Ü×ÑØ—‘ØØ)ôó
ð &×,Ñ,¨[Ó9×@Ñ@Ø%ð Aó 
ò
ð 	
ñ 
÷	/ñ 	/ú÷	?ð 	?ú÷	>ð 	>ús$   Â! GÃ8!G)Ä6!G5ÇG&Ç)G2Ç5G>c                 óÂ   — t        j                  | j                  d«      dk(  sJ ‚| j                  «       D ]'  }t        j                  | j                  g|¢­Ž dk(  rŒ'J ‚ y ©Nr4   s   Hello, UTF-8 world!
s
   a resource)rD   Úread_binaryr   r,   r   r+   s     r   Útest_read_binaryz"FunctionalAPIBase.test_read_binaryf   sf   € ä×!Ñ! $§-¡-°Ó>Ø'ò(ð	
ð(ð ×:Ñ:Ó<ò 	VˆJÜ×(Ñ(¨¯©ÐD¸ÒDÈÓUÐUÐUñ	Vr   c                 ó0  — t        j                  | j                  d«      5 }|j                  «       dk(  sJ ‚	 d d d «       | j	                  «       D ]D  }t        j                  | j
                  g|¢­ddiŽ5 }|j                  «       dk(  sJ ‚	 d d d «       ŒF | j                  t        «      5  t        j                  | j                  «       d d d «       | j                  t        t         j                  j                  f«      5  t        j                  | j                  d«       d d d «       t        j                  | j                  d«      5 }| j                  t        «      5  |j                  «        d d d «       d d d «       t        j                  | j                  dd	¬
«      5 }|j                  «       dk(  sJ ‚	 d d d «       t        j                  | j                  dd¬«      5 }| j                  |j                  «       «      dj                  d«      j                  d¬«      k(  sJ ‚	 d d d «       y # 1 sw Y   �ŒþxY w# 1 sw Y   �ŒûxY w# 1 sw Y   �Œ„xY w# 1 sw Y   �Œ9xY w# 1 sw Y   ŒöxY w# 1 sw Y   ŒúxY w# 1 sw Y   ŒÅxY w# 1 sw Y   y xY w)Nr4   r5   r8   r6   r9   r:   r;   r<   r=   r7   r>   r?   r@   rB   rC   )rD   Ú	open_textr   Úreadr,   r   rF   rG   rH   rI   rJ   r2   rK   rL   ©r   Úfr)   s      r   Útest_open_textz FunctionalAPIBase.test_open_textn   sW  € Ü× Ñ  §¡°Ó=ð 	7ÀØ—6‘6“8Ð6Ò6Ð6Ñ6÷	7à×:Ñ:Ó<ò 	0ˆJÜ×$Ñ$Ø—‘ðàòð !ñð 0ð Ø—v‘v“x <Ò/Ð/Ñ/÷0ð 0ð	0ð ×ÑœwÓ'ñ 	/Ü×Ñ §¡Ô.÷	/à×Ñ¤¬¯©×)EÑ)EÐFÓGñ 	?Ü×Ñ §¡¨~Ô>÷	?ä× Ñ  §¡°Ó>ð 	À!Ø×"Ñ"Ô#5Ó6ñ Ø—‘”÷÷	ô × Ñ Ø�M‰MØØô
ð 	2ð Ø—6‘6“8Ð1Ò1Ð1Ñ1÷	2ô × Ñ Ø�M‰MØØ%ô
ð 		ð Ø×(Ñ(¨¯©«Ó2Ð6N×6UÑ6UØó7ç‰fØ)ð ó òð ñ ÷		ð 		÷1	7ñ 	7ú÷0ñ 0ú÷	/ñ 	/ú÷	?ñ 	?ú÷ð ú÷	ð 	ú÷	2ð 	2ú÷		ð 		úsl   ¡H4Á6IÂ, IÄ!IÅI4Å"I(Å3I4Æ%J Ç&AJÈ4H>ÉI	ÉIÉI%É(I1	É-I4É4I=Ê J	ÊJc                 óZ  — t        j                  | j                  d«      5 }|j                  «       dk(  sJ ‚	 d d d «       | j	                  «       D ]A  }t        j                  | j
                  g|¢­Ž 5 }|j                  «       dk(  sJ ‚	 d d d «       ŒC y # 1 sw Y   Œ^xY w# 1 sw Y   ŒZxY wrO   )rD   Úopen_binaryr   rT   r,   r   rU   s      r   Útest_open_binaryz"FunctionalAPIBase.test_open_binary’   sª   € Ü×"Ñ" 4§=¡=°,Ó?ð 	8À1Ø—6‘6“8Ð7Ò7Ð7Ñ7÷	8à×:Ñ:Ó<ò 	1ˆJÜ×&Ñ&Ø—‘ðàòð 1ð Ø—v‘v“x =Ò0Ð0Ñ0÷	1ð 1ñ	1÷	8ð 	8ú÷1ð 1ús   ¡BÁ3B!ÂBÂ!B*	c                 ó  — t        j                  | j                  d«      5 }t        t	        |«      d¬«      5 }|j                  «       dk(  sJ ‚	 d d d «       d d d «       t        j                  | j                  «      5 }t        t        j                  j                  |d«      d¬«      5 }|j                  «       dk(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   Œ„xY w# 1 sw Y   ŒˆxY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)Nr4   r6   r7   r5   )rD   Úpathr   ÚopenÚstrrT   ÚosÚjoin)r   r\   rV   s      r   Ú	test_pathzFunctionalAPIBase.test_pathœ   sØ   € Ü�^‰^˜DŸM™M¨<Ó8ð 	;¸DÜ”c˜$“i¨'Ô2ð ;°aØ—v‘v“xÐ#:Ò:Ð:Ñ:÷;÷	;ô �^‰^˜DŸM™MÓ*ð 	;¨dÜ”b—g‘g—l‘l 4¨Ó6ÀÔIð ;ÈQØ—v‘v“xÐ#:Ò:Ð:Ñ:÷;÷	;ð 	;÷;ð ;ú÷	;ð 	;ú÷;ð ;ú÷	;ð 	;úsF   ¡C¸CÁCÁ>,C6Â*C*ÃC6ÃC	ÃCÃC'Ã*C3	Ã/C6Ã6C?c                 ó  — t         j                  } || j                  d«      sJ ‚ || j                  d«      rJ ‚ || j                  «      rJ ‚ || j                  d«      rJ ‚| j                  «       D ]  } || j                  g|¢­Ž rŒJ ‚ y )Nr4   Úno_such_filer&   )rD   Úis_resourcer   r,   r   )r   rd   r)   s      r   Útest_is_resourcez"FunctionalAPIBase.test_is_resource¤   sŠ   € Ü×+Ñ+ˆÙ˜4Ÿ=™=¨,Ô7Ð7Ð7Ù˜tŸ}™}¨nÔ=Ð=Ð=Ù˜tŸ}™}Ô-Ð-Ð-Ù˜tŸ}™}¨nÔ=Ð=Ð=Ø×:Ñ:Ó<ò 	;ˆJÙ˜tŸ}™}Ð:¨zÔ:Ð:Ð:ñ	;r   c           	      óú  — t        j                  dt        f«      5  t        j                  | j
                  «      }d d d «       t        «      h d£k\  sJ ‚| j                  t        «      5  t        j                  dt        f«      5  t        t        j                  | j
                  d«      «       d d d «       d d d «       | j                  «       D ]‡  }| j                  t        t        j                  j                  f«      5  t        j                  dt        f«      5  t        t        j                  | j
                  g|¢­Ž «       d d d «       d d d «       Œ‰ t        j                  dt        f«      5  t        j                  | j
                  d«      }d d d «       t        |«      dhk\  sJ ‚y # 1 sw Y   �ŒwxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ�xY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ[xY w)Nz.*contents.*>   r&   r4   r<   r;   r4   r&   r<   )r   Úcheck_warningsÚDeprecationWarningrD   Úcontentsr   ÚsetrF   rG   Úlistr,   rH   rI   )r   Úcr)   s      r   Útest_contentszFunctionalAPIBase.test_contents­   sÇ  € Ü×+Ñ+¨^Ô=OÐ,PÓQñ 	2Ü×"Ñ" 4§=¡=Ó1ˆA÷	2ä�1‹vÒUÒUÐUÐUà×ÑœgÓ&ñ	Bä×*Ñ*ØÜ"ð,ó ñ	Bô ”×#Ñ# D§M¡M°<Ó@ÔA÷	B÷ 	Bð ×:Ñ:Ó<ò 	EˆJà×!Ñ!¤7¬I¯M©M×,HÑ,HÐ"IÓJñEä×.Ñ.Ø"Ü&ð0ó ñEô ”Y×'Ñ'¨¯©ÐC¸
ÒCÔD÷E÷ Eð Eð	Eô ×+Ñ+¨^Ô=OÐ,PÓQñ 	BÜ×"Ñ" 4§=¡=°.ÓAˆA÷	Bä�1‹v˜-˜Ò(Ð(Ñ(÷/	2ñ 	2ú÷	Bñ 	Bú÷ 	Bñ 	Bú÷Eð Eú÷ Eñ Eú÷	Bð 	Bús_   œ F1Á+GÂ*F>Â1GÄG$Ä*GÅ	G$Å6!G1Æ1F;Æ>G	ÇGÇGÇG!ÇG$Ç$G.	Ç1G:)Úcategoryc                 ój  — t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  t         j                  fD ]•  }| j                  |¬«      5  | j                  t        «      5   |d «       d d d «       | j                  t        t        f«      5   |d«       d d d «       | j                  t        «      5   |d«       d d d «       d d d «       Œ— y # 1 sw Y   ŒfxY w# 1 sw Y   ŒFxY w# 1 sw Y   Œ,xY w# 1 sw Y   ŒÆxY w)N©ÚfunciÒ  z$missing module$)rD   rE   rP   rS   rY   r\   rd   ri   r*   rF   Ú	TypeErrorÚAttributeErrorÚModuleNotFoundError©r   rq   s     r   Útest_common_errorsz$FunctionalAPIBase.test_common_errorsÇ   s  € ô ×ÑÜ×!Ñ!Ü×ÑÜ×!Ñ!Ü�N‰NÜ×!Ñ!Ü×Ñð
ò 	-ˆDð —‘ 4�Ó(ñ 	-à×&Ñ&¤yÓ1ñ Ù˜”J÷ð ×&Ñ&¬	´>Ð'BÓCñ Ù˜”J÷ð ×&Ñ&Ô':Ó;ñ -ÙÐ+Ô,÷-÷	-ð 	-ñ	-÷ð ú÷ð ú÷-ð -ú÷	-ð 	-úsT   ÂD)Â	DÂ #D)Ã	DÃD)Ã)	DÃ2D)ÄDÄ
D)ÄDÄD)ÄD&Ä"D)Ä)D2	c           	      ó  — t         j                  t         j                  fD ]P  }| j                  |¬«      5  | j	                  t
        «      5   || j                  ddd«       d d d «       d d d «       ŒR y # 1 sw Y   ŒxY w# 1 sw Y   ŒixY w)Nrp   r&   r'   r(   )rD   rE   rS   r*   rF   rr   r   ru   s     r   Útest_text_errorsz"FunctionalAPIBase.test_text_errorsÝ   sŠ   € ä×ÑÜ×Ñð
ò 	ˆDð —‘ 4�Ó(ñ à×&Ñ&¤yÓ1ñ ÙØŸ™Ø&Ø#Ø&ô	÷÷ð ñ		÷ð ú÷ð ús#   ¶BÁA5Á"BÁ5A>Á:BÂB
	)r
   r   r   r"   r,   Ústaticmethodr2   rM   rQ   rW   rZ   ra   re   rm   r   Úignore_warningsrh   rv   rx   Ú__classcell__)r$   s   @r   r   r      so   ø„ ô$ò!ð ñ	ó ð	ò/
òbVò"òH1ò;ò;ò)ð4 %€_×$Ñ$Ð.@ÔAñ-ó Bð-ö*r   r   c                   ó   — e Zd Zy)Ú#FunctionalAPITest_StringAnchor_DiskN©r
   r   r   r   r   r   r}   r}   í   ó   „ ð 	r   r}   c                   ó   — e Zd Zy)Ú#FunctionalAPITest_ModuleAnchor_DiskNr~   r   r   r   r�   r�   ö   r   r   r�   c                   ó   — e Zd Zy)Ú%FunctionalAPITest_StringAnchor_MemoryNr~   r   r   r   rƒ   rƒ   ÿ   r   r   rƒ   )r   r_   ÚunittestÚimportlib_resourcesrD   Ú r   Úcompat.py39r   r   r   r   Ú	DiskSetupÚTestCaser}   r�   ÚMemorySetuprƒ   r   r   r   ú<module>r‹      sš   ðÛ Û 	Û ã 'å Ý (÷ñ ÷
1ñ 1÷Pñ Pôf	ØØØ‡N�NØ×Ñô		ô	ØØØ‡N�NØ×Ñô		ô	ØØØ×ÑØ×Ñõ		r   