Your IP : 216.73.217.129
���]�J � @ sp d d l Z d d l Z d d l Z d d l m Z Gd d � d e j � Z d d � Z e d k rl e � d S)� N)�supportc @ s� e Z d Z d d d d d d d � Z d d � Z d d � Z d
d � Z d d
� Z d d � Z d d � Z d d � Z
d d � Z d d � Z d d � Z
d S)�SyntaxTestCasez
<testcase>�execNc
C s y t | | | � Wn� t k
r� } z� | rS t | | � rS | j d | j � t j | t | � � } | d k r� | j d | f � | j | j | � | d k r� | j | j
| � | d k r� | j | j | � WYd d } ~ Xn X| j d � d S)NzSyntaxError is not a %sz SyntaxError did not contain '%r'z#compile() did not raise SyntaxError)�compile�SyntaxError�
isinstanceZfail�__name__�re�search�strZassertEqual�filename�lineno�offset)
�self�codeZerrtextr �mode�subclassr
r �err�mo� r �0/opt/alt/python35/lib64/python3.5/test_syntax.py�_check_error s &zSyntaxTestCase._check_errorc C s | j d d � d S)Nzf() = 1Zassign)r )r r r r �test_assign_call6 s zSyntaxTestCase.test_assign_callc C s | j d d � d S)Nzdel f()�delete)r )r r r r �test_assign_del9 s zSyntaxTestCase.test_assign_delc C sL d } t j d d d t � | j | d d d d d �t j j d
� d S)Nz�if 1:
def error(a):
global a # SyntaxError
def warning():
b = 1
global b # SyntaxWarning
�action�ignore�category�globalr
� r � r )�warnings�filterwarnings�
SyntaxWarningr �filters�pop)r �sourcer r r �test_global_err_then_warn< s z(SyntaxTestCase.test_global_err_then_warnc C s | j d d � d S)N�breakzoutside loop)r )r r r r �test_break_outside_loopJ s z&SyntaxTestCase.test_break_outside_loopc C s | j d d d t �d S)Nz
foo()
bar()
zunexpected indentr )r �IndentationError)r r r r �test_unexpected_indentM s z%SyntaxTestCase.test_unexpected_indentc C s | j d d d t �d S)Nzif 1:
foo()zexpected an indented blockr )r r* )r r r r �test_no_indentQ s zSyntaxTestCase.test_no_indentc C s | j d d d t �d S)Nzif 1:
foo()
bar()z unindent does not match .* levelr )r r* )r r r r �test_bad_outdentU s zSyntaxTestCase.test_bad_outdentc C s | j d d � d S)Nzint(base=10, '2')z,positional argument follows keyword argument)r )r r r r �test_kwargs_lastZ s zSyntaxTestCase.test_kwargs_lastc C s | j d d � d S)Nzint(**{base: 10}, '2')z6positional argument follows keyword argument unpacking)r )r r r r �test_kwargs_last2^ s z SyntaxTestCase.test_kwargs_last2c C s | j d d � d S)Nzint(**{base: 10}, *['2'])z>iterable argument unpacking follows keyword argument unpacking)r )r r r r �test_kwargs_last3c s z SyntaxTestCase.test_kwargs_last3)r �
__module__�__qualname__r r r r'