o !b &@sddlZddlZddlmZddlmZmZmZmZm Z m Z ddl m Z ddl mZmZmZddlmZGdddejZGd d d ejZGd d d ejZGd ddejZGdddejZddZedkrqejdddSdS)N)core)MarkupAttrs NamespaceQNameescapeunescape)XML)StringIOBytesIO IS_PYTHON2) doctest_suitec@<eZdZddZddZddZddZd d Zd d Zd S)StreamTestCasecCs&td}|dd|jdddS)N
  • Über uns
  • utf-8encodingr assertEqualencoderenderselfxmlr3/usr/lib/python3/dist-packages/genshi/tests/core.pytest_render_utf8zStreamTestCase.test_render_utf8cCs0td}|d||d|jdddS)Nrr)r rrrrrrtest_render_unicodesz"StreamTestCase.test_render_unicodecCs&td}|dd|jdddS)Nrz
  • Über uns
  • asciirrrrrrtest_render_ascii#rz StreamTestCase.test_render_asciicCs>td}t}|d|jd|d|dd|dS)Nrrrout)r r rrrgetvaluerrstriorrrtest_render_output_stream_utf8'sz-StreamTestCase.test_render_output_stream_utf8cCs8td}t}|d|jd|d|d|dS)Nrr")r r rrr$r%rrr!test_render_output_stream_unicode-sz0StreamTestCase.test_render_output_stream_unicodecCsHtd}t}t||d|dt|}|d|jdddS)Nz
  • Foo
  • rr)r r pickledumpseekloadrr)rrbufrrr test_pickle3s   zStreamTestCase.test_pickleN) __name__ __module__ __qualname__rrr!r'r(r/rrrrrs rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-S).MarkupTestCasecCs*tdddd}|ddt|dS)NuDönerrrz )rrrreprrmarkuprrrtest_new_with_encoding>sz%MarkupTestCase.test_new_with_encodingcCs,td}trdnd}|d|t|dS)Nfoou'foo''foo' )rr rr4)rr6 expected_foorrr test_reprCs zMarkupTestCase.test_reprcCs(td}t|tus J|d|dS)N "&"z"<b>"&"</b>rtyperrr5rrr test_escapeHszMarkupTestCase.test_escapecCs,tddd}t|tusJ|d|dS)Nr>F)quotesz<b>"&"</b>r?r5rrrtest_escape_noquotesM z#MarkupTestCase.test_escape_noquotescCs2d}t|}t|tusJ||t|dS)Nr>)rrr@rr)rstringr6rrrtest_unescape_markupRs z#MarkupTestCase.test_unescape_markupcCs,tdd}t|tusJ|d|dS)NF)rrr@rr5rrr test_Markup_escape_None_noquotesXrDz/MarkupTestCase.test_Markup_escape_None_noquotescCs,tdd}t|tusJ|d|dS)N foo
    zfoo<br/>rr@rr5rrr test_add_str]rDzMarkupTestCase.test_add_strcCs0tdtd}t|tusJ|d|dS)NrIrJzfoo
    rKr5rrrtest_add_markupbzMarkupTestCase.test_add_markupcCs,dtd}t|tusJ|d|dS)NrJz barz<br/>barrKr5rrrtest_add_reversegrDzMarkupTestCase.test_add_reversecC,tdd}t|tusJ|d|dS)Nz %s& &rKr5rrrtest_modlrDzMarkupTestCase.test_modcCrP)Nz %s %s)rQbooz& boorKr5rrrtest_mod_multiqrDzMarkupTestCase.test_mod_multicCs0tdddi}t|tusJ|d|dS)Nz%(foo)sr8rQrRrKr5rrrtest_mod_mappingvrNzMarkupTestCase.test_mod_mappingcCs4tddtdi}t|tusJ|d|dS)Nz%(amp)sampz&rRrKr5rrrtest_mod_noescape{sz MarkupTestCase.test_mod_noescapecCs,tdd}t|tusJ|d|dS)NrIr)foofoorKr5rrrtest_mulrDzMarkupTestCase.test_mulcCs,dtd}t|tusJ|d|dS)Nr)rIrYrKr5rrrtest_mul_reverserDzMarkupTestCase.test_mul_reversecCs8tdddtdg}t|tusJ|d|dS)N
    r8#foo
    <bar />
    )rjoinr@rr5rrr test_joinszMarkupTestCase.test_joincCs6ddtdg}tddd|D}|d|dS)Nr8r]r^r\css|]}|VqdS)Nr).0irrr sz5MarkupTestCase.test_join_over_iter..r_)rr`r)ritemsr6rrrtest_join_over_itersz"MarkupTestCase.test_join_over_itercC,td}t|tusJ|d|dS)N & jz& jr stripentitiesr@rr5rrrtest_stripentities_allrDz%MarkupTestCase.test_stripentities_allcCs0tdjdd}t|tusJ|d|dS)NrhT)keepxmlentitiesz& jrir5rrrtest_stripentities_keepxmlrNz)MarkupTestCase.test_stripentities_keepxmlcCrg)Nr\rGr striptagsr@rr5rrrtest_striptags_emptyrDz#MarkupTestCase.test_striptags_emptycCrg)Nzfo
    o
    r8rnr5rrrtest_striptags_midrDz!MarkupTestCase.test_striptags_midcCsPtd}t}t||d|dtrdnd}|d|tt|dS)Nr8r)rr9r:r;) rr r*r+r,r rr4r-)rr6r.r<rrrr/s   zMarkupTestCase.test_pickleN)r0r1r2r7r=rArCrFrHrLrMrOrSrUrVrXrZr[rarfrkrmrprqr/rrrrr3<s. r3c@seZdZddZddZdS) AttrsTestCasecCsHtddg}t}t||d|dt|}|dt|dS)N)attr1r8)attr2barr)rz+Attrs([('attr1', 'foo'), ('attr2', 'bar')]))rr r*r+r,r-rr4)rattrsr. unpickledrrrr/s   zAttrsTestCase.test_picklecCs$tddg}|d|ddS)N)rsuföö)rtubäru fööbär)rtotupler)r attrs_tuplerrrtest_non_asciiszAttrsTestCase.test_non_asciiN)r0r1r2r/r{rrrrrrs rrc@s,eZdZddZddZddZddZd S) NamespaceTestCasecCs|dttddS)N-Namespace('http://www.example.org/namespace') http://www.example.org/namespace)rr4rrrrrr=s zNamespaceTestCase.test_reprcC td}|tt||dS)Nr~rrevalr4rnsrrrtest_repr_evalz NamespaceTestCase.test_repr_evalcCr)Nu#http://www.example.org/nämespäcérrrrrtest_repr_eval_non_asciirz*NamespaceTestCase.test_repr_eval_non_asciicCsRtd}t}t||d|dt|}|dt||d|jdS)Nr~r)rr}) rr r*r+r,r-rr4uri)rrr.rwrrrr/s  zNamespaceTestCase.test_pickleN)r0r1r2r=rrr/rrrrr|s  r|c@r) QNameTestCasecCs\td}t}t||d|dt|}|d||d|j|d|jdS)N%http://www.example.org/namespace}elemr)r&{http://www.example.org/namespace}elemr~elem) rr r*r+r,r-r namespace localname)rqnamer.rwrrrr/s   zQNameTestCase.test_picklecCs,|dttd|dttddS)Nz QName('elem')rz.QName('http://www.example.org/namespace}elem')r)rr4rrrrrr=s zQNameTestCase.test_reprcCr)Nrrrrr4rqnrrrrrzQNameTestCase.test_repr_evalcCr)Nuélemrrrrrrrz&QNameTestCase.test_repr_eval_non_asciicCs(td}|d|j|d|jdS)Nrr~rrrrr)rrrrrtest_leading_curly_bracesz&QNameTestCase.test_leading_curly_bracecCs@td}td}||j|j||j|j|||dS)Nrrr)rqname1qname2rrrtest_curly_brace_equalitys z'QNameTestCase.test_curly_brace_equalityN) r0r1r2r/r=rrrrrrrrrs  rcCstt}|ttd|ttd|ttd|ttd|ttd|t t |S)Ntest) unittest TestSuiteaddTest makeSuiterr3r|rrrr r)suiterrrrsr__main__) defaultTest)r*rgenshir genshi.corerrrrrr genshi.inputr genshi.compatr r r genshi.tests.test_utilsr TestCaserr3rrr|rrr0mainrrrrs      $u'