
    3hh
                     t    S SK Jr  S SKJrJr  S SKJrJr   " S S5      r " S S\\5      r	 " S S	\\5      r
g
)    )StringIO)PyTestCTest)
bigmemtest_1Gc                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestDump   c                     [        5       nU R                  R                  0 U5        U R                  UR	                  5       S5        g N{})r   jsondumpassertEqualgetvalue)selfsios     A/opt/python-3.13.8/usr/lib/python3.13/test/test_json/test_dump.py	test_dumpTestDump.test_dump   s1    j		r3.    c                 F    U R                  U R                  0 5      S5        g r   r   dumpsr   s    r   
test_dumpsTestDump.test_dumps   s    B.r   c                 T   SSS.nU R                  [        5         U R                  R                  U5        S S S 5        U R                  R                  USS9nU R                  R	                  U5      nU R                  SU5        U R                  SU5        g ! , (       d  f       Nh= f)NFT   invalid_key	valid_key)skipkeysr!   r    )assertRaises	TypeErrorr   r   loadsassertInassertNotIn)r   vsos       r   test_dump_skipkeysTestDump.test_dump_skipkeys   s    "6y)IIOOA * IIOOAO-IIOOAk1%+ *)s   B
B'c                 b    SS0nU R                  U R                  R                  USSS9S5        g )Nr    FT   r"   indentr   r   r   r   r   r(   s     r   test_dump_skipkeys_indent_empty(TestDump.test_dump_skipkeys_indent_empty   s/    U#T!DdKr   c                 d    SSS.nU R                  U R                  R                  USSS9S5        g )NFTr   r.   r/   z{
    "valid_key": true
}r1   r2   s     r   test_skipkeys_indentTestDump.test_skipkeys_indent   s0    "6T!DFcdr   c           	          U R                  U R                  SSS.SS9S5        U R                  U R                  SSSSS	.SS9S
5        g )NFT)TF	sort_keysz{"false": true, "true": false}g      @      )   g      @Fr
   z+{"false": 1, "2": 3.0, "4.0": 5, "6": true}r   r   s    r   test_encode_truefalseTestDump.test_encode_truefalse!   s_    d+t $ =1	3 	ad3t $ E=	?r   c                 n   ^ [        5       /S-  mU4S jnU R                  U R                  TUS9S5        g )N
   c                    > TS	 g )N )objas    r   crasher-TestDump.test_encode_mutated.<locals>.crasher,   s
    "r   )defaultz[null, null, null, null, null])objectr   r   )r   rG   rF   s     @r   test_encode_mutatedTestDump.test_encode_mutated*   s5    XJO	Aw71	3r   c                    ^  " U4S jS[         5      n " U4S jS5      n[        S5       Vs/ s H	  o2" 5       PM     snmU" 5       nSUS'   U R                  U R                  USS	9S
5        g s  snf )Nc                   "   > \ rS rSrU 4S jrSrg))TestDump.test_encode_evil_dict.<locals>.D3   c                    > T$ )NrD   r   Ls    r   keys.TestDump.test_encode_evil_dict.<locals>.D.keys4   s    r   rD   N)__name__
__module____qualname____firstlineno__rT   __static_attributes__rS   s   r   DrO   3   s     r   r\   c                   (   > \ rS rSrU 4S jrS rSrg))TestDump.test_encode_evil_dict.<locals>.X7   c                    > TS	 g)Nr   9  rD   rR   s    r   __hash__2TestDump.test_encode_evil_dict.<locals>.X.__hash__8   s    aDr   c                     g)Nr   rD   )r   r*   s     r   __lt__0TestDump.test_encode_evil_dict.<locals>.X.__lt__<   s    r   rD   N)rV   rW   rX   rY   rb   re   rZ   r[   s   r   Xr^   7   s    r   rg   ib  ztrue.datra   Tr9   z{"1337": "true.dat"})dictranger   r   )r   r\   rg   idrS   s        @r   test_encode_evil_dictTestDump.test_encode_evil_dict2   sh    	 		 	  +&+QQS+&C$A68NO 's   A.rD   N)rV   rW   rX   rY   r   r   r+   r3   r6   r>   rK   rl   rZ   rD   r   r   r	   r	      s-    /
/,Le?3Pr   r	   c                       \ rS rSrSrg)
TestPyDumpE   rD   N)rV   rW   rX   rY   rZ   rD   r   r   ro   ro   E   s    Dr   ro   c                   .    \ rS rSr\" \SS9S 5       rSrg)	TestCDumpG   r<   )sizememusec                 "   [        SU[        -  -  5      nS/U-  nU R                  U5      nU R                  [	        U5      US-  5        U R                  US S S5        U R                  USS  S5        U R                  USS SUS-
  -  5        g )Ni  r<      [z1]z1, )intr   r   r   len)r   rt   Nlencodeds        r   test_large_listTestCDump.test_large_listN   s     D3J/0C!G**Q-Wq1u-!c*t,2Q8r   rD   N)rV   rW   rX   rY   r   r   r   rZ   rD   r   r   rr   rr   G   s     S#9 $9r   rr   N)ior   test.test_jsonr   r   test.supportr   r   r	   ro   rr   rD   r   r   <module>r      s5     ( (<P <P~ )6 (9% 9r   