File Coverage

blib/lib/Test/BDD/Cucumber/Model/Scenario.pm
Criterion Covered Total %
statement 14 14 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 19 19 100.0


line stmt bran cond sub pod time code
1 18     18   103593 use v5.14;
  18         81  
2 18     18   105 use warnings;
  18         51  
  18         793  
3              
4             package Test::BDD::Cucumber::Model::Scenario 0.85;
5              
6 18     18   670 use Moo;
  18         11505  
  18         121  
7 18     18   8149 use Types::Standard qw( Str ArrayRef HashRef Bool InstanceOf );
  18         76574  
  18         146  
8              
9 18     18   18963 use Carp;
  18         78  
  18         5699  
10              
11             =head1 NAME
12              
13             Test::BDD::Cucumber::Model::Scenario - Model to represent a scenario
14              
15             =head1 VERSION
16              
17             version 0.85
18              
19             =head1 DESCRIPTION
20              
21             Model to represent a scenario
22              
23             =head1 ATTRIBUTES
24              
25             =head2 name
26              
27             The text after the C keyword
28              
29             =cut
30              
31             has 'name' => ( is => 'rw', isa => Str );
32              
33             =head2 description
34              
35             The text between the Scenario line and the first step line
36              
37             =cut
38              
39             has 'description' => (
40             is => 'rw',
41             isa => ArrayRef[InstanceOf['Test::BDD::Cucumber::Model::Line']],
42             default => sub { [] },
43             );
44              
45             =head2 steps
46              
47             The associated L objects
48              
49             =cut
50              
51             has 'steps' => (
52             is => 'rw',
53             isa => ArrayRef[InstanceOf['Test::BDD::Cucumber::Model::Step']],
54             default => sub { [] }
55             );
56              
57             =head2 datasets
58              
59             The dataset(s) associated with a scenario.
60              
61             =cut
62              
63             has 'datasets' => (
64             is => 'rw',
65             isa => ArrayRef[InstanceOf['Test::BDD::Cucumber::Model::Dataset']],
66             default => sub { [] }
67             );
68              
69             =head2 background
70              
71             Boolean flag to mark whether this was the background section
72              
73             =cut
74              
75             has 'background' => ( is => 'rw', isa => Bool, default => 0 );
76              
77             =head2 keyword
78              
79             =head2 keyword_original
80              
81             The keyword used in the input file (C) and its specification
82             equivalent (C) used to start this scenario. (I.e. C,
83             C and C.)
84              
85             =cut
86              
87             has 'keyword' => ( is => 'rw', isa => Str );
88             has 'keyword_original' => ( is => 'rw', isa => Str );
89              
90              
91             =head2 line
92              
93             A L object corresponding to the line where
94             the C keyword is.
95              
96             =cut
97              
98             has 'line' => ( is => 'rw', isa => InstanceOf['Test::BDD::Cucumber::Model::Line'] );
99              
100             =head2 tags
101              
102             Tags that the scenario has been tagged with, and has inherited from its
103             feature.
104              
105             =cut
106              
107             has 'tags' => ( is => 'rw', isa => ArrayRef[Str], default => sub { [] } );
108              
109             =head1 AUTHOR
110              
111             Peter Sergeant C
112              
113             =head1 LICENSE
114              
115             Copyright 2019-2023, Erik Huelsmann
116             Copyright 2011-2019, Peter Sergeant; Licensed under the same terms as Perl
117              
118             =cut
119              
120             1;