python (3.12.0)

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

Αe,?ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZgdZGddejZGdd	ejZGd
dejZGdd
ejZGddejZGddejZGddejZGddeZedk(rej.yy)N)support)	os_helper)TESTFN)gb2312gbkgb18030hz	big5hkscscp932	shift_jiseuc_jpeuc_jisx0213shift_jisx0213euc_jis_2004shift_jis_2004cp949euc_krjohabbig5cp950
iso2022_jpiso2022_jp_1iso2022_jp_2iso2022_jp_2004iso2022_jp_3iso2022_jp_ext
iso2022_krc6eZdZdZdZdZdZdZdZdZ	y)	Test_MultibyteCodecctD]`}|jdj|d|jtd|d|jdj	|dby)N)ALL_CJKENCODINGSassertEqualdecodestrencodeselfencs  L/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_multibytecodec.pytest_nullcodingz#Test_MultibyteCodec.test_nullcoding#sW#	2CSZZ_b1Sc]B/RYYs^S1	2r!c\tD]#}|jdj|d%y)Nabcdabcd)r#r$r'r(s  r+test_str_decodez#Test_MultibyteCodec.test_str_decode)s*#	:CV]]3/9	:r!ctjd}d}tjd||jt|ddy)Nzeuc-krc,dtjdzfS)Nr")sysmaxsize)excs r+<lambda>zBTest_MultibyteCodec.test_errorcallback_longindex.<locals>.<lambda>/s"ckk!m!4r!ztest.cjktestsapplehamspam)codecs
getdecoderregister_errorassertRaises
IndexError)r)dec	myreplaces   r+test_errorcallback_longindexz0Test_MultibyteCodec.test_errorcallback_longindex-s?)4	ni8*c1>	Cr!cd}tjdtjtD]$}|j	|j|dd&y)Nu,ztest.ignorer!)r8r:
ignore_errorsr#r$r')r)datar*s   r+ test_errorcallback_custom_ignorez4Test_MultibyteCodec.test_errorcallback_custom_ignore4sImV-A-AB#	CCT[[m<cB	Cr!c	tD]}dj|}t| 	tjt
y#tjt
wxYw)Nz
# coding: {}
)r#formatexecrunlinkr)r)r*codes   r+test_codingspecz#Test_MultibyteCodec.test_codingspec;sL	%'
'..s3T


V$IV$s'AAc|jttjd|jttjdyN)r;AttributeError_multibytecodecMultibyteStreamReaderMultibyteStreamWriterr)s r+test_init_segfaultz&Test_MultibyteCodec.test_init_segfaultCs:.)??	G.)??	Gr!cntD],}|jttj|d.yNr")r#r;	TypeErrorr8r9r(s  r+test_decode_unicodez'Test_MultibyteCodec.test_decode_unicodeJs0#	ECi):):3)?D	Er!N)
__name__
__module____qualname__r,r0r?rCrIrQrUr!r+rr!s)2:CC%GEr!rcfeZdZdZdZdZdZdZdZdZ	dZ
d	Zejd
Zy)Test_IncrementalEncoderctjd}|j|jdd|j|j	d|j|jddd|j|j	d|j|jddd|j|jdd	d|j|j	dy)
Nru파이썬 마을s̽ u	☆∼☆Ts١r"r!Fr8getincrementalencoderr$r'resetr)encoders  r+test_statelessz&Test_IncrementalEncoder.test_statelessQs7&..w79(IJE	G$/(<dC4	6$/D137E2C8$/r!ctjd}|j|jdd|j|jdd|j|jdd|j|jddd|j|j	d|j|jdd	|j|jdd|j|jd
dd|j|jd
ddy)Njisx0213æ̀ær!̀Tr"r]r`s  r+
test_statefulz%Test_IncrementalEncoder.test_stateful^s;&..z:<7E1371;?$7E$/1;?137D1;?D137r!ctjd}|j|jdd|j	t
|jd|j|jdd|j	t
|jd|j|j
d|j|jdd|j|jdd|j	t
|jd|j|jd	d
dy)Nrdrgr!uģùærfrhrjr"Tri)r8r^r$r'r;UnicodeEncodeErrorr_r`s  r+test_stateful_keep_bufferz1Test_IncrementalEncoder.test_stateful_keep_bufferqs:&..z:<137,gnnhG7E,gnnhG$/1;?137,gnnhGD1;?r!ctjd}|j}|j|j	dd|j||j|j	dd|j|j	dd|j}|j|j	dd|j||j|j	ddy)Nrrerfrgr!rh)r8r^getstater$r'setstate)r)ra
initial_state
partial_states    r+$test_state_methods_with_buffer_statez<Test_IncrementalEncoder.test_state_methods_with_buffer_state}s>&..~>@((*
7E'7E137((*
1;?'1;?r!ctjd}|j|jdd|j	}|j|jdd|j	}|j|jdd|j||j|jdd|j||j|jddy)Nrzzあs$B$"s(Bzs$")r8r^r$r'rprq)r)raen_statejp_states    r+(test_state_methods_with_non_buffer_statez@Test_IncrementalEncoder.test_state_methods_with_non_buffer_states<&..|<>,d3##%13JK##%,.>?"1;?",d3r!ctjd}|j|jd|j	d|j|jt
j
dd|j	d|j|jdtjd}|j|jt
j
dd|j	d	|j|jt
j
d
dy)Nrrrgsælittlerhrs	BBrxs	B)r8r^r$rpr'int
from_bytes)r)buffer_state_encodernon_buffer_state_encoders   r+$test_getstate_returns_expected_valuez<Test_IncrementalEncoder.test_getstate_returns_expected_values% Lv;;NKM-668!<##H--668A&	'	(	##H--668!<$N6#?#?#M#O 1::<A%'	(
	!''11::<A%'	(r!ctjd}tjdd}|j	t
|j|y)Nr
s	r})r8r^r~rr;UnicodeErrorrq)r)rapending_size_nines   r+"test_setstate_validates_input_sizez:Test_IncrementalEncoder.test_setstate_validates_input_sizesK8&..x8:NN
0
	
	
,(8(8:KLr!ctjd}tjdd}|j	t
|j|y)Nr
s
r})r8r^r~rr;UnicodeDecodeErrorrq)r)rainvalid_utf8s   r+#test_setstate_validates_input_bytesz;Test_IncrementalEncoder.test_setstate_validates_input_bytessJ8&..x8:~~
0
	
	
,g.>.>Mr!ctjdd}|j|jdd|j|jddy)Nz	shift-jisbackslashreplaceÿs\xff

)r8r^r$r'r`s  r+test_issue5640z&Test_IncrementalEncoder.test_issue5640sL;&..{;<NO/:-u5r!cddl}d}d}tjd||fz}|j|}|j	|dy)NrruEPython の開発は、1990 年ごろから開始されています。a5
            import codecs
            encoding = %r
            text = %r
            encoder = codecs.getincrementalencoder(encoding)()
            text2 = encoder.encode(text).decode(encoding)
            if text2 != text:
                raise ValueError(f"encoding issue: {text2!a} != {text!a}")
        )	_testcapitextwrapdedentrun_in_subinterpr$)r)rencodingtextrHress      r+test_subinterpz&Test_IncrementalEncoder.test_subinterpsU	V 
$ ((.a r!N)rVrWrXrbrkrnrtr{rrrrrcpython_onlyrrYr!r+r[r[OsN08&
@
@4"(@MN6

!!r!r[c0eZdZdZdZdZdZdZdZy)Test_IncrementalDecoderctjd}|j|jdd|j|jdd|j|jddy)Nrs̽u파이s u
썬 마을r!r")r8getincrementaldecoderr$r%r)decoders  r+	test_dbcsz!Test_IncrementalDecoder.test_dbcssj7&..w79(?@'	)(@A.	0,b1r!ctjd}|j|jdd|j	t
|jdd|j|jdd|j|jdd|j	t
|jdd|j|jddy)	Nrsu파r!Tu이s̽)r8rr$r%r;rrs  r+test_dbcs_keep_bufferz-Test_IncrementalDecoder.test_dbcs_keep_buffers7&..w798(C,gnnc4H0(;8(C,gnn%t	-0(;r!c(tjd}d}|j|j|dzd|j|jddd|j|j|dzd|j|jdd	|j|jd
d	|j|jddd	|j|j	d|j|jdd|j|j|dzd|jt|jd
d|j|jdd	y)Nz
iso2022-jp(r"BT$sB@$u世s@$@s@$z@$r!)r8rr$r%r_r;r)r)rESCs   r+test_iso2022z$Test_IncrementalDecoder.test_iso2022s<<&..|<>d
3R8d3R8d
3R8/:/:d3X>$/.5d
3R8,gnnc4H/:r!ctD]=}tj|}|jt|j
d?yrS)r#r8rr;rTr%)r)r*rs   r+rUz+Test_IncrementalDecoder.test_decode_unicodes<#	=C7f22379Gi<	=r!ctjd}|j|jdd|j	\}}|j|d|j|jdd|j	\}}|j|d|j|jdd|j	\}}|j|d|j||f|j|jdd|j	\}}|j|d|jd|j|j	dy)	Nr
suうr!r")sabci[)r8rr$r%rprq)r)rpending1_pending2flags2pending3pending4s        r+test_state_methodsz*Test_IncrementalDecoder.test_state_methodssJ8&..x8:	
4h?&&(!3'	
0"5"++-&7+	
0(;&&(!3'	(F+,0(;&&(!3'	,-))+-@Ar!c@tjd}|jt|jd|jt|jd|jt|jd|jt
|jdy)Nr
{)invalidr)s1234r)s	123456789r)r8rr;rTrqrrs  r+test_setstate_validates_inputz5Test_IncrementalDecoder.test_setstate_validates_input-sy8&..x8:)W%5%5s;)W%5%5~F)W%5%57KL,(8(8:KLr!N)	rVrWrXrrrrUrrrYr!r+rrs"2	<
;=B8Mr!rceZdZdZy)Test_StreamReaderc	ttd}	|jd|jt	jtd}	|jt|jd|j	tjty#|jwxYw#|jwxYw#tjtwxYw)Nwbr)r)
openrwritecloser8r;rreadrrG)r)fs  r+test_bug1728403z!Test_StreamReader.test_bug17284035s	%VT"A
 	FW5A
!!"4affa@	V$	
	V$s9CB+C!B11CB..C1CCC!N)rVrWrXrrYr!r+rr4s
%r!rceZdZdZdZdZy)Test_StreamWriterctj}tjd|}|j	d|j|j
d|j	d|j|j
d|j	d|j|j
dy)Nr123123𒍅s12379가¬s123797501ioBytesIOr8	getwriterrr$getvaluer)scs   r+test_gb18030zTest_StreamWriter.test_gb18030Es
::<'FY'*	v.	'78	4	6r!ctj}tjd|}|j	d|j|j
d|j	d|j|j
d|j	d|j|j
dy)Nzutf-8rrrs123𒍅rs123𒍅가¬rrs   r+
test_utf_8zTest_StreamWriter.test_utf_8Ps
::<%FW%a(	v.	'=>	
$	%r!ctj}tjd|}|j	d|j|j
dy)Nrr.r/r)r)rwrs   r+test_streamwriter_strwritez,Test_StreamWriter.test_streamwriter_strwrite\sFJJL
(V

i
(
+
w/r!N)rVrWrXrrrrYr!r+rrDs	6
%0r!rcHeZdZdZdZejddZy)Test_ISO2022cNd}d}|j|jd|y)Ns(B:hu4:unit.ANi de familleu:hu4:unité de familleziso2022-jp-2)r$r%)r)
iso2022jp2unis   r+test_g2zTest_ISO2022.test_g2cs'>
(**>:C@r!c|jddjddD]4}dj|}|jtd|D6y)N­z
iso-2022-jp-2)ziso-2022-jp-2004z
iso-2022-jp-3u㐆c3&K|]	}|dkDyw)NrY).0xs  r+	<genexpr>z2Test_ISO2022.test_iso2022_jp_g0.<locals>.<genexpr>ls 5aT 5s)assertNotInr'assertFalseany)r)res   r+test_iso2022_jp_g0zTest_ISO2022.test_iso2022_jp_g0hsT"3":":?"KL=	7H)AS 51 556	7r!cpuc\tddD]}t|jddy)Niiiso_2022_jpignore)rangechrr')r)rs  r+test_bug1572832zTest_ISO2022.test_bug1572832ns*w)	3AFMM-2	3r!N)rVrWrXrrrrequires_resourcerrYr!r+rrbs.A
7Wu%3&3r!rc8eZdZdZdZdZdZeezZdZdZ	dZ
y)	TestStatefulu世世ziso-2022-jps$B@$@$s(Bc|j|jj|j|jyrK)r$rr'rexpected_resetrPs r+test_encodezTestStateful.test_encode{s+))$--8$:M:MNr!cntj|jdjfd|jD}|j||j|jjdd|j|jjdddy)Nr!c3@K|]}j|ywrKr')rcharras  r+rz7TestStateful.test_incrementalencoder.<locals>.<genexpr>s"#
NN4 #sr"Tfinal)	r8r^rjoinrr$expectedr'r_)r)outputras  @r+test_incrementalencoderz$TestStateful.test_incrementalencoder~s=&..t}}=?#		##	
/$7D$7=r!cZtj|jt|jdz
djfdt
|jD}|j||j|jjdddy)Nr3r!c3NK|]\}}j||k(ywrKr)rindexrra
last_indexs   r+rz=TestStateful.test_incrementalencoder_final.<locals>.<genexpr>s-5t
NN4*!455s"%r"Tr)
r8r^rlenrr	enumerater$rr')r)rrar	s  @@r+test_incrementalencoder_finalz*TestStateful.test_incrementalencoder_finals=&..t}}=?^a'
5(355	
!4!45$7=r!N)rVrWrXrrrr_rrrrrYr!r+rrts0DHHE%NO>>r!rc&eZdZdZdZdZdZeezZy)TestHZStatefulu聊聊r	s~{ADADs~}N)rVrWrXrrrr_rrYr!r+rrs DHHE%Nr!r__main__)rMr8rr4runittesttestrtest.supportrtest.support.os_helperrr#TestCaserr[rrrrrrrVmainrYr!r+<module>rs
	
")",E(++,E\U!h//U!nLMh//LM\%))% 0))0<38$$3$>8$$>8&\&zHMMOr!