
    2hh'o                         S SK r S SKrS SKJr  \R                  " S5      rSr " S S\ R                  5      r\	S:X  a  \ R                  " 5         gg)    N)import_helper_testlimitedcapic                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)CAPITest
   c                    [         R                  nU R                  U" S[        5      S5        U R                  U" SS5      S5        SnSnU R                  U" U[        5      U5        U R                  U" US5      U5        U R                  U" US5      UR	                  S5      5        U R                  [        XS5        U R                  U" USS5      S	5        U R                  U" [        U5      [        5      U5        U R                  U" [        U5      S5      U5        U R                  [        USS
5        U R                  [        XSS
5        U R                  [        US[        5        U R                  [        USS5        U R                  [        U/ [        5        U R                  [        U/ S5        U R                  [        U[        [        5        U R                  [        U[        S5        g )N   abcabcascii
   a¡你😀
   a¡你😀utf-8latin1replaceu   a���������foo)r   unicode_fromencodedobjectassertEqualNULLdecodeassertRaisesUnicodeDecodeError	bytearrayLookupError	TypeErrorSystemError)selffromencodedobjectbss       C/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_codecs.pytest_fromencodedobjectCAPITest.test_fromencodedobject   s   ,FF*648%@*67;UC4#*1d3Q7*1g6:*1h7(9KL,.?GL*1gyA)	+*9Q<>B*9Q<A1E+'8&%H+'8WeL)%6tD)%6wG)%6DA)%6GD+'8$E+'8$H    c                    [         R                  nU R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SSS5      S5        U R                  [        USS5        U R                  U" SSS5      S5        U R                  U" S[
        5      S5        U R                  U" S[
        S5      S5        U R                  [        US	S
5        U R                  [        US	SS
5        g )Ns   [€]r   u   [€]s   []z
iso8859-15strictr   u   [�]   r   )r   unicode_decoder   r   r   r   r   )r   r   s     r    test_decodeCAPITest.test_decode5   s    !00 17;ZH	<8*E	<BJO,fiI	7I>
K 148*E	4;ZH+vw>+vwGr#   c                    [         R                  nU R                  U" S[        5      S5        U R                  U" SS5      S5        SnSnU R                  U" U[        5      U5        U R                  U" US5      U5        U R                  U" SS5      S	5        U R	                  [
        USS5        U R                  U" USS
5      S5        U R	                  [        USS5        U R	                  [        XSS5        U R	                  [        US[        5        U R	                  [        USS5        U R	                  [        U/ [        5        U R	                  [        U/ S5        g )Nr
   r	   r   r   r   r      ¡¢r      r   s   a???r   )r   unicode_asencodedstringr   r   r   UnicodeEncodeErrorr   r   )r   asencodedstringr   r   s       r    test_asencodedstringCAPITest.test_asencodedstringG   s0   *BB5v>8&A#4D115G4a8X>L,oz7SGY?I+uE+7EJ)_fdC)_fgF)_b$?)_b'Br#   c                    [         R                  nS HE  nUR                  S5      nU R                  U" U5      U5        U R                  U" US5      U5        MG     U R	                  [
        US5        U R	                  [
        US5        U R	                  [
        US5        U R	                  [
        US5        U R                  U" SS5      S	5        U R                  U" S
S5      S5        U R	                  [        USS5        g )Nr
   r+      你好u   a😀r   r%               ar      a�   ab   a�b   ar   )r   unicode_decodeutf8encoder   r   r   r   )r   
decodeutf8r   r   s       r    test_decodeutf8CAPITest.test_decodeutf8^   s    %88
CA!AZ]A.Z84a8 D
 	,j'B,j'B,j'B,j,GL)<iHM9=zJ+z8UCr#   c                 b   [         R                  nS H[  nUR                  S5      nU R                  U" U5      U[	        U5      45        U R                  U" US5      U[	        U5      45        M]     U R                  [        US5        U R                  [        US5        U R                  [        US5        U R                  U" S5      S5        U R                  U" SS	5      S5        U R                  [        US
5        U R                  U" S
S	5      S5        U R                  [        USS5        g )Nr3   r   r%   r5   r6   r7   r8   )a   r   r:   )r;      r<   r   )r   unicode_decodeutf8statefulr>   r   lenr   r   r   )r   decodeutf8statefulr   r   s       r    test_decodeutf8stateful CAPITest.test_decodeutf8statefulr   s   -HHCA!A/2QAK@/8<q#a&kJ D
 	,.@'J,.@'J,.@'J+L98D+L)DhO,.@-P+M9EW+'98UKr#   c                    [         R                  nS H*  nU R                  U" U5      UR                  S5      5        M,     U R	                  [
        US5        U R	                  [        US5        U R	                  [        U/ 5        g )Nr3   r      r	   )r   unicode_asutf8stringr   r>   r   r.   r   )r   asutf8stringr   s      r    test_asutf8stringCAPITest.test_asutf8string   sn    '<<CA\!_ahhw.?@ D 	,lHE)\6:)\26r#   c                 b   [         R                  n[        R                  S:X  a  SOSnS H  nUR	                  S5      nU R                  U" SU5      X#45        UR	                  S5      nU R                  U" SU5      SU45        U R                  U" SSU-   5      SU45        UR	                  S	5      nU R                  U" SU5      SU45        U R                  U" SS
U-   5      SU45        M     U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  [        USSS5        U R                  [        USSS5        U R                  [        USSS5        g )NlittlerD   r3   utf-16r   utf-16le   utf-16be      as   as   a           r   rS      �rD   r^   r   r^           s   =s   =s   s   =s   =r   )	r   unicode_decodeutf16sys	byteorderr>   r   r   r   r   )r   decodeutf16naturalbyteorderr   r   s        r    test_decodeutf16CAPITest.test_decodeutf16   s   &::!$(!:2CA"A[A.1A0EF$A[Q/"a9[KM:RGD$A[A.A7[KM:QFC D 	,k2tD,k1dC,k1lK,k1lK,k2{K,k1kJ,k1kJRi@.QQY?OQY?OQ(;YGXQ(;YGW,k2{K,k1kJ,k1kJRi@.QQY?OQY?OQ(;YGXQ(;YGW+{BUK+{A{EJ+{A{EJr#   c           	         [         R                  n[        R                  S:X  a  SOSnS H  nUR	                  S5      nU R                  U" SU5      X#[        U5      45        UR	                  S5      nU R                  U" SU5      SU[        U5      45        U R                  U" SSU-   5      SU[        U5      S	-   45        UR	                  S
5      nU R                  U" SU5      SU[        U5      45        U R                  U" SSU-   5      SU[        U5      S	-   45        M     U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S 5        U R                  U" SS!S5      S"5        U R                  [        USS#5        U R                  U" SS#S5      S$5        U R                  [        USS%5        U R                  U" SS%S5      S&5        U R                  [        USSS'5        U R                  [        USSS'5        U R                  [        USSS'5        g )(NrR   rS   rD   r3   rT   r   rU   rV      rW   rX   s   a =)rS   rC   rk   s   a =s   a = s    a)rD   rC   rk   s    a=s    a=s   a = rS   rC   rE   s    a=ީrD   rC   rE   rZ   r[   r\   r   )rS   r^   rk   )rD   r^   rk   )r   r^   rk   ra   rS   r^   rE   rb   rD   r^   rE   s   =a )rS      �arE   s   = a)rD   rp   rE   r   )
r   unicode_decodeutf16statefulrd   re   r>   r   rG   r   r   r   )r   decodeutf16statefulrg   r   r   s        r    test_decodeutf16stateful!CAPITest.test_decodeutf16stateful   sV   .JJ!$(!:2CA"A0A69IcRSf8UV$A0Q7"aQI0KMBRCPQFSTHDUV$A0A6As1vG0KMBQ3q6RS8DTU D 	,RA<P,R1DE|T,R1HI<X,Q@+N,Q0CDkR,Q0GH+V,Q0OPR^_,Q0OPR]^,.A2{S,.A1kR,.A1kR,RiHJ[\,QYGIYZ,QYGIYZ,Q0CYOQbc,Q0CYOQab,.A2GZ[,R1DiPRde,.A1FYZ,Q0CYOQbc+':BUS+':A{ER+':A{ERr#   c                    [         R                  nS H*  nU R                  U" U5      UR                  S5      5        M,     U R	                  [
        US5        U R	                  [        US5        U R	                  [        U/ 5        g )Nr3   rT   rL   r	   )r   unicode_asutf16stringr   r>   r   r.   r   )r   asutf16stringr   s      r    test_asutf16stringCAPITest.test_asutf16string   o    (>>CA]1-qxx/AB D 	,mXF)]F;)]B7r#   c                    [         R                  n[        R                  S:X  a  SOSnS H  nUR	                  S5      nU R                  U" SU5      X#45        UR	                  S5      nU R                  U" SU5      SU45        U R                  U" SSU-   5      SU45        UR	                  S	5      nU R                  U" SU5      SU45        U R                  U" SS
U-   5      SU45        M     U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  [        USS5        U R                  U" SSS5      S5        U R                  [        USS5        U R                  U" SSS5      S5        U R                  [        USSS5        U R                  [        USSS5        U R                  [        USSS5        g )NrR   rS   rD   r3   utf-32r   utf-32le     utf-32be        a          a s	     a    s	        a    r   r]   r_   r`                =       =r   )	r   unicode_decodeutf32rd   re   r>   r   r   r   r   )r   decodeutf32rg   r   r   s        r    test_decodeutf32CAPITest.test_decodeutf32   s   &::!$(!:2CA"A[A.1A0EF$A[Q/"a9[,?,ABRGL$A[A.A7[,?,ABQFK D 	,k2?VW,k1>UV,k1>ef,k1>ef,k2?RS,k1>QR,k1>QRR)<iH.YQ(;YGWQ(;YGWQ(KYWYghQ(KYWYfg,k2?RSR)<iH.Y,k1>QRQ(;YGW+{B8KUS+{A7JER+{A7JERr#   c           	         [         R                  n[        R                  S:X  a  SOSnS H  nUR	                  S5      nU R                  U" SU5      X#[        U5      45        UR	                  S5      nU R                  U" SU5      SU[        U5      45        U R                  U" SSU-   5      SU[        U5      S	-   45        UR	                  S
5      nU R                  U" SU5      SU[        U5      45        U R                  U" SSU-   5      SU[        U5      S	-   45        M     U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        S H  nU R                  U" SU5      S5        U R                  U" SU5      S5        U R                  U" SU5      S5        U R                  U" SSU-   5      S5        U R                  U" SSU-   5      S5        M     U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  U" SSS5      S 5        U R                  U" SSS5      S!5        U R                  U" SSS5      S"5        U R                  U" SS#S5      S$5        U R                  U" SS%S5      S&5        U R                  [        USS'5        U R                  U" SS'S5      S 5        U R                  [        USS(5        U R                  U" SS(S5      S!5        U R                  [        USSS)5        U R                  [        USSS)5        U R                  [        USSS)5        g )*NrR   rS   rD   r3   r|   r   r}   r~   rE   r   r   r   rl   s   a    s   a    r   rm   s      a s      a s     a    )rS   rC      s        a )rD   rC   r   )r7   s   s   )rS    r   )rD   r   r   )r   r   r   )rS   r   rE   )rD   r   rE   r   r   rn   ro   )r   r^   rE   r   )rS   r^   r   r   )rD   r^   r   r   r   r   )
r   unicode_decodeutf32statefulrd   re   r>   r   rG   r   r   r   )r   decodeutf32statefulrg   r   r   s        r    test_decodeutf32stateful!CAPITest.test_decodeutf32stateful#  s   .JJ!$(!:2CA"A0A69IcRSf8UV$A0Q7"aQI04G4IJRQRTWXYTZ[\T\L]^$A0A6As1vG04G4IJQPQSVWXSYZ[S[L\] D 	,R1HI<X,R1LM|\,R1PQS_`,Q0GH+V,Q0KLkZ,Q0OPR]^,Q0_`bno,Q0_`bmn6A0Q7E0A6
C0A6
C04G4IJKX04G4IJJW 7 	,.A2GZ[,.A1FYZ,.A1FYZ,R1DiPRcd,Q0CYOQab,Q0CYOQab,Q0SU^_ars,Q0SU^_aqr,.A2GZ[,R1DiPRcd,.A1FYZ,Q0CYOQab+':B@SUZ[+':A?RTYZ+':A?RTYZr#   c                    [         R                  nS H*  nU R                  U" U5      UR                  S5      5        M,     U R	                  [
        US5        U R	                  [        US5        U R	                  [        U/ 5        g )Nr3   r|   rL   r	   )r   unicode_asutf32stringr   r>   r   r.   r   )r   asutf32stringr   s      r    test_asutf32stringCAPITest.test_asutf32stringW  rz   r#   c                     [         R                  nU R                  U" S5      S5        U R                  U" SS5      S5        U R                  U" S5      S5        U R                  U" SS5      S5        g )Nr	   r
   r%   r,   r+   )r   unicode_decodelatin1r   )r   decodelatin1s     r    test_decodelatin1CAPITest.test_decodelatin1c  se    '<<f-u5fh7?k2J?k8<jIr#   c                    [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  [        US5        U R                  [
        US5        U R                  [
        U/ 5        g )Nr
   r	   r+   r,      你)r   unicode_aslatin1stringr   r   r.   r   )r   aslatin1strings     r    test_aslatin1stringCAPITest.test_aslatin1stringn  sn    )@@.7
3[A,nhG)^V<)^R8r#   c                 H   [         R                  nU R                  U" S5      S5        U R                  U" SS5      S5        U R                  [        US5        U R                  U" SS5      S5        U R                  U" SS5      S	5        U R                  [
        USS
5        g )Nr	   r
   r%   r7   s   ar   r9   s   abr;   r   )r   unicode_decodeasciir   r   r   r   )r   decodeasciis     r    test_decodeasciiCAPITest.test_decodeasciiz  s    &::V,e4VX6>,k7CXy99EY	:JG+{HeDr#   c                     [         R                  nU R                  U" S5      S5        U R                  [        US5        U R                  [
        US5        U R                  [
        U/ 5        g )Nr
   r	      )r   unicode_asasciistringr   r   r.   r   )r   asasciistrings     r    test_asasciistringCAPITest.test_asasciistring  sY    (>>u-v6,mVD)]F;)]B7r#   c           	         [         R                  nU R                  U" SSSSS.5      S5        U R                  U" S/ SQ5      S5        U R                  U" SS	5      S5        U R                  U" S/ S
Q5      S5        U R                  U" S/ SQ5      S5        U R                  U" S/ SQ5      S5        U R                  U" S/ SQ5      S5        U R                  U" S/ SQ5      S5        U R                  [        US0 5        U R                  [        USSS 05        U R                  U" S/ SQS5      S5        U R                  U" S[
        5      S5        U R                  [        USS5        g )N    rC   r   c)r         bacs    )rC   r   r   r
   )   ¡   ¢   £u   ¢¡£)r   u   好u   世u	   好你世)   😀u   😁u   😂u   😁😀😂a   b   c   )r   r   cdbcd    r   )Nr   r   r   u   b�cs    u    ÿ*   )r   unicode_decodecharmapr   r   r   r   r   )r   decodecharmaps     r    test_decodecharmapCAPITest.test_decodecharmap  sH   (>>yccc2JKUSy/BEJy%8%@y2JK^\y2PQSghy2\]_  	Ay,?Gy/BEJ,mUBG,mUQINy2BINPZ[}d;\J)]E2>r#   c           	      B   [         R                  nU R                  U" SSSSS.5      S5        U R                  U" SSSSS.5      S5        U R                  U" S	SSSS
.5      S5        U R                  U" SSSSS.5      S5        U R                  U" SSSSS.5      S5        U R                  [        US0 5        U R                  [        USSS 05        U R                  [
        US0 5        U R                  [
        U/ 0 5        U R                  [
        US[        5        g )Nr
   r   r   r   r   r   u   ¡¢£)         u	   你好世)i`O  i}Y  iN  u   😀😁😂)i  i i r#   s   spams   spamrC   r   rY   )r   unicode_ascharmapstringr   r   r.   r   r   )r   ascharmapstrings     r    test_ascharmapstringCAPITest.test_ascharmapstring  s   *BBQA10EF	RRS9TUW`a)=ST^_?`aclm)IUVabmnKopr{|QCW0MNPYZ,osBG,osRJO)_dB?)_b"=)_c4@r#   c                    [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S5        U R                  U" S
5      S5        U R                  U" S5      S5        U R                  [        5         U R                  U" S5      S5        S S S 5        S H0  nU R                  [        X5        U R                  [        XS5        M2     U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  [        USS5        g ! , (       d  f       N= f)Nr	   r
      \t\n\r\x0b\x0c\x00\\	
 \s   	
 z	
    \xa1\xa2r+   r,      \u4f60\u597dr4   
   \U0001f600r      \z\z)   \s   \xa   \u4f6	   \U0001f60r%   
   x\U0001f60r      x�   x\U0001f60y   x�yr   r   )r   unicode_decodeunicodeescaper   assertWarnsDeprecationWarningr   r   r   )r   decodeunicodeescaper   s      r    test_decodeunicodeescape!CAPITest.test_decodeunicodeescape  sX   .JJ,V4e<,-EFHXY,-BC^T,\:JG,[9:F,-=>O,^<lK0108%@ 2 :A02EI02E(S : 	,^YGS,_iH*U+':E5I 21s   E00
E>c                 p   [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S
5        U R                  [        US5        U R                  [        U/ 5        g )Nr
   r	   r   r   r+   r   r4   r   r   r   )r   unicode_asunicodeescapestringr   r   r   )r   asunicodeescapestrings     r    test_asunicodeescapestring#CAPITest.test_asunicodeescapestring  s     0 N N.u5v>./?@BZ[.z:LI.~>@PQ.|<nM)%:FC)%:B?r#   c                 t   [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S
5        U R                  U" S5      S5        U R                  U" S5      S5        S H0  nU R                  [        X5        U R                  [        XS5        M2     U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  [
        USS5        g )Nr	   r
      	
 \r   r,   r+   r   r4   r   r   r   z\xa1\xa2r   r   )r   r   r%   r   r   r   r   r   r   r   )r   unicode_decoderawunicodeescaper   r   r   r   )r   decoderawunicodeescaper   s      r    test_decoderawunicodeescape$CAPITest.test_decoderawunicodeescape  s"   !1!P!P/7?/0ABDTU/<jI/0@A>R/?N/={K/7?)A02HL02HXV * 	/	JIV/KZX+'=}eTr#   c                 p   [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S
5        U R                  [        US5        U R                  [        U/ 5        g )Nr
   r	   r   r   r+   r,   r4   r   r   r   )r    unicode_asrawunicodeescapestringr   r   r   )r   asrawunicodeescapestrings     r    test_asrawunicodeescapestring&CAPITest.test_asrawunicodeescapestring  s    #3#T#T 1%8&A12BCEVW1*={K1.ACST1,?P)%=vF)%=rBr#    N)__name__
__module____qualname____firstlineno__r!   r(   r0   r@   rI   rO   rh   rs   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r#   r    r   r   
   s    $I2H$C.D(L.	7(KX(S\	8$SP.[h	8J	9E8?.A"J0@U,Cr#   r   __main__)unittestrd   test.supportr   import_moduler   r   TestCaser   r   mainr   r#   r    <module>r      sT     
 & ../AB yCx   yCz zMMO r#   