
    dafJ                     B    d dl Z ddlmZ  G d de j                        Zy)    N   )tomllibc                   *    e Zd Zd Zd Zd Zd Zd Zy)	TestErrorc                 x   | j                  t        j                        5 }t        j                  d       d d d        | j	                  t        j                        d       | j                  t        j                        5 }t        j                  d       d d d        | j	                  t        |j                        d       | j                  t        j                        5 }t        j                  d       d d d        | j	                  t        |j                        d       | j                  t        j                        5 }t        j                  d       d d d        | j	                  t        |j                        d       y # 1 sw Y   VxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   UxY w)	Nzval=.z#Invalid value (at line 1, column 5).z'Invalid statement (at line 1, column 1)z

val=.z#Invalid value (at line 3, column 5)z

.z'Invalid statement (at line 3, column 1)assertRaisesr   TOMLDecodeErrorloadsassertEqualstr	exceptionselfexc_infos     7/root/Python-3.12.4/Lib/test/test_tomllib/test_error.pytest_line_and_colzTestError.test_line_and_col   sV   w667 	#8MM'"	#X//02WXw667 	8MM#	""#%N	
 w667 	'8MM+&	'X//02WXw667 	#8MM'"	#""#%N	
!	# 	#	 		' 	'	# 	#s/   F
F$F$F0
FF!$F-0F9c                     | j                  t        j                        5 }t        j                  d       d d d        | j	                  t        j                        d       y # 1 sw Y   /xY w)Nz

fwfw=z"Invalid value (at end of document)r	   r   s     r   test_missing_valuezTestError.test_missing_value    sU    w667 	'8MM+&	'X//02VW	' 	's   A$$A-c                     | j                  t        j                        5 }t        j                  d       d d d        | j	                  dt        j                        v        y # 1 sw Y   0xY w)Nzv = '
'z '\n' )r
   r   r   r   
assertTruer   r   r   s     r   test_invalid_char_quotesz"TestError.test_invalid_char_quotes%   sU    w667 	&8MM*%	&	S););%<<=	& 	&s   A%%A.c                 |    | j                  t        j                         j                  t        j                         y N)r   r   r   
__module____name__)r   s    r   test_module_namezTestError.test_module_name*   s'    002==w?O?OP    c                 "   dt         dt        fd}dt         dt        fd}||fD ]\  }| j                  t              5 }t        j                  d|       d d d        | j                  t        j                        d       ^ y # 1 sw Y   1xY w)Nsreturnc                     i S r    r!   s    r   dict_returnerz9TestError.test_invalid_parse_float.<locals>.dict_returner.       Ir   c                     g S r   r$   r%   s    r   list_returnerz9TestError.test_invalid_parse_float.<locals>.list_returner1   r'   r   zf=0.1)parse_floatz*parse_float must not return dicts or lists)	r   dictlistr
   
ValueErrorr   r   r   r   )r   r&   r)   invalid_parse_floatr   s        r   test_invalid_parse_floatz"TestError.test_invalid_parse_float-   s    	S 	T 		S 	T 	 %2=#A 	"":. H(g3FGHH&&')U	H Hs   BB	N)r   r   __qualname__r   r   r   r   r/   r$   r   r   r   r   
   s    
*X
>
Qr   r   )unittest r   TestCaser   r$   r   r   <module>r4      s   
  /!! /r   