
    3hh                     l    S SK r S SKJr  S SKJrJr   " S S5      r " S S\\5      r " S S	\\5      rg)
    N)OrderedDict)PyTestCTestc                   \    \ 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)TestUnicode   c                 N    SnU R                  U5      nU R                  US5        g )N   αΩz"\u03b1\u03a9"dumpsassertEqualselfujs      D/opt/python-3.13.8/usr/lib/python3.13/test/test_json/test_unicode.pytest_encoding3TestUnicode.test_encoding3
   s%    HJJqM./    c                 P    SnU R                  U/5      nU R                  US5        g )Nr
   z["\u03b1\u03a9"]r   r   s      r   test_encoding4TestUnicode.test_encoding4   s'    HJJsO01r   c                 T    SnU R                  USS9nU R                  USU S35        g )Nr
   Fensure_ascii"r   r   s      r   test_encoding5TestUnicode.test_encoding5   s1    HJJquJ-as!H%r   c                 V    SnU R                  U/SS9nU R                  USU S35        g )Nr
   Fr   z["z"]r   r   s      r   test_encoding6TestUnicode.test_encoding6   s3    HJJsJ/b2J'r   c                 Z    SnU R                  US-   SS9nU R                  USU S35        g )Nr
   
Fr   r   z\n"r   r   s      r   test_encoding7TestUnicode.test_encoding7   s5    HJJq4xeJ4as$K(r   c                     SnU R                  U R                  U5      S5        U R                  U R                  USS9S5        g )Nu   𝄠z"\ud834\udd20"Fr   u   "𝄠")r   r   r   r   s     r   test_big_unicode_encode#TestUnicode.test_big_unicode_encode#   s=    A(:;AE:NKr   c                     SnU R                  U R                  SU S35      U5        U R                  U R                  S5      U5        g )Nu   z𝄠xr   z"z\ud834\udd20x")r   loadsr'   s     r   test_big_unicode_decode#TestUnicode.test_big_unicode_decode(   sB    as!H-q1$891=r   c                     [        SS5       H6  n[        U5      nSUS S3nU R                  U R                  U5      U5        M8     g )Nr   i  z"\u04xr   )rangechrr   r+   )r   ir   ss       r   test_unicode_decodeTestUnicode.test_unicode_decode-   sC    q&!AAAqgQATZZ]A. "r   c                    U R                  [        U R                  S5      5      [        5        U R                  [        U R                  S5      5      [        5        U R                  [        U R                  S5      S   5      [        5        g )Nz""z"a"z["a"]r   )r   typer+   strr   s    r   test_unicode_preservation%TestUnicode.test_unicode_preservation3   sa    djj./5djj/0#6djj1!45s;r   c                     U R                  [        U R                  S5        U R                  [        U R                  S/5        g )Ns   hi)assertRaises	TypeErrorr   r9   s    r   test_bytes_encodeTestUnicode.test_bytes_encode8   s0    )TZZ7)TZZ%9r   c                    S[         R                  4S[         R                  4S[         R                  4S[         R                  4S[         R
                  44 Hl  u  pS/nU R                  U5      R                  U5      nU R                  U R                  X$-   5      U5        U R                  U R                  U5      U5        Mn     U R                  [        U R                  S5        U R                  U R                  SR                  S	5      5      S
5        U R                  U R                  S5      S5        U R                  U R                  S5      S5        U R                  U R                  S5      S5        g )Nzutf-8zutf-16bezutf-16lezutf-32bezutf-32leu
   aµ€𝄠s   [""]u   "☀"z	utf-16-leu   ☀s   5    s    7   s   579   )codecsBOM_UTF8BOM_UTF16_BEBOM_UTF16_LEBOM_UTF32_BEBOM_UTF32_LEr   encoder   r+   r=   UnicodeDecodeError)r   encodingbomdataencodeds        r   test_bytes_decodeTestUnicode.test_bytes_decode<   s:   &//*V001V001V001V001MH ,,Djj&--h7GTZZ6=TZZ0$7 	,djj+F
 	J$5$5k$BC!	# 	H-q1H-q1E*B/r   c                    Sn/ SQnU R                  U R                  U5      [        U5      5        U R                  U R                  US S9U5        U R                  U[        S9nU R                  U[        U5      5        U R                  [	        U5      [        5        U R                  U R                  U[        S S9[        U5      5        g )Nz?{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}))xkd   )kcw   )art   )hxm   )qrtrB   )padr   )hoyrC   c                     U $ N xs    r   <lambda>ATestUnicode.test_object_pairs_hook_with_unicode.<locals>.<lambda>\   s    Qr   )object_pairs_hookc                     g r`   ra   rb   s    r   rd   re   b   s    Dr   )rf   object_hook)r   r+   evalr   r7   )r   r3   pods       r   #test_object_pairs_hook_with_unicode/TestUnicode.test_object_pairs_hook_with_unicodeW   s    M1AQ0A;GKZZ{Z;[^,b;/A;2@ $ B$Q	)r   ra   N)__name__
__module____qualname____firstlineno__r   r   r   r    r$   r(   r,   r4   r:   r?   rQ   rl   __static_attributes__ra   r   r   r   r      s?    0
2
&
(
)
L
>
/<
:06)r   r   c                       \ rS rSrSrg)TestPyUnicodef   ra   Nrn   ro   rp   rq   rr   ra   r   r   rt   rt   f   s    $r   rt   c                       \ rS rSrSrg)TestCUnicodeg   ra   Nrv   ra   r   r   rx   rx   g   s    r   rx   )	rE   collectionsr   test.test_jsonr   r   r   rt   rx   ra   r   r   <module>r|      s1     # (]) ])@ /K . ,; ,r   