ó
    |ch  ã                   óf   • S r SSKrSSKrSSKJrJrJr  SSKJr  SSK	J
r
  SSKJr   " S S	\5      rg)
zGTests to ensure that the html.parser tree builder generates good
trees.é    N)Ú_DuplicateAttributeHandlerÚBeautifulSoupHTMLParserÚHTMLParserTreeBuilder)ÚParserRejectedMarkup)ÚAnyé   )ÚHTMLTreeBuilderSmokeTestc                   óT   • \ rS rSr\rS rS rS rS r	S r
S rS rS	 rS
 rS rSrg)ÚTestHTMLParserTreeBuilderé   c                 óª   • / SQnU H7  n[         R                  " [        5         U R                  U5        S S S 5        M9     g ! , (       d  f       MK  = f)N)s	   
<![ÿþþÍ s   <![n s   <![UNKNOWN[]]>)ÚpytestÚraisesr   Úsoup)ÚselfÚ
bad_markupÚmarkups      Úb/var/www/djangovue.mamus.xyz/django/venv/lib/python3.13/site-packages/bs4/tests/test_htmlparser.pyÚtest_rejected_inputÚ-TestHTMLParserTreeBuilder.test_rejected_input   s=   € ò

ˆ
ó !ˆFÜ—’Ô3Õ4Ø—	‘	˜&Ô!÷ 5Ñ4ò !ß4Ö4ús   ¤AÁ
A	c                 ó   • g ©N© ©r   s    r   Útest_namespaced_system_doctypeÚ8TestHTMLParserTreeBuilder.test_namespaced_system_doctype(   ó   € àó    c                 ó   • g r   r   r   s    r   Útest_namespaced_public_doctypeÚ8TestHTMLParserTreeBuilder.test_namespaced_public_doctype,   r   r   c                 óà   • U R                  S5      n[        R                  " US5      n[        R                  " U5      n[	        UR
                  [        UR
                  5      5      (       d   eg)zVUnlike most tree builders, HTMLParserTreeBuilder and will
be restored after pickling.
z<a><b>foo</a>é   N)r   ÚpickleÚdumpsÚloadsÚ
isinstanceÚbuilderÚtype)r   ÚtreeÚdumpedÚloadeds       r   Útest_builder_is_pickledÚ1TestHTMLParserTreeBuilder.test_builder_is_pickled0   sP   € ð �y‰y˜Ó)ˆÜ—’˜d AÓ&ˆÜ—’˜fÓ%ˆÜ˜&Ÿ.™.¬$¨t¯|©|Ó*<×=Ñ=Ð=Ñ=r   c                 óL   • U R                  SS5        U R                  SS5        g )Nz<br></br><br></br><br></br>z<br/><br/><br/>z</br></br></br>Ú ©Úassert_soupr   s    r   Ú)test_redundant_empty_element_closing_tagsÚCTestHTMLParserTreeBuilder.test_redundant_empty_element_closing_tags9   s%   € Ø×ÑÐ6Ð8IÔJØ×ÑÐ*¨BÕ/r   c                 ó(   • U R                  SS5        g )Nz
foo &# barzfoo &amp;# barr1   r   s    r   Útest_empty_elementÚ,TestHTMLParserTreeBuilder.test_empty_element=   s   € ð 	×Ñ˜Ð'7Õ8r   c                 ó|  • SnU R                  U5      nSUR                  R                  :X  d   eSUR                  R                  :X  d   eSUR                  R	                  S5      R
                  :X  d   eU R                  USS9nS UR                  R                  L d   eS UR                  R                  L d   eg )Nz=
   <p>

<sourceline>
<b>text</b></sourceline><sourcepos></p>r#   é   Ú
sourcelineF)Ústore_line_numbers)r   Úpr:   Ú	sourceposÚfindÚname©r   r   r   s      r   Útest_tracking_line_numbersÚ4TestHTMLParserTreeBuilder.test_tracking_line_numbersB   s­   € ð UˆØ�y‰y˜Ó ˆØ�D—F‘F×%Ñ%Ó%Ð%Ð%Ø�D—F‘F×$Ñ$Ó$Ð$Ð$Ø˜tŸv™vŸ{™{¨<Ó8×=Ñ=Ó=Ð=Ð=ð �y‰y˜°EˆyÐ:ˆØ�t—v‘v×(Ñ(Ò(Ð(Ð(Ø�t—v‘v×'Ñ'Ò'Ð'Ñ'r   c                 óf  ^ ^• SmT R                  T5      nSUR                  S   :X  d   eS/UR                  S   :X  d   eSUR                  S   :X  d   eS[        S[        S	S 4UU 4S
 jjnU" S S5        U" [        R
                  S5        U" [        R                  S5        S nU" U/ SQ5        g )Nz;<a class="cls" href="url1" href="url2" href="url3" id="id">Úurl3ÚhrefÚclsÚclassÚidÚon_duplicate_attributeÚexpectedÚreturnc                 óÂ   >• TR                  TU S9nUR                  c   eXR                  S   :X  d   eS/UR                  S   :X  d   eSUR                  S   :X  d   eg )N)rI   rE   rF   rG   rH   )r   Úa)rI   rJ   r   r   r   s      €€r   Úassert_attributeÚOTestHTMLParserTreeBuilder.test_on_duplicate_attribute.<locals>.assert_attribute^   sl   ø€ ð —9‘9˜VÐ<R�9ÐSˆDØ—6‘6Ñ%Ð%Ð%ØŸv™v f™~Ó-Ð-Ð-ð �7˜dŸf™f W™oÓ-Ð-Ð-Ø˜4Ÿ6™6 $™<Ó'Ð'Ñ'r   Úurl1c                 óf   • [        X   [        5      (       d  X   /X'   X   R                  U5        g r   )r'   ÚlistÚappend)ÚattrsÚkeyÚvalues      r   Ú
accumulateÚITestHTMLParserTreeBuilder.test_on_duplicate_attribute.<locals>.accumulatep   s,   € Ü˜e™j¬$×/Ñ/Ø#™j˜\�‘
Ø‰J×Ñ˜eÕ$r   )rP   Úurl2rD   )r   rM   r   r   r   ÚREPLACEÚIGNORE)r   r   rN   rW   r   s   `   @r   Útest_on_duplicate_attributeÚ5TestHTMLParserTreeBuilder.test_on_duplicate_attributeP   sÃ   ù€ ð Oˆð �y‰y˜Ó ˆØ˜Ÿ™ ™Ó'Ð'Ð'Øˆw˜$Ÿ&™& ™/Ó)Ð)Ð)Ø�t—v‘v˜d‘|Ó#Ð#Ð#ð		(Ü$>ð		(ÜJMð		(à÷		(ð 		(ñ 	˜˜vÔ&ÙÔ0×8Ñ8¸&ÔAñ 	Ô0×7Ñ7¸Ô@ò	%ñ
 	˜Ò%=Õ>r   c                 óè   • S Hl  u  pnSU-  nU R                  U5      R                  nUR                  5       nSUR                  S5      -  nXg:X  d   eUR                  SS9nSU-  nX‡:X  a  Ml   e   g )N))z&RightArrowLeftArrow;u   â‡„s   &rlarr;)z&models;u   âŠ§s   &models;)z&Nfr;u   ð�”‘s   &Nfr;)z&ngeqq;u   â‰§Ì¸s   &ngeqq;)z&not;ô   Â¬s   &not;)z&Not;u   â«¬s   &Not;)z&quot;Ú"ó   ")z&there4;õ   âˆ´ó   &there4;)z&Therefore;rb   rc   )z&therefore;rb   rc   )z&fjlig;Úfjs   fj)z&sqcup;u   âŠ”s   &sqcup;)z&sqcups;u   âŠ”ï¸€s   &sqcups;)z&apos;Ú'ó   ')z&verbar;Ú|ó   |z<div>%s</div>s   <div>%s</div>Úutf8Úhtml)Ú	formatter)r   ÚdivÚencode)	r   Úinput_elementÚoutput_unicodeÚoutput_elementr   rl   Úwithout_elementÚexpectÚwith_elements	            r   Útest_html5_attributesÚ/TestHTMLParserTreeBuilder.test_html5_attributesw   s…   € ó
>
Ñ9ˆM¨>ð" % }Ñ4ˆFØ—)‘)˜FÓ#×'Ñ'ˆCØ!Ÿj™j›lˆOØ%¨×(=Ñ(=¸fÓ(EÑEˆFØ"Ó,Ð,Ð,àŸ:™:°˜:Ð7ˆLØ%¨Ñ6ˆFØÕ)Ð)Ð)ò3>
r   c                 óÐ   • SnU R                  U5      nSUR                  R                  5       :X  d   eSnU R                  U5      nSUR                  R                  5       :X  d   eg )Nz<p>a &nosuchentity b</p>z<p>a &amp;nosuchentity b</p>z<p>a &nosuchentity; b</p>)r   r<   Údecoder@   s      r   Útest_invalid_html_entityÚ2TestHTMLParserTreeBuilder.test_invalid_html_entity—   sZ   € ð ,ˆØ�y‰y˜Ó ˆØ-°·±·±³Ó@Ð@Ð@à,ˆØ�y‰y˜Ó ˆØ-°·±·±³Ó@Ð@Ñ@r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Údefault_builderr   r   r    r-   r3   r6   rA   r\   rt   rx   Ú__static_attributes__r   r   r   r   r      s<   † Ø+€Oò"ò*òò>ò0ò9ò
(ò%?òN*õ@
Ar   r   )Ú__doc__r$   r   Úbs4.builder._htmlparserr   r   r   Úbs4.exceptionsr   Útypingr   r0   r	   r   r   r   r   Ú<module>r„      s8   ðñ
ó Û ÷ñ õ
 0Ý Ý &ôQAÐ 8õ QAr   