Your IP : 216.73.216.147
a
XC?hG � @ sh d Z ddlZddlZddlZddlmZ dd� Zdd� Zdd
d�ZG dd
� d
ej �Z
edkrde�� dS )zHUnit tests for the positional only argument syntax specified in PEP 570.� N��check_syntax_errorc C s | |fS �N� ��a�br r �B/opt/alt/python39/lib64/python3.9/test/test_positional_only_arg.py�global_pos_only_f
s r
c C s | |fS r r r r r r �global_pos_only_and_normal
s r � � c C s | |fS r r r r r r �global_pos_only_defaults s r c @ s� e Zd Zd=dd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zd8d9� Zd:d;� Zd<S )>�PositionalOnlyTestCase�invalid syntaxc C s@ | � t|�� t|d dd� W d � n1 s20 Y d S )N�
�<test>�single)�assertRaisesRegex�SyntaxError�compile)�selfZcodestrZregexr r r �assertRaisesSyntaxError s z.PositionalOnlyTestCase.assertRaisesSyntaxErrorc C s� t | dd� t | dd� t | dd� t | dd� t | d� t | d� t | d� t | d � t | d
� t | d� t | d� t | d
� t | dd� t | dd� t | d� t | d� t | d� t | d� t | d� d S )Nzdef f(a, b = 5, /, c): pass�-non-default argument follows default argumentzdef f(a = 5, b, /, c): passz%def f(a = 5, b=1, /, c, *, d=2): passzdef f(a = 5, b, /): passzdef f(*args, /): passzdef f(*args, a, /): passzdef f(**kwargs, /): passzdef f(/, a = 1): passzdef f(/, a): passzdef f(/): passzdef f(*, a, /): passzdef f(*, /, a): passzdef f(a, /, a): pass�-duplicate argument 'a' in function definitionzdef f(a, /, *, a): passzdef f(a, b/2, c): passzdef f(a, /, c, /): passzdef f(a, /, c, /, d): passz def f(a, /, c, /, d, *, e): passzdef f(a, *, c, /, d, e): passr �r r r r �test_invalid_syntax_errors s&