o !bU@sddlZddlmZmZmZmZddlmZmZddl m Z m Z m Z m Z mZddlmZGdddejZGdd d ejZGd d d ejZGd d d ejZddZedkr`ejdddSdS)N)AttrsMarkupQNameStream)HTMLXML)DocType XMLSerializerXHTMLSerializerHTMLSerializerEmptyTagFilter) doctest_suitec@s|eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdS)XMLSerializerTestCasecC2ttjddfg}|jtddd}|d|dS)Nz1.0NNrrxhtmldoctypeencoding )rXML_DECLrenderr assertEqualselfstreamoutputr5/usr/lib/python3/dist-packages/genshi/tests/output.pytest_with_xml_decls z(XMLSerializerTestCase.test_with_xml_declcCs2ttjtjdfg}|jtdd}|d|dS)Nrr[ )rDOCTYPEr HTML_STRICTrr rrrrr test_doctype_in_stream"s z,XMLSerializerTestCase.test_doctype_in_streamcC0ttjddfg}|jtdd}|d|dS)N)htmlz-//W3C//DTD HTML 4.01//ENNrr"z3 rr$rr rrrrr test_doctype_in_stream_no_sysid*sz5XMLSerializerTestCase.test_doctype_in_stream_no_sysidcCr')N)r(Nz%http://www.w3.org/TR/html4/strict.dtdrr"z? r)rrrr test_doctype_in_stream_no_pubid2sz5XMLSerializerTestCase.test_doctype_in_stream_no_pubidcCr')Nr(NNrr"z r)rrrr (test_doctype_in_stream_no_pubid_or_sysid=s z>XMLSerializerTestCase.test_doctype_in_stream_no_pubid_or_sysidcCs*tg}|jttjdd}|d|dS)Nrr#)rrr rr%rrrrr test_serializer_doctypeCs z-XMLSerializerTestCase.test_serializer_doctypecCs4ttjddfg}|jttjdd}|d|dS)Nr,rrr#)rr$rr rr%rrrrr test_doctype_one_and_onlyLs  z/XMLSerializerTestCase.test_doctype_one_and_onlycCr')Nzfoo barrr"z)rCOMMENTrr rrrrr test_commentWz"XMLSerializerTestCase.test_commentcCr')N)pythonzx = 2rr"z)rPIrr rrrrr test_processing_instruction\r2z1XMLSerializerTestCase.test_processing_instructioncCttjddftjtdtfdftjddftjddftjtdtfdftjtddftjddftjddftjddftjtdtfdftjtddftjddftjddftjtddftjddfg}|jt dd}| d |dS) Nhttp://example.org/rhttp://example.org/}div http://example.org/}pr8 r"zN

rSTART_NSSTARTrrTEXTENDEND_NSrr rrrrr test_nested_default_namespacesa*         z4XMLSerializerTestCase.test_nested_default_namespacescCr6) Nxr9rr:r;r<rGr=r"zX r>rrrr test_nested_bound_namespacesyrEz2XMLSerializerTestCase.test_nested_bound_namespacescCttjtdtfdftjddftjddftjtdtfdftjtddftjddftjddftjddftjtdtfdftjtddftjddftjddftjtddfg }|jt dd}| d |dS) Ndivrr;r7r<r8r=r"zj

rr@rrrAr?rBrCrr rrrrr test_multiple_default_namespaces&       z6XMLSerializerTestCase.test_multiple_default_namespacescCrI) NrJrr;rFr<rGr=r"zr
rKrrrr test_multiple_bound_namespacesrMz4XMLSerializerTestCase.test_multiple_bound_namespacescC&d}t|jtdd}|||dS)Na urn:uuid:c60843aa-0da8-4fa6-bbe5-98007bc6774e 2007-01-28T11:36:02.807108-06:00 <div xmlns="http://www.w3.org/1999/xhtml">Example</div>
Bla bla bla
r"rrr rrtextrrrr test_atom_with_xhtmls z*XMLSerializerTestCase.test_atom_with_xhtmlN)__name__ __module__ __qualname__r!r&r*r+r-r.r/r1r5rDrHrLrNrSrrrr rs     rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'S)(XHTMLSerializerTestCasecCr)Nrrrrzn rrrr rrrrr test_xml_decl_droppeds z-XHTMLSerializerTestCase.test_xml_decl_droppedcCs4ttjddfg}|jtdddd}|d|dS)NrrrF)r drop_xml_declrrrXrrrr test_xml_decl_includedsz.XHTMLSerializerTestCase.test_xml_decl_includedcC&d}t|jtdd}|d|dS)N!

English text

r"+

English text

rrr rrQrrr test_xml_langz%XHTMLSerializerTestCase.test_xml_langcCs&d}t|jtdd}|d|dS)Nz+

English text

r"r_rQrrr test_xml_lang_nodupraz+XHTMLSerializerTestCase.test_xml_lang_nodupcC2d}td|}|jtdd}|d||dSNz" Hey there. I am indented. z"r"r_rcontentrrrrr test_textarea_whitespace z0XHTMLSerializerTestCase.test_textarea_whitespacecCrcNz+ Hey there. I am indented. z
%s
r"r_rerrr test_pre_whitespacerhz+XHTMLSerializerTestCase.test_pre_whitespacecCr\Nz9 Do not mess with me r"z$ Do not mess with me r_rQrrr test_xml_spaceraz&XHTMLSerializerTestCase.test_xml_spacecCr\)Nz_ r_rQrrr test_empty_script z)XHTMLSerializerTestCase.test_empty_scriptcCrO)NzWr"r_rQrrr test_script_escapingz,XHTMLSerializerTestCase.test_script_escapingcCrO)Nz|r"r_rQrrr #test_script_escaping_with_namespace rpz;XHTMLSerializerTestCase.test_script_escaping_with_namespacecCrO)NzWr"r_rQrrr test_style_escapingrpz+XHTMLSerializerTestCase.test_style_escapingcCrO)Nz|r"r_rQrrr "test_style_escaping_with_namespacerpz:XHTMLSerializerTestCase.test_style_escaping_with_namespacecCrO)NaV r"r_rQrrr test_embedded_svg!s z)XHTMLSerializerTestCase.test_embedded_svgcCrO)Nz\
Hello
r"r_rQrrr test_xhtml_namespace_prefix.rpz3XHTMLSerializerTestCase.test_xhtml_namespace_prefixcCr6) Nr7rrJr;pr8r=r"zT

rr?r@rrrArBrCrr rrrrr rD5rEz6XHTMLSerializerTestCase.test_nested_default_namespacescCr6) NrFrrJr;rvrGr=r"zV

rwrrrr rHMrEz4XHTMLSerializerTestCase.test_nested_bound_namespacescC*td}|jttjdd}|d|dSNz rz )rrr rHTML5rrrrr test_html5_doctypee  z*XHTMLSerializerTestCase.test_html5_doctypecCr\)Nz Mess with me! r"z Mess with me! rPrQrrr test_ignorable_spacekraz,XHTMLSerializerTestCase.test_ignorable_spacec Csd}ttjtdtf|ftjd|ftjtd|ftjtdtf|ftjtd|ftjtd|fg}|jtddd}| d|dS)Nrfooz…barF)rstrip_whitespacez*&hellip;) rr@rrrArBrrr r)rlocrrrrr test_cache_markupps z)XHTMLSerializerTestCase.test_cache_markupN)rTrUrVrYr[r`rbrgrjrlrmrorqrrrsrtrurDrHr{r}rrrrr rWs(    rWc@sdeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ dS)HTMLSerializerTestCasecCr\)Nr]r"

English text

rrr rrQrrr r`raz$HTMLSerializerTestCase.test_xml_langcCr\)Nr^r"rrrQrrr rbraz*HTMLSerializerTestCase.test_xml_lang_nodupcCrcrdrrerrr rgrhz/HTMLSerializerTestCase.test_textarea_whitespacecCrcrirrerrr rjrhz*HTMLSerializerTestCase.test_pre_whitespacecCr\rkrrQrrr rlraz%HTMLSerializerTestCase.test_xml_spacecCr\)NzrrQrrr rmraz(HTMLSerializerTestCase.test_empty_scriptcCr\)Nz0r"z-rrQrrr ro z+HTMLSerializerTestCase.test_script_escapingcCr\)Nzkr"zCrrQrrr rqrnz:HTMLSerializerTestCase.test_script_escaping_with_namespacecCr\)Nz0r"z-rrQrrr rrrz*HTMLSerializerTestCase.test_style_escapingcCr\)Nzkr"zCrrQrrr rsrnz9HTMLSerializerTestCase.test_style_escaping_with_namespacecCrxry)rrr rrzrrrrr r{r|z)HTMLSerializerTestCase.test_html5_doctypeN)rTrUrVr`rbrgrjrlrmrorqrrrsr{rrrr r}s  rc@s$eZdZddZddZddZdS)EmptyTagFilterTestCasecCs,tdtB}|tjgdd|DdS)Nz cSg|]}|dqSrr.0evrrr z5EmptyTagFilterTestCase.test_empty..)rr rEMPTYrrrrr test_emptysz!EmptyTagFilterTestCase.test_emptycCs4tdtB}|tjtjtjgdd|DdS)NzfoocSrrrrrrr rrz.)rr rrr@rArBrrrr test_text_contents z(EmptyTagFilterTestCase.test_text_contentcCs8tdtB}|tjtjtjtjgdd|DdS)NzcSrrrrrrr rrz.)rr rrr@rrBrrrr test_elem_contents   z(EmptyTagFilterTestCase.test_elem_contentN)rTrUrVrrrrrrr rs rcCsdt}|ttd|ttd|ttd|ttd|tt j |S)Ntest) unittest TestSuiteaddTest makeSuiterrWrrr r rU)suiterrr rsr__main__) defaultTest)r genshi.corerrrr genshi.inputrr genshi.outputrr r r r genshi.tests.test_utilsr TestCaserrWrrrrTmainrrrr s  71G