
    ,h	                     J   d Z ddlZddlZ	 ddlZdZej                  j                  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 dd
lmZ ddlmZmZmZmZ  ee d       G d dee             Z ee d       G d dee             Zy# e$ rZ	dZdZY dZ	[	udZ	[	ww xY w)z@Tests to ensure that the lxml tree builder generates good trees.    NTF)r   )LXMLTreeBuilderLXMLTreeBuilderForXML)BeautifulSoupBeautifulStoneSoup)CommentDoctypeSoupStrainer)skipIf)test_htmlparser)HTMLTreeBuilderSmokeTestXMLTreeBuilderSmokeTestSoupTestr
   z;lxml seems not to be present, not testing its tree builder.c                   f    e Zd ZdZed        Zd Zd Z ee	 xs e
dk  d      d        Zd Zd	 Zy
)LXMLTreeBuilderSmokeTest!See ``HTMLTreeBuilderSmokeTest``.c                     t         S N)r   selfs    U/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/bs4/tests/test_lxml.pydefault_builderz(LXMLTreeBuilderSmokeTest.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>)assertSoupEqualsr   s    r   test_out_of_range_entityz1LXMLTreeBuilderSmokeTest.test_out_of_range_entity)   s<    ,o	?-	@(/	;r   c                      y r    r   s    r   *test_entities_in_foreign_document_encodingzCLXMLTreeBuilderSmokeTest.test_entities_in_foreign_document_encoding1   s     	r   )         r   z@Skipping doctype test for old version of lxml to avoid segfault.c                     | j                  d      }|j                  d   }| j                  d|j                                y )Nz
<!DOCTYPE>r    )soupcontentsassertEqualstrip)r   r$   doctypes      r   test_empty_doctypez+LXMLTreeBuilderSmokeTest.test_empty_doctype:   s6     yy&--"W]]_-r   c                    t        j                  d      5 }t        d      }d d d        | j                  dt	        j
                               | j                  dt	        d   j                        v        y # 1 sw Y   XxY w)NT)recordz<b />z<b/>z&BeautifulStoneSoup class is deprecatedr   )warningscatch_warningsr   r&   strb
assertTruemessage)r   wr$   s      r   %test_beautifulstonesoup_is_xml_parserz>LXMLTreeBuilderSmokeTest.test_beautifulstonesoup_is_xml_parserB   sj     $$D1 	/Q%g.D	/TVV-@C!DUUV	/ 	/s   A::Bc                     | j                  dd      }| j                  d|j                  j                  j                         | j                  d|j                  j
                  j                         y )Nz=
   <p>

<sourceline>
<b>text</b></sourceline><sourcepos></p>T)store_line_numbers
sourceline	sourcepos)r$   r&   pr6   namer7   r   r$   s     r   test_tracking_line_numbersz3LXMLTreeBuilderSmokeTest.test_tracking_line_numbersJ   s_     yyO#  
 	tvv'8'8'='=>dff&6&6&;&;<r   N)__name__
__module____qualname____doc__propertyr   r   r   r
   LXML_PRESENTLXML_VERSIONr)   r3   r;   r   r   r   r   r      s\     , ; 4L94JL.L.
W=r   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y)LXMLXMLTreeBuilderSmokeTestr   c                     t         S r   )r   r   s    r   r   z+LXMLXMLTreeBuilderSmokeTest.default_builder_   s    $$r   c                 d    | j                  d      }| j                  |j                  ddd       y )Nz<?xml version="1.1"?>
<root><tag xmlns="http://unprefixed-namespace.com">content</tag><prefix:tag xmlns:prefix="http://prefixed-namespace.com">content</tag></root>z$http://www.w3.org/XML/1998/namespacezhttp://prefixed-namespace.com)xmlprefix)r$   r&   _namespacesr:   s     r   test_namespace_indexingz3LXMLXMLTreeBuilderSmokeTest.test_namespace_indexingc   s9     yy
 	:Fef	
r   N)r<   r=   r>   r?   r@   r   rJ   r   r   r   rD   rD   Y   s     ,% %
r   rD   )r?   rer,   
lxml.etreelxmlrA   etreerB   ImportErrorebs4.builderr   r   bs4r   r   bs4.elementr   r   r	   bs4.testingr
   	bs4.testsr   r   r   r   r   rD   r   r   r   <module>rV      s    F 	 L::**L
 B 7 6  %  AC5=x)A 5=C5=n EG
(,C 
G
e  LLs   B B"BB"