+
    Bip                     Z   ^ RI HtHtHtHtHt ^ RIt^ RIHt  ]! 4        ^ RI	H
t
HtHtHtHtHt ^ RIHt ^ RIHtHtHt ^ RIHtHtHt ^ R	IHt ^ R
IHtHt ^ RIt^ RI t!^ RI"t"^ RI#t#^ RI$t$^ RI%H&t& ^ RI't(^ RI)H*t* ^ RI)H+t+H,t, ^ RI-H.t.H/t/ ]+! RRR7      t0]+! RRR7      t1 ]0Pe                  R4       ]1Pe                  R4       Rt4]!Pj                  Pl                  '       g,    ]*Pn                  Pe                  ]$Pp                  ! 4       4       ]Pv                  ! ]4R4      t<Rt= ! R R]P|                  4      t?RCR lt@RDR ltARDR ltB ! R R]P|                  4      tC ! R  R!]P|                  4      tD ! R" R#]P|                  4      tE ! R$ R%]P|                  4      tF ! R& R'4      tG ! R( R)]G]P|                  4      tH ! R* R+]G]P|                  4      tI ! R, R-]I4      tJ ! R. R/]G]P|                  4      tK ! R0 R1]G]P|                  4      tLR2tM ! R3 R4]P|                  4      tN]O! ]1R54      ;_uu_ 4       tP]PP                  4       tRRRR4        ! R6 R7]?4      tS ! R8 R9]P|                  4      tT ! R: R;]?4      tU ! R< R=]P|                  4      tV ! R> R?]P|                  4      tW ! R@ RA]P|                  4      tX]YRB8X  d   ]P                  ! 4        R# R#   ] d    ]P                  ! R4      hi ; i  ]3 d    ]P                  ! R4      hi ; i  ]9]:3 d    Rt4 EL	i ; i  + '       g   i     L; i)E    )make_parserContentHandlerSAXExceptionSAXReaderNotAvailableSAXParseExceptionN)mockzno XML parsers available)XMLGeneratorescapeunescape	quoteattrXMLFilterBaseprepare_input_source)create_parser)feature_namespacesfeature_external_gesLexicalHandler)InputSourceAttributesImplAttributesNSImpl)sax)BytesIOStringIO)URLError)	os_helper)findfilecheck__all__)FakePathTESTFNztest.xmlxmltestdata)subdirztest.xml.oututf-8z!filename is not encodable to utf8TFz$Requires non-ascii filenames supportz%http://www.python.org/xml-ns/saxtest/c                   2   a  ] tR t^6t o R tR tR tRtV tR# )XmlTestBasec                   V P                  \        VP                  R 4       V P                  \        VP                  R 4       V P                  \        VP                  R 4       V P                  \        VP
                  R 4       V P                  \        VP                  R 4       V P                  VP                  4       ^ 4       V P                  VP                  4       . 4       V P                  VP                  4       . 4       V P                  \        V4      ^ 4       V P                  R V4       V P                  \        VP                  4       4      . 4       V P                  VP                  R4      R4       V P                  VP                  R^4      ^4       V P                  \        VP!                  4       4      . 4       V P                  \        VP#                  4       4      . 4       R# )attrattrsN)assertRaisesKeyErrorgetValuegetValueByQNamegetNameByQNamegetQNameByName__getitem__assertEqual	getLengthgetNames	getQNameslenassertNotInlistkeysgetitemsvaluesselfr&   s   &&$/usr/lib/python3.14/test/test_sax.pyverify_empty_attrsXmlTestBase.verify_empty_attrs7   sf   (ENNF;(E$9$96B(E$8$8&A(E$8$8&A(E$5$5v>*A.)2.*B/UQ''ejjl+R07+T27B/4ekkm,b1elln-r2    c                .   V P                  \        VP                  \        R 34       V P                  \        VP                  R4       V P                  \        VP
                  R4       V P                  \        VP                  \        R 34       V P                  \        VP                  \        R 34       V P                  VP                  4       ^ 4       V P                  VP                  4       . 4       V P                  VP                  4       . 4       V P                  \        V4      ^ 4       V P                  \        R 3V4       V P                  \        VP                  4       4      . 4       V P                  VP!                  \        R 34      R4       V P                  VP!                  \        R 3^4      ^4       V P                  \        VP#                  4       4      . 4       V P                  \        VP%                  4       4      . 4       R# )r%   ns:attrN)r'   r(   r)   ns_urir*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   s   &&r;   verify_empty_nsattrs XmlTestBase.verify_empty_nsattrsH   s   (ENNVV4DE(E$9$99E(E$8$8)D(E$8$866:JK(E$5$57GH*A.)2.*B/UQ'&&)51ejjl+R0FF#34d;FF#3R8"=ekkm,b1elln-r2r>   c                   V P                  VP                  4       ^4       V P                  VP                  4       R.4       V P                  VP                  4       R.4       V P                  \	        V4      ^4       V P                  RV4       V P                  \        VP                  4       4      R.4       V P                  VP                  R4      R4       V P                  VP                  R^4      R4       V P                  \        VP                  4       4      R.4       V P                  \        VP                  4       4      R.4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VR,          R4       V P                  VP                  R4      R4       R# )   r%   valN)r%   rF   )r.   r/   r0   r1   r2   assertInr4   r5   r6   r7   r8   r)   r*   r+   r,   r9   s   &&r;   verify_attrs_wattrXmlTestBase.verify_attrs_wattrY   sw   *A.)F84*VH5UQ'fe$ejjl+fX66*E262.6ekkm,.?@elln-w7/7..v6>--f5v>v.--f5v>r>    N)	__name__
__module____qualname____firstlineno__r<   rB   rH   __static_attributes____classdictcell____classdict__s   @r;   r#   r#   6   s     3"3"? ?r>   r#   c                 "    Vf   V # RV: RV : 2# )N<?xml version="1.0" encoding=""?>
rJ   )docencodings   &&r;   xml_strrX   k   s    
 8@#FFr>   c                 H    VR J d   Tp\        W4      P                  VR4      # ).xmlcharrefreplace)rX   encode)rV   rW   decl_encodings   &&&r;   	xml_bytesr]   p   s(     3&--h8KLLr>   c                     VR J d   Tp\        \        RVRR7      ;_uu_ 4       pVP                  \        W4      4       RRR4       R#   + '       g   i     R# ; i).wrZ   )rW   errorsN)openr   writerX   )rV   rW   r\   fs   &&& r;   make_xml_filerd   u   sD     	fcH5H	I	IQ	+, 
J	I	I	Is   A		A	c                   `   a  ] tR t^|t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tRtV tR# )	ParseTestu,   <money value="$£€𐅻">$£€𐅻</money>c                :    \         P                  ! \        4       R # N)r   unlinkr   r:   s   &r;   tearDownParseTest.tearDown   s     r>   c                    ^ RI Hp \        4       pV! V\        VR4      4       V P	                  VP                  4       \        V P                  R4      4       R# )r   )parser!   N)xml.saxrn   r   r	   r.   getvaluerX   data)r:   rc   rn   results   &&  r;   check_parseParseTest.check_parse   s?    !afg./*GDIIw,GHr>   c           	     :   RpV F  pV P                  \        \        V P                  V4      4      4       \	        V P                  V4       \        \        RVR7      ;_uu_ 4       pV P                  V4       RRR4       V P                  \        V P                  4      4       \	        V P                  VR4       \        \        RVR7      ;_uu_ 4       pV P                  V4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     EK  ; i)us-asciirrW   Nrv   
iso-8859-1r!   utf-16utf-16leutf-16be)rs   r   rX   rq   rd   ra   r   r:   	encodingsrW   rc   s   &   r;   test_parse_textParseTest.test_parse_text   s    7	!HXgdii&BCD$))X.fcH55  # 6Xdii01$))Xt4fcH55  # 65 " 65 655s   &C5D5DDc                   RpV EF  pV P                  \        \        V P                  V4      4      4       \	        V P                  V4       V P                  \
        4       \        \
        R4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \        \        V P                  VR4      4      4       \	        V P                  VR4       V P                  \
        4       \        \
        R4      ;_uu_ 4       pV P                  V4       RRR4       EK  	  V P                  \        \        V P                  RR4      4      4       \	        V P                  RR4       V P                  \
        4       \        \
        R4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \        \        V P                  RR4      4      4       \	        V P                  RR4       V P                  \
        4       \        \
        R4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \        \        V P                  R4      4      4       \	        V P                  R4       V P                  \
        4       \        \
        R4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \        4      ;_uu_ 4        V P                  \        \        V P                  RR4      4      4       RRR4       \	        V P                  RR4       V P                  \        4      ;_uu_ 4        V P                  \
        4       RRR4       \        \
        R4      ;_uu_ 4       pV P                  \        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       R#   + '       g   i     ELI; i  + '       g   i     EK  ; i  + '       g   i     ELS; i  + '       g   i     EL; i  + '       g   i     ELc; i  + '       g   i     EL"; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)rv   r!   rbN	utf-8-sigrz   rv   r!   r{   r|   r}   )	rs   r   r]   rq   rd   r   ra   r'   r   r~   s   &   r;   test_parse_bytesParseTest.test_parse_bytes   s     L	!HWYtyy(%CDE$))X.V$fd##q  # $WYtyy(D%IJK$))Xt4V$fd##q  # $# " 	499k7!KLMdiig6 &$1Q  499k4!HIJdiid3 &$1Q   	499l!CDEdii. &$1Q   |,,WYtyy,%MNO -diit4|,,V$ -&$1""<00  # 1  = $##
 $##  
     -,, -, 10  sx   :OO O5&P	1P(0P1Q
Q+(Q	:Q+O O25P		P	P.	1Q	Q	Q(#Q++Q<	c                p    \        V P                  R R4       V P                  \        \        4      4       R# )r!   N)rd   rq   rs   r   r   rj   s   &r;   test_parse_path_object ParseTest.test_parse_path_object   s%    dii$/&)*r>   c                   \        V P                  R R4       \        \        R4      ;_uu_ 4       p\	        4       pVP                  V4       VP                  R 4       V P                  V4       RRR4       R#   + '       g   i     R# ; i)rz   Nr   )rd   rq   ra   r   r   setByteStreamsetEncodingrs   )r:   rc   inputs   &  r;   test_parse_InputSource ParseTest.test_parse_InputSource   sa    diit4&$1ME"l+U#	  s   >A88B		c           	       aa \         oR oVV3R lp\        P                  ! RVR7      ;_uu_ 4        \        V P                  RR 4       V P                  \        4      ;_uu_ 4        V P                  \        4       R R R 4       V P                  SP                  4       R R R 4       R #   + '       g   i     L5; i  + '       g   i     R # ; i)Nc                     < S! V !  oS# rh   rJ   )argsbuiltin_openfileobjs   *r;   	mock_open4ParseTest.test_parse_close_source.<locals>.mock_open   s    "D)GNr>   zxml.sax.saxutils.open)side_effectrz   )ra   r   patchrd   rq   r'   r   rs   r   
assertTrueclosed)r:   r   r   r   s   & @@r;   test_parse_close_source!ParseTest.test_parse_close_source   s    	
 ZZ/YGG$))\48""<00  ( 1OOGNN+	 HG00 HGGs#   5B='B*	=#B=*B:5B==C	c                    ^ RI Hp \        4       pV! V\        VR4      4       V P	                  VP                  4       \        V P                  R4      4       R# )r   )parseStringr!   N)ro   r   r   r	   r.   rp   rX   rq   )r:   sr   rr   s   &&  r;   check_parseStringParseTest.check_parseString   s?    'A|FG45*GDIIw,GHr>   c                    RpV F(  pV P                  \        V P                  V4      4       K*  	  V P                  V P                  4       R# )rv   Nry   )r   rX   rq   r:   r   rW   s   &  r;   test_parseString_textParseTest.test_parseString_text   s>    7	!H""7499h#?@ "tyy)r>   c           	     T   RpV FN  pV P                  \        V P                  V4      4       V P                  \        V P                  VR4      4       KP  	  V P                  \        V P                  RR4      4       V P                  \        V P                  RR4      4       V P                  \        V P                  R4      4       V P                  \        4      ;_uu_ 4        V P                  \        V P                  RR4      4       RRR4       R#   + '       g   i     R# ; i)rv   r!   Nr   rz   r   )r   r]   rq   r'   r   r   s   &  r;   test_parseString_bytes ParseTest.test_parseString_bytes   s     L	!H""9TYY#AB""9TYY$#GH " 	yKIJyKFGyLAB|,,""9TYYd#KL -,,,s   %'DD'	rJ   N)rK   rL   rM   rN   rq   rk   rs   r   r   r   r   r   r   r   r   rO   rP   rQ   s   @r;   rf   rf   |   sF     OD!I$($T+$,I*M Mr>   rf   c                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )MakeParserTestc                    ^ RI Hp V! 4       p^ RI Hp V! 4       p^ RI Hp V! 4       p^ RI Hp V! 4       p^ RI Hp V! 4       p^ RI Hp V! 4       pR# )r   r   N)ro   r   )r:   r   ps   &  r;   test_make_parser2 MakeParserTest.test_make_parser2   s@     	(M'M'M'M'M'Mr>   c                    \        R .4       \        R4       \        R 04       \        \        R 04      4       \        R R/4       \        \        R .4      4       R# )moduleN)r   r   	frozensetiterrj   s   &r;   test_make_parser3 MakeParserTest.test_make_parser3
  sK     	XJL!XJIxj)*Xt$%D($%r>   c                    \        . 4       \        \        4       4       \        \        4       4       \        \        4       4       \        / 4       \        \	        . 4      4       R # rh   )r   tuplesetr   r   rj   s   &r;   test_make_parser4 MakeParserTest.test_make_parser4  s:    BEGCEIK BDHr>   c                    \        R R.4       \        R4       \        R R04       \        \        R R04      4       \        R RRR/4       \        \        R R.4      4       R# )module1module2N)r   r   r   rj   s   &r;   test_make_parser5 MakeParserTest.test_make_parser5  s\     	Y	*+*+Y	*+Iy)456Yi67D)Y/01r>   rJ   N)
rK   rL   rM   rN   r   r   r   r   rO   rP   rQ   s   @r;   r   r      s     "&2 2r>   r   c                   h   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )SaxutilsTesti-  c                <    V P                  \        R 4      R4       R# )Donald Duck & CoDonald Duck &amp; CoNr.   r
   rj   s   &r;   test_escape_basicSaxutilsTest.test_escape_basic/  s     235KLr>   c                <    V P                  \        R 4      R4       R# )<Donald Duck & Co>&lt;Donald Duck &amp; Co&gt;Nr   rj   s   &r;   test_escape_allSaxutilsTest.test_escape_all2  s     457	9r>   c                B    V P                  \        R RR/4      R4       R# u   Hei på deg   åz&aring;zHei p&aring; degNr   rj   s   &r;   test_escape_extraSaxutilsTest.test_escape_extra6  s!    y/AB+	-r>   c                <    V P                  \        R 4      R4       R# )r   r   Nr.   r   rj   s   &r;   test_unescape_basic SaxutilsTest.test_unescape_basic;  s    "89;MNr>   c                <    V P                  \        R 4      R4       R# )r   r   Nr   rj   s   &r;   test_unescape_allSaxutilsTest.test_unescape_all>  s    "@A-	/r>   c                B    V P                  \        R RR/4      R4       R# r   r   rj   s   &r;   test_unescape_extra SaxutilsTest.test_unescape_extraB  s!    -$1CD+	-r>   c                B    V P                  \        R RR/4      R4       R# )z	&amp;foo;z&foo;splatNr   rj   s   &r;   test_unescape_amp_extra$SaxutilsTest.test_unescape_amp_extraF  s    +/ABGLr>   c                <    V P                  \        R 4      R4       R# )r   z"Donald Duck &amp; Co"Nr.   r   rj   s   &r;   test_quoteattr_basic!SaxutilsTest.test_quoteattr_basicJ  s    #561	3r>   c                <    V P                  \        R 4      R4       R# )zIncludes "double" quotesz'Includes "double" quotes'Nr   rj   s   &r;   test_single_quoteattr"SaxutilsTest.test_single_quoteattrN      #=>7	9r>   c                <    V P                  \        R 4      R4       R# )zIncludes 'single' quotesz"Includes 'single' quotes"Nr   rj   s   &r;   test_double_quoteattr"SaxutilsTest.test_double_quoteattrR  r   r>   c                <    V P                  \        R 4      R4       R# )z%Includes 'single' and "double" quotesz1"Includes 'single' and &quot;double&quot; quotes"Nr   rj   s   &r;   test_single_double_quoteattr)SaxutilsTest.test_single_double_quoteattrV  s    #LMN	Pr>   c                    \        R .4      pR# )zxml.parsers.no_such_parserNr   )r:   r   s   & r;   test_make_parserSaxutilsTest.test_make_parser[  s     567r>   rJ   N)rK   rL   rM   rN   r   r   r   r   r   r   r   r   r   r   r   r   rO   rP   rQ   s   @r;   r   r   -  sJ     M9-
O/-M399P
8 8r>   r   c                   h   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )PrepareInputSourceTestia  c                    \         P                  V n        \        V P                  R 4      ;_uu_ 4       pVP	                  R4       RRR4       R#   + '       g   i     R# ; i)r_   zThis was read from a file.N)r   r   filera   rb   )r:   tmps   & r;   setUpPrepareInputSourceTest.setUpc  s>    $$	$))S!!SII23 "!!!s   AA!	c                F    \         P                  ! V P                  4       R # rh   )r   ri   r   rj   s   &r;   rk   PrepareInputSourceTest.tearDownh  s    #r>   c                    \        R 4      # )   This is a byte stream.)r   rj   s   &r;   make_byte_stream'PrepareInputSourceTest.make_byte_streamk  s    011r>   c                    \        R 4      # )This is a character stream.)r   rj   s   &r;   make_character_stream,PrepareInputSourceTest.make_character_streamn  s    566r>   c                    V P                  V4       V P                  VP                  4       V4       VP                  4        R # rh   )assertIsNotNoner.   readclose)r:   streamcontents   &&&r;   checkContent#PrepareInputSourceTest.checkContentq  s/    V$0r>   c                   \        V P                  4      pVP                  V P                  4       4       \	        V4      pV P                  VP                  4       4       V P                  VP                  4       R 4       R# r  N)	r   r   setCharacterStreamr  r   assertIsNonegetByteStreamr
  getCharacterStreamr:   srcpreps   &  r;   test_character_stream,PrepareInputSourceTest.test_character_streamw  sd    $))$t99;<#C($,,./$1137	9r>   c                   \        V P                  4      pVP                  V P                  4       4       \	        V4      pV P                  VP                  4       4       V P                  VP                  4       R 4       R# r   N)	r   r   r   r   r   r  r  r
  r  r  s   &  r;   test_byte_stream'PrepareInputSourceTest.test_byte_stream  sf     $))$$//12#C($1134$,,.3	5r>   c                    \        V P                  4      p\        V4      pV P                  VP	                  4       4       V P                  VP                  4       R 4       R# s   This was read from a file.N)r   r   r   r  r  r
  r  r  s   &  r;   test_system_id%PrepareInputSourceTest.test_system_id  sO     $))$#C($1134$,,.7	9r>   c                    \        V P                  4      pV P                  VP                  4       4       V P	                  VP                  4       R 4       R# r  )r   r   r  r  r
  r  r:   r  s   & r;   test_string"PrepareInputSourceTest.test_string  sC    #DII.$1134$,,.7	9r>   c                    \        \        V P                  4      4      pV P                  VP	                  4       4       V P                  VP                  4       R 4       R# r  )r   r   r   r  r  r
  r  r   s   & r;   test_path_objects(PrepareInputSourceTest.test_path_objects  sH    #HTYY$78$1134$,,.7	9r>   c                    \        V P                  4       4      pV P                  VP                  4       4       V P	                  VP                  4       R 4       R# r  )r   r   r  r  r
  r  r   s   & r;   test_binary_file'PrepareInputSourceTest.test_binary_file  sJ     $D$9$9$;<$1134$,,.3	5r>   c                    \        V P                  4       4      pV P                  VP                  4       4       V P	                  VP                  4       R 4       R# r  )r   r  r  r  r
  r  r   s   & r;   test_text_file%PrepareInputSourceTest.test_text_file  sJ     $D$>$>$@A$,,./$1137	9r>   )r   N)rK   rL   rM   rN   r   rk   r   r  r
  r  r  r  r!  r$  r'  r*  rO   rP   rQ   s   @r;   r   r   a  sF     4
$279599959 9r>   r   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )
XmlgenTesti  c                    V P                  4       p\        V4      pVP                  4        VP                  R / 4       VP	                  R 4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )rV   <doc></doc>N	ioclassr	   startDocumentstartElement
endElementendDocumentr.   rp   xmlr:   rr   gens   &  r;   test_xmlgen_basicXmlgenTest.test_xmlgen_basic  si    6"#u*DHH],CDr>   c                $   V P                  4       p\        VR R7      pVP                  4        VP                  R/ 4       VP	                  R4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )Tshort_empty_elementsrV   <doc/>Nr0  r7  s   &  r;   test_xmlgen_basic_empty"XmlgenTest.test_xmlgen_basic_empty  sk    6=#u*DHHX,>?r>   c                B   V P                  4       p\        V4      pVP                  4        VP                  R / 4       VP	                  R4       VP                  R 4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )rV   huhei<doc>huhei</doc>N
r1  r	   r2  r3  
charactersr4  r5  r.   rp   r6  r7  s   &  r;   test_xmlgen_contentXmlgenTest.test_xmlgen_content  sv    6"#wu*DHH5G,HIr>   c                F   V P                  4       p\        VR R7      pVP                  4        VP                  R/ 4       VP	                  R4       VP                  R4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )Tr<  rV   rB  rC  NrD  r7  s   &  r;   test_xmlgen_content_empty$XmlgenTest.test_xmlgen_content_empty  sx    6=#wu*DHH5G,HIr>   c                D   V P                  4       p\        V4      pVP                  4        VP                  R R4       VP	                  R/ 4       VP                  R4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )testrq   rV   z<?test data?><doc></doc>N)
r1  r	   r2  processingInstructionr3  r4  r5  r.   rp   r6  r7  s   &  r;   test_xmlgen_piXmlgenTest.test_xmlgen_pi  s}    6"!!&&1#u*HH/0	2r>   c                B   V P                  4       p\        V4      pVP                  4        VP                  R / 4       VP	                  R4       VP                  R 4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )rV   z<huhei&z<doc>&lt;huhei&amp;</doc>NrD  r7  s   &  r;   test_xmlgen_content_escape%XmlgenTest.test_xmlgen_content_escape  sy    6"#y!u*HH01	3r>   c                   V P                  4       p\        V4      pVP                  4        VP                  R RR/4       VP                  RRR/4       VP	                  R4       VP                  RRR/4       VP	                  R4       VP                  RRR/4       VP	                  R4       VP	                  R 4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )	rV   a"e'z'"z
	zK<doc a='"'><e a="'"></e><e a="'&quot;"></e><e a="&#10;&#13;&#9;"></e></doc>Nr0  r7  s   &  r;   test_xmlgen_attr_escape"XmlgenTest.test_xmlgen_attr_escape  s    6"c
+sCj)ssEl+ssHo.su*DHH1-2 	3r>   c           	     b   RpV F  pV P                  4       p\        W2R7      pVP                  4        VP                  RRR/4       VP	                  R4       VP                  R4       VP                  4        V P                  VP                  4       V P                  RVR7      4       K  	  R# )iso-8859-15rx   rV   rT     €u   <doc a="€">€</doc>N	r[  r!   r   r{   r}   r|   zutf-32zutf-32bezutf-32lerD  r:   r   rW   rr   r8  s   &    r;   test_xmlgen_encodingXmlgenTest.test_xmlgen_encoding  s    7	 "H\\^Fv9CUS(O4NN8$NN5!OOV__.7(KM "r>   c                N   V P                  4       p\        VR R7      pVP                  4        VP                  RRR/4       VP	                  R4       VP                  R4       VP                  4        V P                  VP                  4       V P                  RR R7      4       R# )asciirx   rV   rT  r\  z<doc a="&#8364;">&#8364;</doc>NrD  r7  s   &  r;   test_xmlgen_unencodable"XmlgenTest.test_xmlgen_unencodable   s    6G4h0x u*HH5HH	Jr>   c                B   V P                  4       p\        V4      pVP                  4        VP                  R / 4       VP	                  R4       VP                  R 4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )rV    <doc> </doc>N
r1  r	   r2  r3  ignorableWhitespacer4  r5  r.   rp   r6  r7  s   &  r;   test_xmlgen_ignorable XmlgenTest.test_xmlgen_ignorable-  sw    6"#$u*DHH^,DEr>   c                F   V P                  4       p\        VR R7      pVP                  4        VP                  R/ 4       VP	                  R4       VP                  R4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )Tr<  rV   rf  rg  Nrh  r7  s   &  r;   test_xmlgen_ignorable_empty&XmlgenTest.test_xmlgen_ignorable_empty9  sy    6=#$u*DHH^,DEr>   c           	        RpV F  pV P                  4       p\        W2R7      pVP                  4        VP                  RRR/4       VP	                  RP                  V4      4       VP                  RP                  V4      4       VP                  R4       VP                  4        V P                  VP                  4       V P                  RVR7      4       K  	  R# )	r[  rx   rV   rT  r\  rf  u   <doc a="€">€ </doc>Nr]  )r1  r	   r2  r3  rE  r[   ri  r4  r5  r.   rp   r6  r^  s   &    r;   test_xmlgen_encoding_bytes%XmlgenTest.test_xmlgen_encoding_bytesE  s    7	 "H\\^Fv9CUS(O4NN8??845##CJJx$89NN5!OOV__.88LN "r>   c                   V P                  4       p\        V4      pVP                  4        VP                  R \        4       VP                  \        R3R/ 4       VP                  RR/ 4       VP                  RR4       VP                  \        R3R4       VP                  R 4       VP                  4        V P                  VP                  4       V P                  R\        ,          4      4       R# )ns1rV   ns1:docNz/<ns1:doc xmlns:ns1="%s"><udoc></udoc></ns1:doc>Nudocr1  r	   r2  startPrefixMappingrA   startElementNSendElementNSendPrefixMappingr5  r.   rp   r6  r7  s   &  r;   test_xmlgen_nsXmlgenTest.test_xmlgen_nsW  s    6"uf-FE?Ir:>44.&%)4U#*DHH<)/0-1 	2r>   c                   V P                  4       p\        VR R7      pVP                  4        VP                  R\        4       VP                  \        R3R/ 4       VP                  RR/ 4       VP                  RR4       VP                  \        R3R4       VP                  R4       VP                  4        V P                  VP                  4       V P                  R\        ,          4      4       R# )Tr<  rs  rV   rt  Nz)<ns1:doc xmlns:ns1="%s"><udoc/></ns1:doc>ru  rw  r7  s   &  r;   test_xmlgen_ns_emptyXmlgenTest.test_xmlgen_ns_emptyi  s    6=uf-FE?Ir:>44.&%)4U#*DHH6)/0-1 	2r>   c                (   V P                  4       p\        V4      pVP                  4        VP                  RRRR/4       VP	                  RR4       VP                  4        V P                  VP                  4       V P                  R4      4       R # )NrT  cz<a b="c"></a>NrT  Nb	r1  r	   r2  ry  rz  r5  r.   rp   r6  r7  s   &  r;   test_1463026_1XmlgenTest.test_1463026_1{  st    6";k#->?c**DHH_,EFr>   c                ,   V P                  4       p\        VR R7      pVP                  4        VP                  RRRR/4       VP	                  RR4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )Tr<  NrT  r  z
<a b="c"/>r  r  r  r7  s   &  r;   test_1463026_1_emptyXmlgenTest.test_1463026_1_empty  sv    6=;k#->?c**DHH\,BCr>   c                j   V P                  4       p\        V4      pVP                  4        VP                  R R4       VP	                  RR/ 4       VP                  RR4       VP                  R 4       VP                  4        V P                  VP                  4       V P                  R4      4       R # )NquxrT  z<a xmlns="qux"></a>r  rT  r1  r	   r2  rx  ry  rz  r{  r5  r.   rp   r6  r7  s   &  r;   test_1463026_2XmlgenTest.test_1463026_2  s    6"tU+<b1s+T"*DHH5J,KLr>   c                n   V P                  4       p\        VR R7      pVP                  4        VP                  RR4       VP	                  RR/ 4       VP                  RR4       VP                  R4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )Tr<  Nr  rT  z<a xmlns="qux"/>r  r  r7  s   &  r;   test_1463026_2_emptyXmlgenTest.test_1463026_2_empty  s    6=tU+<b1s+T"*DHH5G,HIr>   c                n   V P                  4       p\        V4      pVP                  4        VP                  R R4       VP	                  RRRR/4       VP                  RR4       VP                  R 4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )myr  rT  Nr  z"<my:a xmlns:my="qux" b="c"></my:a>r  r  r  r7  s   &  r;   test_1463026_3XmlgenTest.test_1463026_3  s    6"tU+<{3.?@s+T"*HH9:	<r>   c                r   V P                  4       p\        VR R7      pVP                  4        VP                  RR4       VP	                  RRR	R/4       VP                  RR4       VP                  R4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )
Tr<  r  r  rT  Nr  z<my:a xmlns:my="qux" b="c"/>r  r  r  r7  s   &  r;   test_1463026_3_emptyXmlgenTest.test_1463026_3_empty  s    6=tU+<{3.?@s+T"*HH34	6r>   c                4   \        R 4      p\        4       pVP                  \        R4       V P	                  4       p\        V4      pVP                  V4       VP                  V4       V P                  VP                  4       V P                  R4      4       R# )zb<?xml version="1.0"?><a:g1 xmlns:a="http://example.com/ns"><a:g2 xml:lang="en">Hello</a:g2></a:g1>TM<a:g1 xmlns:a="http://example.com/ns"><a:g2 xml:lang="en">Hello</a:g2></a:g1>N)r   r   
setFeaturer   r1  r	   setContentHandlerrn   r.   rp   r6  )r:   test_xmlparserrr   r8  s   &    r;   test_5027_1XmlgenTest.test_5027_1  s      ,d36"  %X*#$	%r>   c                   V P                  4       p\        V4      pVP                  4        VP                  R R4       VP	                  RR/ 4       R	R/pVP	                  R
RV4       VP                  R4       VP                  R
R4       VP                  RR4       VP                  R 4       VP                  4        V P                  VP                  4       V P                  R4      4       R# )rT  http://example.com/nsg1eng2Hellor  N)r  r  )z$http://www.w3.org/XML/1998/namespacelang)r  r  )r1  r	   r2  rx  ry  rE  rz  r{  r5  r.   rp   r6  )r:   rr   r8  	lang_attrs   &   r;   test_5027_2XmlgenTest.test_5027_2  s     6"s$;<:D"EEtL	:D)Lw8$?8$?S!*#$	%r>   c                r    V P                  4       pR  pV! V4       V P                  VP                  4       R# )c                 `    \        V 4      pVP                  4        VP                  R / 4       R# )rV   N)r	   r2  r3  )outr8  s   & r;   func+XmlgenTest.test_no_close_file.<locals>.func  s(    s#CUB'r>   N)r1  assertFalser   )r:   rr   r  s   &  r;   test_no_close_fileXmlgenTest.test_no_close_file  s-    	( 	V'r>   c           	        V P                  4       p\        V4      pVP                  R RR/4       VP                  R4       VP	                  R 4       VP                  RRR/4       VP	                  R4       V P                  VP                  4       V P                  R4      \        V P                  R4      4      R	 4       R	# )
foorT  1.0r  barr  z2.0z+<foo a="1.0">Hello</foo><bar b="2.0"></bar> N)	r1  r	   r3  rE  r4  r.   rp   r6  r2   r7  s   &  r;   test_xmlgen_fragmentXmlgenTest.test_xmlgen_fragment  s    6" 	e-wue-u 	*HHBCCQSDUDVW	Yr>   rJ   N)rK   rL   rM   rN   r9  r?  rF  rI  rN  rQ  rX  r_  rc  rj  rm  rp  r|  r  r  r  r  r  r  r  r  r  r  r  rO   rP   rQ   s   @r;   r-  r-    s     E@
J
J233(M"J
F
FN$2$2$	G	DMJ<6%4%8(Y Yr>   r-  c                   2   a  ] tR tRt o ]tRR ltRtRtV t	R# )StringXmlgenTesti  c                    R V: RV: 2# )rT   rU   rJ   r:   rV   rW   s   &&&r;   r6  StringXmlgenTest.xml  s    <DcJJr>   NrJ   rz   )
rK   rL   rM   rN   r   r1  r6  rc  rO   rP   rQ   s   @r;   r  r    s     GK #r>   r  c                   .   a  ] tR tRt o ]tRR ltRtV tR# )BytesXmlgenTesti  c                6    R V: RV: 2P                  VR4      # )rT   rU   rZ   r[   r  s   &&&r;   r6  BytesXmlgenTest.xml   s    3 !'2E!F	Gr>   rJ   Nr  )	rK   rL   rM   rN   r   r1  r6  rO   rP   rQ   s   @r;   r  r    s     GG Gr>   r  c                   ,    ] tR tRt ! R R]4      tRtR# )WriterXmlgenTesti$  c                   N   a  ] tR tRt o ]P
                  tRtR tR t	R t
RtV tR# )WriterXmlgenTest.ioclassi%  Fc                    R # )TrJ   rj   s   &r;   seekable!WriterXmlgenTest.ioclass.seekable)  s    r>   c                    \        V 4      # rh   )r2   rj   s   &r;   tellWriterXmlgenTest.ioclass.tell,  s    t9r>   c                $    R P                  V 4      # )r>   )joinrj   s   &r;   rp   !WriterXmlgenTest.ioclass.getvalue0  s    88D>!r>   rJ   N)rK   rL   rM   rN   r4   appendrb   r   r  r  rp   rO   rP   rQ   s   @r;   r1  r  %  s'     			" 	"r>   r1  rJ   N)rK   rL   rM   rN   r4   r1  rO   rJ   r>   r;   r  r  $  s    "$ " "r>   r  c                   0   a  ] tR tRt o R tRR ltRtV tR# )StreamWriterXmlgenTesti3  c                v    \        4       p\        P                  ! R 4      ! VR4      pVP                  Vn        V# )rb  rZ   )r   codecs	getwriterrp   )r:   rawwriters   &  r;   r1  StreamWriterXmlgenTest.ioclass4  s1    i!!'*30CD,,r>   c                6    R V: RV: 2P                  RR4      # rT   rU   rb  rZ   r  r  s   &&&r;   r6  StreamWriterXmlgenTest.xml:      3 !'1D!E	Fr>   rJ   Nr  )rK   rL   rM   rN   r1  r6  rO   rP   rQ   s   @r;   r  r  3  s     F Fr>   r  c                   V   a  ] tR tRt o ]P
                  R,           tR tRR ltRt	V t
R# )StreamReaderWriterXmlgenTesti>  z-codecsc           
       a a S P                  \        4      ;_uu_ 4        \        P                  ! S P                  R RR^ R7      oRRR4       V V3R lpS P                  V4       V3R lpVSn        S#   + '       g   i     L7; i)r_   rb  rZ   )rW   r`   	bufferingNc                  h   < SP                  4        \        P                  ! S P                  4       R # rh   )r  r   ri   fname)r:   r  s   r;   cleanup5StreamReaderWriterXmlgenTest.ioclass.<locals>.cleanupE  s    LLNTZZ(r>   c                     < SP                  4        \        SP                  R 4      ;_uu_ 4       p V P                  4       uuRRR4       #   + '       g   i     R# ; ir   N)r  ra   namer  )rc   r  s    r;   rp   6StreamReaderWriterXmlgenTest.ioclass.<locals>.getvalueI  s7    LLNfkk4((Avvx )(((s   AA	)assertWarnsDeprecationWarningr  ra   r  
addCleanuprp   )r:   r  rp   r  s   f  @r;   r1  $StreamReaderWriterXmlgenTest.ioclassA  sg    011[[S7':aIF 2	) 	 	 
 # 21s   &A55B	c                6    R V: RV: 2P                  RR4      # r  r  r  s   &&&r;   r6   StreamReaderWriterXmlgenTest.xmlQ  r  r>   rJ   Nr  )rK   rL   rM   rN   r   r   r  r1  r6  rO   rP   rQ   s   @r;   r  r  >  s&     y(E F Fr>   r  s,   <?xml version="1.0" encoding="iso-8859-1"?>
c                   &   a  ] tR tRt o R tRtV tR# )XMLFilterBaseTestiX  c                   \        4       p\        V4      p\        4       pVP                  V4       VP	                  4        VP                  R / 4       VP                  R4       VP                  R4       VP                  R 4       VP                  4        V P                  VP                  4       \        R,           4       R# )rV   r	  rf  s   <doc>content </doc>N)r   r	   r   r  r2  r3  rE  ri  r4  r5  r.   rp   start)r:   rr   r8  filters   &   r;   test_filter_basic#XMLFilterBaseTest.test_filter_basicY  s    6"  %E2&)$""3'% *E4J,JKr>   rJ   N)rK   rL   rM   rN   r  rO   rP   rQ   s   @r;   r  r  X  s     L Lr>   r  r   c                     a  ] tR tRt o R tR t]R 4       tR tR t	 ! R R4      t
 ! R	 R
4      tR tR tR t ! R R4      tR tR t ! R R]4      tR tR tR tR tR tR t]R 4       tR tR tR tR t]P@                  ! ]!PD                  R(8  R]!PD                   R 24      R! 4       t#R" t$R# t%R$ t&]R% 4       t'R&t(V t)R'# ))ExpatReaderTestiq  c                8   \        4       p\        4       p\        V4      pVP                  V4       \	        \
        R 4      ;_uu_ 4       pVP                  V4       RRR4       V P                  VP                  4       \        4       R#   + '       g   i     L6; ir  
r   r   r	   r  ra   TEST_XMLFILErn   r.   rp   xml_test_outr:   r  rr   xmlgenrc   s   &    r;   test_expat_binary_file&ExpatReaderTest.test_expat_binary_fileu  si    f%  (,%%LLO & 	*L9 &%s   	B		B	c                <   \        4       p\        4       p\        V4      pVP                  V4       \	        \
        R RR7      ;_uu_ 4       pVP                  V4       RRR4       V P                  VP                  4       \        4       R#   + '       g   i     L6; irtrz   rx   Nr  r  s   &    r;   test_expat_text_file$ExpatReaderTest.test_expat_text_file  sk    f%  (,|<<LLO = 	*L9 =<s   BB	c                z   \         P                  p\        P                  ! \        V4       V P                  \         P                  V4       \        4       p\        4       p\        V4      pVP                  V4       VP                  \        VR 4      4       V P                  VP                  4       \        4       R# r  )r   TESTFN_UNICODEshutilcopyfiler  r  ri   r   r   r	   r  rn   ra   r.   rp   r   r:   r  r  rr   r  s   &    r;   test_expat_binary_file_nonascii/ExpatReaderTest.test_expat_binary_file_nonascii  s    ((e,	((%0f%  (T%&'*L9r>   c                d   \         P                  ! \        4      p\        4       p\	        4       p\        V4      pVP                  V4       \        VR 4      ;_uu_ 4       pVP                  V4       RRR4       V P                  VP                  4       \        4       R#   + '       g   i     L6; ir  )osfsencoder  r   r   r	   r  ra   rn   r.   rp   r   )r:   r  r  rr   r  rc   s   &     r;   !test_expat_binary_file_bytes_name1ExpatReaderTest.test_expat_binary_file_bytes_name  sw    L)f%  (%!LLO  	*L9 s   BB/	c           	        \        4       p\        4       p\        V4      pVP                  V4       \	        \
        R 4      ;_uu_ 4       p\	        VP                  4       R RR7      ;_uu_ 4       pVP                  V4       RRR4       RRR4       V P                  VP                  4       \        4       R#   + '       g   i     L>; i  + '       g   i     LI; i)r   F)closefdN)r   r   r	   r  ra   r  filenorn   r.   rp   r   )r:   r  rr   r  rc   f2s   &     r;   test_expat_binary_file_int_name/ExpatReaderTest.test_expat_binary_file_int_name  s    f%  (,%%ahhj$66"R  7 & 	*L9 76 &%s$   	%C	.B6	 C	6CC		C	c                   2   a  ] tR tRt o R tR tR tRtV tR# )ExpatReaderTest.TestDTDHandleri  c                "    . V n         . V n        R # rh   )
_notations	_entitiesrj   s   &r;   __init__'ExpatReaderTest.TestDTDHandler.__init__  s     DO DNr>   c                @    V P                   P                  WV34       R # rh   )r  r  )r:   r  publicIdsystemIds   &&&&r;   notationDecl+ExpatReaderTest.TestDTDHandler.notationDecl  s    OO""DH#=>r>   c                @    V P                   P                  WW434       R # rh   )r   r  )r:   r  r$  r%  ndatas   &&&&&r;   unparsedEntityDecl1ExpatReaderTest.TestDTDHandler.unparsedEntityDecl  s    NN!!48"CDr>   )r   r  N)	rK   rL   rM   rN   r!  r&  r*  rO   rP   rQ   s   @r;   TestDTDHandlerr    s     	!	?	E 	Er>   r,  c                   ,   a  ] tR tRt o R tR tRtV tR# )"ExpatReaderTest.TestEntityRecorderi  c                    . V n         R # rh   entitiesrj   s   &r;   r!  +ExpatReaderTest.TestEntityRecorder.__init__  s	    DMr>   c                    V P                   P                  W34       \        4       pVP                  V4       VP	                  V4       V# rh   )r1  r  r   setPublicIdsetSystemId)r:   r$  r%  sources   &&& r;   resolveEntity0ExpatReaderTest.TestEntityRecorder.resolveEntity  s?    MM  (!56 ]Fx(x(Mr>   r0  N)rK   rL   rM   rN   r!  r7  rO   rP   rQ   s   @r;   TestEntityRecorderr.    s     		 	r>   r9  c                   \        4       pV P                  4       pVP                  V4       VP                  R 4       VP                  R4       VP                  R4       VP                  R4       VP                  R4       VP	                  4        V P                  VP                  R.4       V P                  VP                  R.4       R# )<!DOCTYPE doc [
z-  <!ENTITY img SYSTEM "expat.gif" NDATA GIF>
zW  <!NOTATION GIF PUBLIC "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">
]>
r/  N)GIFz;-//CompuServe//NOTATION Graphics Interchange Format 89a//ENN)imgNz	expat.gifr=  )r   r,  setDTDHandlerfeedr  r.   r  r   )r:   r  handlers   &  r;   test_expat_dtdhandler%ExpatReaderTest.test_expat_dtdhandler  s    %%'W%'(DEnoFM"++YZ	\**-N,OPr>   c                   V P                  \        P                  P                  4       \	        4       pVP                  \        R 4       V P                  4       pVP                  V4       V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P                  VP                  R.4       R#   + '       g   i     L/; i)T8<!DOCTYPE external SYSTEM "unsupported://non-existing">
N)Nzunsupported://non-existing)r  urllibrequest
urlcleanupr   r  r   r9  setEntityResolverr'   r   r@  r.   r1  r:   r  resolvers   &  r;   test_expat_external_dtd_enabled/ExpatReaderTest.test_expat_external_dtd_enabled  s    112.5**,  *x((KKK ) 	 DE	
	 )(s   CC	c                    \        4       pV P                  4       pVP                  V4       VP                  R 4       VP                  R4       VP	                  4        V P                  VP                  . 4       R# )rE  z<doc />N)r   r9  rI  r@  r  r.   r1  rJ  s   &  r;   test_expat_external_dtd_default/ExpatReaderTest.test_expat_external_dtd_default  sa    **,  *G	
 	I**B/r>   c                   &   a  ] tR tRt o R tRtV tR# )"ExpatReaderTest.TestEntityResolveri  c                N    \        4       pVP                  \        R 4      4       V# )s	   <entity/>)r   r   r   )r:   r$  r%  inpsrcs   &&& r;   r7  0ExpatReaderTest.TestEntityResolver.resolveEntity  s!     ]F  !67Mr>   rJ   N)rK   rL   rM   rN   r7  rO   rP   rQ   s   @r;   TestEntityResolverrR    s     	 	r>   rV  c                   \        4       pVP                  \        R 4       VP                  V P	                  4       4       \        4       pVP                  \        V4      4       VP                  R4       VP                  R4       VP                  R4       VP                  R4       VP                  4        V P                  VP                  4       \        R,           4       R# )Tr;  #  <!ENTITY test SYSTEM "whatever">
r<  <doc>&test;</doc>s   <doc><entity></entity></doc>N)r   r  r   rI  rV  r   r  r	   r@  r  r.   rp   r  r:   r  rr   s   &  r;   !test_expat_entityresolver_enabled1ExpatReaderTest.test_expat_entityresolver_enabled  s    .5  !8!8!:;  f!56'(:;F'(*E8-9 	:r>   c                   \        4       pV P                  VP                  \        4      R 4       VP	                  V P                  4       4       \        4       pVP                  \        V4      4       VP                  R4       VP                  R4       VP                  R4       VP                  R4       VP                  4        V P                  VP                  4       \        R,           4       R# )Fr;  rX  r<  rY     <doc></doc>N)r   r.   
getFeaturer   rI  rV  r   r  r	   r@  r  rp   r  rZ  s   &  r;   !test_expat_entityresolver_default1ExpatReaderTest.test_expat_entityresolver_default  s    **+?@%H  !8!8!:;  f!56'(:;F'(*E'-( 	)r>   c                   ,   a  ] tR tRt o R tR tRtV tR# )ExpatReaderTest.AttrGathereri$  c                    W n         R # rh   _attrs)r:   r  r&   s   &&&r;   r3  )ExpatReaderTest.AttrGatherer.startElement&      Kr>   c                    W0n         R # rh   re  )r:   r  qnamer&   s   &&&&r;   ry  +ExpatReaderTest.AttrGatherer.startElementNS)  rh  r>   re  N)rK   rL   rM   rN   r3  ry  rO   rP   rQ   s   @r;   AttrGathererrc  $  s     	 	  	 r>   rl  c                    \        4       pV P                  4       pVP                  V4       VP                  R 4       VP	                  4        V P                  VP                  4       R# )r>  N)r   rl  r  r@  r  r<   rf  r:   r  gathers   &  r;   test_expat_attrs_empty&ExpatReaderTest.test_expat_attrs_empty,  sL    ""$  (H.r>   c                    \        4       pV P                  4       pVP                  V4       VP                  R 4       VP	                  4        V P                  VP                  4       R# )z<doc attr='val'/>N)r   rl  r  r@  r  rH   rf  rn  s   &  r;   test_expat_attrs_wattr&ExpatReaderTest.test_expat_attrs_wattr6  sM    ""$  ('(.r>   c                    \        ^4      pV P                  4       pVP                  V4       VP                  R4       VP	                  4        V P                  VP                  4       R# )rE   r>  N)r   rl  r  r@  r  rB   rf  rn  s   &  r;   test_expat_nsattrs_empty(ExpatReaderTest.test_expat_nsattrs_empty@  sO    q!""$  (H!!&--0r>   c                    \        ^4      pV P                  4       pVP                  V4       VP                  R\        ,          4       VP                  4        VP                  pV P                  VP                  4       ^4       V P                  VP                  4       \        R3.4       T P                  VP                  4       . 8H  ;'       g    VP                  4       R.8H  4       V P                  \        V4      ^4       V P                  \        R3V4       V P                  VP                  \        R34      R4       V P                  VP                  \        R3^4      R4       V P                  \        VP!                  4       4      \        R3R3.4       V P                  \        VP#                  4       4      R.4       V P                  VP%                  \        R34      R4       V P                  V\        R3,          R4       R# )rE   z"<doc xmlns:ns='%s' ns:attr='val'/>r%   r@   rF   N)r   rl  r  r@  rA   r  rf  r.   r/   r0   r   r1   r2   rG   r6   r4   r7   r8   r)   )r:   r  ro  r&   s   &   r;   test_expat_nsattrs_wattr(ExpatReaderTest.test_expat_nsattrs_wattrJ  s   q!""$  (86AB*A.)VV,<+=>*b0 : :*yk9	<UQ'vv&.FF#34e<FF#3R8%@ekkm,0@%/H.IJelln-w7(895A/0%8r>   c                    \        4       p\        4       p\        V4      pVP                  V4       VP	                  \
        4       V P                  VP                  4       \        4       R # rh   )	r   r   r	   r  rn   r  r.   rp   r   r:   r  rr   r  s   &   r;   test_expat_inpsource_filename-ExpatReaderTest.test_expat_inpsource_filenamec  sK    f%  (\"*L9r>   c                    \        4       p\        4       p\        V4      pVP                  V4       VP	                  \        \        4      4       V P                  VP                  4       \        4       R # rh   )
r   r   r	   r  rn   r   r  r.   rp   r   r|  s   &   r;   test_expat_inpsource_sysid*ExpatReaderTest.test_expat_inpsource_sysidm  sP    f%  ([./*L9r>   c                x   \         P                  p\        P                  ! \        V4       V P                  \         P                  V4       \        4       p\        4       p\        V4      pVP                  V4       VP                  \        V4      4       V P                  VP                  4       \        4       R # rh   )r   r  r  r  r  r  ri   r   r   r	   r  rn   r   r.   rp   r   r  s   &    r;   #test_expat_inpsource_sysid_nonascii3ExpatReaderTest.test_expat_inpsource_sysid_nonasciiw  s}    ((e,	((%0f%  (['(*L9r>   c                n   \        4       p\        4       p\        V4      pVP                  V4       \	        4       p\        \        R 4      ;_uu_ 4       pVP                  V4       VP                  V4       RRR4       V P                  VP                  4       \        4       R#   + '       g   i     L6; ir  )r   r   r	   r  r   ra   r  r   rn   r.   rp   r   r:   r  rr   r  rT  rc   s   &     r;    test_expat_inpsource_byte_stream0ExpatReaderTest.test_expat_inpsource_byte_stream  s    f%  (,%%  #LL  & 	*L9	 &%s   #B$$B4	c                r   \        4       p\        4       p\        V4      pVP                  V4       \	        4       p\        \        R RR7      ;_uu_ 4       pVP                  V4       VP                  V4       RRR4       V P                  VP                  4       \        4       R#   + '       g   i     L6; ir  )r   r   r	   r  r   ra   r  r  rn   r.   rp   r   r  s   &     r;   %test_expat_inpsource_character_stream5ExpatReaderTest.test_expat_inpsource_character_stream  s    f%  (,|<<%%a(LL  = 	*L9	 =<s   #B&&B6	c                    \        4       p\        V4      p\        4       pVP                  V4       VP	                  R 4       VP	                  R4       VP                  4        V P                  VP                  4       \        R,           4       R# )<doc></doc>r^  N)	r   r	   r   r  r@  r  r.   rp   r  r:   rr   r  r  s   &   r;   test_expat_incremental&ExpatReaderTest.test_expat_incremental  se    f%  (GH*EN,BCr>   c                   \        4       p\        V4      p\        4       pVP                  V4       VP	                  R 4       VP	                  R4       \        4       p\        V4      pVP                  V4       VP                  4        VP	                  R 4       VP	                  R4       VP	                  R4       VP                  4        V P                  VP                  4       \        R,           4       R# )r  textr  s   <doc>text</doc>N)
r   r	   r   r  r@  resetr  r.   rp   r  r  s   &   r;   test_expat_incremental_reset,ExpatReaderTest.test_expat_incremental_reset  s    f%  (GFf%  (GFH*E4F,FGr>   zExpat z" does not support reparse deferralc                   \        4       p\        V4      p\        4       pVP                  V4       R F  pVP	                  V4       K  	  V P                  VP                  4       \        4       V P                  VP                  P                  4       4       VP                  4        V P                  VP                  P                  4       4       V P                  VP                  4       \        R,           4       VP	                  R4       VP                  4        V P                  VP                  4       \        R,           4       R# )<doc   <doc>r  r^  Nr  >)r   r	   r   r  r@  r.   rp   r  r   _parserGetReparseDeferralEnabledflushr  r:   rr   r  r  chunks   &    r;   #test_flush_reparse_deferral_enabled3ExpatReaderTest.test_flush_reparse_deferral_enabled  s     f%  ("EKK # 	*E2@@BC@@BC*EH,<=H*EN,BCr>   c                   \        4       p\        V4      p\        4       pVP                  V4       R F  pVP	                  V4       K  	  \
        P                  R8  d@   VP                  P                  R4       V P                  VP                  4       \        4       V P                  VP                  P                  4       4       VP                  4        V P                  VP                  P                  4       4       V P                  VP                  4       \        R,           4       VP	                  R4       VP                  4        V P                  VP                  4       \        R,           4       R# )r  Fr  r  r^  Nr        r   )r   r	   r   r  r@  pyexpatversion_infor  SetReparseDeferralEnabledr.   rp   r  r  r  r  r  r  s   &    r;   $test_flush_reparse_deferral_disabled4ExpatReaderTest.test_flush_reparse_deferral_disabled  s   f%  ("EKK # 9,NN44U;V__.6AACDAACD*EH,<=H*EN,BCr>   c                   \        4       p\        V4      p\        4       pVP                  V4       VP	                  R 4       VP	                  R4       VP                  4        V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       ^4       R# )r  r  N)
r   r	   r   r  r@  r  r.   getSystemIdgetPublicIdgetLineNumberr  s   &   r;   test_expat_locator_noinfo)ExpatReaderTest.test_expat_locator_noinfo  s    f%  (GH++-t4++-t4--/3r>   c                   \        4       p\        V4      p\        4       pVP                  V4       VP	                  \
        4       V P                  VP                  4       \
        4       V P                  VP                  4       R 4       R # rh   )	r   r	   r   r  rn   r  r.   r  r  r  s   &   r;   test_expat_locator_withinfo+ExpatReaderTest.test_expat_locator_withinfo  sf    f%  (\"++-|<++-t4r>   c                   \         P                  p\        P                  ! \        V4       V P                  \         P                  V4       \        4       p\        V4      p\        4       pVP                  V4       VP                  V4       V P                  VP                  4       V4       V P                  VP                  4       R 4       R # rh   )r   r  r  r  r  r  ri   r   r	   r   r  rn   r.   r  r  )r:   r  rr   r  r  s   &    r;   $test_expat_locator_withinfo_nonascii4ExpatReaderTest.test_expat_locator_withinfo_nonascii  s    ((e,	((%0f%  (U++-u5++-t4r>   rJ   Nr  )*rK   rL   rM   rN   r  r  requires_nonascii_filenamesr  r  r  r,  r9  rB  rL  rO  rV  r[  r`  r   rl  rp  rs  rv  ry  r}  r  r  r  r  r  r  unittestskipIfr  r  r  r  r  r  r  rO   rP   rQ   s   @r;   r  r  q  s#    	:	: !: !:
:
:
E 
E	 	Q 
"
0 : )$ ~  //192:: !: !:::
DH* __W))I5g223 40 01D1D,D645 !5 !5r>   r  c                   F   a  ] tR tRt o R tR tR t ! R R4      tRtV t	R# )	ErrorReportingTesti%  c                p   \        4       pVP                  \        4       4       \        4       pVP	                  \        R 4      4       RpVP                  V4        VP                  V4       V P                  4        R#   \         d,   pT P                  TP                  4       T4        Rp?R# Rp?ii ; i)s   <foo bar foobar>za file nameN)r   r  r   r   r   r   r5  rn   failr   r.   r  )r:   r  r6  r  rV  s   &    r;   test_expat_inpsource_location0ErrorReportingTest.test_expat_inpsource_location&  s      !12W%89:4 	4LL IIK 	4Q]]_d33	4s   !A? ?B5
 B00B5c                    \        4       pVP                  \        4       4       V P                  \        VP
                  \        R 4      4       V P                  VP                  4       ^4       V P                  VP                  4       ^4       R# )z<foo>N)
r   r  r   r'   r   rn   r   r.   getColumnNumberr  )r:   r  s   & r;   test_expat_incomplete(ErrorReportingTest.test_expat_incomplete3  sh      !12+V\\8G;LM//115--/3r>   c           
     6   \        \        R RV P                  ^^4      4      4       \        \        R RV P                  R^4      4      4       \        \        R RV P                  ^R4      4      4       \        \        R RV P                  RR4      4      4       R# )messageN)strr   DummyLocatorrj   s   &r;   test_sax_parse_exception_str/ErrorReportingTest.test_sax_parse_exception_str:  s     	i"//157 	8 	i"//a8: 	; 	i"//48: 	; 	i"//d;= 	>r>   c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	ErrorReportingTest.DummyLocatoriL  c                    Wn         W n        R # rh   )_lineno_colno)r:   linenocolnos   &&&r;   r!  (ErrorReportingTest.DummyLocator.__init__M  s    !LKr>   c                    R # )pubidrJ   rj   s   &r;   r  +ErrorReportingTest.DummyLocator.getPublicIdQ      r>   c                    R # )sysidrJ   rj   s   &r;   r  +ErrorReportingTest.DummyLocator.getSystemIdT  r  r>   c                    V P                   # rh   )r  rj   s   &r;   r  -ErrorReportingTest.DummyLocator.getLineNumberW  s    <<r>   c                    V P                   # rh   )r  rj   s   &r;   r  /ErrorReportingTest.DummyLocator.getColumnNumberZ  s    ;;r>   )r  r  N)rK   rL   rM   rN   r!  r  r  r  r  rO   rP   rQ   s   @r;   r  r  L  s#     	 			 	 	r>   r  rJ   N)
rK   rL   rM   rN   r  r  r  r  rO   rP   rQ   s   @r;   r  r  %  s     44>$ r>   r  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )XmlReaderTestic  c                :    V P                  \        / 4      4       R # rh   )r<   r   rj   s   &r;   test_attrs_emptyXmlReaderTest.test_attrs_emptyf  s    r 23r>   c                >    V P                  \        R R/4      4       R# )r%   rF   N)rH   r   rj   s   &r;   test_attrs_wattrXmlReaderTest.test_attrs_wattri  s    /? @Ar>   c                <    V P                  \        / / 4      4       R # rh   )rB   r   rj   s   &r;   test_nsattrs_empty XmlReaderTest.test_nsattrs_emptyl  s    !!"22r":;r>   c                   \        \        R 3R/\        R 3R/4      pV P                  VP                  4       ^4       V P                  VP	                  4       \        R 3.4       V P                  VP                  4       R.4       V P                  \        V4      ^4       V P                  \        R 3V4       V P                  \        VP                  4       4      \        R 3.4       V P                  VP                  \        R 34      R4       V P                  VP                  \        R 3^4      R4       V P                  \        VP                  4       4      \        R 3R3.4       V P                  \        VP                  4       4      R.4       V P                  VP                  \        R 34      R4       V P                  VP                  R4      R4       V P                  VP                  R4      \        R 34       V P                  V\        R 3,          R4       V P                  VP!                  \        R 34      R4       R# )r%   rF   r@   N)r   rA   r.   r/   r0   r1   r2   rG   r4   r5   r6   r7   r8   r)   r*   r+   r,   r9   s   & r;   test_nsattrs_wattr XmlReaderTest.test_nsattrs_wattro  s    66"2U!;#)6"2Y!?A 	*A.)VV,<+=>*YK8UQ'vv&.ejjl+vv.>-?@FF#34e<FF#3R8%@ekkm,0@%/H.IJelln-w7(895A..y95A--i866:JK/0%8--vv.>?Kr>   rJ   N)
rK   rL   rM   rN   r  r  r  r  rO   rP   rQ   s   @r;   r  r  c  s!     4B<L Lr>   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )LexicalHandlerTesti  c                d   R V n         RV n        RV n        RV n        RV n        RV n        \        4       V n        V P                  P                  RP                  V P                  V P                  4      4       V P                  P                  RP                  V P                  4      4       V P                  P                  RP                  V P
                  ^ ,          4      4       V P                  P                  RP                  V P                  4      4       V P                  P                  R4       V P                  P                  R	4       V P                  P                  R
4       V P                  P                  R4       V P                  P                  R4       V P                  P                  RP                  V P                  ^ ,          4      4       V P                  P                  RP                  V P                  ^,          4      4       V P                  P                  RP                  V P                  ^,          4      4       V P                  P                  R4       V P                  P                  RP                  V P                  4      4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  RP                  V P                  ^,          V P                  ^ ,          V P                  ^,          4      4       V P                  P                  RP                  V P
                  ^,          4      4       V P                  P                  RP                  V P                  4      4       V P                  P                  ^ 4       R V n        R V n        R V n        R V n        R V n        R V n        RV n        . V n        R # )Nr  zUTF-8wishz#<?xml version="{}" encoding="{}"?>
z<!DOCTYPE {} [
z<!-- {} -->
z,<!ELEMENT {} (to,from,heading,body,footer)>
z<!ELEMENT to (#PCDATA)>
z<!ELEMENT from (#PCDATA)>
z<!ELEMENT heading (#PCDATA)>
z<!ELEMENT body (#PCDATA)>
z<!ELEMENT footer (#PCDATA)>
z<!ENTITY {} "&#xA0;">
z&<!ENTITY {} "Written by: Alexander.">
z+<!ENTITY {} "Hope it gets to: Aristotle.">
r<  z<{}>z<to>Aristotle</to>
z<from>Alexander</from>
z <heading>Supplication</heading>
z <body>Teach me patience!</body>
z<footer>&{};&{};&{};</footer>
z</{}>
F)nbspr6  target)zComment in a DTDzReally! You think so?)r  specified_versionspecified_encodingspecified_doctypespecified_entity_namesspecified_commentr   	test_datarb   formatseekversionrW   
standalonedoctypepublicIDsystemID
end_of_dtdcommentsrj   s   &r;   r   LexicalHandlerTest.setUp  s$   !&")!'&B#";!C#VD$:$:$($;$;=	> 	/#VD$:$:;	=_#VD$:$:1$=>	@L#VD$:$:;	=89:;=>:;<=6#VD$?$?$BC	EF#VD$?$?$BC	EK#VD$?$?$BC	EV$V]]4+A+ABC3478@A@A>#VD$?$?$B$($?$?$B$($?$?$BD	E 	_33D4J4J14MNOY--d.D.DEFA r>   c                    ! R  R\         4      p\        4       V n        V P                  P                  \	        4       4       V P                  P                  RV! V 4      4       \        4       pVP                  V P                  4       V P                  P                  V4       V P                  V P                  V P                  4       V P                  V P                  4       V P                  V P                  4       V P!                  V P"                  4       V P                  \%        V P&                  4      \%        V P(                  4      4       V P                  RV P(                  ^ ,           R2V P&                  ^ ,          4       R# )c                   D   a a ] tR tRt oV 3R ltR tR tR tRtVt	V ;t
# )<LexicalHandlerTest.test_handlers.<locals>.TestLexicalHandleri  c                4   < \         SV `  ! V/ VB  Wn        R # rh   superr!  test_harnessr:   r  r   kwargs	__class__s   &&*,r;   r!  ELexicalHandlerTest.test_handlers.<locals>.TestLexicalHandler.__init__       $1&1$0!r>   c                f    WP                   n        W P                   n        W0P                   n        R # rh   )r  r  r  r  )r:   r  r  r  s   &&&&r;   startDTDELexicalHandlerTest.test_handlers.<locals>.TestLexicalHandler.startDTD  s&    ,3!!)-5!!*-5!!*r>   c                (    R V P                   n        R# TN)r  r  rj   s   &r;   endDTDCLexicalHandlerTest.test_handlers.<locals>.TestLexicalHandler.endDTD  s    /3!!,r>   c                P    V P                   P                  P                  V4       R # rh   )r  r   r  )r:   r  s   &&r;   commentDLexicalHandlerTest.test_handlers.<locals>.TestLexicalHandler.comment  s    !!**11$7r>   r  )rK   rL   rM   rN   r!  r  r  r  rO   rP   __classcell__r  rR   s   @@r;   TestLexicalHandlerr    s     16
48 8r>   r  -http://xml.org/sax/properties/lexical-handlerrf  N)r   r   r  r  r   setPropertyr   r  r  rn   r.   r  r  r  r  r  r   r  r2   r   r  )r:   r  r6  s   &  r;   test_handlers LexicalHandlerTest.test_handlers  s   	8 	8  $o%%n&67;t$	& !!$..1&!t'='=>$--($--((T]]+T334	61T33A67q94==;KLr>   )r   r  rW   r  r  r  r  r  r  r  r  r  r  r  r  NrK   rL   rM   rN   r   r  rO   rP   rQ   s   @r;   r  r    s     4lM Mr>   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )CDATAHandlerTesti  c                *   R V n         . V n        V P                  P                  R4       V P                  P                  R4       ^ V n        \	        4       V n        V P
                  P                  R4       V P
                  P                  R4       V P
                  P                  V P                  ^ ,          ^ ,           R24       V P
                  P                  R4       V P
                  P                  R4       V P
                  P                  RV P                  ^,          ^ ,           R24       V P
                  P                  R	4       V P
                  P                  R
4       V P
                  P                  ^ 4       . V n        RV n	        R # )NFz<root_doc>
z<some_pcdata>

z</some_pcdata>
z<some_cdata>
z	<![CDATA[z]]>
z</some_cdata>
z</root_doc>
)zParseable character dataF)z <> &% - assorted other XML junk.T)
r  specified_charsr  
char_indexr   r  rb   r  chardatain_cdatarj   s   &r;   r   CDATAHandlerTest.setUp  s3   !##$GH##$NO!^,./ 4 4Q 7 :;2>?/0-.y)=)=a)@)C(DEJK./_-A r>   c                    ! R  R\         4      p ! R R\        4      p\        4       V n        V P                  P	                  V! V 4      4       V P                  P                  RV! V 4      4       \        4       pVP                  V P                  4       V P                  P                  V4       V P                  V P                  4       V P                  V P                  ^4       R# )c                   >   a a ] tR tRt oV 3R ltR tR tRtVtV ;t	# ):CDATAHandlerTest.test_handlers.<locals>.TestLexicalHandleri  c                4   < \         SV `  ! V/ VB  Wn        R # rh   r  r	  s   &&*,r;   r!  CCDATAHandlerTest.test_handlers.<locals>.TestLexicalHandler.__init__  r  r>   c                (    R V P                   n        R# r  r  r(  rj   s   &r;   
startCDATAECDATAHandlerTest.test_handlers.<locals>.TestLexicalHandler.startCDATA  s    -1!!*r>   c                (    R V P                   n        R# )FNr0  rj   s   &r;   endCDATACCDATAHandlerTest.test_handlers.<locals>.TestLexicalHandler.endCDATA  s    -2!!*r>   r  )
rK   rL   rM   rN   r!  r1  r4  rO   rP   r  r  s   @@r;   r  r,    s     123 3r>   r  c                   8   a a ] tR tRt oV 3R ltR tRtVtV ;t# )7CDATAHandlerTest.test_handlers.<locals>.TestCharHandleri  c                4   < \         SV `  ! V/ VB  Wn        R # rh   r  r	  s   &&*,r;   r!  @CDATAHandlerTest.test_handlers.<locals>.TestCharHandler.__init__   r  r>   c                   VR 8w  d   V P                   pVP                  VP                  ,          pVP                  V^ ,          V4       VP                  V^,          VP                  4       V;P                  ^,          un        R# R# )r$  N)r  r%  r&  r.   r(  )r:   r	  hts   &&  r;   rE  BCDATAHandlerTest.test_handlers.<locals>.TestCharHandler.characters  sc    d?))A))!,,7AMM!A$0MM!A$

3LLA%L #r>   r  )	rK   rL   rM   rN   r!  rE  rO   rP   r  r  s   @@r;   TestCharHandlerr7    s     1& &r>   r>  r  N)r   r   r   r  r  r  r   r  r  rn   r  r(  r.   r&  )r:   r  r>  r6  s   &   r;   r  CDATAHandlerTest.test_handlers  s    		3 		3	&n 	& $o%%od&;<;t$	& !!$..1&!'!,r>   )r&  r'  r(  r  r%  r  Nr   rQ   s   @r;   r"  r"    s     *#- #-r>   r"  c                   &   a  ] tR tRt o R tRtV tR# )TestModuleAlli  c                .    Rp\        V \        VR7       R# )r   )extraN)r   ErrorHandlerr   r   SAXNotRecognizedExceptionSAXNotSupportedExceptionr   r   )r   r   )r:   rC  s   & r;   test_allTestModuleAll.test_all  s    	
 	T3e,r>   rJ   N)rK   rL   rM   rN   rG  rO   rP   rQ   s   @r;   rA  rA    s     - -r>   rA  __main__rh   ).)[ro   r   r   r   r   r   r  r   SkipTestxml.sax.saxutilsr	   r
   r   r   r   r   xml.sax.expatreaderr   xml.sax.handlerr   r   r   xml.sax.xmlreaderr   r   r   r6  r   ior   r   r  os.pathr  r  r  sysurllib.errorr   urllib.requestrF  test.supportr   r   r   test.support.os_helperr   r   r  TEST_XMLFILE_OUTr[   UnicodeEncodeErrorsupports_nonascii_filenamespathsupports_unicode_filenamesr  getfilesystemencodingUnicodeError	TypeError
skipUnlessr  rA   TestCaser#   rX   r]   rd   rf   r   r   r   r-  r  r  r  r  r  r  r  ra   rc   r  r   r  r  r  r  r"  rA  rK   mainrJ   r>   r;   <module>ra     s  K K  8MA A -- - K K        
 !  " / 3 
=9N=A A G$ # 	ww))),  ''(A(A(CD
 '11#.0  
12?(## 2?jG
M
-zM!! zMx-2X&& -2j188$$ 18hN9X.. N9f_Y _YB#z8#4#4 #Gj("3"3 G" "	FZ):): 	FF:x/@/@ F. 	9L)) L, 

D!!Q668L "k5k k5h6** 6|LK LBVM** VMr9-x(( 9-x-H%% - zMMO 0  8


6
7788  A


?
@@A )$ , ',#,D "!s5   K ""K+ #*L /LK(+LLLL*	