ó
­V]c           @   s‹   d  Z  d d l m Z d d l Z d d l m Z m Z d d l m Z d d l	 m
 Z
 d e e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d S(   sG   Tests to ensure that the html.parser tree builder generates good
trees.iÿÿÿÿ(   t	   set_traceN(   t   SoupTestt   HTMLTreeBuilderSmokeTest(   t   HTMLParserTreeBuilder(   t   BeautifulSoupHTMLParsert   HTMLParserTreeBuilderSmokeTestc           B   s;   e  Z e Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d  S(   N(    (   t   self(    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyt   test_namespaced_system_doctype   s    c         C   s   d  S(   N(    (   R   (    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyt   test_namespaced_public_doctype   s    c         C   sV   |  j  d ƒ } t j | d ƒ } t j | ƒ } |  j t | j t | j ƒ ƒ ƒ d S(   sf   Unlike most tree builders, HTMLParserTreeBuilder and will
        be restored after pickling.
        s   <a><b>foo</a>i   N(   t   soupt   picklet   dumpst   loadst
   assertTruet
   isinstancet   buildert   type(   R   t   treet   dumpedt   loaded(    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyt   test_builder_is_pickled   s    c         C   s$   |  j  d d ƒ |  j  d d ƒ d  S(   Ns   <br></br><br></br><br></br>s   <br/><br/><br/>s   </br></br></br>t    (   t   assertSoupEquals(   R   (    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyt)   test_redundant_empty_element_closing_tags   s    c         C   s   |  j  d d ƒ d  S(   Ns
   foo &# bars   foo &amp;# bar(   R   (   R   (    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyt   test_empty_element#   s    (	   t   __name__t
   __module__R   t   default_builderR   R   R   R   R   (    (    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyR   
   s   					t   TestHTMLParserSubclassc           B   s   e  Z d  „  Z RS(   c         C   s   t  ƒ  } | j d ƒ d S(   sl   Verify that our HTMLParser subclass implements error() in a way
        that doesn't cause a crash.
        s   don't crashN(   R   t   error(   R   t   parser(    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyt
   test_error*   s    	(   R   R   R   (    (    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyR   )   s   (   t   __doc__t   pdbR    R
   t   bs4.testingR   R   t   bs4.builderR   t   bs4.builder._htmlparserR   R   R   (    (    (    s8   lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyt   <module>   s   