Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_syntax.cpython-39.opt-2.pyc

a

��gR��@sHddlZddlZddlmZGdd�dej�Zdd�ZedkrDe�dS)�N)�supportc@s�eZdZd4dd�Zdd�Zdd	�Ze�e�	�d
�dd��Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zejd(d)��Zd*d+�Zd,d-�Zd.d/�Zejd0d1��Zejd2d3��ZdS)5�SyntaxTestCase�
<testcase>�execNc

Cs�zt|||�Wn�ty�}z�|r>t||�s>|�d|j�t�|t|��}	|	durf|�d|f�|�|j	|�|dur�|�|j
|�|dur�|�|j|�WYd}~nd}~00|�d�dS)NzSyntaxError is not a %szSyntaxError did not contain %rz#compile() did not raise SyntaxError)�compile�SyntaxError�
isinstance�fail�__name__�re�search�strZassertEqual�filename�lineno�offset)
�self�codeZerrtextr�mode�subclassrr�err�mo�r�,/usr/local/lib/python3.9/test/test_syntax.py�_check_error�s$zSyntaxTestCase._check_errorcCs|jdddd�dS)Nzf{�invalid syntax�single�r�r�rrrr�1test_curly_brace_after_primary_raises_immediatelysz@SyntaxTestCase.test_curly_brace_after_primary_raises_immediatelycCs|�dd�dS)Nzf() = 1Zassignrrrrr�test_assign_callszSyntaxTestCase.test_assign_callz3The old parser cannot generate these error messagescCsH|�dd�|�dd�|�dd�|�dd�|�dd	�|�d
d�|�dd	�|�d
d	�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�d d�|�d!d�|�d"d#�|�d$d�dS)%Nzdel (,)rzdel 1zdelete literalz
del (1, 2)zdel Nonezdelete Nonezdel *xzdelete starredzdel (*x)zuse starred expressionz	del (*x,)z	del [*x,]zdel f()zdelete function callzdel f(a, b)z	del o.f()z
del a[0]()z
del x, f()z
del f(), xzdel [a, b, ((c), (d,), e.f())]zdel (a if True else b)zdelete conditionalzdel +azdelete operatorz	del a, +bz	del a + bzdel (a + b, c)zdel (c[0], a + b)z
del a.b.c + 2zdel a.b.c[0] + 2zdel (a, b, (c, d.e.f + 2))zdel [a, b, (c, d.e.f[0] + 2)]zdel (a := 5)zdelete named expressionz
del a += brrrrr�test_assign_dels6zSyntaxTestCase.test_assign_delcCsd}|j|ddd�dS)Nz�if 1:
            def error(a):
                global a  # SyntaxError
            def error2():
                b = 1
                global b  # SyntaxError
            zparameter and global��rr�r�sourcerrr�test_global_param_err_first4sz*SyntaxTestCase.test_global_param_err_firstcCsd}|j|ddd�dS)Nz�if 1:
            def error(a):
                nonlocal a  # SyntaxError
            def error2():
                b = 1
                global b  # SyntaxError
            zparameter and nonlocalr"r#rr$rrr�test_nonlocal_param_err_first>sz,SyntaxTestCase.test_nonlocal_param_err_firstcCs|�dd�dS)N�break�outside looprrrrr�test_break_outside_loopHsz&SyntaxTestCase.test_break_outside_loopcCsp|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�d	d�|�d
d�dS)Nzif 0: yield�outside functionzif 0: yield
else:  x=1zif 1: pass
else: yieldzwhile 0: yieldzwhile 0: yield
else:  x=1zclass C:
  if 0: yieldz#class C:
  if 1: pass
  else: yieldzclass C:
  while 0: yieldz(class C:
  while 0: yield
  else:  x = 1rrrrr�test_yield_outside_functionKs��z*SyntaxTestCase.test_yield_outside_functioncCsp|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�d	d�|�d
d�dS)Nzif 0: returnr+zif 0: return
else:  x=1zif 1: pass
else: returnzwhile 0: returnzclass C:
  if 0: returnzclass C:
  while 0: returnz'class C:
  while 0: return
  else:  x=1z$class C:
  if 0: return
  else: x= 1z$class C:
  if 1: pass
  else: returnrrrrr�test_return_outside_functionXs���z+SyntaxTestCase.test_return_outside_functioncCs@|�dd�|�dd�|�dd�|�dd�|�dd�dS)Nzif 0: breakr)zif 0: break
else:  x=1zif 1: pass
else: breakzclass C:
  if 0: breakz#class C:
  if 1: pass
  else: breakrrrrrr*fs�cCs@|�dd�|�dd�|�dd�|�dd�|�dd�dS)Nzif 0: continueznot properly in loopzif 0: continue
else:  x=1zif 1: pass
else: continuezclass C:
  if 0: continuez&class C:
  if 1: pass
  else: continuerrrrr�test_continue_outside_loopns�z)SyntaxTestCase.test_continue_outside_loopcCs|jddtd�dS)Nz
foo()
 bar()
zunexpected indent�r�r�IndentationErrorrrrr�test_unexpected_indentvs�z%SyntaxTestCase.test_unexpected_indentcCs|jddtd�dS)Nzif 1:
foo()zexpected an indented blockr/r0rrrr�test_no_indentzs�zSyntaxTestCase.test_no_indentcCs|jddtd�dS)Nzif 1:
  foo()
 bar()z unindent does not match .* levelr/r0rrrr�test_bad_outdent~s�zSyntaxTestCase.test_bad_outdentcCs|�dd�dS)Nzint(base=10, '2')z,positional argument follows keyword argumentrrrrr�test_kwargs_last�s�zSyntaxTestCase.test_kwargs_lastcCs|�dd�dS)Nzint(**{'base': 10}, '2')z6positional argument follows keyword argument unpackingrrrrr�test_kwargs_last2�s�z SyntaxTestCase.test_kwargs_last2cCs|�dd�dS)Nzint(**{'base': 10}, *['2'])z>iterable argument unpacking follows keyword argument unpackingrrrrr�test_kwargs_last3�s�z SyntaxTestCase.test_kwargs_last3cCs6d}zt|dd�Wnty0|�d�Yn0dS)Nz\
pass
        \

pass
�<string>rz8Empty line after a line continuation character is valid.)rrr	)r�srrr�test_empty_line_after_linecont�s
z-SyntaxTestCase.test_empty_line_after_linecontcCsjd}td�D]>}|d|�d�7}|d|d�d�7}|d|�d�7}q|d�d	�7}|�|d
�dS)N��z    ztry:
�zraise Exception
zexcept Exception as e:
z0                                                �pass�!too many statically nested blocks)�ranger)rr�irrr�test_nested_named_except_blocks�sz.SyntaxTestCase.test_nested_named_except_blockscCsd}|�|d�dS)Nzw
def func1():
    if a != b:
        raise ValueError

def func2():
    try
        return 1
    finally:
        pass
rr)rrrrr�&test_barry_as_flufl_with_syntax_errors�sz5SyntaxTestCase.test_barry_as_flufl_with_syntax_errorscCs:|jddddd�|jddddd�|jddd	dd�dS)
Nz	a = 3 \ 4�6unexpected character after line continuation characterr=�)rrz1,\#
2�z
fgdfgf
1,\#
2
r"rrrrr�-test_invalid_line_continuation_error_position�s���z<SyntaxTestCase.test_invalid_line_continuation_error_positioncCs|�dd�|�dd�dS)NuA.Ɗ\ rDuA.μ\
zunexpected EOF while parsingrrrrr�-test_invalid_line_continuation_left_recursive�s��z<SyntaxTestCase.test_invalid_line_continuation_left_recursivecCsd}|�|d�dS)Na�
while 1:
 while 2:
  while 3:
   while 4:
    while 5:
     while 6:
      while 8:
       while 9:
        while 10:
         while 11:
          while 12:
           while 13:
            while 14:
             while 15:
              while 16:
               while 17:
                while 18:
                 while 19:
                  while 20:
                   while 21:
                    while 22:
                     break
r?rr$rrr�)test_syntax_error_on_deeply_nested_blocks�s	z8SyntaxTestCase.test_syntax_error_on_deeply_nested_blocksc
Cs|ddd}dD]f}|j|d��F|�t��t|d|�Wd�n1sN0YWd�q1sl0YqdS)N�-i���4)r�evalrrr8)ZsubTestZassertRaises�MemoryErrorr)rr%rrrr�#test_error_on_parser_stack_overflow�s
z2SyntaxTestCase.test_error_on_parser_stack_overflow)rrNNN)r
�
__module__�__qualname__rrr �unittestZskipIfrZuse_old_parserr!r&r'r*r,r-r.r2r3r4r5r6r7r:Zcpython_onlyrBrCrGrHrIrNrrrrr�s:�






	
"rcCs(t�t�ddlm}tj|dd�dS)Nr��test_syntaxT)�	verbosity)rZrun_unittestr�testrSZrun_doctestrRrrr�	test_main�s
rV�__main__)rrQrUrZTestCaserrVr
rrrr�<module>�s

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists