Ë
    ò¦1h  ã                   ó  — d Z ddlZddlZddlZddlmZmZ erddlmZm	Z	 ddl
mZ ddlmZmZmZ ej                  j!                  e d¬	«       G d
„ de«      «       Zej                  j!                  e d¬	«       G d„ de«      «       Zy)z@Tests to ensure that the lxml tree builder generates good trees.é    Né   )ÚLXML_PRESENTÚLXML_VERSION)ÚLXMLTreeBuilderÚLXMLTreeBuilderForXML)ÚBeautifulStoneSoup)ÚHTMLTreeBuilderSmokeTestÚXMLTreeBuilderSmokeTestÚSOUP_SIEVE_PRESENTz;lxml seems not to be present, not testing its tree builder.©Úreasonc                   óŽ   — e Zd ZdZed„ «       Zd„ Zd„ Zej                  j                  e xs edk  d¬«      d„ «       Zd	„ Zd
„ Zy)ÚTestLXMLTreeBuilderú!See ``HTMLTreeBuilderSmokeTest``.c                 ó   — t         S ©N)r   ©Úselfs    úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/bs4/tests/test_lxml.pyÚdefault_builderz#TestLXMLTreeBuilder.default_builder   s   € äÐó    c                 óp   — | j                  dd«       | j                  dd«       | j                  dd«       y )Nz<p>foo&#10000000000000;bar</p>z<p>foobar</p>z<p>foo&#x10000000000000;bar</p>z<p>foo&#1000000000;bar</p>)Úassert_soupr   s    r   Útest_out_of_range_entityz,TestLXMLTreeBuilder.test_out_of_range_entity    s5   € Ø×ÑÐ9¸?ÔKØ×ÑÐ:¸OÔLØ×ÑÐ5°ÕGr   c                  ó   — y r   © r   s    r   Ú*test_entities_in_foreign_document_encodingz>TestLXMLTreeBuilder.test_entities_in_foreign_document_encoding%   s   € ð 	r   )é   é   é   r   z@Skipping doctype test for old version of lxml to avoid segfault.r   c                 ón   — | j                  d«      }|j                  d   }d|j                  «       k(  sJ ‚y )Nz
<!DOCTYPE>r   Ú )ÚsoupÚcontentsÚstrip)r   r#   Údoctypes      r   Útest_empty_doctypez&TestLXMLTreeBuilder.test_empty_doctype.   s4   € ð
 �y‰y˜Ó&ˆØ—-‘- Ñ"ˆØ�W—]‘]“_Ò$Ð$Ñ$r   c                 ó  — t        j                  d¬«      5 }t        d«      }d d d «       dt        j                  «      k(  sJ ‚\  }|j
                  t        k(  sJ ‚dt        |j                  «      v sJ ‚y # 1 sw Y   ŒVxY w)NT)Úrecordz<b />z<b/>z+The BeautifulStoneSoup class was deprecated)ÚwarningsÚcatch_warningsr   ÚstrÚbÚfilenameÚ__file__Úmessage)r   Úwr#   Úwarnings       r   Ú%test_beautifulstonesoup_is_xml_parserz9TestLXMLTreeBuilder.test_beautifulstonesoup_is_xml_parser7   s{   € ô ×$Ñ$¨DÔ1ð 	/°QÜ% gÓ.ˆD÷	/àœ˜TŸV™V›Ò$Ð$Ð$Ø‰	ˆØ×Ñ¤8Ò+Ð+Ð+Ø<ÄÀGÇOÁOÓ@TÑTÐTÑT÷	/ð 	/ús   —A8Á8Bc                 ó’   — | j                  dd¬«      }d |j                  j                  u sJ ‚d |j                  j                  u sJ ‚y )Nz=
   <p>

<sourceline>
<b>text</b></sourceline><sourcepos></p>T)Ústore_line_numbers)r#   ÚpÚ
sourcelineÚ	sourcepos©r   r#   s     r   Útest_tracking_line_numbersz.TestLXMLTreeBuilder.test_tracking_line_numbersA   sO   € ð �y‰yØOØ#ð ó 
ˆð �t—v‘v×(Ñ(Ñ(Ð(Ð(Ø�t—v‘v×'Ñ'Ñ'Ð'Ñ'r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   r   ÚpytestÚmarkÚskipifr   r   r'   r3   r:   r   r   r   r   r      sj   „ ñ
 ,àñó ðòHò
ð ‡[�[×ÑØÐÒ7˜L¨<Ñ7ØQð ó ñ%ó	ð%ò
Uó(r   r   z?lxml seems not to be present, not testing its XML tree builder.c                   ót   — e Zd ZdZed„ «       Zd„ Zej                  j                  e
 d¬«      d„ «       Zd„ Zy)	ÚTestLXMLXMLTreeBuilderr   c                 ó   — t         S r   )r   r   s    r   r   z&TestLXMLXMLTreeBuilder.default_builderX   s   € ä$Ð$r   c                 ó>  — | j                  d«      }|j                  ddddœk(  sJ ‚|j                  j                  ddik(  sJ ‚|j                  j                  dddœk(  sJ ‚|j                  j                  dddœk(  sJ ‚|j
                  j                  dddœk(  sJ ‚y )	Nam  <?xml version="1.1"?>
<root><tag xmlns="http://unprefixed-namespace.com">content</tag><prefix:tag2 xmlns:prefix="http://prefixed-namespace.com">content</prefix:tag2><prefix2:tag3 xmlns:prefix2="http://another-namespace.com"><subtag xmlns="http://another-unprefixed-namespace.com"><subsubtag xmlns="http://yet-another-unprefixed-namespace.com"></prefix2:tag3></root>z$http://www.w3.org/XML/1998/namespacezhttp://prefixed-namespace.comzhttp://another-namespace.com)ÚxmlÚprefixÚprefix2rG   )rH   rG   )rI   rG   )r#   Ú_namespacesÚtagÚtag2ÚsubtagÚ	subsubtagr9   s     r   Útest_namespace_indexingz.TestLXMLXMLTreeBuilder.test_namespace_indexing\   sá   € Ø�y‰yðó

ˆð& ×ÑØ9Ø5Ø5ñ$
ò 
ð 	
ð 
ð �x‰x×#Ñ#ØÐ9ð(
ò 
ð 	
ð 
ð �y‰y×$Ñ$Ø5Ø9ñ)
ò 
ð 	
ð 
ð
 �{‰{×&Ñ&Ø5Ø9ñ+
ò 
ð 	
ð 
ð
 �~‰~×)Ñ)Ø5Ø9ñ.
ò 
ð 	
ñ 
r   zSoup Sieve not installedr   c                 ó   — | j                  d«      }|j                  d«      j                  dk(  sJ ‚|j                  d«      j                  dk(  sJ ‚|j                  d«      �J ‚|j                  d|j                  j                  ¬«      j                  dk(  sJ ‚|j                  j                  d«      j                  dk(  sJ ‚|j                  d«      j                  dk(  sJ ‚|j                  d«      j                  dk(  sJ ‚|j                  d	«      j                  dk(  sJ ‚|j                  j                  d	«      j                  dk(  sJ ‚y )
Nzú<?xml version="1.1"?>
<root><tag xmlns="http://unprefixed-namespace.com">content</tag><prefix:tag2 xmlns:prefix="http://prefixed-namespace.com">content</tag><subtag xmlns:prefix="http://another-namespace-same-prefix.com"><prefix:tag3></subtag></root>rK   zprefix|tag2rL   zprefix|tag3)Ú
namespacesÚtag3zprefix:tag2zprefix:tag3)r#   Ú
select_oneÚnamerM   rJ   Úfindr9   s     r   Ú/test_namespace_interaction_with_select_and_findzFTestLXMLXMLTreeBuilder.test_namespace_interaction_with_select_and_find�   s?  € ð
 �y‰yðó	
ˆð �‰˜uÓ%×*Ñ*¨eÒ3Ð3Ð3Ø�‰˜}Ó-×2Ñ2°fÒ<Ð<Ð<ð �‰˜}Ó-Ð5Ð5Ð5ð �O‰O˜M°d·k±k×6MÑ6MˆOÓN×SÑSØòð	
ðð �{‰{×%Ñ% mÓ4×9Ñ9¸VÒCÐCÐCð �y‰y˜Ó×$Ñ$¨Ò-Ð-Ð-Ø�y‰y˜Ó'×,Ñ,°Ò6Ð6Ð6Ø�y‰y˜Ó'×,Ñ,°Ò6Ð6Ð6Ø�{‰{×Ñ Ó.×3Ñ3°vÒ=Ð=Ñ=r   c                 ón  — | j                  d«      }t        |j                  | j                  «      sJ ‚t	        j
                  |«      }t	        j                  |«      }d|j                  j                  k(  sJ ‚|j                  |j                  k7  sJ ‚t        |j                  | j                  «      sJ ‚y )Nz<a>some markup</a>zsome markup)	r#   Ú
isinstanceÚbuilderr   ÚpickleÚdumpsÚloadsÚaÚstring)r   r#   ÚpickledÚ	unpickleds       r   Útest_pickle_restores_builderz3TestLXMLXMLTreeBuilder.test_pickle_restores_builder¹   s•   € ð �y‰yÐ-Ó.ˆÜ˜$Ÿ,™,¨×(<Ñ(<Ô=Ð=Ð=Ü—,‘,˜tÓ$ˆÜ—L‘L Ó)ˆ	à 	§¡× 2Ñ 2Ò2Ð2Ð2Ø× Ñ  D§L¡LÒ0Ð0Ð0Ü˜)×+Ñ+¨T×-AÑ-AÔBÐBÑBr   N)r;   r<   r=   r>   r?   r   rO   r@   rA   rB   r   rV   ra   r   r   r   rD   rD   Q   sT   „ ñ
 ,àñ%ó ð%ò2
ðh ‡[�[×ÑÐ.Ð.Ð7QÐÓRñ&>ó Sð&>óPCr   rD   )r>   rZ   r@   r*   r"   r   r   Úbs4.builder._lxmlr   r   Úbs4r   r	   r
   r   rA   rB   r   rD   r   r   r   ú<module>rd      s¢   ðÙ Fã Û Û ß (áßHõ÷ñ ð ‡�×ÑØÐØHð ó ô5(Ð2ó 5(ó	ð5(ðp ‡�×ÑØÐØLð ó ôoCÐ4ó oCó	ñoCr   