← Back
Editing: test_lxml.cpython-311.pyc
� �E�cP � �R � d Z ddlZddlZddlZddlZddlmZmZ erddlm Z m Z ddlmZm Z ddlmZmZmZ ddlmZmZmZmZ ej � e d � � � G d� dee� � � � Zej � e d � � � G d� 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 � � e Zd ZdZed� � � Zd� Zd� Zej � e pedk d�� � d� � � Z d � Zd � ZdS )�TestLXMLTreeBuilder�!See ``HTMLTreeBuilderSmokeTest``.c � � t S �N)r ��selfs �5/usr/lib/python3/dist-packages/bs4/tests/test_lxml.py�default_builderz#TestLXMLTreeBuilder.default_builder s � ��� c � � | � 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 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 sJ �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 swxY w Y dt |j � � k sJ �|\ }|j t k sJ �dt |j � � v sJ �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�6c � � | � dd�� � }d|j j j k sJ �d|j j j k sJ �d S )Nz= <p> <sourceline> <b>text</b></sourceline><sourcepos></p>T)�store_line_numbers� sourceline� sourcepos)r( �pr; �namer<