
    w:i2                         d dl Z d dlmZmZmZ d dlmZmZmZm	Z	 d dl
mZmZmZ d dlmZ d dlmZ  G d de j                  Z G d	 d
e j                  Zd Zedk    r e j        d           dS dS )    N)AttrsQNameStream)	XMLParser
HTMLParser
ParseErrorET)
IS_PYTHON2StringIOBytesIO)doctest_suite)ElementTreec                   P    e 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S )XMLParserTestCasec                    d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           |                     d|           d S Nz<elem>foo bar</elem>   zfoo barNr      listr   r   assertEqualr   TEXTselftexteventskinddataposs         O/var/www/html/trac/venv/lib/python3.11/site-packages/genshi/tests/test_input.pytest_text_node_pos_single_linez0XMLParserTestCase.test_text_node_pos_single_line   s{    %i//00 )dCd+++D)))s+++++    c                    d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           |                     d|           d S )N<elem>foo
bar</elem>r   foo
bar)Nr   r   r   s         r!   test_text_node_pos_multi_linez/XMLParserTestCase.test_text_node_pos_multi_line    s}    i//00 )dCd+++T***,,,,,r#   c                    d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |\  }}|                     d|           |                     d|d                    |                     d|d                    |                     d|d                    d S )	Nz)<elem title="baz" id="foo" class="bar" />r   elem)titlebaz)idfoor   )classbar   )r   r   r   r   r   START)r   r   r   r   r   r    tagattribs           r!   test_element_attribute_orderz.XMLParserTestCase.test_element_attribute_order)   s    :i//00 )dCt,,,V%%%)6!9555q	222)6!955555r#   c                     d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           d S Nu   <div>–</div>r   u   –r   r   s         r!   test_unicode_inputz$XMLParserTestCase.test_unicode_input4   se    #i//00 )dCd+++D)))))r#   c                 
   d                     d          }t          t          t          |          d                    }|d         \  }}}|                     t
          j        |           |                     d|           d S Nu   <div>ö</div>
iso-8859-1encodingr      öencoder   r   r   r   r   r   r   s         r!   test_latin1_encodedz%XMLParserTestCase.test_latin1_encoded;   sx    !((66iEEEFF )dCd+++$'''''r#   c                    d                     d          }t          t          t          |                              }|d         \  }}}|                     t
          j        |           |                     d|           d S )NuK   <?xml version="1.0" encoding="iso-8859-1" ?>
        <div>ö</div>
        r;   r1   r>   r?   r   s         r!   test_latin1_encoded_xmldeclz-XMLParserTestCase.test_latin1_encoded_xmldeclB   sy    F<   	 i..// )dCd+++$'''''r#   c                     d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           d S )Nz<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html>&nbsp;</html>
        r1       r   r   s         r!   test_html_entity_with_dtdz+XMLParserTestCase.test_html_entity_with_dtdK   si     i//00 )dCd+++$'''''r#   c                     d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           d S )Nz<html>&nbsp;</html>r   rE   r   r   s         r!   test_html_entity_without_dtdz.XMLParserTestCase.test_html_entity_without_dtdU   se    $i//00 )dCd+++$'''''r#   c                 j   d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|d                             d                     |d         \  }}}|                     t          j        |           d S )Nz<p title="&nbsp;"/>r   rE   r   r+   )r   r   r   r   r   r2   getENDr   s         r!   test_html_entity_in_attributez/XMLParserTestCase.test_html_entity_in_attribute\   s    $i//00 )dCt,,,$q'++g"6"6777 )dCT*****r#   c                     d}t          t          |                    }|                     t          t          |           d S )Nz<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html>&junk;</html>
        r   r   assertRaisesr   r   r   r   r   s      r!   test_undefined_entity_with_dtdz0XMLParserTestCase.test_undefined_entity_with_dtde   s<     8D>>***dF33333r#   c                     d}t          t          |                    }|                     t          t          |           d S )Nz<html>&junk;</html>rN   rP   s      r!   !test_undefined_entity_without_dtdz3XMLParserTestCase.test_undefined_entity_without_dtdm   s8    $8D>>***dF33333r#   N)__name__
__module____qualname__r"   r(   r5   r8   rA   rC   rF   rH   rL   rQ   rS    r#   r!   r   r      s        , , ,- - -	6 	6 	6* * *( ( (( ( (( ( (( ( (+ + +4 4 44 4 4 4 4r#   r   c                       e 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d Zd Zd Zd Zd ZdS )HTMLParserTestCasec                    d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           |                     d|           d S r   r   r   r   r   r   r   r   s         r!   r"   z1HTMLParserTestCase.test_text_node_pos_single_lineu   s{    &j$0011 )dCd+++D)))s+++++r#   c                    d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           |                     d|           d S )Nr%   r   r&   r   r[   r   s         r!   r(   z0HTMLParserTestCase.test_text_node_pos_multi_line}   s}    j$0011 )dCd+++T***s+++++r#   c                 
   d                     d          }t          t          t          |          d                    }|d         \  }}}|                     t
          j        |           |                     d|           d S r:   )r@   r   r   r   r   r   r   r   s         r!   test_input_encoding_textz+HTMLParserTestCase.test_input_encoding_text   sx    !((66jFFFGG )dCd+++$'''''r#   c                 6   d                     d          }t          t          t          |          d                    }|d         \  }\  }}}|                     t
          j        |           |                     d|                    d                     d S )Nu   <div title="ö"></div>r;   r<   r   r>   r+   )r@   r   r   r   r   r   r2   rJ   )r   r   r   r   r3   r4   r    s          r!   test_input_encoding_attributez0HTMLParserTestCase.test_input_encoding_attribute   s    *11,??jFFFGG#)!9 msFSt,,,&**W"5"566666r#   c                     d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           d S r7   r[   r   s         r!   r8   z%HTMLParserTestCase.test_unicode_input   se    #j$0011 )dCd+++D)))))r#   c                 j   d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|d                             d                     |d         \  }}}|                     t          j        |           d S )Nz<p title="&nbsp;"></p>r   rE   r   r+   )r   r   r   r   r   r2   rJ   rK   r   s         r!   rL   z0HTMLParserTestCase.test_html_entity_in_attribute   s    (j$0011 )dCt,,,$q'++g"6"6777 )dCT*****r#   c                     d}t          t          t          |                              }|d         \  }}}|                     t          j        |           |                     d|           d S )Nz<p>&nbsp;</p>r   rE   r[   r   s         r!   test_html_entity_in_textz+HTMLParserTestCase.test_html_entity_in_text   se    j$0011 )dCd+++$'''''r#   c                    d}t          t          t          |                              }|d         \  }\  }}}|                     t          j        |           |                     d|           |                     d|           d S )Nz<?php echo "Foobar" ?>r   phpzecho "Foobar"r   r   r   r   r   PIr   r   r   r   targetr   r    s          r!   test_processing_instructionz.HTMLParserTestCase.test_processing_instruction   s    (j$0011$*1I!nvtcD)))'''$/////r#   c                    d}t          t          t          |                              }|d         \  }\  }}}|                     t          j        |           |                     d|           |                     d|           d S )Nz<?foo ?>r   r.    rg   ri   s          r!   %test_processing_instruction_no_data_1z8HTMLParserTestCase.test_processing_instruction_no_data_1   s    j$0011$*1I!nvtcD)))'''T"""""r#   c                    d}t          t          t          |                              }|d         \  }\  }}}|                     t          j        |           |                     d|           |                     d|           |d         \  }\  }}}|                     d|           |                     d|           d S )Nz<?experiment>...<?/experiment>r   
experimentrm   r1   z/experimentrg   ri   s          r!   %test_processing_instruction_no_data_2z8HTMLParserTestCase.test_processing_instruction_no_data_2   s    0j$0011$*1I!nvtcD)))v...T"""$*1I!nvtc///T"""""r#   c                 @   d}t          t          t          |                              }|d         \  }\  }}}}|                     t          j        |           |                     d|           |                     d |           |                     d|           d S )Nz<?xml version="1.0" ?><root />r   1.0r'   r   r   r   r   r   XML_DECLr   r   r   r   versionr=   
standaloner    s           r!   test_xmldeclzHTMLParserTestCase.test_xmldecl   s    /i//005;AY2-w*s$///(((x(((Z(((((r#   c                 @   d}t          t          t          |                              }|d         \  }\  }}}}|                     t          j        |           |                     d|           |                     d|           |                     d|           d S )Nz/<?xml version="1.0" encoding="utf-8" ?><root />r   rs   utf-8r'   rt   rv   s           r!   test_xmldecl_encodingz(HTMLParserTestCase.test_xmldecl_encoding   s    @i//005;AY2-w*s$///((((+++Z(((((r#   c                 @   d}t          t          t          |                              }|d         \  }\  }}}}|                     t          j        |           |                     d|           |                     d |           |                     d|           d S )Nz/<?xml version="1.0" standalone="yes" ?><root />r   rs   r   rt   rv   s           r!   test_xmldecl_standalonez*HTMLParserTestCase.test_xmldecl_standalone   s    @i//005;AY2-w*s$///(((x(((J'''''r#   c                    d}t          t          t          |                              }|d         \  }\  }}}|                     t          j        |           |                     d|           |                     d|           d S )Nz<?php echo "Foobar" ??>r   rf   zecho "Foobar" ?rg   ri   s          r!   *test_processing_instruction_trailing_qmarkz=HTMLParserTestCase.test_processing_instruction_trailing_qmark   s    )j$0011$*1I!nvtcD)))'''*D11111r#   c                    d}t          t          t          |                              }|                     dt	          |                     |                     t
          j        df|d         d d                    |                     t
          j        df|d         d d                    |                     t
          j        df|d         d d                    |                     t
          j        d	f|d
         d d                    |                     t
          j        df|d         d d                    d S )Nz<span><b>Foobar</span></b>   spanrW   r   r1   brW   r   Foobarr      r      	r   r   r   r   lenr   r2   r   rK   rP   s      r!   test_out_of_order_tags1z*HTMLParserTestCase.test_out_of_order_tags1   s   ,j$0011CKK(((&,5vay!}EEE&,	2F1IbqbMBBB&+x0&)BQB-@@@&*c*F1IbqbM:::&*f-vay!}=====r#   c                    d                     d          }t          t          t          |          d                    }|                     dt          |                     |                     t          j        dt          dg          ff|d         d d                    |                     t          j        d	f|d
         d d                    |                     t          j        df|d         d d                    |                     t          j	        df|d         d d                    |                     t          j
        df|d         d d                    |                     t          j
        df|d         d d                    |                     t          j
        df|d         d d                    d S )Nz-<span class="baz"><b><i>Foobar</span></b></i>r{   r<      r   )r/   r,   r   r1   r   r   )irW   r   r   r   r   r   r   r   )r@   r   r   r   r   r   r   r2   r   r   rK   rP   s      r!   test_out_of_order_tags2z*HTMLParserTestCase.test_out_of_order_tags2   s   ?FFwOOjAAABBCKK(((&,8H7I1J1J(KL2A2	( 	( 	(&,	2F1IbqbMBBB&,	2F1IbqbMBBB&+x0&)BQB-@@@&*c*F1IbqbM:::&*c*F1IbqbM:::&*f-vay!}=====r#   c                    d                     d          }t          t          t          |          d                    }|                     dt          |                     |                     t          j        df|d         d d                    |                     t          j        df|d	         d d                    |                     t          j        d
f|d         d d                    |                     t          j	        df|d         d d                    |                     t          j	        df|d         d d                    d S )Nz<span><b>Foobar</i>r{   r<   r   r   r   r1   r   r   r   r   r   r   r   )
r@   r   r   r   r   r   r   r2   r   rK   rP   s      r!   test_out_of_order_tags3z*HTMLParserTestCase.test_out_of_order_tags3   s$   %,,W55jAAABBCKK(((&,5vay!}EEE&,	2F1IbqbMBBB&+x0&)BQB-@@@&*c*F1IbqbM:::&*f-vay!}=====r#   c                    d}t          t          t          |                              }|                     dt	          |                     |                     t
          j        df|d         d d                    |                     t
          j        df|d         d d                    |                     t
          j        df|d         d d                    d S )	Nz<span>&#x27;</span>r   r   r   r1   'r   r   r   rP   s      r!   test_hex_charrefz#HTMLParserTestCase.test_hex_charref
  s    %j$0011CKK(((&,5vay!}EEE&+s+VAYrr];;;&*f-vay!}=====r#   c           	      ,   d}t          t          t          |                    d                    d                    }|                     dt          |                     |                     t          j        |f|d         d d                    d S )Nu  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaær{   r<   r   r   r1   )r   r   r   r@   r   r   r   r   rP   s      r!   *test_multibyte_character_on_chunk_boundaryz=HTMLParserTestCase.test_multibyte_character_on_chunk_boundary  s    0jW)=)=!>!>*13 3 3 4 4CKK(((&+t,fQim<<<<<r#   c           	         t          j        d          }t          t          |                    }|                     dt          |                     |                     t          j        t          d          t          t          d          dfg          ff|d         d d                    |                     t          j
        df|d	         d d                    |                     t          j        t          d
          t                      ff|d         d d                    |                     t          j
        df|d         d d                    |                     t          j        t          d
          f|d         d d                    |                     t          j        t          d          f|d         d d                    d S )Nz;<div class="test_div">text<span>some more text</span></div>r   divr/   test_divr   r1   r   r   r   zsome more textr   r   r   )r   
fromstringr   r	   r   r   r   r2   r   r   r   rK   )r   treer   s      r!   )test_convert_ElementTree_to_markup_streamz<HTMLParserTestCase.test_convert_ElementTree_to_markup_stream  s   %J
 
 bhhCKK(((\E%LL%%..*1M0N*O*OPQ1IbqbM	
 	
 	
 	&+v.q	"1">>>&,v(@A6!9RaR=QQQ&+'78&)BQB-HHH&*eFmm4fQimDDD&*eEll3VAYrr]CCCCCr#   c                     d                     d          }t          t          |                    }t          r#|                     t
          t          |           d S |                     t
          dt          |           d S )Nz<div></div>r{   z0source returned bytes, but no encoding specified)r@   r   r   r
   rO   r   r   assertRaisesRegexrP   s      r!   test_parsing_errorz%HTMLParserTestCase.test_parsing_error)  s|    $$W--GDMM** 	j$77777""C	    r#   N)rT   rU   rV   r"   r(   r^   r`   r8   rL   rd   rk   rn   rq   ry   r|   r~   r   r   r   r   r   r   r   r   rW   r#   r!   rY   rY   s   sR       , , ,, , ,( ( (7 7 7* * *+ + +( ( (0 0 0# # #	# 	# 	#) ) )) ) )( ( (2 2 2> > >> > >> > >> > >= = =D D D     r#   rY   c                  `   t          j                    } |                     t          t          j                             |                     t           j                            t                               |                     t           j                            t                               | S )N)
unittest	TestSuiteaddTestr   r   rU   defaultTestLoaderloadTestsFromTestCaser   rY   )suites    r!   r   r   7  sz      E	MM-	 455666	MM(,BBCTUUVVV	MM(,BBCUVVWWWLr#   __main__r   )defaultTest)r   genshi.corer   r   r   genshi.inputr   r   r   r	   genshi.compatr
   r   r   genshi.tests.utilsr   	xml.etreer   TestCaser   rY   r   rT   mainrW   r#   r!   <module>r      s?    , , , , , , , , , , > > > > > > > > > > > > 7 7 7 7 7 7 7 7 7 7 , , , , , , ! ! ! ! ! !Z4 Z4 Z4 Z4 Z4) Z4 Z4 Z4zA A A A A* A A AH   zHMg&&&&&& r#   