Your IP : 216.73.216.196


Current Path : /opt/alt/python37/lib/python3.7/site-packages/tap/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/tap/__pycache__/rules.cpython-37.opt-1.pyc

B

.��V�
�@sDddlmZddlmZddlmZddlmZGdd�de�Z	dS)�)�Adapter)�	Directive)�_)�Resultc@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�RulescCs||_||_gdgd�|_dS)Nr)�plan�test�version)�	_filename�_suite�_lines_seen)�self�filenameZsuite�r�:/opt/alt/python37/lib/python3.7/site-packages/tap/rules.py�__init__szRules.__init__cCs |jdr|��|�|�dS)z;Check the status of all provided data and update the suite.r	N)r�_process_version_lines�_process_plan_lines)r
�final_line_countrrr�checks
zRules.checkcCsFt|jd�dkr"|�td��n |jdddkrB|�td��dS)zProcess version line rules.r	�z Multiple version lines appeared.rz&The version must be on the first line.N)�lenr�
_add_errorr)r
rrrrszRules._process_version_linescCs�|jds|�td��dSt|jd�dkr@|�td��dS|jdd\}}|�||�sp|�td��dS|j|jdkr�|�td	�j|j|jdd
��dS)zProcess plan line rules.rzMissing a plan.Nrz)Only one plan line is permitted per file.rz7A plan must appear at the beginning or end of the file.rz:Expected {expected_count} tests but only {seen_count} ran.)Zexpected_countZ
seen_count)rrrr�_plan_on_valid_lineZexpected_tests�format)r
rr�at_linerrrrs 

zRules._process_plan_linescCsD|dks||krdS|jdo6|jdddko6|dk}|r@dSdS)z#Check if a plan is on a valid line.rTr	r�F)r)r
rrZ
after_versionrrrr4s
zRules._plan_on_valid_linecCs|�td�j|jd��dS)zHandle a bail line.zBailed: {reason})�reasonN)rrrr)r
Zbailrrr�handle_bailDszRules.handle_bailcCs|�td�j|jd��dS)z'Handle a test file that does not exist.z{filename} does not exist.)rN)rrrr
)r
rrr�handle_file_does_not_existHsz Rules.handle_file_does_not_existcCs.tdd|jjtd��}|j�t|j|��dS)z-Handle a plan that contains a SKIP directive.TNZSKIP)rZ	directive�textrr�addTestrr
)r
Z	skip_planZ	skip_linerrr�handle_skipping_planMszRules.handle_skipping_plancCs|jd�||f�dS)z!Record when a plan line was seen.rN)r�append)r
rrrrr�saw_planSszRules.saw_plancCs|jdd7<dS)z!Record when a test line was seen.rrN)r)r
rrr�saw_testWszRules.saw_testcCs|jd�|�dS)z$Record when a version line was seen.r	N)rr#)r
Zline_counterrrr�saw_version_at[szRules.saw_version_atcCs*tdd|td��}|j�t|j|��dS)zAdd an error test to the suite.FN�)rrrr!rr
)r
�messageZ
error_linerrrr_szRules._add_errorN)�__name__�
__module__�__qualname__rrrrrrrr"r$r%r&rrrrrr	srN)
Ztap.adapterrZ
tap.directiverZtap.i18nrZtap.liner�objectrrrrr�<module>s