ó
›9™Oc           @   s¡   d  Z  d d l Z y d d l m Z e Z Wn e k
 rG Z e Z n Xd d l	 m
 Z
 d d l m Z m Z m Z e e d ƒ d e e f d „  ƒ  Yƒ Z d S(	   sD   Tests to ensure that the html5lib tree builder generates good trees.iÿÿÿÿN(   t   HTML5TreeBuilder(   t   SoupStrainer(   t   HTML5TreeBuilderSmokeTestt   SoupTestt   skipIfs?   html5lib seems not to be present, not testing its tree builder.t   HTML5LibBuilderSmokeTestc           B   s/   e  Z d  Z e d „  ƒ Z d „  Z d „  Z RS(   s"   See ``HTML5TreeBuilderSmokeTest``.c         C   s   t  ƒ  S(   N(   R    (   t   self(    (    s8   ./lib/python2.7/site-packages/bs4/tests/test_html5lib.pyt   default_builder   s    c         C   s…   t  d ƒ } d } t j d t ƒ  } |  j | d | ƒ} Wd  QX|  j | j ƒ  |  j | ƒ ƒ |  j d t	 | d j
 ƒ k ƒ d  S(   Nt   bs   <p>A <b>bold</b> statement.</p>t   recordt
   parse_onlys4   the html5lib tree builder doesn't support parse_onlyi    (   R   t   warningst   catch_warningst   Truet   soupt   assertEqualt   decodet   document_fort
   assertTruet   strt   message(   R   t   strainert   markupt   wR   (    (    s8   ./lib/python2.7/site-packages/bs4/tests/test_html5lib.pyt   test_soupstrainer   s    c         C   s'   d } |  j  | d ƒ |  j  d ƒ d S(   s8   html5lib inserts <tbody> tags where other parsers don't.s[   <table id="1"><tr><td>Here's another table:<table id="2"><tr><td>foo</td></tr></table></td>s†   <table id="1"><tbody><tr><td>Here's another table:<table id="2"><tbody><tr><td>foo</td></tr></tbody></table></td></tr></tbody></table>s{   <table><thead><tr><td>Foo</td></tr></thead><tbody><tr><td>Bar</td></tr></tbody><tfoot><tr><td>Baz</td></tr></tfoot></table>N(   t   assertSoupEquals(   R   R   (    (    s8   ./lib/python2.7/site-packages/bs4/tests/test_html5lib.pyt   test_correctly_nested_tables(   s    (   t   __name__t
   __module__t   __doc__t   propertyR   R   R   (    (    (    s8   ./lib/python2.7/site-packages/bs4/tests/test_html5lib.pyR      s   	(   R   R   t   bs4.builderR    R   t   HTML5LIB_PRESENTt   ImportErrort   et   Falset   bs4.elementR   t   bs4.testingR   R   R   R   (    (    (    s8   ./lib/python2.7/site-packages/bs4/tests/test_html5lib.pyt   <module>   s   

	