-
<c       s     d  Z    d k Z  d k Z  d k Z  d k Z  d k Z 
 d e i f d     YZ C d e f d     YZ J d e i f d     YZ	 b d e	 f d	     YZ
 !d
   Z %e d j o &e   n d S(   s   Tests for HTMLParser.py.Ns   EventCollectorc      s   
 t  Z  d   Z  d   Z " d   Z % d   Z ( d   Z - d   Z 0 d   Z 3 d   Z	 6 d	   Z
 9 d
   Z < d   Z ? d   Z RS(   Nc    s8     g  |  _  |  i i |  _  t i i |   d  S(   N(   s   selfs   eventss   appends
   HTMLParsers   __init__(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   __init__ s   c    s     g  }  t }  x |  i D ]t }  | d }  | | j o
 d j n o'  d | d d | d f | d <n  | i |   | } q" W | |  _  | Sd  S(   Ni    s   dataii   (   s   Ls   Nones   prevtypes   selfs   eventss   events   types   append(   s   selfs   prevtypes   types   events   L(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys
   get_events s   		 	!'c    s    " # |  i d | | f  d  S(   Ns   starttag(   s   selfs   appends   tags   attrs(   s   selfs   tags   attrs(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_starttag" s   c    s    % & |  i d | | f  d  S(   Ns   startendtag(   s   selfs   appends   tags   attrs(   s   selfs   tags   attrs(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_startendtag% s   c    s   ( ) |  i d | f  d  S(   Ns   endtag(   s   selfs   appends   tag(   s   selfs   tag(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_endtag( s   c    s   - . |  i d | f  d  S(   Ns   comment(   s   selfs   appends   data(   s   selfs   data(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_comment- s   c    s   0 1 |  i d | f  d  S(   Ns   charref(   s   selfs   appends   data(   s   selfs   data(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_charref0 s   c    s   3 4 |  i d | f  d  S(   Ns   data(   s   selfs   appends   data(   s   selfs   data(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_data3 s   c    s   6 7 |  i d | f  d  S(   Ns   decl(   s   selfs   appends   data(   s   selfs   data(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_decl6 s   c    s   9 : |  i d | f  d  S(   Ns	   entityref(   s   selfs   appends   data(   s   selfs   data(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_entityref9 s   c    s   < = |  i d | f  d  S(   Ns   pi(   s   selfs   appends   data(   s   selfs   data(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys	   handle_pi< s   c    s   ? @ |  i d | f  d  S(   Ns   unknown decl(   s   selfs   appends   decl(   s   selfs   decl(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   unknown_decl? s   (   s   __name__s
   __module__s   __init__s
   get_eventss   handle_starttags   handle_startendtags   handle_endtags   handle_comments   handle_charrefs   handle_datas   handle_decls   handle_entityrefs	   handle_pis   unknown_decl(    (    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   EventCollector
 s   	s   EventCollectorExtrac      s   C t  Z E d   Z RS(   Nc    s9   E F t  i |  | |  G |  i d |  i   f  d  S(   Ns   starttag_text(   s   EventCollectors   handle_starttags   selfs   tags   attrss   appends   get_starttag_text(   s   selfs   tags   attrs(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   handle_starttagE s   (   s   __name__s
   __module__s   handle_starttag(    (    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   EventCollectorExtraC s   	s   TestCaseBasec      s2   J t  Z L e d  Z W d   Z Z d   Z RS(   Nc    s   L M |   } N x! | DN ] } O | i |  q WP | i   Q | i   } R | | j o2 S |  i
 d t i |  d t i |   n d  S(   Ns8   received events did not match expected events
Expected:
s   
Received:
(   s	   collectors   parsers   sources   ss   feeds   closes
   get_eventss   eventss   expected_eventss   selfs   fails   pprints   pformat(   s   selfs   sources   expected_eventss	   collectors   ss   parsers   events(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys
   _run_checkL s   
 	c    s   W X |  i | | t  d  S(   N(   s   selfs
   _run_checks   sources   eventss   EventCollectorExtra(   s   selfs   sources   events(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   _run_check_extraW s   c    s,   Z [ | d  } _ |  i t i |  d  S(   Nc    s3   [ \ t  i    } ] | i |   ^ | i   d  S(   N(   s
   HTMLParsers   parsers   feeds   sources   close(   s   sources   parser(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   parse[ s   (   s   sources   parses   selfs   assertRaisess
   HTMLParsers   HTMLParseError(   s   selfs   sources   parse(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   _parse_errorZ s   (   s   __name__s
   __module__s   EventCollectors
   _run_checks   _run_check_extras   _parse_error(    (    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   TestCaseBaseJ s   	s   HTMLParserTestCasec      s   b t  Z d d   Z i d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z	  d	   Z
  d
   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z d   Z d   Z RS(   Nc    s#   d e |  i d d d f g  d  S(   Ns   <?processing instruction>s   pis   processing instruction(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys    test_processing_instruction_onlyd s   c    s   i j |  i d d d f d d f d d f d d g  f d d	 f d
 d f d d f d d f d d f d d d d f d t f g f d d f d
 d f d d f d d f d d f d d f d d f g  d  S(   Ns   
<!DOCTYPE html PUBLIC 'foo'>
<HTML>&entity;&#32;
<!--comment1a
-></foo><bar>&lt;<?pi?></foo<bar
comment1b-->
<Img sRc='Bar' isMAP>sample
text
&#x201C;
<!--comment2a-- --comment2b-->
</Html>
s   datas   
s   decls   DOCTYPE html PUBLIC 'foo's   starttags   htmls	   entityrefs   entitys   charrefs   32s   comments4   comment1a
-></foo><bar>&lt;<?pi?></foo<bar
comment1bs   imgs   srcs   Bars   ismaps   sample
text
s   x201Cs   comment2a-- --comment2bs   endtag(   s   selfs
   _run_checks   None(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_simple_htmli s   c    s,     |  i d d d f d d f g  d  S(   Ns   &entityref foos	   entityrefs   datas    foo(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_unclosed_entityref s   c    s0     d }  |  i d | d | f g  d  S(   Ns  DOCTYPE html [
  <!ELEMENT html - O EMPTY>
  <!ATTLIST html
      version CDATA #IMPLIED
      profile CDATA 'DublinCore'>
  <!NOTATION datatype SYSTEM 'http://xml.python.org/notations/python-module'>
  <!ENTITY myEntity 'internal parsed entity'>
  <!ENTITY anEntity SYSTEM 'http://xml.python.org/entities/something.xml'>
  <!ENTITY % paramEntity 'name|name|name'>
  %paramEntity;
  <!-- comment -->
]s   <!%s>s   decl(   s   insides   selfs
   _run_check(   s   selfs   inside(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_doctype_decl s   	c    sD     |  i d d d g  f d d g  f d d f d d f g  d  S(   Ns   <a><b></a></b>s   starttags   as   bs   endtag(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_bad_nesting s   c    s#     |  i d d d f g  d  S(   Ns#   this text & contains & ampersands &s   data(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_bare_ampersands s   c    s#     |  i d d d f g  d  S(   Ns.   this < text > contains < bare>pointy< bracketss   data(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_bare_pointy_brackets s   c    s     d d d d f d d f d d f d t  f g f g }  |  i d |   |  i d	 |   |  i d
 |   |  i d |  d  S(   Ns   starttags   as   bs   vs   cs   ds   es   <a b='v' c="v" d=v e>s   <a  b = 'v' c = "v" d = v e>s   <a
b
=
'v'
c
=
"v"
d
=
v
e>s   <a	b	=	'v'	c	=	"v"	d	=	v	e>(   s   Nones   outputs   selfs
   _run_check(   s   selfs   output(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_attr_syntax s
   9c    su     |  i d  d d d d f d d f d d	 f g f g   |  i d
 d d d d f d d f g f g  d  S(   Ns'   <a b='xxx
	xxx' c="yyy	
yyy" d='	xyz
'>s   starttags   as   bs   xxx
	xxxs   cs   yyy	
yyys   ds   	xyz
s   <a b='' c="">s    (   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_attr_values s   1c    s/     |  i d d d d d f g f g  d  S(   Ns!   <a b='&amp;&gt;&lt;&quot;&apos;'>s   starttags   as   bs   &><"'(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_attr_entity_replacement s   c    sA     |  i d d d d d f d d f d d f g f g  d  S(   Ns   <a a.b='v' c:d=v e-f=v>s   starttags   as   a.bs   vs   c:ds   e-f(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_attr_funky_names s   c    s     |  i d  d  S(   Ns"   <!spacer type="block" height="25">(   s   selfs   _parse_error(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_illegal_declarations s   c    sW     |  i d d d d d f g f g   |  i d d d d d f g f g  d  S(   Ns	   <a b='<'>s   starttags   as   bs   <s	   <a b='>'>s   >(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_starttag_end_boundary s   (c    si    d d d d f g f g }  |  i d g |   |  i d d g |   |  i d d	 g |   |  i d
 d g |   |  i d d g |   |  i d d g |   d d d d f g f g }  |  i d g |   |  i d d g |   |  i d d g |   |  i d
 d g |   |  i d d g |   |  i d d g |  d  S(   Ns   starttags   as   bs   <s	   <a b='<'>s   <a s   b='<'>s   <a bs   ='<'>s   <a b=s   '<'>s   <a b='<s   '>s   <a b='<'s   >s	   <a b='>'>s   b='>'>s   ='>'>s   '>'>s   <a b='>s   <a b='>'(   s   outputs   selfs
   _run_check(   s   selfs   output(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_buffer_artefacts s   c    s     |  i d   |  i d   |  i d   |  i d   |  i d   |  i d   |  i d   |  i d   |  i d	   |  i d
   |  i d   |  i d   |  i d   |  i d  d  S(   Ns   </>s   </$>s   </s   </as   <a<a>s   </a<a>s   <!s   <a $>s   <as   <a foo='bar's   <a foo='bars
   <a foo='>'s	   <a foo='>s   <a foo=>(   s   selfs   _parse_error(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_starttag_junk_chars s   c    s     |  i d  d  S(   Ns   <!DOCTYPE foo $ >(   s   selfs   _parse_error(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_declaration_junk_chars s   c    s     |  i d d d g  f g  |  i d d d g  f d d f g  |  i d d d g  f d d d	 d
 f g f d d f g  d  S(   Ns   <p/>s   startendtags   ps   <p></p>s   starttags   endtags   <p><img src='foo' /></p>s   imgs   srcs   foo(   s   selfs
   _run_check(   s   self(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_startendtag s   (c    sJ   d } |  i | d d d d f d d f g f d | f g  d  S(	   Ns    <foo:bar   
   one="1"	two=2   >s   starttags   foo:bars   ones   1s   twos   2s   starttag_text(   s   ss   selfs   _run_check_extra(   s   selfs   s(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_get_starttag_texts   	c    s{   d } |  i | d d g  f d d f d d f g  d } |  i | d d g  f d d f d d f g  d  S(	   Ns=   <script> <!-- not a comment --> &not-an-entity-ref; </script>s   starttags   scripts   datas,    <!-- not a comment --> &not-an-entity-ref; s   endtags&   <script> <not a='start tag'> </script>s    <not a='start tag'> (   s   ss   selfs
   _run_check(   s   selfs   s(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   test_cdata_contents   	1	(   s   __name__s
   __module__s    test_processing_instruction_onlys   test_simple_htmls   test_unclosed_entityrefs   test_doctype_decls   test_bad_nestings   test_bare_ampersandss   test_bare_pointy_bracketss   test_attr_syntaxs   test_attr_valuess   test_attr_entity_replacements   test_attr_funky_namess   test_illegal_declarationss   test_starttag_end_boundarys   test_buffer_artefactss   test_starttag_junk_charss   test_declaration_junk_charss   test_startendtags   test_get_starttag_texts   test_cdata_content(    (    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   HTMLParserTestCaseb s&   	 	
c      s   !"t  i t  d  S(   N(   s   test_supports   run_unittests   HTMLParserTestCase(    (    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys	   test_main!s   s   __main__(   s   __doc__s
   HTMLParsers   pprints   syss   test_supports   unittests   EventCollectors   EventCollectorExtras   TestCases   TestCaseBases   HTMLParserTestCases	   test_mains   __name__(
   s   test_supports   HTMLParserTestCases   TestCaseBases   unittests   pprints   syss   EventCollectors
   HTMLParsers	   test_mains   EventCollectorExtra(    (    s*   /usr/lib/python2.2/test/test_htmlparser.pys   ? s   9