File: //usr/local/lib/python3.7/test/__pycache__/test_parser.cpython-37.pyc
B
��g�� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm Z G dd� dej
�ZG dd� dej
�ZG dd � d ej
�Z
G d
d� dej
�ZG dd
� d
ej
�ZG dd� dej
�Zedkr�e�� dS )� N)�support)�assert_python_failurec @ s e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� 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#dCS )D�RoundtripLegalSyntaxTestCasec
C sl ||�}|� � }yt�|�}W n6 tjk
rT } z| �d||f � W d d }~X Y nX | �||� � d� d S )Nzcould not roundtrip %r: %sz!could not re-generate syntax tree)�totuple�parser�sequence2st�ParserError�fail�assertEqual)�self�f�s�st1�t�st2�why� r �,/usr/local/lib/python3.7/test/test_parser.py� roundtrip s $z&RoundtripLegalSyntaxTestCase.roundtripc C s | � tj|� d S )N)r r �expr)r r
r r r �
check_expr s z'RoundtripLegalSyntaxTestCase.check_exprc C s6 t �d�}|�� }i }t|i |� | �|d t� d S )Nz/from __future__ import unicode_literals; x = ''�x)r �suite�compile�execZassertIsInstance�str)r r �codeZscoper r r �test_flags_passed s
z.RoundtripLegalSyntaxTestCase.test_flags_passedc C s | � tj|� d S )N)r r r )r r
r r r �check_suite) s z(RoundtripLegalSyntaxTestCase.check_suitec C s� | � d� | � d� | � d� | � d� | � d� | � d� | � d� | � d� | � d � | � d
� | � d� | � d� | � d
� | � d� | � d� | � d� | � d� d S )Nzdef f(): yield 1zdef f(): yieldzdef f(): x += yieldzdef f(): x = yield 1zdef f(): x = y = yield 1zdef f(): x = yieldzdef f(): x = y = yieldzdef f(): 1 + (yield)*2zdef f(): (yield 1)*2zdef f(): return; yield 1zdef f(): yield 1; returnzdef f(): yield from 1zdef f(): x = yield from 1zdef f(): f((yield from 1))zdef f(): yield 1; return 1z1def f():
for x in range(30):
yield x
z)def f():
if (yield):
yield x
)r )r r r r �test_yield_statement, s"