Ë
    ò¦1h  ã                   óN   — 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	y)é    N)ÚTag)Ú	FormatterÚHTMLFormatterÚXMLFormatteré   )ÚSoupTestc                   ól  — e Zd Zd„ Zd„ Zd„ Zej                  j                  dddddd	d
dd e	«       dfdg
«      d„ «       Z
d„ Zej                  j                  d ed¬«      df ed¬«      df ed¬«      df ed¬«      dfg«      d„ «       Zej                  j                  dg d¢«      d„ «       Zd„ Zy)ÚTestFormatterc                 óÐ   — t        «       }t        d¬«      }d|d<   d|d<   ddg|j                  |«      k(  sJ ‚d |_        g |j                  |«      k(  sJ ‚d	|j                  k(  sJ ‚y )
NÚtag)ÚnameÚ1ÚbÚ2Úa)r   r   )r   r   ú )r   r   Ú
attributesÚattrsÚindent)ÚselfÚ	formatterr   s      úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/bs4/tests/test_formatter.pyÚtest_default_attributesz%TestFormatter.test_default_attributes   sz   € ä“Kˆ	Ü�uŒoˆØˆˆC‰ØˆˆC‰ð
 ˜JÐ'¨9×+?Ñ+?ÀÓ+DÒDÐDÐDð ˆŒ	Ø�Y×)Ñ)¨#Ó.Ò.Ð.Ð.à�i×&Ñ&Ò&Ð&Ñ&ó    c                 óº   —  G d„ dt         «      }| j                  d«      } |«       }|j                  |¬«      }|j                  |j                  k(  sJ ‚d|k(  sJ ‚y )Nc                   ó   — e Zd Zd„ Zy)ú=TestFormatter.test_sort_attributes.<locals>.UnsortedFormatterc              3   óˆ   K  — || _         t        |j                  j                  «       «      D ]  \  }}|dk(  rŒ||f–— Œ y ­w)NÚignore)Úcalled_withÚsortedr   Úitems)r   r   ÚkÚvs       r   r   zHTestFormatter.test_sort_attributes.<locals>.UnsortedFormatter.attributes$   sD   è ø€ Ø#&�Ô Ü" 3§9¡9§?¡?Ó#4Ó5ò ‘D�A�qØ˜H’}Ø Ø˜Q˜$“Jñùs   ‚A A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ˆÙ%Ó'ˆ	Ø—+‘+¨	�+Ó2ˆð ×$Ñ$¨¯©Ò.Ð.Ð.Ø*¨gÒ5Ð5Ñ5r   c                 óÞ  — dD ]%  }t         j                  |   }d|j                  u rŒ%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 ]\  }| j                  |«      }dD ]D  }d|j                  j                  d	¬
«      k(  sJ ‚d|j                  j                  d¬
«      k(  rŒDJ ‚ Œ^ y )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   s,  € ð .ò 	DˆDÜ%×.Ñ.¨tÑ4ˆIØ˜I×CÑCÒCÐCÐCð	Dô !×)Ñ)¨$Ñ/ˆ	Ø˜	×?Ñ?Ñ?Ð?Ð?ä!×*Ñ*¨7Ñ3ˆ	Ø�y×>Ñ>Ñ>Ð>Ð>ô ¸DÔAˆ	Ø�y×>Ñ>Ñ>Ð>Ð>ð Vò 	ˆFØ—9‘9˜VÓ$ˆDØ=ò �	Ø7¸4¿;¹;×;MÑ;MØ$ð <Nó <ò ð ð ð 5¸¿¹×8JÑ8JØ%ð 9Kó 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                 óš   — | j                  d«      }t        |¬«      }|j                  |¬«      |k(  sJ ‚|j                  |¬«      |k7  sJ ‚y )Nz<a><b>text</b></a>©r   r*   )r+   r   Úprettifyr8   )r   r   Úexpectr+   r   s        r   Útest_indentzTestFormatter.test_indentQ   sQ   € ð& �y‰yÐ-Ó.ˆÜ VÔ,ˆ	Ø�}‰} yˆ}Ó1°VÒ;Ð;Ð;ð �{‰{ Yˆ{Ó/°6Ò9Ð9Ñ9r   c                 ó:   — t        «       }|j                  dk(  sJ ‚y )Nr   )r   r   )r   r   s     r   Útest_default_indent_valuez'TestFormatter.test_default_indent_valuel   s   € Ü“Kˆ	Ø×Ñ 3Ò&Ð&Ñ&r   zformatter,expectr   rC   z<p>
 a
</p>
r?   z<p>
  a
</p>
r@   z<p>
	a
</p>
c                 óh   — | j                  d«      }||j                  j                  |¬«      k(  sJ ‚y )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   j                  |«      |k(  sJ ‚t         j                  d   j                  |«      |k(  sJ ‚t         j                  d   j                  |«      |k(  sJ ‚y )Nr1   r3   z
html5-4.12)r   r6   Ú
substitute)r   ÚsÚexpect_htmlÚexpect_html5s       r   Útest_entity_substitutionz&TestFormatter.test_entity_substitution{   sp   € ô$ ×%Ñ% fÑ-×8Ñ8¸Ó;¸{ÒJÐJÐJÜ×%Ñ% gÑ.×9Ñ9¸!Ó<ÀÒLÐLÐLÜ×%Ñ% lÑ3×>Ñ>¸qÓAÀ[ÒPÐPÑPr   c                 ó  — d}| j                  |«      }d|j                  j                  k(  sJ ‚|j                  j                  dz   |j                  _        d|j                  j                  k(  sJ ‚d}||j                  j                  d¬«      k(  sJ ‚||j                  j                  d¬«      k(  sJ ‚d	}| j                  |«      }d
|j                  j                  d¬«      k(  sJ ‚d	|j                  j                  d¬«      k(  sJ ‚y )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‰v�}‰}òð	
ðð
 Ÿ™Ÿ™¨	Ñ1ˆ�‰Œð _Ø�v‰v�}‰}òð	
ðð UˆØ˜Ÿ™Ÿ™°˜Ó8Ò8Ð8Ð8Ø˜Ÿ™Ÿ™°˜Ó9Ò9Ð9Ð9àˆØ�y‰y˜Ó ˆØ! T§V¡V§]¡]¸V ]Ó%DÒDÐDÐDØ §¡§¡¸ Ó!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ò(ð: ‡[�[×ÑØà2Ø0Ø/Ø0Ø3Ø7Ø:Ø?á‹XÐ9Ð:Ø:ð	
óñ 	:ó!ð 	:ò'ð ‡[�[×ÑÐ/á !Ô$Ð&7Ð8Ù !Ô$Ð&8Ð9Ù Ô#Ð%6Ð7Ù Ô&Ð(:Ð;ð		
ó(ñ>ó(ð>ð ‡[�[×ÑØ$ò	
óñ"Qó#ð"Qó
Br   r
   )
r]   Úbs4.elementr   Úbs4.formatterr   r   r   r=   r   r
   r(   r   r   ú<module>rc      s*   ðÛ å ÷ñ õ
 ô^B�Hõ ^Br   