§
    ©öÉg  ã                   óV   — d dl Z d dlmZ d dlmZmZmZ ddlmZ  G d„ de¦  «        Z	dS )é    N)ÚTag)Ú	FormatterÚHTMLFormatterÚXMLFormatteré   )ÚSoupTestc                   ó˜  — e Zd Zd„ Zd„ Zd„ Zej                             dddddd	d
dd e	¦   «         dfdg
¦  «        d„ ¦   «         Z
d„ Zej                             d ed¬¦  «        df ed¬¦  «        df ed¬¦  «        df ed¬¦  «        dfg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd„ ZdS )ÚTestFormatterc                 óî   — t          ¦   «         }t          d¬¦  «        }d|d<   d|d<   ddg|                     |¦  «        k    sJ ‚d |_        g |                     |¦  «        k    sJ ‚d	|j        k    sJ ‚d S )
NÚtag)ÚnameÚ1ÚbÚ2Úa)r   r   )r   r   ú )r   r   Ú
attributesÚattrsÚindent)ÚselfÚ	formatterr   s      úd/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/bs4/tests/test_formatter.pyÚtest_default_attributesz%TestFormatter.test_default_attributes   s’   € å‘K”Kˆ	Ý�uˆo‰oŒoˆØˆˆC‰ØˆˆC‰ð
 ˜JÐ'¨9×+?Ò+?ÀÑ+DÔ+DÒDÐDÐDÐDð ˆŒ	Ø�Y×)Ò)¨#Ñ.Ô.Ò.Ð.Ð.Ð.à�iÔ&Ò&Ð&Ð&Ð&Ð&Ð&ó    c                 óÊ   —  G d„ dt           ¦  «        }|                      d¦  «        } |¦   «         }|                     |¬¦  «        }|j        |j        k    sJ ‚d|k    sJ ‚d S )Nc                   ó   — e Zd Zd„ ZdS )ú=TestFormatter.test_sort_attributes.<locals>.UnsortedFormatterc              3   óŠ   K  — || _         t          |j                             ¦   «         ¦  «        D ]\  }}|dk    rŒ||fV — Œd S )NÚignore)Úcalled_withÚsortedr   Úitems)r   r   ÚkÚvs       r   r   zHTestFormatter.test_sort_attributes.<locals>.UnsortedFormatter.attributes$   sZ   è è € Ø#&�Ô Ý" 3¤9§?¢?Ñ#4Ô#4Ñ5Ô5ð ð ‘D�A�qØ˜H’}�}Ø Ø˜Q˜$�J�J�J�Jðð r   N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   ÚUnsortedFormatterr   #   s#   € € € € € ðð ð ð ð r   r)   z*<p cval="1" aval="2" ignore="ignored"></p>©r   z<p aval="2" cval="1"></p>)r   ÚsoupÚdecoder    Úp)r   r)   r+   r   Údecodeds        r   Útest_sort_attributesz"TestFormatter.test_sort_attributes    s�   € ð	ð 	ð 	ð 	ð 	¥	ñ 	ô 	ð 	ð �yŠyÐEÑFÔFˆØ%Ð%Ñ'Ô'ˆ	Ø—+’+¨	�+Ñ2Ô2ˆð Ô$¨¬Ò.Ð.Ð.Ð.Ø*¨gÒ5Ð5Ð5Ð5Ð5Ð5r   c                 ó¶  — dD ]}t           j        |         }d|j        u sJ ‚Œ t          j        d          }d|j        u sJ ‚t           j        d         }d|j        u sJ ‚t	          d¬¦  «        }d|j        u sJ ‚dD ]^}|                      |¦  «        }dD ]D}d|j                             d	¬
¦  «        k    sJ ‚d|j                             d¬
¦  «        k    sJ ‚ŒEŒ_d S )N)ÚhtmlÚminimalNFÚhtml5T)Úempty_attributes_are_booleans)z<option selected></option>z<option selected=""></option>)r1   r2   ÚxmlNs   <option selected=""></option>r1   r*   s   <option selected></option>)r   ÚREGISTRYr4   r   r   r+   ÚoptionÚencode)r   r   r   Úmarkupr+   s        r   Ú"test_empty_attributes_are_booleansz0TestFormatter.test_empty_attributes_are_booleans4   sQ  € ð .ð 	Dð 	DˆDÝ%Ô.¨tÔ4ˆIØ˜IÔCÐCÐCÐCÐCÐCå Ô)¨$Ô/ˆ	Ø˜	Ô?Ð?Ð?Ð?Ð?å!Ô*¨7Ô3ˆ	Ø�yÔ>Ð>Ð>Ð>Ð>õ ¸DÐAÑAÔAˆ	Ø�yÔ>Ð>Ð>Ð>Ð>ð Vð 	ð 	ˆFØ—9’9˜VÑ$Ô$ˆDØ=ð ð �	Ø7¸4¼;×;MÒ;MØ$ð <Nñ <ô <ò ð ð ð ð 5¸¼×8JÒ8JØ%ð 9Kñ 9ô 9ò ð ð ð ð ð	ð	ð 	r   zindent,expect)Nú<a>
<b>
text
</b>
</a>
)éÿÿÿÿr;   )r   r;   )Ú r;   )r   ú<a>
 <b>
  text
 </b>
</a>
)é   z<a>
  <b>
    text
  </b>
</a>
)ú	z<a>
	<b>
		text
	</b>
</a>
)Úabcz#<a>
abc<b>
abcabctext
abc</b>
</a>
r>   )s   bytesr>   c                 óÀ   — |                       d¦  «        }t          |¬¦  «        }|                     |¬¦  «        |k    sJ ‚|                     |¬¦  «        |k    sJ ‚d S )Nz<a><b>text</b></a>©r   r*   )r+   r   Úprettifyr8   )r   r   Úexpectr+   r   s        r   Útest_indentzTestFormatter.test_indentQ   sl   € ð& �yŠyÐ-Ñ.Ô.ˆÝ VÐ,Ñ,Ô,ˆ	Ø�}Š} yˆ}Ñ1Ô1°VÒ;Ð;Ð;Ð;ð �{Š{ Yˆ{Ñ/Ô/°6Ò9Ð9Ð9Ð9Ð9Ð9r   c                 ó<   — t          ¦   «         }|j        dk    sJ ‚d S )Nr   )r   r   )r   r   s     r   Útest_default_indent_valuez'TestFormatter.test_default_indent_valuel   s%   € Ý‘K”Kˆ	ØÔ 3Ò&Ð&Ð&Ð&Ð&Ð&r   zformatter,expectr   rC   z<p>
 a
</p>
r?   z<p>
  a
</p>
r@   z<p>
	a
</p>
c                 ór   — |                       d¦  «        }||j                             |¬¦  «        k    sJ ‚d S )Nz<p>a</p>r*   )r+   r-   rD   )r   r   rE   r+   s       r   Útest_indent_subclassesz$TestFormatter.test_indent_subclassesp   s<   € ð �yŠy˜Ñ$Ô$ˆØ˜œŸš°9˜Ñ=Ô=Ò=Ð=Ð=Ð=Ð=Ð=r   zs,expect_html,expect_html5)	)ú	foo & barzfoo &amp; barrK   )úfoo&zfoo&amp;rL   )ú
foo&&& barzfoo&amp;&amp;&amp; barrM   )úx=1&y=2zx=1&amp;y=2rN   )ú&123z&amp;123rO   )ú&abcz&amp;abcrP   )ú
foo &0 barzfoo &amp;0 barrQ   )úfoo &lolwat barzfoo &amp;lolwat barrR   )z&nosuchentity;ú&amp;nosuchentity;rS   c                 ó  — t           j        d                              |¦  «        |k    sJ ‚t           j        d                              |¦  «        |k    sJ ‚t           j        d                              |¦  «        |k    sJ ‚d S )Nr1   r3   z
html5-4.12)r   r6   Ú
substitute)r   ÚsÚexpect_htmlÚexpect_html5s       r   Útest_entity_substitutionz&TestFormatter.test_entity_substitution{   s   € õ$ Ô% fÔ-×8Ò8¸Ñ;Ô;¸{ÒJÐJÐJÐJÝÔ% gÔ.×9Ò9¸!Ñ<Ô<ÀÒLÐLÐLÐLÝÔ% lÔ3×>Ò>¸qÑAÔAÀ[ÒPÐPÐPÐPÐPÐPr   c                 óè  — d}|                       |¦  «        }d|j        j        k    sJ ‚|j        j        dz   |j        _        d|j        j        k    sJ ‚d}||j                             d¬¦  «        k    sJ ‚||j                             d¬¦  «        k    sJ ‚d	}|                       |¦  «        }d
|j                             d¬¦  «        k    sJ ‚d	|j                             d¬¦  «        k    sJ ‚d S )Nuf   <p>Some division signs: Ã· &divide; &#247; &#xf7;. These are made with: Ã· &amp;divide; &amp;#247;</p>uI   Some division signs: Ã· Ã· Ã· Ã·. These are made with: Ã· &divide; &#247;z &#xf7;uP   Some division signs: Ã· Ã· Ã· Ã·. These are made with: Ã· &divide; &#247; &#xf7;z�<p>Some division signs: &divide; &divide; &divide; &divide;. These are made with: &divide; &amp;divide; &amp;#247; &amp;#xf7;</p>r1   r*   r3   z<p>a & b</p>z<p>a &amp; b</p>)r+   r-   Ústringr,   )r   r9   r+   rE   s       r   Útest_entity_round_tripz$TestFormatter.test_entity_round_trip‘   s  € ð zˆØ�yŠy˜Ñ Ô ˆàWØŒvŒ}òð ð ð ð
 œœ¨	Ñ1ˆŒŒð _ØŒvŒ}òð ð ð ð UˆØ˜œŸš°˜Ñ8Ô8Ò8Ð8Ð8Ð8Ø˜œŸš°˜Ñ9Ô9Ò9Ð9Ð9Ð9àˆØ�yŠy˜Ñ Ô ˆØ! T¤V§]¢]¸V ]Ñ%DÔ%DÒDÐDÐDÐDØ ¤§¢¸ Ñ!AÔ!AÒAÐAÐAÐAÐAÐAr   N)r%   r&   r'   r   r/   r:   ÚpytestÚmarkÚparametrizeÚobjectrF   rH   r   r   rJ   rY   r\   r(   r   r   r
   r
      s›  € € € € € ð'ð 'ð 'ð&6ð 6ð 6ð(ð ð ð: „[×ÒØà2Ø0Ø/Ø0Ø3Ø7Ø:Ø?àˆV‰XŒXÐ9Ð:Ø:ð	
ñô ð 	:ð 	:ñ!ô ð 	:ð'ð 'ð 'ð „[×ÒÐ/àˆ] !Ð$Ñ$Ô$Ð&7Ð8Øˆ] !Ð$Ñ$Ô$Ð&8Ð9Øˆ\ Ð#Ñ#Ô#Ð%6Ð7Øˆ\ Ð&Ñ&Ô&Ð(:Ð;ð		
ñ(ô (ð>ð >ñ(ô (ð>ð „[×ÒØ$ð	
ð 	
ð 	
ñô ð"Qð Qñ#ô ð"Qð
Bð Bð Bð Bð Br   r
   )
r]   Úbs4.elementr   Úbs4.formatterr   r   r   r=   r   r
   r(   r   r   ú<module>rc      s®   ðØ €€€à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð
 Ð Ð Ð Ð Ð ð^Bð ^Bð ^Bð ^Bð ^B�Hñ ^Bô ^Bð ^Bð ^Bð ^Br   