HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/bs4/tests/__pycache__/test_lxml.cpython-310.pyc
o

�h��@s�dZddlZddlZddlZddlZddlmZmZer$ddlm	Z	m
Z
ddlmZm
Z
ddlmZmZmZddlmZmZmZmZejjed	d
�Gdd�dee��Zejjed
d
�Gdd�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^eZdZdZedd��Zdd�Zdd�Zej	j
epedkd	d
�dd��Z
d
d�Zdd�ZdS)�TestLXMLTreeBuilder�!See ``HTMLTreeBuilderSmokeTest``.cC�tS�N)r��self�r�F/usr/local/CyberCP/lib/python3.10/site-packages/bs4/tests/test_lxml.py�default_builder�z#TestLXMLTreeBuilder.default_buildercCs(|�dd�|�dd�|�dd�dS)Nz<p>foo&#10000000000000;bar</p>z
<p>foobar</p>z<p>foo&#x10000000000000;bar</p>z<p>foo&#1000000000;bar</p>)�assert_souprrrr�test_out_of_range_entity#s���z,TestLXMLTreeBuilder.test_out_of_range_entitycCsdSrrrrrr�*test_entities_in_foreign_document_encoding+sz>TestLXMLTreeBuilder.test_entities_in_foreign_document_encoding)���rz@Skipping doctype test for old version of lxml to avoid segfault.rcCs(|�d�}|jd}d|��ksJ�dS)Nz
<!DOCTYPE>r�)�soup�contents�strip)rr#�doctyperrr�test_empty_doctype4s

z&TestLXMLTreeBuilder.test_empty_doctypecCsptjdd��}td�}Wd�n1swYdt|j�ks#J�|\}|jtks-J�dt|j�vs6J�dS)NT)�recordz<b />z<b/>z&BeautifulStoneSoup class is deprecated)�warnings�catch_warningsr�str�b�filename�__file__�message)r�wr#�warningrrr�%test_beautifulstonesoup_is_xml_parser=s
�z9TestLXMLTreeBuilder.test_beautifulstonesoup_is_xml_parsercCs6|jddd�}d|jjjksJ�d|jjjksJ�dS)Nz=
   <p>

<sourceline>
<b>text</b></sourceline><sourcepos></p>T)�store_line_numbers�
sourceline�	sourcepos)r#�pr4�namer5�rr#rrr�test_tracking_line_numbersGs�z.TestLXMLTreeBuilder.test_tracking_line_numbersN)�__name__�
__module__�__qualname__�__doc__�propertyrrr�pytest�mark�skipifrrr'r2r9rrrrrs
	�

rz?lxml seems not to be present, not testing its XML tree builder.c@sFeZdZdZedd��Zdd�Zejj	e
dd�dd	��Zd
d�ZdS)
�TestLXMLXMLTreeBuilderrcCrr)rrrrrr]rz&TestLXMLXMLTreeBuilder.default_buildercCsz|�d�}|jdddd�ksJ�|jjddiksJ�|jjddd�ks%J�|jjddd�ks0J�|jjddd�ks;J�dS)	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/namespacezhttp://prefixed-namespace.comzhttp://another-namespace.com)�xml�prefix�prefix2rC)rDrC)rErC)r#�_namespaces�tag�tag2�subtag�	subsubtagr8rrr�test_namespace_indexingas.��

����z.TestLXMLXMLTreeBuilder.test_namespace_indexingzSoup Sieve not installedrcCs�|�d�}|�d�jdksJ�|�d�jdksJ�|�d�dus"J�|jd|jjd�jdks0J�|j�d�jdks;J�|�d�jdksEJ�|�d�jdksOJ�|�d	�jdksYJ�|j�d	�jdksdJ�dS)
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>rGzprefix|tag2rHzprefix|tag3)�
namespaces�tag3zprefix:tag2zprefix:tag3)r#�
select_oner7rIrF�findr8rrr�/test_namespace_interaction_with_select_and_find�s ���zFTestLXMLXMLTreeBuilder.test_namespace_interaction_with_select_and_findcCsf|�d�}t|j|j�sJ�t�|�}t�|�}d|jjks J�|j|jks(J�t|j|j�s1J�dS)Nz<a>some markup</a>zsome markup)	r#�
isinstance�builderr�pickle�dumps�loads�a�string)rr#�pickled�	unpickledrrr�test_pickle_restores_builder�s


z3TestLXMLXMLTreeBuilder.test_pickle_restores_builderN)
r:r;r<r=r>rrKr?r@rArrPrZrrrrrBVs
5�
'rB)r=rSr?�rer)r"rr�bs4.builderrr�bs4rr�bs4.elementr	r
rrr
rrr@rArrBrrrr�<module>s*�:�