
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
6]U
                 @   s   d Z ddlZddlZyddlZdZejjZW n* ek
rV Z	 zdZdZW Y ddZ	[	X nX erld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 deeZee dG dd deeZdS )z@Tests to ensure that the lxml tree builder generates good trees.    NTF)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               @   sP   e Zd ZdZedd Zdd Zdd Zee	 p6e
dk ddd Zdd ZdS )LXMLTreeBuilderSmokeTestz!See ``HTMLTreeBuilderSmokeTest``.c             C   s   t  S )N)r   )self r   /usr/lib/python3.6/test_lxml.pydefault_builder%   s    z(LXMLTreeBuilderSmokeTest.default_builderc             C   s(   | j dd | j dd | j dd d S )Nz<p>foo&#10000000000000;bar</p>z<p>foobar</p>z<p>foo&#x10000000000000;bar</p>z<p>foo&#1000000000;bar</p>)ZassertSoupEquals)r   r   r   r   test_out_of_range_entity)   s    z1LXMLTreeBuilderSmokeTest.test_out_of_range_entityc             C   s   d S )Nr   )r   r   r   r   *test_entities_in_foreign_document_encoding1   s    zCLXMLTreeBuilderSmokeTest.test_entities_in_foreign_document_encoding         r   z@Skipping doctype test for old version of lxml to avoid segfault.c             C   s(   | j d}|jd }| jd|j  d S )Nz
<!DOCTYPE>r    )soupcontentsassertEqualstrip)r   r   Zdoctyper   r   r   test_empty_doctype:   s    

z+LXMLTreeBuilderSmokeTest.test_empty_doctypec             C   sN   t jdd}td}W d Q R X | jdt|j | jdt|d jk d S )NT)recordz<b />z<b/>z&BeautifulStoneSoup class is deprecatedr   )warningscatch_warningsr   r   strbZ
assertTruemessage)r   wr   r   r   r   %test_beautifulstonesoup_is_xml_parserB   s    z>LXMLTreeBuilderSmokeTest.test_beautifulstonesoup_is_xml_parserN)r   r   r   r   )__name__
__module____qualname____doc__propertyr   r   r   r	   LXML_PRESENTLXML_VERSIONr   r%   r   r   r   r   r      s   	r   z?lxml seems not to be present, not testing its XML tree builder.c               @   s   e Zd ZdZedd ZdS )LXMLXMLTreeBuilderSmokeTestz!See ``HTMLTreeBuilderSmokeTest``.c             C   s   t  S )N)r   )r   r   r   r   r   P   s    z+LXMLXMLTreeBuilderSmokeTest.default_builderN)r&   r'   r(   r)   r*   r   r   r   r   r   r-   J   s   r-   )r   )r)   rer   Z
lxml.etreeZlxmlr+   Zetreer,   ImportErroreZbs4.builderr   r   Zbs4r   r   Zbs4.elementr   r   r   Zbs4.testingr	   Z	bs4.testsr
   r   r   r   r   r-   r   r   r   r   <module>   s0   
(