403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.217.5
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_fstring.cpython-36.opt-2.pyc
3

�
�^��@sJddlZddlZddlZddlZdZGdd�dej�ZedkrFej�dS)�Nzglobal variablec@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsS)t�TestCasecCsJxD|D]<}|j|d��&|j||��t|�WdQRXWdQRXqWdS)N)�str)ZsubTest�assertRaisesRegex�eval)�selfZexception_typeZregexZ
error_stringsr�r�1/opt/alt/python36/lib64/python3.6/test_fstring.py�assertAllRaises
zTestCase.assertAllRaisecCs�Gdd�d�}|�}|�}tjdd�|�|_|j|�t|��|j|�d�|jt|�t|��|j|jd�d�|j|jd�d�|jt|�j|d�d�|jt|�j|d�d�dS)Nc@seZdZdd�ZdS)z(TestCase.test__format__lookup.<locals>.XcSsdS)N�classr)r�specrrr�
__format__sz3TestCase.test__format__lookup.<locals>.X.__format__N)�__name__�
__module__�__qualname__rrrrr�XsrcSsdS)N�instancer)rrrrr�<lambda>!sz/TestCase.test__format__lookup.<locals>.<lambda>r
�r)�types�
MethodTyper�assertEqual�format�type)rr�x�yrrr�test__format__lookupszTestCase.test__format__lookupcCsRGdd�d�}|�}d}tj|�}t|dd�}|j|j�t|�|j|j�dS)Nc@seZdZdd�Zdd�ZdS)zTestCase.test_ast.<locals>.XcSs
d|_dS)NF)�called)rrrr�__init__4sz%TestCase.test_ast.<locals>.X.__init__cSs
d|_dS)NT�)r)rrrr�__call__6sz%TestCase.test_ast.<locals>.X.__call__N)r
rrrrrrrrr3srz
a = 10
f'{a * x()}'r�exec)�ast�parse�compileZassertFalserr Z
assertTrue)rrr�expr�t�crrr�test_ast1s
zTestCase.test_astcCs�d}tj|�}|jt|�tj�|jt|j�d�|jt|jd�tj�|j|jdjd�|jt|jd�tj	�|jt|jdj
�tj�|jt|jdj
j�d�|jt|jdj
jd�tj
�|j|jdjd�|j|jdj
jd�|j|jdj
jdjd�|jdj
jdj
}|jt|�tj�|jt|j�tj�|jt|j�tj�|jt|j�tj�|j|jd�|j|jjd�|j|jjd�|j|jd�|j|jjd�|j|jjd�dS)Nz
a = 10
f'{a * x()}'�r���)r!r"rr�Module�len�body�Assign�lineno�Expr�value�	JoinedStr�values�FormattedValue�BinOp�left�Name�op�Mult�right�Call�
col_offset)rr$r%�binoprrr�test_ast_line_numbersIs0
 zTestCase.test_ast_line_numberscCs^d}tj|�}|jt|�tj�|jt|j�d�|jt|jd�tj�|jt|jdj�tj	�|j|jdj
d�|jt|jd�tj�|jt|jdj�tj	�|jt|jdjj�d�|jt|jdjjd�tj�|jt|jdjjd�tj
�|jt|jdjjd�tj�|jt|jdjjd�tj
�|j|jdj
d�|j|jdjj
d�|j|jdjjdj
d�|j|jdjjdj
d�|j|jdjjdj
d�|j|jdjjdj
d�|jdjjdj}|jt|�tj�|jt|j�tj�|jt|j�tj�|jt|j�tj�|j|j
d�|j|jj
d�|j|jj
d�|j|jd�|j|jjd�|j|jjd�|jdjjdj}|jt|�tj�|jt|j�tj�|jt|j�tj�|jt|j�tj�|j|j
d�|j|jj
d�|j|jj
d�|j|jd	�|j|jjd	�|j|jjd
�dS)Nz8
f'no formatted values'
f'eggs {a * x()} spam {b + y()}'r(rr)rr*����)r!r"rrr,r-r.r1r2r3r0r4�Strr5r6r7r8r9r:r;r<r=ZAdd)rr$r%Zbinop1Zbinop2rrr�.test_ast_line_numbers_multiple_formattedvalueshsT
    z7TestCase.test_ast_line_numbers_multiple_formattedvaluescCs�d}tj|�}|jt|�tj�|jt|j�d�|jt|jd�tj�|j|jdjd�|jt|jd�tj	�|jt|jdj
�tj�|jt|jdj
j�d�|jt|jdj
jd�tj
�|j|jdjd�|j|jdj
jd�|j|jdj
jdjd�|jdj
jdj
}|jt|�tj�|jt|j�tj�|jt|j�tj�|jt|j�tj�|j|jd�|j|jjd�|j|jjd�|j|jd�|j|jjd�|j|jjd�|jt|jj�d�|jt|jjd�tj�|jt|jjd�tj
�|jt|jjd�tj�|j|jjdjd�|j|jjdjd�|j|jjdjd�|jjdj
}|jt|�tj�|j|jd�|j|jd�dS)Nz
a = 10
f'{a * f"-{x()}-"}'r(rr)r*r+�)r!r"rrr,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r=rDr<)rr$r%r>Zcallrrr�test_ast_line_numbers_nested�sF
 z%TestCase.test_ast_line_numbers_nestedcCs>d}tj|�}|jt|�tj�|jt|j�d�|jt|jd�tj�|j|jdjd�|jt|jd�tj	�|jt|jdj
�tj�|jt|jdj
j�d�|jt|jdj
jd�tj
�|jt|jdj
jd�tj�|jt|jdj
jd�tj
�|jt|jdj
jd�tj�|jt|jdj
jd�tj
�|j|jdjd�|j|jdj
jd�|j|jdj
jdjd�|j|jdj
jdjd�|j|jdj
jdjd�|j|jdj
jdjd�|j|jdj
jdjd�|jdj
jdj
}|jt|�tj�|jt|j�tj�|jt|j�tj�|jt|j�tj�|j|jd�|j|jjd�|j|jjd�|j|jd�|j|jjd�|j|jjd�|jdj
jdj
}|jt|�tj�|jt|j�tj�|jt|j�tj�|jt|j�tj�|j|jd�|j|jjd�|j|jjd�|j|jd�|j|jjd�|j|jjd�|jdj
jdj
}|jt|�tj�|jt|j�tj�|jt|j�tj�|jt|j�tj�|j|jd�|j|jjd�|j|jjd�|j|jd�|j|jjd�|j|jjd�dS)	Nz)
a = 10
f'{a * x()} {a * x()} {a * x()}'
r(rr)�r*rr+)r!r"rrr,r-r.r/r0r1r2r3r4r5rDr6r7r8r9r:r;r<r=)rr$r%r>rrr�*test_ast_line_numbers_duplicate_expression�sl	
     z3TestCase.test_ast_line_numbers_duplicate_expressioncCs�d}tj|�}|jt|�tj�|jt|j�d�|jt|jd�tj�|j|jdjd�|jt|jd�tj	�|jt|jdj
�tj�|jt|jdj
j�d�|jt|jdj
jd�tj
�|jt|jdj
jd�tj�|jt|jdj
jd�tj
�|j|jdjd�|j|jdj
jd�|j|jdj
jdjd�|j|jdj
jdjd�|j|jdj
jdjd�|j|jdjd
�|j|jdj
jd�|j|jdj
jdjd�|j|jdj
jdjd
�|j|jdj
jdjd�|jdj
jdj
}|jt|�tj�|jt|j�tj�|jt|j�tj�|jt|j�tj�|j|jd�|j|jjd�|j|jjd�|j|jd�|j|jjd�|j|jjd	�dS)Nz?
a = 10
f'''
  {a
     *
       x()}
non-important content
'''
r(rr)r*r@r�r+���rKrKrKrK)r!r"rrr,r-r.r/r0r1r2r3r4rDr5r=r6r7r8r9r:r;r<)rr$r%r>rrr�'test_ast_line_numbers_multiline_fstring
sB

   z0TestCase.test_ast_line_numbers_multiline_fstringcCs,dd�}|j|j�dd�}|j|j�dS)NcSsddS)NzNot a docstringrrrrr�fAsz"TestCase.test_docstring.<locals>.fcSsddS)NzNot a docstringrrrrr�gDsz"TestCase.test_docstring.<locals>.g)ZassertIsNone�__doc__)rrMrNrrr�test_docstring@szTestCase.test_docstringc	Cs&|jtd��tjd�WdQRXdS)Nzmalformed node or stringzf'x')r�
ValueErrorr!Zliteral_eval)rrrr�test_literal_evalIszTestCase.test_literal_evalcCs<dg}d}tj|�}t|dd�}t|�|j|dd�dS)Nrzx[0] = 'foo' f'{3}'r rZfoo3)r!r"r#r r)rrr$r%r&rrr�test_ast_compile_time_concatMs
z%TestCase.test_ast_compile_time_concatcCs|jtdddg�dS)Nz&cannot mix bytes and nonbytes literalszf'' b''zb'' f'')r	�SyntaxError)rrrr�test_compile_time_concat_errorsVsz(TestCase.test_compile_time_concat_errorscCs(|j�d�|jdd�|jdd�dS)Nr�a� )r)rrrr�test_literal]szTestCase.test_literalcCs|jtdddddg�dS)Nzf-string: unterminated stringzf'{"x'zf'{"x}'zf'{("x'zf'{("x}')r	rT)rrrr�test_unterminated_stringbs
z!TestCase.test_unterminated_stringcCs|jtddg�dS)Nzf-string: mismatchedzf'{((}')r	rT)rrrr�test_mismatched_parensjszTestCase.test_mismatched_parenscCsr|jdd�|jdd�|jdd�|jdd�|jdd�|jdd�|jdd�|jdd�|jd	d	�|jd
d
�|jdd�|jdd�|jd
d
�|jdd�|jdd�|jdd�|jdd��d�|jdd��d�|jdd��d�|jdd��d�|jd�d�d�|jd�d�d�|jd�d�d�|jd�d�d�|jd�d�|jtddg�dS) N�{za{z{bza{b�}za}z}bza}bz{}za{}z{b}z{}cza{b}za{}cz{b}cza{b}c�
z{10z}10z}{z}{10z}a{z}a{10z10{z10}z10}{z}a{}z10}a{}z{{}}zunhashable typezf'{ {{}} }')rr	�	TypeError)rrrr�test_double_bracesos6zTestCase.test_double_bracescCs�d}|jd|�d�d�|jd|�d�d�|jd|�d|d��d�|jd	|��d
�|jd|��d�|jd	|��d
�|jd
|��d�|jd|��d�|jd|��d�|j|�d�d�|j|�d�|j|�d�|j|�d�|j|�d�d�|jd|�d�d�|jd|��d�|j|�d|��d�|j�d�|j�d�|j�d�|j�d�|j�d�|j�d�|j�d�|jtddg�dS)N�defzabc## Zghizabc## defghi�abcZ	abcdefghi�4z
abcdefghidef z{x}z{x}defz{xz{xdefz{{x}}z{{x}}defz{{xz{{xdefzx}}zx}}defzdefx}}�2Zdef2�1Z1def2Z1def�-zdef-defrzf-string: expecting '}'z
f'{3' f'}')rr	rT)rrrrr�test_compile_time_concat�s6z!TestCase.test_compile_time_concatcCsBddi}|jd�d�|j|d�d�|jtdddddg�dS)N�#�hashz+f-string expression part cannot include '#'zf'{1#}'z	f'{3(#)}'zf'{#}'zf'{)#}')rr	rT)r�drrr�
test_comments�szTestCase.test_commentscCs�ddd�}d}d}x.tdd�D] }|jt||��|d|�qW|jt|d	�d
�|dd�|dd�}|jt|�|dd
�dd}|jt|�dd�dS)NrcSsdd||dS)Nzf'z{x} �'r)�nZextrarrr�
build_fstr�sz2TestCase.test_many_expressions.<locals>.build_fstrrr)�irW���z{x:{width}} �zf'{1}' 'x' 'y'iZ1xy)ri�)�rangerr)rrmr�width�i�srrr�test_many_expressions�s
  
zTestCase.test_many_expressionscCs�d}d}tjd�}|jd||�d|����d�|jd||�d|����d�|jd||d�d|d����d�|jd|d	�d
d�d|d����d�|jd|d	�d
d�d|d����d�|jddd	�d��d
�|jdd�dd
�d���d
�|jddd�dd
�d��d�|jdd�dd	�dd���d�|jdddddik�oH|�d��d
�|jtddg�|jtddg�|jtddg�|jtddg�dS)Nr]rz12.34567zresult: �.zresult:      12.35�0rdr)rrg�0xz
       0xarrez
      -0xar*rHzf-string: expecting '}'zf'{"s"!r{":10"}}'zinvalid syntaxzf'{4:{/5}}'z'f-string: expressions nested too deeplyz,f'result: {value:{width:{0}}.{precision:1}}'z&f-string: invalid conversion characterzf'{"s"!{"r"}}'i����i����)�decimalZDecimalrr	rT)rrtZ	precisionr2rrr�!test_format_specifier_expressions�s*
"&& &z*TestCase.test_format_specifier_expressionscCs.Gdd�d�}|�}|j|�d|��d�dS)Nc@seZdZdd�Zdd�ZdS)z*TestCase.test_side_effect_order.<locals>.XcSs
d|_dS)Nr)ru)rrrrr�sz3TestCase.test_side_effect_order.<locals>.X.__init__cSs|jd7_t|j�S)Nr))rur)rrrrrrsz5TestCase.test_side_effect_order.<locals>.X.__format__N)r
rrrrrrrrr�srrWz1 2)r)rrrrrr�test_side_effect_order�szTestCase.test_side_effect_ordercCsJ|jtddddddddd	d
ddd
dddddddg�|jtdddg�dS)Nz&f-string: empty expression not allowedzf'{}'z
f'{ }'f' {} 'zf'{!r}'zf'{ !r}'zf'{10:{ }}'zf' { } 'z
f'''{	
}'''zf'{!x}'z	f'{ !xr}'zf'{!x:}'z	f'{!x:a}'z
f'{ !xr:}'zf'{ !xr:a}'zf'{!}'zf'{:}'zf'{!'zf'{!s:'zf'{:'zf'{:x'zinvalid character in identifieruf'''{ }'''� )r	rT)rrrr�test_missing_expressions.z TestCase.test_missing_expressioncCsD|jd	�d�|jtdddg�|jtddg�|jtddg�dS)
Nr*z(3,)zinvalid syntaxzf'{,}'zf-string: expecting '}'z
f'{3)+(4}'z!EOL while scanning string literalzf'{
}')r*)rr	rT)rrrr�test_parens_in_expressions0sz#TestCase.test_parens_in_expressionscCs�|jdd�|jdd�|jdd�|jd�d�d�|jd�dd��d�|jdd��d�|jdd�|jd	d	�|jd	d	�|jd�d�d
�|jd�dd��d�|jdd��d�|jdd�|jd
d
�|jd
d
�|jd�d�d
�|jd�dd��d�|jdd��d�|jdd�|jd�d�d
�|jd�dd��d�|jdd��d�|jd
d
�|jdd�|jdd�|jdd�|jdd�|jdd�|jd�d�d�|jd�dd��d�|jdd��d�|jdd�|jdd�|jdd�|jt��td�}WdQRX|j|d�|jdd��d�|jdd��d�d}|jdd�|jd|��d�|jd|��d�|jdd�dS)N�	z\tr(z2	r*z2	3z	3uΔz\u0394u2Δu2Δ3uΔ3z
\U00000394rWz\x20z2 z2 3z 3z	f'\{6*7}'z\42�\rJr+Zspam�&z\Nz\Nspamz\&�*r�)rZassertWarns�DeprecationWarningr)rr2Z	AMPERSANDrrr�test_backslashes_in_string_partDsXz(TestCase.test_backslashes_in_string_partc	Cs|jtdddddddg�dS)Nzi\(unicode error\) 'unicodeescape' codec can't decode bytes in position .*: malformed \\N character escapezf'\N'zf'\N{'z f'\N{GREEK CAPITAL LETTER DELTA'z'\N'z'\N{'z'\N{GREEK CAPITAL LETTER DELTA')r	rT)rrrr�%test_misformed_unicode_character_name{sz.TestCase.test_misformed_unicode_character_namecCs"|jtddddddddd	g�dS)
Nz3f-string expression part cannot include a backslashz
f'{\'a\'}'zf'{\t3}'zf'{\}'zrf'{\'a\'}'z	rf'{\t3}'zrf'{\}'zrf'{"\N{LEFT CURLY BRACKET}"}'zf'{\n}')r	rT)rrrr�&test_no_backslashes_in_expression_part�sz/TestCase.test_no_backslashes_in_expression_partcCs4|jdd�|jdd�|jdd�|jdd�dS)Nz{1+1}z{1+1)r)rrrr�test_no_escapes_for_braces�sz#TestCase.test_no_escapes_for_bracescCs |jd�d�|jd�d�dS)Nrryr*r�7r+)r)rrrr�test_newlines_in_expressions�sz%TestCase.test_newlines_in_expressionscsjd�|j�fdd�d��d�|j�fdd�d�d�d�|j�fd	d�d�d�d
�|jtddg�dS)
NrHcs�|S)Nr)r)rrrr�sz&TestCase.test_lambda.<locals>.<lambda>�8z'88888'cs�|S)Nr)r)rrrr�sZ10z
'88888'   cs�|S)Nr)r)rrrr�sz
88888     zunexpected EOF while parsingzf'{lambda x:x}')rr	rT)rr)rr�test_lambda�szTestCase.test_lambdacCs$dd�}|d�}|jt|�d�dS)Ncssd|dV��dS)Nzy:r(r)rrrr�fn�szTestCase.test_yield.<locals>.fnrr@)r�next)rr�rNrrr�
test_yield�szTestCase.test_yieldcCs>dd�}|d�}t|�}|j|d�d�|j|jd�d�dS)Nc3sd�fdd�V��VdS)Nzx:cs�|S)Nr)ru)rrrr�sz6TestCase.test_yield_send.<locals>.fn.<locals>.<lambda>r)rr)rrr��sz$TestCase.test_yield_send.<locals>.fnr]r�(�stringzx:string)r�r�send)rr�rNZ
the_lambdarrr�test_yield_send�s
zTestCase.test_yield_sendcCst|jd�d�|jd�d�|jd�d�|jd�d�|jd�d�|jd�d�|jd�d�|jd�d�dS)Nrzeric'szxeric"syzxeric"szeric"sy)r)rrrr�+test_expressions_with_triple_quoted_strings�sz4TestCase.test_expressions_with_triple_quoted_stringscCs�d}d}|j|�|��d�|jd|�|��d�|j|�d|��d�|j|�|�d�d�|jd|�d|��d	�|jd|�|�d�d
�|j|�d|�d�d�|jd|�d|�d�d
�dS)N�braZ98abcrZX98abcZ98XabcZ98abcX�YZX98YabcZX98abcYZ98XabcY�ZZX98YabcZ)r)rrrrrr�test_multiple_vars�szTestCase.test_multiple_varscCs0dd�}|j|d��d�|j|d��d�dS)Ncs�fdd�}|S)Ncs
d���S)Nzx:rr)rrr�inner�sz3TestCase.test_closure.<locals>.outer.<locals>.innerr)rr�r)rr�outer�sz$TestCase.test_closure.<locals>.outerZ987zx:987r+zx:7)r)rr�rrr�test_closure�szTestCase.test_closurecs<d��fdd�}|j|dd�d�d}|j|dd�d�dS)	Nr(csd|�|���S)Nzx=r)rrt)rrrrM�sz"TestCase.test_arguments.<locals>.f�foor]zx=foofoo    �barzx=        20)r)rrMrr)rr�test_arguments�s
zTestCase.test_argumentscCsd}|jd|��d�dS)N�{zv:zv:123)r)rr2rrr�test_locals�szTestCase.test_localsc	Cs$|jt��dt��WdQRXdS)Nzv:)ZassertRaises�	NameErrorr2)rrrr�test_missing_variable�szTestCase.test_missing_variablecCsfGdd�d�}|j|�d�d�|j|��d�|j|���d�|jd��d�|jd��d�dS)Nc@seZdZdd�ZdS)z,TestCase.test_missing_format_spec.<locals>.OcSs|sdS|S)N�*r)rrrrrr�sz7TestCase.test_missing_format_spec.<locals>.O.__format__N)r
rrrrrrr�O�sr�rr�r*�3)r)rr�rrr�test_missing_format_spec�sz!TestCase.test_missing_format_speccCs||jdt��d�|jdt��d�d}|jdt�d|��d�|jdt��d�|jdt�d|��d�|jdt��dS)	Nzg:zg:global variablezg:'global variable'zlocal variablez l:z"g:global variable l:local variablez$g:global variable l:'local variable'zmodule 'unittest' from)r�a_globalZassertIn�unittest)r�a_localrrr�test_globalszTestCase.test_globalcCsrd}|jd|��d�|jd|��d�d}|jd|�d|��d�|jd|��d�|jd|�d|��d�dS)	Nzreally a localzg:zg:really a localzg:'really a local'zlocal variablez l:z!g:really a local l:local variablez#g:really a local l:'local variable')r)rr�r�rrr�test_shadowed_globalszTestCase.test_shadowed_globalcCsdd�}|j|d��d�dS)NcSsdt|�S)Nzx=)r)rrrrr�"szTestCase.test_call.<locals>.foor]zx=10)r)rr�rrr�	test_call!szTestCase.test_callcCs0d}|jd�d�d�|j|�d�d�dS)NrHrr*Z000Z555)r)rrrrr�test_nested_fstrings'szTestCase.test_nested_fstringscCs>|jtddddddddd	d
ddd
ddddddddddg�dS)Nzunexpected EOF while parsingzfu''zuf''zFu''zfU''zUf''zuF''zufr''zurf''zfur''zfru''zrfu''zruf''zFUR''zFur''zfb''zfB''zFb''zFB''zbf''zbF''zBf''zBF'')r	rT)rrrr�test_invalid_string_prefixes,s.z%TestCase.test_invalid_string_prefixescCst|jd�d�|jd�d�|jd�d�|jd�d�|jddd�dD���d�|jdd	d�d
D���d�dS)Nr*r�zexpr=cSsi|]\}}||�qSrr)�.0rrrrr�
<dictcomp>Lsz9TestCase.test_leading_trailing_spaces.<locals>.<dictcomp>r)r(zexpr={1: 2}cSsi|]\}}||�qSrr)r�rrrrrr�Ns�r)r()r��r)r()r�)r)rrrr�test_leading_trailing_spacesFsz%TestCase.test_leading_trailing_spacescCsP|jddk�d�|jddk��d�|jddk�d�|jddkd�d�dS)Nr*r�Truez.3ZTru)r)rrrr�test_not_equalQszTestCase.test_not_equalc
Cs�|jdd�d�|jdd�d�|jdd�d�|jdd�d�|jd�d�|jd�d�|jd�d�|jd�d�|jdd�d	�|jtd
ddd
ddddg�|jtdddddg�dS)Ng��Q�	@z10.10z
      3.14z
3.14      rVz'a'za!rz!<10.10z
3.14!!!!!!z&f-string: invalid conversion characterzf'{3!g}'zf'{3!A}'zf'{3!3}'zf'{3!G}'zf'{3!!}'zf'{3!:}'z	f'{3! s}'zf-string: expecting '}'zf'{x!s{y}}'z	f'{3!ss}'z
f'{3!ss:}'zf'{3!ss:s}')rr	rT)rrrr�test_conversions[s,zTestCase.test_conversionscCs|jtddddg�dS)Nzinvalid syntaxzf'' = 3z
f'{0}' = xz
f'{x}' = x)r	rT)rrrr�test_assignment|szTestCase.test_assignmentcCs|jtdddg�dS)Nzinvalid syntaxzdel f''z
del '' f'')r	rT)rrrr�test_del�szTestCase.test_delcCs�|jtddddddddd	g�|jtd
ddd
dddddddddddg�|jd�d�|jd�d�|jdd�d��d�|jdd�d��d�dS) Nz#f-string: single '}' is not allowedzf'{{}'zf'{{}}}'zf'}'zf'x}'zf'x}x'z
f'\u007b}'zf'{3:}>10}'zf'{3:}}>10}'zf-string: expecting '}'zf'{3:{{>10}'zf'{3'zf'{3!'zf'{3:'zf'{3!s'zf'{3!s:'z	f'{3!s:3'zf'x{'zf'x{x'zf'{x'zf'{3:s'zf'{{{'zf'{{}}{'zf'{'r[r\r*z>10z
}}}}}}}}}3r(z
{{{{{{{{{2)r	rTr)rrrr�test_mismatched_braces�s8zTestCase.test_mismatched_bracescsd�fdd�}�fdd�}�fdd�}|dd�|d	d
�|dd�|d	d
�|dd
�|d	d
�dS)Ncs$d}|�rd}nd}�j||�dS)Nrr)r()r)r�expected�flag)rrr�test_fstring�s
z2TestCase.test_if_conditional.<locals>.test_fstringcs$d}|�rd}nd}�j||�dS)Nrr)r()r)rr�r�)rrr�test_concat_empty�s
z7TestCase.test_if_conditional.<locals>.test_concat_emptycs(d}d|��rd}nd}�j||�dS)NrrWr)r()r)rr�r�)rrr�test_concat_non_empty�s

z;TestCase.test_if_conditional.<locals>.test_concat_non_emptyrr(rWr)r)rr�r�r�r)rr�test_if_conditional�s




zTestCase.test_if_conditionalcCsFd}|j|�d�|j|��d�|j|��d�|j|��d�dS)NZtestz'test')r)rrrrr�test_empty_format_specifier�s
z$TestCase.test_empty_format_specifiercCspddd�}d}|j|d�d�|j|d�d�|j||�d�|jdj|d�d�|jdj|d�d�dS)	Nr�Zinteger)rVrrrVz{d[a]})riz{d[0]})rr)rrirVrrr�test_str_format_differences�sz$TestCase.test_str_format_differencescCs|jtdddg�dS)Nzinvalid syntaxz	f'{a[4)}'z	f'{a(4]}')r	rT)rrrr�test_invalid_expressions�sz!TestCase.test_invalid_expressionscCs(|jtdddg�|jtdddg�dS)NZunsupportedzf'{(lambda: 0):x}'zf'{(0,):x}'zUnknown format codezf'{1000:j}')r	r^rQ)rrrr�test_errors�szTestCase.test_errorscCs0x*td�D]}|jd|��dt|��q
WdS)Ni�zi:)rsrr)rrurrr�	test_loop�szTestCase.test_loopcCsXdddd�}|j|d�d�|j|d�d�|j|d�d�|j|d�d�dS)NZdquoteZsquoter�)�"rkr�rkr�r�)r)rrirrr�	test_dict�szTestCase.test_dictcCs$|jtd�d�|jtd�d�dS)Nzf"\
"rzf"\
")rr)rrrr�test_backslash_charszTestCase.test_backslash_charN)<r
rrr	rr'r?rErGrIrLrPrRrSrUrXrYrZr_rfrjrwr|r}rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrsr2+E6		#%(7
				

!%&r�__main__)r!rr{r�r�rr
�mainrrrr�<module>s	

Youez - 2016 - github.com/yon3zu
LinuXploit