§
     MºfÓ  ã                   óR  — d Z ddl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mZ ddlmZmZmZ ddlmZmZmZmZ ej                             e d	¬
¦  «         G d„ dee¦  «        ¦   «         Zej                             e d¬
¦  «         G d„ dee¦  «        ¦   «         ZdS )z@Tests to ensure that the lxml tree builder generates good trees.é    Né   )ÚLXML_PRESENTÚLXML_VERSION)ÚLXMLTreeBuilderÚLXMLTreeBuilderForXML)ÚBeautifulSoupÚBeautifulStoneSoup)ÚCommentÚDoctypeÚSoupStrainer)ÚHTMLTreeBuilderSmokeTestÚXMLTreeBuilderSmokeTestÚSOUP_SIEVE_PRESENTÚSoupTestz;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	         
                    e pedk     d¬¦  «        d„ ¦   «         Zd	„ Zd
„ ZdS )ÚTestLXMLTreeBuilderú!See ``HTMLTreeBuilderSmokeTest``.c                 ó   — t           S ©N)r   ©Úselfs    úR/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/bs4/tests/test_lxml.pyÚdefault_builderz#TestLXMLTreeBuilder.default_builder   s   € åÐó    c                 óŠ   — |                       dd¦  «         |                       dd¦  «         |                       dd¦  «         d S )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#   sf   € Ø×ÒØ,¨oñ	?ô 	?ð 	?à×ÒØ-¨ñ	@ô 	@ð 	@à×ÒØ(¨/ñ	;ô 	;ð 	;ð 	;ð 	;r   c                 ó   — d S 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                 ó~   — |                       d¦  «        }|j        d         }d|                     ¦   «         k    sJ ‚d S )Nz
<!DOCTYPE>r   Ú )ÚsoupÚcontentsÚstrip)r   r(   Údoctypes      r   Útest_empty_doctypez&TestLXMLTreeBuilder.test_empty_doctype4   s@   € ð
 �yŠy˜Ñ&Ô&ˆØ”- Ô"ˆØ�W—]’]‘_”_Ò$Ð$Ð$Ð$Ð$Ð$r   c                 ó  — t          j        d¬¦  «        5 }t          d¦  «        }d d d ¦  «         n# 1 swxY w Y   dt          |j        ¦  «        k    sJ ‚|\  }|j        t          k    sJ ‚dt          |j        ¦  «        v sJ ‚d S )NT)Úrecordz<b />z<b/>z&BeautifulStoneSoup class is deprecated)ÚwarningsÚcatch_warningsr	   ÚstrÚbÚfilenameÚ__file__Úmessage)r   Úwr(   Úwarnings       r   Ú%test_beautifulstonesoup_is_xml_parserz9TestLXMLTreeBuilder.test_beautifulstonesoup_is_xml_parser=   sÌ   € õ Ô$¨DÐ1Ñ1Ô1ð 	/°QÝ% gÑ.Ô.ˆDð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/à�˜TœV™œÒ$Ð$Ð$Ð$Ø‰	ˆØÔ¥8Ò+Ð+Ð+Ð+Ø7½3¸w¼Ñ;OÔ;OÐOÐOÐOÐOÐOÐOs   –2²6¹6c                 ó�   — |                       dd¬¦  «        }d|j        j        j        k    sJ ‚d|j        j        j        k    sJ ‚d S )Nz=
   <p>

<sourceline>
<b>text</b></sourceline><sourcepos></p>T)Ústore_line_numbersÚ
sourcelineÚ	sourcepos)r(   Úpr;   Únamer<   ©r   r(   s     r   Útest_tracking_line_numbersz.TestLXMLTreeBuilder.test_tracking_line_numbersG   s\   € ð �yŠyØOØ#ð ñ 
ô 
ˆð ˜tœvÔ0Ô5Ò5Ð5Ð5Ð5Ø˜dœfÔ.Ô3Ò3Ð3Ð3Ð3Ð3Ð3r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   r"   ÚpytestÚmarkÚskipifr   r   r,   r8   r@   r!   r   r   r   r      s¼   € € € € € ð
 ,Ð+àðð ñ „Xðð;ð ;ð ;ðð ð ð „[×ÒØÐÐ4˜L¨9Ò4ØQð ñ ô ð%ð %ñ	ô ð%ð
Pð Pð Pð4ð 4ð 4ð 4ð 4r   r   z?lxml seems not to be present, not testing its XML tree builder.c                   ó€   — e Zd ZdZed„ ¦   «         Zd„ Zej         	                    e
 d¬¦  «        d„ ¦   «         Zd„ ZdS )	ÚTestLXMLXMLTreeBuilderr   c                 ó   — t           S r   )r   r   s    r   r   z&TestLXMLXMLTreeBuilder.default_builder]   s   € å$Ð$r   c                 óø   — |                       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 ‚d S )	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Úprefix2rM   )rN   rM   )rO   rM   )r(   Ú_namespacesÚtagÚtag2ÚsubtagÚ	subsubtagr?   s     r   Útest_namespace_indexingz.TestLXMLXMLTreeBuilder.test_namespace_indexinga   s  € Ø�yŠyðñ

ô 

ˆð& ÔØ9Ø5Ø5ð$
ð $
ò 
ð 
ð 
ð 
ð ŒxÔ#ØÐ9ð(
ò 
ð 
ð 
ð 
ð ŒyÔ$Ø5Ø9ð)
ð )
ò 
ð 
ð 
ð 
ð
 Œ{Ô&Ø5Ø9ð+
ð +
ò 
ð 
ð 
ð 
ð
 Œ~Ô)Ø5Ø9ð.
ð .
ò 
ð 
ð 
ð 
ð 
ð 
r   zSoup Sieve not installedr   c                 óŠ  — |                       d¦  «        }|                     d¦  «        j        dk    sJ ‚|                     d¦  «        j        dk    sJ ‚|                     d¦  «        �J ‚|                     d|j        j        ¬¦  «        j        dk    sJ ‚|j                             d¦  «        j        dk    sJ ‚|                     d¦  «        j        dk    sJ ‚|                     d¦  «        j        dk    sJ ‚|                     d	¦  «        j        dk    sJ ‚|j                             d	¦  «        j        dk    sJ ‚d S )
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>rQ   zprefix|tag2rR   zprefix|tag3)Ú
namespacesÚtag3zprefix:tag2zprefix:tag3)r(   Ú
select_oner>   rS   rP   Úfindr?   s     r   Ú/test_namespace_interaction_with_select_and_findzFTestLXMLXMLTreeBuilder.test_namespace_interaction_with_select_and_find–   se  € ð �yŠyðñ	
ô 	
ˆð �Š˜uÑ%Ô%Ô*¨eÒ3Ð3Ð3Ð3Ø�Š˜}Ñ-Ô-Ô2°fÒ<Ð<Ð<Ð<ð �Š˜}Ñ-Ô-Ð5Ð5Ð5ð �ŠØ d¤kÔ&=ð ñ 
ô 
ä
�&òð ð ð ð Œ{×%Ò% mÑ4Ô4Ô9¸6ÒAÐAÐAÐAð �yŠy˜ÑÔÔ$¨Ò-Ð-Ð-Ð-Ø�yŠy˜Ñ'Ô'Ô,°Ò6Ð6Ð6Ð6Ø�yŠy˜Ñ'Ô'Ô,°Ò6Ð6Ð6Ð6ØŒ{×Ò Ñ.Ô.Ô3°vÒ=Ð=Ð=Ð=Ð=Ð=r   c                 ó8  — |                       d¦  «        }t          |j        | j        ¦  «        sJ ‚t	          j        |¦  «        }t	          j        |¦  «        }d|j        j        k    sJ ‚|j        |j        k    sJ ‚t          |j        | j        ¦  «        sJ ‚d S )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 Ñ)Ô)ˆ	à 	¤Ô 2Ò2Ð2Ð2Ð2ØÔ  D¤LÒ0Ð0Ð0Ð0Ý˜)Ô+¨TÔ-AÑBÔBÐBÐBÐBÐBÐBr   N)rA   rB   rC   rD   rE   r   rU   rF   rG   rH   r   r[   rf   r!   r   r   rJ   rJ   V   s˜   € € € € € ð
 ,Ð+àð%ð %ñ „Xð%ð2
ð 2
ð 2
ðj „[×ÒØÐÐ'Að ñ ô ð%>ð %>ñô ð%>ðNCð Cð Cð Cð Cr   rJ   )rD   r_   rF   Úrer/   r'   r   r   Úbs4.builderr   r   Úbs4r   r	   Úbs4.elementr
   r   r   r   r   r   r   rG   rH   r   rJ   r!   r   r   ú<module>rk      sÃ  ðØ FÐ Fà €€€Ø €€€Ø 	€	€	€	Ø €€€Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (àð CØBÐBÐBÐBÐBÐBÐBÐBðð ð ð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð „×ÒØÐØHð ñ ô ð84ð 84ð 84ð 84ð 84˜(Ð$<ñ 84ô 84ñ	ô ð84ðt „×ÒØÐØLð ñ ô ðqCð qCð qCð qCð qC˜XÐ'>ñ qCô qCñ	ô ðqCð qCð qCr   