Your IP : 216.73.216.213
B
.��Vz � @ s@ d dl Z d dlmZ d dlmZ d dlmZ G dd� de�ZdS )� N)�_)�Rules)�TestCasec @ sX e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� ZdS )� TestRuleszTests for tap.rules.Rulesc C s t �� | _td| j�S )Nz
foobar.tap)�unittest� TestSuite�suiter )�self� r
�E/opt/alt/python37/lib/python3.7/site-packages/tap/tests/test_rules.py� _make_one
s
zTestRules._make_onec C sP | j jdd�}| �� }|�|� | �dt| jj�� | �d| jjd jj � d S )NzSkip on Mondays.)Zdirective_text� r )
�factory� make_planr Zhandle_skipping_plan�assertEqual�lenr �_tests�_line�description)r Z skip_plan�rulesr
r
r �test_handles_skipping_plan s
z$TestRules.test_handles_skipping_planc C sV | j �� }| �� }|�|d� | �|jd d d |� | �|jd d d d� d S )N� �planr r
)r r r �saw_planr Z_lines_seen)r r r r
r
r �test_tracks_plan_line s
zTestRules.test_tracks_plan_linec C sH | j �� }| �� }|�|d� |�d� | �td�| jjd j j
� d S )N�) �* z7A plan must appear at the beginning or end of the file.r )r r r r �checkr r r r r r )r r r r
r
r �test_errors_plan_not_at_end$ s
z%TestRules.test_errors_plan_not_at_endc C s2 | � � }|�d� | �td�| jjd jj� d S )Nr zMissing a plan.r )r r r r r r r r )r r r
r
r �test_requires_plan/ s
zTestRules.test_requires_planc C sT | j �� }| �� }|�|d� |�|d� |�d� | �td�| jjd j j
� d S )Nr r z)Only one plan line is permitted per file.r )r r r r r r r r r r r )r r r r
r
r �test_only_one_plan7 s
zTestRules.test_only_one_planc C s. | � � }|�d� |jddd�}| �|� dS )z:A plan may appear on line 2 when line 1 is a version line.r
� r )Zat_lineZfinal_line_countN)r Zsaw_version_atZ_plan_on_valid_line�
assertTrue)r r Zvalidr
r
r �test_plan_line_twoC s
zTestRules.test_plan_line_twoc C s^ | j jdd�}| �� }|�|d� |�� |�d� | �td�jddd�| j j
d jj� d S )Nr )�expected_testsr
r! z:Expected {expected_count} tests but only {seen_count} ran.)Zexpected_countZ
seen_countr )
r r r r Zsaw_testr r r �formatr r r r )r r r r
r
r �3test_errors_when_expected_tests_differs_from_actualL s
z=TestRules.test_errors_when_expected_tests_differs_from_actualc C s\ | j jdd�}| �� }|�|� | �dt| jj�� | �td�j dd�| jjd j
j� d S )NzMissing something important.)�reasonr
zBailed: {reason}r )r Z make_bailr Zhandle_bailr r r r r r% r r )r �bailr r
r
r �test_errors_on_bailY s
zTestRules.test_errors_on_bailN)
�__name__�
__module__�__qualname__�__doc__r r r r r r r# r&