ó
µŽOc           @   s$  d  Z  d d l Z d d l Z y  d d l m Z m Z e Z Wn e k
 rY Z	 e
 Z n Xd 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	 ƒ d
 e e f d „  ƒ  Yƒ Z e e d ƒ d e e f d „  ƒ  Yƒ Z d S(   s@   Tests to ensure that the lxml tree builder generates good trees.iÿÿÿÿN(   t   LXMLTreeBuildert   LXMLTreeBuilderForXML(   t   BeautifulSoupt   BeautifulStoneSoup(   t   Commentt   Doctypet   SoupStrainer(   t   skipIf(   t   test_htmlparser(   t   HTMLTreeBuilderSmokeTestt   XMLTreeBuilderSmokeTestt   SoupTestR   s;   lxml seems not to be present, not testing its tree builder.t   LXMLTreeBuilderSmokeTestc           B   s8   e  Z d  Z e d „  ƒ Z d „  Z d „  Z d „  Z RS(   s!   See ``HTMLTreeBuilderSmokeTest``.c         C   s   t  ƒ  S(   N(   R    (   t   self(    (    s4   ./lib/python2.7/site-packages/bs4/tests/test_lxml.pyt   default_builder    s    c         C   s4   |  j  d d ƒ |  j  d d ƒ |  j  d d ƒ d  S(   Ns   <p>foo&#10000000000000;bar</p>s   <p>foobar</p>s   <p>foo&#x10000000000000;bar</p>s   <p>foo&#1000000000;bar</p>(   t   assertSoupEquals(   R   (    (    s4   ./lib/python2.7/site-packages/bs4/tests/test_lxml.pyt   test_out_of_range_entity$   s    

c         C   sD   t  j d t ƒ , } t d ƒ } |  j d t | j ƒ ƒ Wd  QXd  S(   Nt   records   <b />u   <b/>(   t   warningst   catch_warningst   FalseR   t   assertEqualt   unicodet   b(   R   t   wt   soup(    (    s4   ./lib/python2.7/site-packages/bs4/tests/test_lxml.pyt%   test_beautifulstonesoup_is_xml_parser,   s    c         C   sV   d } |  j  | ƒ } |  j | j d ƒ j d d ƒ | j d d ƒ j d d ƒ ƒ d S(   s@   lxml strips the XML definition from an XHTML doc, which is fine.sÓ   <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Hello.</title></head>
<body>Goodbye.</body>
</html>s   utf-8s   
t    s&   <?xml version="1.0" encoding="utf-8"?>N(   R   R   t   encodet   replace(   R   t   markupR   (    (    s4   ./lib/python2.7/site-packages/bs4/tests/test_lxml.pyt   test_real_xhtml_document3   s    (   t   __name__t
   __module__t   __doc__t   propertyR   R   R   R   (    (    (    s4   ./lib/python2.7/site-packages/bs4/tests/test_lxml.pyR      s
   		s?   lxml seems not to be present, not testing its XML tree builder.t   LXMLXMLTreeBuilderSmokeTestc           B   s   e  Z d  Z e d „  ƒ Z RS(   s!   See ``HTMLTreeBuilderSmokeTest``.c         C   s   t  ƒ  S(   N(   R   (   R   (    (    s4   ./lib/python2.7/site-packages/bs4/tests/test_lxml.pyR   H   s    (   R    R!   R"   R#   R   (    (    (    s4   ./lib/python2.7/site-packages/bs4/tests/test_lxml.pyR$   B   s   (   R"   t   reR   t   bs4.builderR    R   t   Truet   LXML_PRESENTt   ImportErrort   eR   t   bs4R   R   t   bs4.elementR   R   R   t   bs4.testingR   t	   bs4.testsR   R	   R
   R   R   R$   (    (    (    s4   ./lib/python2.7/site-packages/bs4/tests/test_lxml.pyt   <module>   s(   

"	%	