File: //usr/local/CyberCP/lib64/python3.10/site-packages/bs4/tests/__pycache__/test_lxml.cpython-310.pyc
o
�h� � @ s� d Z ddlZddlZddlZddlZddlmZmZ er$ddlm Z m
Z
ddlmZm
Z
ddlmZmZmZ ddlmZmZmZmZ ejje d d
�G dd� dee��Zejje d
d
�G dd� dee��ZdS )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 @ s^ e Zd ZdZedd� �Zdd� Zdd� Zej j
e pedk d d
�dd� �Z
d
d� Zdd� ZdS )�TestLXMLTreeBuilder�!See ``HTMLTreeBuilderSmokeTest``.c C � t S �N)r ��self� r �F/usr/local/CyberCP/lib/python3.10/site-packages/bs4/tests/test_lxml.py�default_builder � z#TestLXMLTreeBuilder.default_builderc C s( | � dd� | � dd� | � dd� d S )Nz<p>foo�bar</p>z
<p>foobar</p>z<p>foo�bar</p>z<p>foo�bar</p>)�assert_soupr r r r �test_out_of_range_entity# s ���z,TestLXMLTreeBuilder.test_out_of_range_entityc C s d S r r r r r r �*test_entities_in_foreign_document_encoding+ s z>TestLXMLTreeBuilder.test_entities_in_foreign_document_encoding)� � � r z@Skipping doctype test for old version of lxml to avoid segfault.r c C s( | � d�}|jd }d|�� ksJ �d S )Nz
<!DOCTYPE>r � )�soup�contents�strip)r r# �doctyper r r �test_empty_doctype4 s
z&TestLXMLTreeBuilder.test_empty_doctypec C sp t jdd��}td�}W d � n1 sw Y dt|j�ks#J �|\}|jtks-J �dt|j�v s6J �d S )NT)�recordz<b />z<b/>z&BeautifulStoneSoup class is deprecated)�warnings�catch_warningsr �str�b�filename�__file__�message)r �wr# �warningr r r �%test_beautifulstonesoup_is_xml_parser= s
�z9TestLXMLTreeBuilder.test_beautifulstonesoup_is_xml_parserc C s6 | j ddd�}d|jjjksJ �d|jjjksJ �d S )Nz=
<p>
<sourceline>
<b>text</b></sourceline><sourcepos></p>T)�store_line_numbers�
sourceline� sourcepos)r# �pr4 �namer5 �r r# r r r �test_tracking_line_numbersG s �z.TestLXMLTreeBuilder.test_tracking_line_numbersN)�__name__�
__module__�__qualname__�__doc__�propertyr r r �pytest�mark�skipifr r r'