+
    Bi?                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt . ROt ! R R]P                  4      t ! R R	]P                  4      t ! R
 R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]4      t]R8X  d   ]P2                  ! 4        R# R# )    N)support)	os_helper)TESTFN)import_modulec                   J   a  ] tR t^"t o R tR tR tR tR tR t	R t
RtV tR	# )
Test_MultibyteCodecc                    \          Fa  pV P                  R P                  V4      R4       V P                  \        R V4      R4       V P                  RP	                  V4      R 4       Kc  	  R# )     N)ALL_CJKENCODINGSassertEqualdecodestrencodeselfencs   & //usr/lib/python3.14/test/test_multibytecodec.pytest_nullcoding#Test_MultibyteCodec.test_nullcoding$   sR    #CSZZ_b1Sc]B/RYYs^S1 $r
   c                b    \          F$  pV P                  R P                  V4      R4       K&  	  R# )abcd   abcdN)r   r   r   r   s   & r   test_str_decode#Test_MultibyteCodec.test_str_decode*   s%    #CV]]3/9 $r
   c                    \         P                  ! R 4      pR p\         P                  ! RV4       V P                  \        VRR4       R# )zeuc-krc                 4    R \         P                  ^,           3# )r   )sysmaxsize)excs   &r   <lambda>BTest_MultibyteCodec.test_errorcallback_longindex.<locals>.<lambda>0   s    "ckk!m!4r
   ztest.cjktests   applehamspamN)codecs
getdecoderregister_errorassertRaises
IndexError)r   dec	myreplaces   &  r   test_errorcallback_longindex0Test_MultibyteCodec.test_errorcallback_longindex.   s?    )4	ni8*c1>	Cr
   c                    Rp\         P                  ! R\         P                  4       \         F%  pV P	                  VP                  VR4      R4       K'  	  R# )d   ztest.ignorer
   Nu,  )r#   r%   ignore_errorsr   r   r   )r   datar   s   &  r    test_errorcallback_custom_ignore4Test_MultibyteCodec.test_errorcallback_custom_ignore5   sB    mV-A-AB#CT[[m<cB $r
   c                     \          F  pR P                  V4      p\        V4       K!  	  \        P                  ! \
        4       R#   \        P                  ! \
        4       i ; i)z# coding: {}
N)r   formatexecr   unlinkr   )r   r   codes   &  r   test_codingspec#Test_MultibyteCodec.test_codingspec<   sG    	%''..s3T
 ( V$IV$s   )A A#c                    V P                  \        \        P                  R 4       V P                  \        \        P                  R 4       R # N)r&   AttributeError_multibytecodecMultibyteStreamReaderMultibyteStreamWriterr   s   &r   test_init_segfault&Test_MultibyteCodec.test_init_segfaultD   s:    .)??	G.)??	Gr
   c                v    \          F.  pV P                  \        \        P                  ! V4      R 4       K0  	  R# r   N)r   r&   	TypeErrorr#   r$   r   s   & r   test_decode_unicode'Test_MultibyteCodec.test_decode_unicodeK   s)    #Ci):):3)?D $r
    N)__name__
__module____qualname____firstlineno__r   r   r*   r0   r7   r@   rE   __static_attributes____classdictcell____classdict__s   @r   r   r   "   s2     2:CC%GE Er
   r   c                   z   a  ] tR t^Pt o R tR tR tR tR tR t	R t
R tR	 t]P                  R
 4       tRtV tR# )Test_IncrementalEncoderc                
   \         P                  ! R 4      ! 4       pV P                  VP                  R4      R4       V P                  VP	                  4       R4       V P                  VP                  RR4      R4       V P                  VP	                  4       R4       V P                  VP                  RR4      R4       V P                  VP                  RR	4      R4       V P                  VP	                  4       R4       R# )
cp949u   파이썬 마을s   ̽ Nu	   ☆∼☆Ts   ١r   r
   Fr#   getincrementalencoderr   r   resetr   encoders   & r   test_stateless&Test_IncrementalEncoder.test_statelessR   s    ..w79(IJE	G$/(<dC4	6$/D137E2C8$/r
   c                   \         P                  ! R 4      ! 4       p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P                  RR4      R4       V P                  VP	                  4       R4       V P                  VP                  R4      R	4       V P                  VP                  R4      R4       V P                  VP                  R
R4      R4       V P                  VP                  R
R4      R4       R# )jisx0213   æ̀      ær
      ̀T   N   r   rT   rW   s   & r   test_stateful%Test_IncrementalEncoder.test_stateful_   s     ..z:<7E1371;?$7E$/1;?137D1;?D137r
   c                   \         P                  ! R 4      ! 4       pV P                  VP                  R4      R4       V P	                  \
        VP                  R4       V P                  VP                  R4      R4       V P	                  \
        VP                  R4       V P                  VP                  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       V P                  VP                  R	R
4      R4       R# )r\   r_   r
   u   ģu   ̀ær^   Nr`   rb   r   Tra   )r#   rU   r   r   r&   UnicodeEncodeErrorrV   rW   s   & r   test_stateful_keep_buffer1Test_IncrementalEncoder.test_stateful_keep_bufferr   s    ..z:<137,gnnhG7E,gnnhG$/1;?137,gnnhGD1;?r
   c                
   \         P                  ! R 4      ! 4       pVP                  4       pV P                  VP	                  R4      R4       VP                  V4       V P                  VP	                  R4      R4       V P                  VP	                  R4      R4       VP                  4       pV P                  VP	                  R4      R4       VP                  V4       V P                  VP	                  R4      R4       R# )euc_jis_2004r]   r^   r_   r
   r`   N)r#   rU   getstater   r   setstate)r   rX   initial_statepartial_states   &   r   $test_state_methods_with_buffer_state<Test_IncrementalEncoder.test_state_methods_with_buffer_state~   s    ..~>@((*7E'7E137((*1;?'1;?r
   c                
   \         P                  ! R 4      ! 4       pV P                  VP                  R4      R4       VP	                  4       pV P                  VP                  R4      R4       VP	                  4       pV P                  VP                  R4      R4       VP                  V4       V P                  VP                  R4      R4       VP                  V4       V P                  VP                  R4      R4       R# )
iso2022_jpz   z   あs   $B$"s   (Bzs   $"N)r#   rU   r   r   rk   rl   )r   rX   en_statejp_states   &   r   (test_state_methods_with_non_buffer_state@Test_IncrementalEncoder.test_state_methods_with_non_buffer_state   s    ..|<>,d3##%13JK##%,.>?"1;?",d3r
   c                   \         P                  ! R 4      ! 4       pV P                  VP                  4       ^ 4       VP	                  R4       V P                  VP                  4       \
        P                  RR4      4       VP	                  R4       V P                  VP                  4       ^ 4       \         P                  ! R4      ! 4       pV P                  VP                  4       \
        P                  RR4      4       VP	                  R4       V P                  VP                  4       \
        P                  RR4      4       R	# )
rj   r_   s   æ        littler`   rr   s	    BB      ru   s	    B      N)r#   rU   r   rk   r   int
from_bytes)r   buffer_state_encodernon_buffer_state_encoders   &  r   $test_getstate_returns_expected_value<Test_IncrementalEncoder.test_getstate_returns_expected_value   s     &;;NKM-668!<##H--668A &	'	( 	##H--668!< $*#?#?#M#O 1::<A%'	(
 	!''11::<A%'	(r
   c                    \         P                  ! R 4      ! 4       p\        P                  RR4      pV P	                  \
        VP                  V4       R# )euc_jps   	                r{   N)r#   rU   r|   r}   r&   UnicodeErrorrl   )r   rX   pending_size_nines   &  r   "test_setstate_validates_input_size:Test_IncrementalEncoder.test_setstate_validates_input_size   sI    ..x8:NN0 	
 	,(8(8:KLr
   c                    \         P                  ! R 4      ! 4       p\        P                  RR4      pV P	                  \
        VP                  V4       R# )r   s
           r{   N)r#   rU   r|   r}   r&   UnicodeDecodeErrorrl   )r   rX   invalid_utf8s   &  r   #test_setstate_validates_input_bytes;Test_IncrementalEncoder.test_setstate_validates_input_bytes   sH    ..x8:~~0 	
 	,g.>.>Mr
   c                    \         P                  ! R 4      ! R4      pV P                  VP                  R4      R4       V P                  VP                  R4      R4       R# )z	shift-jisbackslashreplace   ÿs   \xff
   
N)r#   rU   r   r   rW   s   & r   test_issue5640&Test_IncrementalEncoder.test_issue5640   sJ    ..{;<NO/:-u5r
   c                    \        R 4      pRpRp\        P                  ! R4      W#3,          pVP                  V4      pV P	                  V^ 4       R# )	_testcapicp932uE   Python の開発は、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}")
        N)r   textwrapdedentrun_in_subinterpr   )r   r   encodingtextr6   ress   &     r   test_subinterp&Test_IncrementalEncoder.test_subinterp   sZ     "+.	V      ((.a r
   rG   N)rH   rI   rJ   rK   rY   rc   rg   ro   rx   r   r   r   r   r   cpython_onlyr   rL   rM   rN   s   @r   rQ   rQ   P   sQ     08&
@@4"(@MN6
 ! !r
   rQ   c                   D   a  ] tR t^t o R tR tR tR tR tR t	Rt
V tR# )	Test_IncrementalDecoderc                   \         P                  ! R 4      ! 4       pV P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       R# )rS   s   ̽u   파이s    u
   썬 마을r
   r   N)r#   getincrementaldecoderr   r   r   decoders   & r   	test_dbcs!Test_IncrementalDecoder.test_dbcs   sh    ..w79(?@'	)(@A.	0,b1r
   c                   \         P                  ! R 4      ! 4       pV P                  VP                  R4      R4       V P	                  \
        VP                  RR4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P	                  \
        VP                  RR4       V P                  VP                  R4      R4       R# )	rS   s   u   파r
   T   u   이s   ̽N)r#   r   r   r   r&   r   r   s   & r   test_dbcs_keep_buffer-Test_IncrementalDecoder.test_dbcs_keep_buffer   s    ..w798(C,gnnc4H0(;8(C,gnn%t	-0(;r
   c                D   \         P                  ! R 4      ! 4       pRpV P                  VP                  VR,           4      R4       V P                  VP                  RR4      R4       V P                  VP                  VR,           4      R4       V P                  VP                  R4      R4       V P                  VP                  R	4      R4       V P                  VP                  RR4      R4       V P                  VP	                  4       R
4       V P                  VP                  R4      R4       V P                  VP                  VR,           4      R4       V P                  \        VP                  RR4       V P                  VP                  R4      R4       R
# )z
iso2022-jp      (r      BT   $s   B@$u   世s   @$@Ns   @$z@$r
   )r#   r   r   r   rV   r&   r   )r   r   ESCs   &  r   test_iso2022$Test_IncrementalDecoder.test_iso2022   s:   ..|<>d
3R8d3R8d
3R8/:/:d3X>$/.5d
3R8,gnnc4H/:r
   c                    \          F?  p\        P                  ! V4      ! 4       pV P                  \        VP
                  R 4       KA  	  R# rC   )r   r#   r   r&   rD   r   )r   r   r   s   &  r   rE   +Test_IncrementalDecoder.test_decode_unicode  s5    #C22379Gi< $r
   c                   \         P                  ! R 4      ! 4       pV P                  VP                  R4      R4       VP	                  4       w  r#V P                  VR4       V P                  VP                  R4      R4       VP	                  4       w  rEV P                  VR4       V P                  VP                  R4      R4       VP	                  4       w  rcV P                  VR4       VP                  WE34       V P                  VP                  R4      R4       VP	                  4       w  rsV P                  VR4       VP                  R4       V P                  VP	                  4       R4       R# )	r   s   u   うr
      r      N)s   abci[)r#   r   r   r   rk   rl   )r   r   pending1_pending2flags2pending3pending4s   &       r   test_state_methods*Test_IncrementalDecoder.test_state_methods  s>   ..x8: 	4h?&&(3' 	0"5"++-7+ 	0(;&&(3' 	(+,0(;&&(3' 	,-))+-@Ar
   c                D   \         P                  ! R 4      ! 4       pV P                  \        VP                  ^{4       V P                  \        VP                  R4       V P                  \        VP                  R4       V P                  \
        VP                  R4       R# )r   N)invalidr   )s   1234r   )s	   123456789r   )r#   r   r&   rD   rl   r   r   s   & r   test_setstate_validates_input5Test_IncrementalDecoder.test_setstate_validates_input.  sx    ..x8:)W%5%5s;)W%5%5~F)W%5%57KL,g.>.>@QRr
   rG   N)rH   rI   rJ   rK   r   r   r   rE   r   r   rL   rM   rN   s   @r   r   r      s+     2	<;=B8S Sr
   r   c                   &   a  ] tR tRt o R tRtV tR# )Test_StreamReaderi5  c                B    \        \        R 4      p VP                  R4       VP                  4        V P	                  \
        4      ;_uu_ 4        \        P                   ! \        RR7      pRRR4        V P                  \        VP                  ^4       VP                  4         \        P                  ! \        4       R#   TP                  4        i ; i  + '       g   i     Lt; i  TP                  4        i ; i  \        P                  ! \        4       i ; i)wb   rS   )r   N)openr   writecloseassertWarnsDeprecationWarningr#   r&   r   readr   r5   )r   fs   & r   test_bug1728403!Test_StreamReader.test_bug17284036  s    	%VT"A 	!!"455KK9 6!!"4affa@	V$ 	55
 	V$sQ   D C -D C.D 7!C- D CD C*	%D -C??D DrG   N)rH   rI   rJ   rK   r   rL   rM   rN   s   @r   r   r   5  s     % %r
   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )Test_StreamWriteriF  c                   \         P                  ! 4       p\        P                  ! R 4      ! V4      pVP	                  R4       V P                  VP                  4       R4       VP	                  R4       V P                  VP                  4       R4       VP	                  R4       V P                  VP                  4       R4       R# )gb18030123   123   𒍅s   12379   가¬s   123797501NioBytesIOr#   	getwriterr   r   getvaluer   scs   &  r   test_gb18030Test_StreamWriter.test_gb18030G  s    ::<Y'*	v.	'78	4	6r
   c                   \         P                  ! 4       p\        P                  ! R 4      ! V4      pVP	                  R4       V P                  VP                  4       R4       VP	                  R4       V P                  VP                  4       R4       VP	                  R4       V P                  VP                  4       R4       R# )zutf-8r   r   r   s   123𒍅r   s   123𒍅가¬Nr   r   s   &  r   
test_utf_8Test_StreamWriter.test_utf_8R  s    ::<W%a(	v.	'=>	$	%r
   c                    \         P                  ! 4       p\        P                  ! R 4      ! V4      pVP	                  R4       V P                  VP                  4       R4       R# )r   r   r   Nr   )r   r   wrs   &  r   test_streamwriter_strwrite,Test_StreamWriter.test_streamwriter_strwrite^  sD    JJLi(+
w/r
   rG   N)	rH   rI   rJ   rK   r   r   r   rL   rM   rN   s   @r   r   r   F  s     	6
%0 0r
   r   c                   \   a  ] tR tRt o R tR t]P                  ! R4      R 4       tRt	V t
R# )Test_ISO2022id  c                P    R pRpV P                  VP                  R4      V4       R# )s   (B:hu4:unit.ANi de familleu   :hu4:unité de familleziso2022-jp-2N)r   r   )r   
iso2022jp2unis   &  r   test_g2Test_ISO2022.test_g2e  s'    >
(**>:C@r
   c                   V P                  R RP                  R4      4       R FW  pRP                  V4      pT P                  \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      4       KY  	  R# )	      ­ziso-2022-jp-2u   㐆c              3   *   "   T F	  q^8  x  K  	  R# 5i)   NrG   ).0xs   & r   	<genexpr>2Test_ISO2022.test_iso2022_jp_g0.<locals>.<genexpr>n  s      51aT1s   TFN)ziso-2022-jp-2004ziso-2022-jp-3)assertNotInr   assertFalseany)r   r   es   &  r   test_iso2022_jp_g0Test_ISO2022.test_iso2022_jp_g0j  s_    "3":":?"KL=H)ASS 51 5SSS 51 556 >r
   cpuc                b    \        R R4       F  p\        V4      P                  RR4       K   	  R# )i   i   iso_2022_jpignoreN)rangechrr   )r   r   s   & r   test_bug1572832Test_ISO2022.test_bug1572832p  s%    w)AFMM-2 *r
   rG   N)rH   rI   rJ   rK   r   r   r   requires_resourcer  rL   rM   rN   s   @r   r   r   d  s/     A
7 u%3 &3r
   r   c                   T   a  ] tR tRt o RtRtRtRt]],           tR t	R t
R tR	tV tR
# )TestStatefuliv  u   世世ziso-2022-jps   $B@$@$s   (Bc                    V P                  V P                  P                  V P                  4      V P                  4       R # r:   )r   r   r   r   expected_resetr?   s   &r   test_encodeTestStateful.test_encode}  s+    ))$--8$:M:MNr
   c                r  a \         P                  ! V P                  4      ! 4       oR P                  V3R lV P                   4       4      pV P                  WP                  4       V P                  SP                  RRR7      V P                  4       V P                  SP                  RRR7      R 4       R# )r
   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5ir:   r   )r   charrX   s   & r   r   7TestStateful.test_incrementalencoder.<locals>.<genexpr>  s$      #! NN4  !s   !r   TfinalN)	r#   rU   r   joinr   r   expectedr   rV   )r   outputrX   s   & @r   test_incrementalencoder$TestStateful.test_incrementalencoder  s    ..t}}=? #		# # 	/$7D$7=r
   c                f  aa \         P                  ! V P                  4      ! 4       o\        V P                  4      ^,
          oRP                  VV3R l\        V P                  4       4       4      pV P                  WP                  4       V P                  SP                  RRR7      R4       R# )   r
   c              3   P   <"   T F  w  rSP                  W!S8H  4      x  K  	  R # 5ir:   r  )r   indexr  rX   
last_indexs   &  r   r   =TestStateful.test_incrementalencoder_final.<locals>.<genexpr>  s+      53 NN4*!4553s   #&r   Tr  N)
r#   rU   r   lenr   r  	enumerater   r  r   )r   r  rX   r!  s   & @@r   test_incrementalencoder_final*TestStateful.test_incrementalencoder_final  s    ..t}}=?^a'
 5(35 5 	!4!45$7=r
   rG   N)rH   rI   rJ   rK   r   r   r  rV   r  r  r  r%  rL   rM   rN   s   @r   r  r  v  s8     DHHE%NO>> >r
   r  c                   8    ] tR tRtRtRtRtRt]],           tRt	R# )TestHZStatefuli  u   聊聊hzs   ~{ADADs   ~}rG   N)
rH   rI   rJ   rK   r   r   r  rV   r  rL   rG   r
   r   r(  r(    s     DHHE%Nr
   r(  __main__)gb2312gbkr   r)  	big5hkscsr   	shift_jisr   euc_jisx0213shift_jisx0213rj   shift_jis_2004rS   euc_krjohabbig5cp950rr   iso2022_jp_1iso2022_jp_2iso2022_jp_2004iso2022_jp_3iso2022_jp_ext
iso2022_kr)r<   r#   r   r   r   unittesttestr   test.supportr   test.support.os_helperr   test.support.import_helperr   r   TestCaser   rQ   r   r   r   r   r  r(  rH   mainrG   r
   r   <module>rC     s      	 
    " ) 4 ",E(++ ,E\U!h// U!nLSh// LS\%)) %"0)) 0<38$$ 3$>8$$ >8&\ & zMMO r
   