python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_codeccallbacks.cpython-312.pyc

͑eNddlZddlZddlZddlZddlZddlZGddZGddZGdde	Z
Gdd	e	ZGd
deZ
Gdd
eZGddeZGddeZGddeZGddej&Zedk(rej,yy)NceZdZdZdZy)	PosReturncd|_yNr)posselfs L/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_codeccallbacks.py__init__zPosReturn.__init__s	c|j}|}|dkrt|j|z}||jkrt|j|_d|fS)Nr<?>)rlenobjectstart)r	excoldposrealposs    r
handlezPosReturn.handlesP19#**o/Gcii3::DHvrN__name__
__module____qualname__rrrr
rr	s	rrceZdZddZdZy)RepeatedPosReturnc.||_d|_d|_yr)replrcount)r	rs  r
rzRepeatedPosReturn.__init__s	
rc|jdkDr-|xjdzc_|j|jfS|j|jfS)Nr)rrrend)r	rs  r
rzRepeatedPosReturn.handle s@::>JJ!OJIItxx((		377##rN)rrrrr
rrs
$rrceZdZdZy)BadStartUnicodeEncodeErrorcFtj|dddddg|_yNasciirr!bad)UnicodeEncodeErrorrrrs r
rz#BadStartUnicodeEncodeError.__init__(s!##D'2q!UC
rNrrrrrrr
r$r$'rr$ceZdZdZy)BadObjectUnicodeEncodeErrorcFtj|dddddg|_yr&)r*rrrs r
rz$BadObjectUnicodeEncodeError.__init__.s!##D'2q!UCrNr+rrr
r.r.-rr.ceZdZdZy)NoEndUnicodeDecodeErrorcNtj|dtdddd|`yNr'rrr!r))UnicodeDecodeErrorr	bytearrayr"rs r
rz NoEndUnicodeDecodeError.__init__4s###D'9S>1aOHrNr+rrr
r2r23rr2ceZdZdZy)BadObjectUnicodeDecodeErrorcXtj|dtddddg|_yr4)r5rr6rrs r
rz$BadObjectUnicodeDecodeError.__init__:s%##D'9S>1aOrNr+rrr
r9r99r0rr9ceZdZdZy)NoStartUnicodeTranslateErrorc:tj|dddd|`yNr(rr!r))UnicodeTranslateErrorrrrs r
rz%NoStartUnicodeTranslateError.__init__@s&&tRAu=JrNr+rrr
r<r<?srr<ceZdZdZy)NoEndUnicodeTranslateErrorc:tj|dddd|`yr>)r?rr"rs r
rz#NoEndUnicodeTranslateError.__init__Fs&&tb!Q>HrNr+rrr
rArAEr7rrAceZdZdZy)NoObjectUnicodeTranslateErrorc:tj|dddd|`yr>)r?rrrs r
rz&NoObjectUnicodeTranslateError.__init__Ls&&tRAu=KrNr+rrr
rDrDKr,rrDceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*y))*CodecCallbackTestcd}|j|jddd|j|jdddy)Nuスパモ änd eggsr'xmlcharrefreplaces&&#12473;&#12497;&#12514; &#228;nd eggslatin-1s!&#12473;&#12497;&#12514; nd eggsassertEqualencode)r	ss  r
test_xmlcharrefreplacez(CodecCallbackTest.test_xmlcharrefreplaceRsK
-
HHW125	
	

HHY 343	
rcd}tjd|d}d}|j|jdd|d}|j|jdd|d}|j|jd	d|y)
Nct|tstd|zg}|j|j|j
D];}	|j
dtjjt|z=dj||j
fS#t$r |j
dt|zYwxYw)Ndon't know how to handle %rz&%s;&#%d;r()
isinstancer*	TypeErrorrrr"appendhtmlentitiescodepoint2nameordKeyErrorjoinrlcs   r
xmlcharnamereplacezECodecCallbackTest.test_xmlcharnamereplace.<locals>.xmlcharnamereplacedsc#56 = CDDAZZ		#''2
//HHVdmm&B&B3q6&JJK
/
GGAJ(( /HHWs1v-./s8B&CCztest.xmlcharnamereplaceu«ℜ» = 〈ሴ€〉s0&laquo;&real;&raquo; = &lang;&#4660;&euro;&rang;r's$&real; = &lang;&#4660;&euro;&rang;rJs&real; = &lang;&#4660;&rang;iso-8859-15codecsregister_errorrLrM)r	r`sinsouts    r
test_xmlcharnamereplacez)CodecCallbackTest.test_xmlcharnamereplace`s		)	%'9	;:BG-FGN<I/HI4P:M3LMtTrcd}tjd|d}d}|j|jdd|d}|j|jdd|d}|j|jd	d|y)
Nc
4t|tstd|zg}|j|j|j
D]3}|j
tj|dt|z5ddj|z|j
fS)NrRz0x%xz
%sz, )rTr*rUrrr"rVunicodedatanamerZr\r]s   r
uninamereplacez=CodecCallbackTest.test_uninamereplace.<locals>.uninamereplacesc#56 = CDDAZZ		#''2
?))!Vc!f_=>
?&15sww??rztest.uninamereplaceu¬ሴ€耀sNNOT SIGN, ETHIOPIC SYLLABLE SEE, EURO SIGN, CJK UNIFIED IDEOGRAPH-8000r'sEETHIOPIC SYLLABLE SEE, EURO SIGN, CJK UNIFIED IDEOGRAPH-8000rJsAETHIOPIC SYLLABLE SEECJK UNIFIED IDEOGRAPH-8000rarb)r	rlrerfs    r
test_uninamereplacez%CodecCallbackTest.test_uninamereplacezs	@	!>	3'fG-BCTJ`I/DEtLeM3HI4Prcd}d}|j|jdd|d}|j|jdd|d}|j|jdd|y)	Na¬ሴ€耀􏿿s!a\xac\u1234\u20ac\u8000\U0010ffffr'backslashreplacesa\u1234\u20ac\u8000\U0010ffffrJsa\u1234\u8000\U0010ffffrarKr	rerfs   r
test_backslashescapez&CodecCallbackTest.test_backslashescapesl28G-?@$G7I/ABDI4M3EFMrcd}d}|j|jdd|d}|j|jdd|d}|j|jdd|y)	Nros[a\N{NOT SIGN}\N{ETHIOPIC SYLLABLE SEE}\N{EURO SIGN}\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffr'namereplacesPa\N{ETHIOPIC SYLLABLE SEE}\N{EURO SIGN}\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffrJsDa\N{ETHIOPIC SYLLABLE SEE}\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffrarKrqs   r
test_nameescapez!CodecCallbackTest.test_nameescapeso2>G];TB>I}=tD>M=A4Hrcd}tjd|d}d}|j|jdd|d}|j	t
|jddy)Nct|tstd|z|j|j|jdzdk(rd|jdzfS|)NrRs)rTr5rUrrrs r
relaxedutf8z>CodecCallbackTest.test_decoding_callbacks.<locals>.relaxedutf8sUc#56 = CDDzz#))CIIaK0K?		!,,	rztest.relaxedutf8sabcüu	abcüutf-8s)rcrdrLdecodeassertRaisesr5)r	r{rerfs    r
test_decoding_callbacksz)CodecCallbackTest.test_decoding_callbackssf
		0+>9(G-?@$G",cjj!#5	7rctddD}d}d}|jtj|d|d|d}|j	t
tj|d|d|t
d	<d
}d}|jtj|d|d|d
|t
d	<|j	ttj|d|y)Nc3lK|],}t|td|jzdf.yw)rxr'N)rZbytesupper.0r_s  r
	<genexpr>z7CodecCallbackTest.test_charmapencode.<locals>.<genexpr>s*QAa	k7 ;<Qs24abcdefghabcsAABBCCstrictrabcAsXYZ?abcDEFsAABBCCXYZXYZXYZreplaceXYZ)dictrLrccharmap_encoder~UnicodeErrorrZrU)r	charmaprerfs    r
test_charmapencodez$CodecCallbackTest.test_charmapencodes
QjQQ..sHgFqI4P,(=(=sHgV"C!..sIwGJDQ!C)V%:%:CGTrc	nd}tjd|d}tjd|d}|j|jddd|j|jddd|jd	jd
dd|jdjd
dd
|jtjddtddidd|jdj
ddd|jdj
dddy)Nct|j|j}t|tr)|Dcgc]}dt|j|z}}n>t|tr |Dcgc]}d|j|z}}ntd|zddj|z|jfScc}wcc}w)N<%d>rR[%s]r()
rangerr"rTr*rZrr5rUr\)rrrr^s    r
handler1z2CodecCallbackTest.test_callbacks.<locals>.handler1scii)A#12>?@sVc#**S/22@@C!349:;#Vcjjo-;; = CDDRWWQZ'11A;s"B8.B=z
test.handler1ct|tstd|zt|j|j
Dcgc]}d|j|z}}ddj|z|j
dzfScc}w)NrRrrr(r!)rTr5rUrrr"rr\)rrr^s   r
handler2z2CodecCallbackTest.test_callbacks.<locals>.handler2ssc#56 = CDD5:399cgg5NOc#**S/)OAORWWQZ'33PsA?z
test.handler2sr'z[<129>][<128>][<255>]z[<129>][<128>]s\u3042\u3xxxunicode-escapeuあ[<92><117><51>]xxxs\u3042\u3xxuあ[<92><117><51>]xxabcazrz
z[<98>][<99>]ugüßrksg[<252><223>]rkugüßs
g[<252><223>])rcrdrLr}charmap_decoderZrM)r	rrrNs    r
test_callbacksz CodecCallbackTest.test_callbackss5	2	ox8	4	ox8#
HHWo.+	
	

HHWo. 	

	
$$%5G&	

	
##$4oF%	

	
!!&/CHc?KAN	

	
  /:	

	
w8	
rcFgd}|D].}tjd|ztj|0d}||Dcgc]}d|z	c}z
}dDcgc]}||z	c}D]#}dD]}|D]}	|j||%ycc}wcc}w#t$rY2wxYw)N)rignorerrIrprtztest.)xあuaä)r'rJ
iso-8859-1rar|utf-7utf-16utf-32)rcrdlookup_errorrMr)r	errorserrr^rNuniencs       r
test_longstringsz"CodecCallbackTest.test_longstringss6	KC!!'C-1D1DS1IJ	KV5cGcM55":<QQqS<	C>
!C

3,
	6<(sB
B1B	B 	B 	c|jt|g|dd|jt|g|dgzgd}tt|D]}|D]z}t	|t	||urg}tt|D]-}||k(r|j||j||/|jt|g||||}	|j
t|	|y)Nztoo much)spamseggssspam*g?N)r~rUrrtyperVrLstr)
r	exctypeargsmsg	wrongargsiwrongargcallargsjrs
          r
check_exceptionobjectargsz+CodecCallbackTest.check_exceptionobjectargs/s	)W9tCRy9)WE
|0CE?	s4y!	AA%

A>T$q']2s4y)1A!t 1 Q0	1
"!!)W@x@

A	AtnS3'rc0|jtgdd|jtgdd|jtgdd|jtgdd|jtgd	d
|jtgddy)
N)r'gürkr!rxouchz?'ascii' codec can't encode character '\xfc' in position 1: ouch)r'rr!rz;'ascii' codec can't encode characters in position 1-3: ouch)r'uüxrr!rz?'ascii' codec can't encode character '\xfc' in position 0: ouch)r'uĀxrr!rzA'ascii' codec can't encode character '\u0100' in position 0: ouch)r'u￿xrr!rzA'ascii' codec can't encode character '\uffff' in position 0: ouch)r'u𐀀xrr!rzE'ascii' codec can't encode character '\U00010000' in position 0: ouch)rr*rs r
test_unicodeencodeerrorz)CodecCallbackTest.test_unicodeencodeerrorHs&&.N	

	
&&.I	

	
&&,N	

	
&&.P	

	
&&.P	

	
&&2T	
rc|jtdtddddgd|jtdtddddgdy)	Nr'sgrkr!rxrz8'ascii' codec can't decode byte 0xfc in position 1: ouchz6'ascii' codec can't decode bytes in position 1-2: ouch)rr5r6rs r
test_unicodedecodeerrorz)CodecCallbackTest.test_unicodedecodeerrorhsR&&
i
+Q6:F	

	
&&
i
+Q6:D	
rc|jtgdd|jtgdd|jtgdd|jtgdd|jtgd	d
y)N)rr!rxrz4can't translate character '\xfc' in position 1: ouch)ugĀrkr!rxrz6can't translate character '\u0100' in position 1: ouch)ug￿rkr!rxrz6can't translate character '\uffff' in position 1: ouch)ug𐀀rkr!rxrz:can't translate character '\U00010000' in position 1: ouch)rr!rrz0can't translate characters in position 1-2: ouch)rr?rs r
test_unicodetranslateerrorz,CodecCallbackTest.test_unicodetranslateerrorts}&&!%C	

	
&&!'E	

	
&&!'E	

	
&&!+I	

	
&&!%>	
rc|jttjd|jttjt	d|jt
tjtddddd|jttjt
dtdddd|jttjtddddy)Nrrr'rrr!)	r~rUrc
strict_errors	Exceptionr*r5r6r?rs r
test_badandgoodstrictexceptionsz1CodecCallbackTest.test_badandgoodstrictexceptionss  	
	
  f	
	
  w!Q?	

	
  w	'(:Aq&I	

	
!  !(Aq&9	
rc|jttjd|jttjt	d|jtjt
dddddd|jtjtdtddddd|jtjtdddddy)	Nrrr'aあbr!rx)r(rxab)
r~rUrc
ignore_errorsrrLr*r5r6r?rs r
test_badandgoodignoreexceptionsz1CodecCallbackTest.test_badandgoodignoreexceptionss
	
	
	
	
  "7J1fE
G	

	
  "7Ii,@!QO
Q	

	
  %j!Q?
A	
rc|jttjd|jttjt	d|jttjt|jttjt
|jtjtdddddd|jtjtdtddddd	|jtjtddddd	y)
Nrrr'rr!rx)rrxr)�rx)r~rUrcreplace_errorsrr.r9rLr*r5r6r?rs r
 test_badandgoodreplaceexceptionsz2CodecCallbackTest.test_badandgoodreplaceexceptionss   
	
	
  	

	
!!')	

	
!!')	
	
!!"7J1fE
G	

	
!!"7Ii,@!QO
Q	

	
!!%j!Q?
A	
rc
|jttjd|jttjt	d|jttjtdt
dddd|jttjtddddd}|d	z
}d
jd|D}|jtjtdd|zd
zddt|zdd
jd|Ddt|zfy)Nrrr'rrr!r)rr!	
cdiri''i順i?B@B)iir(c32K|]}t|ywN)chrrs  r
rzOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>s'qCF'srbc3&K|]	}d|zyw)rSNrrs  r
rzOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>s-QWq[-s)r~rUrcxmlcharrefreplace_errorsrr5r6r?r\rLr*r)r	csrNs   r
*test_badandgoodxmlcharrefreplaceexceptionsz<CodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptionss$**
	
	
**	
	
++w	'(:Aq&I	

	
++!(Aq&9	

GG'B''++"7C!GcM#$a#a&j&:
WW-"-
-q3q6z:	
rcL|jttjd|jttjt	dgd}|D]\}}|j|5|j
tjtdd|zdzddt|zd|dt|zf|j
tjtd|zdzddt|zd|dt|zfdddgd	}|D]c\}}|j|
5|j
tjtdtd|zdzdd
d|d
fdddey#1swY=xYw#1swY}xYw)Nrr))rz\u3042)
\x0a)r\x61ry\x00)ÿ\xff)uĀz\u0100)u￿z\uffff)u𐀀z
\U00010000u􏿿z
\U0010ffffz\ud800z\udfffz\ud800\udfffrr'rrr!))ar)
r)r)rr)rrbrx)r~rUrcbackslashreplace_errorsrsubTestrLr*rr?r5r6)r	testsrNrrs     r
)test_badandgoodbackslashreplaceexceptionsz;CodecCallbackTest.test_badandgoodbackslashreplaceexceptionss))
	
	
))	


	DAq!$
  22*7C!GcM+,a#a&j&BCCF
O	  22-cAgm./SVVEFCF
O	


	
	DAqA&
  22*7IdQho4N+,a9:F	

	'

(

s2B$F
>AF
F	F#	c|jttjd|jttjt	d|jttjtdt
dddd|jttjtddddgd}|D]r\}}|j|	5|jtjtdd
|zdzddt|zd|dt|zfdddty#1swYxYw)Nrrr'rrr!r))rz\N{HIRAGANA LETTER A}r)uﯹzW\N{ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM})u󠁿z\N{CANCEL TAG}rrrrrrr)r~rUrcnamereplace_errorsrr5r6r?rrLr*r)r	rrNrs    r
$test_badandgoodnamereplaceexceptionsz6CodecCallbackTest.test_badandgoodnamereplaceexceptionsSs4$$
	
	
$$	
	
%%w	'(:Aq&I	

	
%%!(Aq&9	

	DAq!$
  --*7C!GcM+,a#a&j&BCCF
O	

	

s
AD<<E	c
tjd}|jt|d|jt|t	d|jt|tdddddD]A}|j
|5|jt|td	|ddddddC|j|td	d
dddd|jt|td	td
ddd|j|td	tdddddy#1swYxYw)Nsurrogateescaperrrr!)ruurr'uabrx)rxrsab)rrx)rcrr~rUrr?rr*rLr5r6)r	surrogateescape_errorsrNs   r
(test_badandgoodsurrogateescapeexceptionsz:CodecCallbackTest.test_badandgoodsurrogateescapeexceptionssQ!'!4!45F!G!
	
	
!	
	
"!(Aq&9	
+	A!$
!!&*&w1a@

		
""7J1fE
G	

	
"w	$AvF	

	
""7Ii,@!QO
Q	
!

s%D77E	c&tjd}|jt|d|jt|t	d|jt|tdddddD]t}|j
|5|jt|t|d	ddd|jt|t|d	j|ddddddvd
D]J}|j
|5|jt|td|dt|ddddLgd
}|D]\}}}}|j
|||5|j|t|d	|zdzddt|zd|dt|zf|j|t|td|d|zdzdd|zd|ddd|zfdddy#1swYxYw#1swYxYw#1swYxYw)N
surrogatepassrrrrr!)r|utf-16leutf-16beutf-32leutf-32beencodingr)rrrrr'))r|rsr)rrsrx)r
rsrx)rrsr)rrsr)r|rsr)rrsrx)r
rsrx)rrsr)rrsr)r|rsr)rrsrx)r
rsrx)rrsr)rrsr)rrrrrr)
rcrr~rUrr?rr*r5rMrrLr6)r	surrogatepass_errorsrrNrrns       r
&test_badandgoodsurrogatepassexceptionsz8CodecCallbackTest.test_badandgoodsurrogatepassexceptionssH%22?C
	
	
	
	
 !(Aq&9	
M	Cs+

!!&(&sCAv>
!!&(&sCJJsOQ6J



	6	A!$
!!&(&w1c!ffE

	
""
	LCAqs;
  (*3a#
+,a#a&j&BCCF
O	  (*3	$2A,:M0N+,a!eV=>rUAEN	


	G





0

s&AG-.G:BH-G7	:H	H	cd}d}|D]ptjdfd|D]$}|jtdj|d&dD]'\}}|jt|j
|d)ry)N)	rfoo)r!rxrrr!rrNrrrr)r'rJrraztest.badhandlercSrr)rress r
<lambda>z:CodecCallbackTest.test_badhandlerresults.<locals>.<lambda>ssrr)r'rr|r)rs+x-)rcrdr~rUrMr})r	resultsencsrrrs     @r
test_badhandlerresultsz(CodecCallbackTest.test_badhandlerresultssx@	C!!"3]C
!!OO%	
!

e
!!LL%	

	rch|jtjtjd|jtjtjd|jtjtjd|jtj
tjd|jtjtjd|jtjtjdy)NrrrIrprt)rLrcrrrrrrrs r
test_lookupzCodecCallbackTest.test_lookups--v/B/B8/LM--v/B/B8/LM--v/B/B8/LM++ 34	
	
** 23	
	
%%
.	
rc`fd}tjd|dD]?\}}|j|d}|j|dzdzj|AdD]\}}|j	|5|jt5}|j|ddddj}|j|jd|j|jd	|j|j|dddy#1swYtxYw#1swYxYw)
Nc\t|tr|jfStd|zNrRrTr*r"rUrrs r
rzBCodecCallbackTest.test_encode_nonascii_replacement.<locals>.handle -#12cgg&9C?@@rtest.replacing))r'[¤]r)r[€]u½¾)rar+uœŸ[]))r|[]🐍)rr/r0)rr/r0rr!rx)rcrdrMrLrr~r*	exceptionrr"r)r	rrinputrcmrrs       @r
 test_encode_nonascii_replacementz2CodecCallbackTest.test_encode_nonascii_replacements)	A	.7!
	BC
,,s$45CS3:#3";";C"@A
	B!
	4C
s+
4&&'9:8bLL&678ll  A.  !,  U3

4
4	488
4
4s%<D$D%A(D$D!D$$D-	cfd}tjd|dD]\}}|j|5|jt5}|j|ddddj}|j|jd|j|jd|j|j|dddy#1swYtxYw#1swYxYw)Nc\t|tr|jfStd|zr&r'r(s r
	unencreplzHCodecCallbackTest.test_encode_unencodable_replacement.<locals>.unencrepl<s-#12cgg& = CDDrztest.unencreplhandler))r'r+½)rr,uœ)rar+r8)r|r/)rr/r9)rr/r9rr!rx)rcrdrr~r*rMr1rLrr"r)r	r7rr2r3rrs      @r
#test_encode_unencodable_replacementz5CodecCallbackTest.test_encode_unencodable_replacement;s	E
	5yA!
	4Cs+
4&&'9:?bLL&=>?ll  A.  !,  U3

4
4	4??
4
4s$C C!A(C CC  C)	c	0fd}tjd|dD]i\}}|j|5|j|d}|j	|dj|zdj|zdddky#1swYvxYw)Nc\t|tr|jfStd|zr&r'r(s r
rz?CodecCallbackTest.test_encode_bytes_replacement.<locals>.handleTr)rr*))r'r+)rr,r=)rar+r=)r|r/r=)rr/r=)r
r/r=)rr/)rr/r>rr-r.)rcrdrrMrL)r	rrr2rrs     @r
test_encode_bytes_replacementz/CodecCallbackTest.test_encode_bytes_replacementSs	A	.7	!
	PCs+
Pll3(89  cjjo&<szz#&NO
P
P	P
P
PsA	BB	cvfd}tjd|d}gtjdddgtjdgdD]\}|j	|	5|jt5}|j|ddddj}|j|jd
|j|jd|j|j||j|jddddy#1swYxYw#1swYxYw)
Nc\t|tr|jfStd|zr&r'r(s r
rzCCodecCallbackTest.test_encode_odd_bytes_replacement.<locals>.handlejr)rr*r/)rr
rr)rr)rsabrsabcde)rrr!rxzsurrogates not allowed)rcrd	itertoolsproductrr~r*rMr1rLrr"rreason)r	rr2rr3rrs      @r
!test_encode_odd_bytes_replacementz3CodecCallbackTest.test_encode_odd_bytes_replacementis1	A	.7



7 $f~/


7>@

	GICs6
G&&'9:8bLL&678ll  A.  !,  U3  -EF
G
G

	G88
G
Gs%+D/D#BD/#D,(D//D8	c|jttjd|jttjddy)Nrz
test.dummy)r~rUrcrdrs r
test_badregistercallz&CodecCallbackTest.test_badregistercalls6	
)V%:%:B?)V%:%:L"MrcL|jttjyr)r~rUrcrrs r
test_badlookupcallz$CodecCallbackTest.test_badlookupcalls	
)V%8%89rcN|jttjdy)Ntest.unknown)r~LookupErrorrcrrs r
test_unknownhandlerz%CodecCallbackTest.test_unknownhandlers	
+v':':NKrcd}dj|Dcgc]
}t|c}}tjdtjdD]}dD]}|j||ycc}w)N)
r!r2riririPri rr(test.xmlcharrefreplace)r'ra)rIrQ)r\rrcrdrrM)r	vrrNrrs      r
test_xmlcharrefvaluesz'CodecCallbackTest.test_xmlcharrefvaluessn
GGQ'SV'(68W8WX+	#CF
#c"
#	#(sA0c	V|jtdjddd}tjd||jt
djdd|jt
djdd|jt
djdd|jt
d	jdd|jt
d
jdd|jt
djddd
}tjd||jt
djddt
}tjd|jd|_|jdjdddd|_|jdjdddd|_|jtdjddd|_|jdjdddd|_|jdjdddd|_|jtdjddd|_|jdjdddGddt}|jttjddddi|jttjdd||jt
tjdddtj dziy) Nrr'rKcyNrrrzs r
baddecodereturn1z=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn1rztest.baddecodereturn1\rs\x0s\x0ys
\Uffffeeees\uyyyyraw-unicode-escapecyN)rNrrzs r
baddecodereturn2z=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn2rztest.baddecodereturn2test.posreturnrs0z<?>0z<?><?>r!rxrrs\uyyyy0ceZdZdZy).CodecCallbackTest.test_decodehelper.<locals>.Dctr
ValueErrorr	keys  r
__getitem__z:CodecCallbackTest.test_decodehelper.<locals>.D.__getitem__  rNrrrrjrrr
Drd
!rrmr)r~rLr}rcrdrUrrrrL
IndexErrorrrrrgsys
maxunicode)r	rWr]handlerrms     r
test_decodehelperz#CodecCallbackTest.test_decodehelpers	
+w~~wO	57GH)W^^W>UV)U\\3CE\])W^^5EG^_)X__6FH_`)^%:%:<LNef)Z%6%68LNef	57GH)W^^W>UV+.?2BCVL2BCXN*hoow@PQ2BCVL2BCUK*hoow@PQ++,@BRSU[\	!	!	
,(=(=wSWY]R^_*f&;&;WhPQPST)V%:%:GXPTVYVdVdefVfOghrc	|jtdjddd}tjd||jt
djddd}tjd||jt
djddt
}tjd|jd	|_|jd
jdddd|_|jd
jddd
d|_|jtd
jddd|_|jd
jdddd|_|jd
jdddd|_|jtd
jddd|_Gddt}dD]}|jttjd|ddi|jttjd|||jt
tjd|ddiy)Nrr'rKcyrVrrzs r
badencodereturn1z=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn1rXrztest.badencodereturn1cyr\rrzs r
badencodereturn2z=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn2r^rztest.badencodereturn2r_ruÿ0s<?>0r`s<?><?>rar!rxs<?>rrceZdZdZy).CodecCallbackTest.test_encodehelper.<locals>.Dctrrfrhs  r
rjz:CodecCallbackTest.test_encodehelper.<locals>.D.__getitem__rkrNrlrrr
rmr{rnrrm)rrrIrprtr_roi,)r~rLrMrcrdrUrrrrLrprrrrg)r	rwryrsrmrs      r
test_encodehelperz#CodecCallbackTest.test_encodehelpers	
+v}}g~N	57GH)V]]G=TU	57GH)V]]G=TU+.?1ABGL1ABIN*gnng?OP1ABGL1ABFK*gnng?OP	!	!I	ZClF,A,A63QUW[P\]j&*?*?acRi)>)>dTW[Y		ZrcBtd}tjd|jgd}|D]_\}}dj	||z}|j|5d|_|j|d}|j|dddday#1swYlxYw)Nr
test.bug36819)rr)r
s܀)rs܀)z
iso-8859-6rabcdrrPabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdx)	rrcrdrrMrrr}rL)r	rs	testcasesrr)r2decodeds       r
test_decodehelper_bug36819z,CodecCallbackTest.test_decodehelper_bug36819s#C(ow~~>
	"	8HCMM#&,Es+
8 "
,,sO<  ,7
8
8	8
8
8s,BB	ct}tjd|jd}gd}|dgz
}tj
dk(rddg}d|_|D]}|j|	5d
|_|jt5}|j|ddddj}|j|jd|j|jd|j|j |dddtj
dk(rd
|_|jt5}tj"d
|ddddj}|j|jd|j|jd|j|j |d|_|D]W}|j|	5d
|_|j|d}|j|j%|ddddYtj
dk(r`d
|_tj"d
|d}|j|dj%d|j|dt'|yy#1swYxYw#1swYTxYw#1swY[xYw#1swYxYw)Nruabcd)r'latin1r|rrrawin32mbcsoemr9rrPrrOirrrr!)rrcrdrrqplatformrrrr~r*rMr1rLrr"rcode_page_encoder}r)r	rsr2	encodingsrr3rencodeds        r
test_encodehelper_bug36819z,CodecCallbackTest.test_encodehelper_bug36819"sw#%ow~~>D	m_$	<<7"I	4Cs+
4 "
&&'9:7bLLo67ll  A.  !,  U3
4
4	4<<7"GM""#56
E"''UOD
E,,CSYY*SWWa(SZZ/	DCs+
D!#
,,sO<  !4lC

D
D	D<<7"GM--c5/JGWQZ..0,?WQZU4	#177
4
4
E
E
D
Ds=,J!	JA(J!=J.;J;JJ!!J+	.J8;K	cGddt}|jtdjdtj
dzi|jtdjddiy)NceZdZdZy)1CodecCallbackTest.test_translatehelper.<locals>.Dctrrfrhs  r
rjz=CodecCallbackTest.test_translatehelper.<locals>.D.__getitem__UrkrNrlrrr
rmrTrnrrmrror!r)rr~rg	translaterqrrrU)r	rms  r
test_translatehelperz&CodecCallbackTest.test_translatehelperNsR	!	!	
*f&6&6s~~a?O8PQ)V%5%5bzBrc	tddtddtddtddi}d	D]}d
|z}|j|y)N&z&amp;<z&lt;>z&gt;"z&quot;)r!rrrzabc<def>ghi)rZr)r	rrtexts    r
test_bug828737z CodecCallbackTest.test_bug828737[sSHgHfHfHh	
$	$A ?DNN7#	$rcTgd}d}tjd||D]5\}}|jt5|j	|dddd7d}tjd||D]'\}}|j|j	|dd)y#1swYxYw)N)r)rs++r)rr)rr)r\u123g)rZrcNt|trd|_ytd|z)Nr䉂rrRrTr5rrUrzs r
	replacingz?CodecCallbackTest.test_mutatingdecodehandler.<locals>.replacingrs(#12
$ = CDDrr*cNt|trd|_ytd|z)NrrrRrrzs r
mutatingz>CodecCallbackTest.test_mutatingdecodehandler.<locals>.mutating~s(#12 
$ = CDDrz
test.mutatingr)rcrdr~rUr}rL)r	baddatarrdatars      r
test_mutatingdecodehandlerz,CodecCallbackTest.test_mutatingdecodehandlergs
	E	.	: '	8Xt""9-
8H&67
8
8	8	E	ox8!(	OXtT[[?CXN	O
8
8sBB'	cd}tjd||jdjddd|jdjddd|jdjd	dd
|jdjddd
d
}tjd||jdjddd|jdjdddy)Nc`t|trd|jdzfStd|z)Nrr!rR)rTr5rrUrzs r
forward_shorter_than_endzPCodecCallbackTest.test_crashing_decode_handler.<locals>.forward_shorter_than_ends1#12 #))A+.. = CDDrztest.forward_shorter_than_endsz	utf-16-leu����Øsz	utf-16-besz	utf-32-leu
���ᄑsz	utf-32-becht|trd|_d|jfSt	d|z)NsrrR)rTr5rrrUrzs r
replace_with_longzICodecCallbackTest.test_crashing_decode_handler.<locals>.replace_with_longs4#12(
 #)),, = CDDrztest.replace_with_longrru�ru�)rcrdrLr})r	rrs   r
test_crashing_decode_handlerz.CodecCallbackTest.test_crashing_decode_handlers	E	+-E	G	
/66<
>.	

	
/66<
>.	

	
;BB<
>*	

	
;BB<
>*	
	E	68IJNN8%=>$	
	
NN8%=>	
rc
tjtjtjtjtj
tjtjdtjdg}tttfD]Gfddt}|D]:}|j|5|jt||ddd<Gfddt}|D]K}|j|5|jt|f5||ddddddMy#1swYxYw#1swY"xYw#1swYrxYw)NrrceZdZWZyACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorNrrr	__class__clssr
FakeUnicodeErrorr	rr)rserror_classceZdZWZyrrrsr
rzACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorrr)rcrrrrrrrr*r5r?rrr~rUr)r	handlersrrsrs    @r
test_fake_error_classz'CodecCallbackTest.test_fake_error_classsS    !!**%%++ 120	
&'9;PP	4C
 3
 #
N\\'s\CN%%i:J:LMNN
N
 9
 #
4\\'s\C4**I7G+HI4 0 23444
4	4NN4444s0EE&+E	9E&EE#
E&&E/N)+rrrrOrgrmrrrurrrrrrrrrrrrrrr	rr!r#r4r:r?rErGrIrMrSrtr}rrrrrrrrrr
rGrGPs
U4Q<NI 72U*7
r&(2
@


6
>
<&
P#
J8t,\*
XFP2
"4840P,G2N:
L

#9iv4Zl8$*5XC
$!OH0
f4rrG__main__)rc
html.entitiesrWrBrqrjunittestrrr*r$r.r5r2r9r?r<rArDTestCaserGrmainrrr
<module>rs

"
$
$!3"40"4#8!6$9
D4))D4N$zHMMOr