
    4hh                         S SK r S SKrS SKJr  S SKJr  S SKrS SKrS SK	r	S SK
Jr  SSKJr   " S S\	R                  5      rg)	    N)Decimal)Path)support   )tomllibc                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestMiscellaneous   c                 L   SnSS/ S.n[         R                  " 5        n[        U5      S-  nUR                  U5        [	        US5       n[
        R                  " U5      nS S S 5        S S S 5        U R                  WU5        g ! , (       d  f       N)= f! , (       d  f       N2= f)Nzone=1 
 two='two' 
 arr=[]r   two)oner   arr	test.tomlrb)tempfileTemporaryDirectoryr   
write_textopenr   loadassertEqual)selfcontentexpectedtmp_dir_path	file_pathbin_factuals          D/opt/python-3.13.8/usr/lib/python3.13/test/test_tomllib/test_misc.py	test_loadTestMiscellaneous.test_load   s    0U26((*l\*[8I  )i&% e, '	 + 	* '&	 +*s#   ,B
B!B
B	B
B#c                 z   Sn[         R                  " 5        n[        U5      S-  nUR                  U5        [	        US5       nU R                  [        5         [        R                  " U5        S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)Nzone=1r   r)	r   r   r   r   r   assertRaises	TypeErrorr   r   )r   r   r   r   txt_fs        r   test_incorrect_load%TestMiscellaneous.test_incorrect_load   s    ((*l\*[8I  )i%&&y1LL' 2 &	 +*
 21 &%	 +*s;   ,B,BB
1B9B,

BB
B)	%B,,
B:c           	         Sn[         R                  " U[        S9n[        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      S.nUR                  5        Hf  u  pEX$   nU R	                  U[        5        UR                  5       (       a!  U R                  UR                  5       5        MU  U R                  Xe5        Mh     g )	Nz
              val=0.1
              biggest1=inf
              biggest2=+inf
              smallest=-inf
              notnum1=nan
              notnum2=-nan
              notnum3=+nan
              )parse_floatz0.1infz-infnanz-nan)valbiggest1biggest2smallestnotnum1notnum2notnum3)r   loadsDitemsassertIsInstanceis_nan
assertTruer   )r   docobjr   kexpected_val
actual_vals          r   test_parse_float"TestMiscellaneous.test_parse_float'   s     mmCQ/U8%%&	xyx
  (~~/OAJ!!*a0  "" 3 3 56  :  0    c                 4   Sn[         R                  " U5      n[        R                  " U5      nU R	                  X25        SSS[
        R
                  " SSSSS	SS
[
        R                  " [
        R                  " SS95      S9/000nU R	                  X45        g )Nzj
              [bliibaa.diibaa]
              offsettime=[1979-05-27T00:32:00.999999-07:00]
              bliibaadiibaa
offsettimei        r       i?B i)hours)tzinfo)r   r3   copydeepcopyr   datetimetimezone	timedelta)r   r9   r:   obj_copyexpected_objs        r   test_deepcopyTestMiscellaneous.test_deepcopyC   s     mmC ==%'  )) "#+#4#4X5G5Gb5Q#R	#
$ 	0r@   c                 ^   [         R                  " SS9   [         R                  " 5       nUS-  S-
  nU R                  [        R
                  " 5       UUS9   SUS-  -   US-  -   n[        R                  " U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nd   	max_depth   limit	available
nest_countzarr = []r   infinite_recursionget_recursion_availablesubTestsysgetrecursionlimitr   r3   )r   rZ   r[   recursive_array_tomls       r   !test_inline_array_recursion_limit3TestMiscellaneous.test_inline_array_recursion_limit_   s    ''#6779I#q.A-JC$9$9$;(1)3  5 (0*s2B'BZRUEU'U$23	5	 765 5	 76s$   AB%B<B
B	B
B,c                 X   [         R                  " SS9   [         R                  " 5       nUS-  S-
  nU R                  [        R
                  " 5       UUS9   US-  US-  -   n[        R                  " U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NrT   rU      r   rX   zkey = {}r^   )r   rZ   r[   recursive_table_tomls       r   !test_inline_table_recursion_limit3TestMiscellaneous.test_inline_table_recursion_limitj   s    ''#6779I#q.A-JC$9$9$;(1)3  5 (2I'=
S@P'P$23	5	 765 5	 76s$   AB"B
9B

B	B
B) N)__name__
__module____qualname____firstlineno__r   r&   r>   rQ   re   rk   __static_attributes__rm   r@   r   r	   r	      s     	+(;818	4	4r@   r	   )rJ   rL   decimalr   r4   pathlibr   rb   r   unittesttestr    r   TestCaser	   rm   r@   r   <module>ry      s6   
      
    b4)) b4r@   