HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/bs4/tests/__pycache__/test_lxml.cpython-311.pyc
�

��nc���N�dZddlZddlZddlZ	ddlZdZejjZn#e	$rZ
dZdZYdZ
[
ndZ
[
wwxYwerddlmZm
Z
ddlmZmZddlmZmZmZd	d
lmZmZmZmZeed��Gd�d
ee����Zeed��Gd�dee����ZdS)z@Tests to ensure that the lxml tree builder generates good trees.�NTF)r)�LXMLTreeBuilder�LXMLTreeBuilderForXML)�
BeautifulSoup�BeautifulStoneSoup)�Comment�Doctype�SoupStrainer�)�HTMLTreeBuilderSmokeTest�XMLTreeBuilderSmokeTest�SoupTest�skipIfz;lxml seems not to be present, not testing its tree builder.c�x�eZdZdZed���Zd�Zd�Zee	pe
dkd��d���Zd�Zd	�Z
d
S)�TestLXMLTreeBuilder�!See ``HTMLTreeBuilderSmokeTest``.c��tS�N)r��selfs �5D:\Python311\Lib\site-packages\bs4/tests/test_lxml.py�default_builderz#TestLXMLTreeBuilder.default_builder$s����c��|�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_souprs r�test_out_of_range_entityz,TestLXMLTreeBuilder.test_out_of_range_entity(sf�����,�o�	?�	?�	?����-��	@�	@�	@����(�/�	;�	;�	;�	;�	;rc��dSr�rs r�*test_entities_in_foreign_document_encodingz>TestLXMLTreeBuilder.test_entities_in_foreign_document_encoding0s	��	
�r)���rz@Skipping doctype test for old version of lxml to avoid segfault.c�~�|�d��}|jd}d|���ksJ�dS)Nz
<!DOCTYPE>r�)�soup�contents�strip)rr$�doctypes   r�test_empty_doctypez&TestLXMLTreeBuilder.test_empty_doctype9s@���y�y��&�&���-��"���W�]�]�_�_�$�$�$�$�$�$rc���tjd���5}td��}ddd��n#1swxYwYdt|j��ksJ�dt|dj��vsJ�dS)NT)�recordz<b />z<b/>z&BeautifulStoneSoup class is deprecatedr)�warnings�catch_warningsr�str�b�message)r�wr$s   r�%test_beautifulstonesoup_is_xml_parserz9TestLXMLTreeBuilder.test_beautifulstonesoup_is_xml_parserAs����
$�D�
1�
1�
1�	/�Q�%�g�.�.�D�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/���T�V���$�$�$�$�7�3�q��t�|�;L�;L�L�L�L�L�L�Ls�2�6�6c��|�dd���}d|jjjksJ�d|jjjksJ�dS)Nz=
   <p>

<sourceline>
<b>text</b></sourceline><sourcepos></p>T)�store_line_numbers�
sourceline�	sourcepos)r$�pr4�namer5�rr$s  r�test_tracking_line_numbersz.TestLXMLTreeBuilder.test_tracking_line_numbersIs\���y�y�O�#��
�
���t�v�0�5�5�5�5�5��d�f�.�3�3�3�3�3�3�3rN)�__name__�
__module__�__qualname__�__doc__�propertyrrrr�LXML_PRESENT�LXML_VERSIONr(r1r9rrrrrs�������,�+�
����X��;�;�;�
�
�
��V���4�L�9�4�J�L�L�%�%�L�L�%�
M�M�M�
4�
4�
4�
4�
4rrz?lxml seems not to be present, not testing its XML tree builder.c�:�eZdZdZed���Zd�Zd�Zd�ZdS)�TestLXMLXMLTreeBuilderrc��tSr)rrs rrz&TestLXMLXMLTreeBuilder.default_builder^s��$�$rc��|�d��}|jdddd�ksJ�|jjddiksJ�|jjddd�ksJ�|jjddd�ksJ�|jjddd�ksJ�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�prefix2rE)rFrE)rGrE)r$�_namespaces�tag�tag2�subtag�	subsubtagr8s  r�test_namespace_indexingz.TestLXMLXMLTreeBuilder.test_namespace_indexingbs���y�y�
�

�

��&��9�5�5�$
�$
�
�	
�	
�	
��x�#��9�(
�
�	
�	
�	
��y�$�5�9�)
�)
�
�	
�	
�	
�
�{�&�5�9�+
�+
�
�	
�	
�	
�
�~�)�5�9�.
�.
�
�	
�	
�	
�	
�	
rc��|�d��}|�d��jdksJ�|�d��jdksJ�|�d���J�|�d|jj���jdksJ�|j�d��jdksJ�|�d��jdksJ�|�d��jdksJ�|�d	��jdksJ�|j�d	��jdksJ�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>rIzprefix|tag2rJzprefix|tag3)�
namespaces�tag3zprefix:tag2zprefix:tag3)r$�
select_oner7rKrH�findr8s  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�=�=�=�=�=�=rc���|�d��}t|j|j��sJ�t	j|��}t	j|��}d|jjksJ�|j�J�dS)Nz<a>some markup</a>zsome markup)	r$�
isinstance�builderr�pickle�dumps�loads�a�string)rr$�pickled�	unpickleds    r�test_pickle_removes_builderz2TestLXMLXMLTreeBuilder.test_pickle_removes_builder�sz���y�y�-�.�.���$�,��(<�=�=�=�=�=��,�t�$�$���L��)�)�	��	�� 2�2�2�2�2�� �(�(�(�(�(rN)	r:r;r<r=r>rrMrSr^rrrrBrBXsd������,�+�
�%�%��X�%�2
�2
�2
�j%>�%>�%>�N	)�	)�	)�	)�	)rrB)r=rW�rer+�
lxml.etree�lxmlr?�etreer@�ImportError�e�bs4.builderrr�bs4rr�bs4.elementrrr	r#rrr
rrrBrrr�<module>rhs���F�F�
�
�
�
�	�	�	�	�����������L��:�*�L�L�������L��L�L�L�L�L�L����������C�B�B�B�B�B�B�B�B���������7�6�6�6�6�6�6�6�6�6�����������������A�C�C�54�54�54�54�54�(�$<�54�54�C�C�54�n����E�G�G�l)�l)�l)�l)�l)�X�'>�l)�l)�G�G�l)�l)�l)s�#�6�1�6