kosmas58-cucumber 0.1.99.23 → 0.1.100.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +8 -23
- data/Manifest.txt +14 -2
- data/examples/i18n/en-lol/Rakefile +6 -0
- data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
- data/examples/i18n/en-lol/features/stuffing.feature +8 -0
- data/examples/i18n/en-lol/features/support/env.rb +8 -0
- data/examples/i18n/en-lol/lib/basket.rb +12 -0
- data/examples/i18n/en-lol/lib/belly.rb +11 -0
- data/examples/i18n/et/features/jagamine.feature +9 -0
- data/examples/jbehave/README.textile +4 -1
- data/examples/jbehave/features/trading.feature +4 -0
- data/examples/jbehave/pom.xml +5 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java +6 -1
- data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium/features/support/env.rb +19 -0
- data/examples/selenium_webrat/Rakefile +6 -0
- data/examples/selenium_webrat/features/search.feature +9 -0
- data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium_webrat/features/support/env.rb +41 -0
- data/examples/self_test/Rakefile +1 -1
- data/examples/self_test/features/background/failing_background.feature +1 -0
- data/examples/self_test/features/step_definitions/sample_steps.rb +1 -1
- data/examples/self_test/features/support/tag_count_formatter.rb +1 -1
- data/examples/tickets/Rakefile +13 -8
- data/examples/tickets/cucumber.yml +2 -1
- data/examples/tickets/features/236.feature +13 -0
- data/examples/tickets/features/241.feature +13 -0
- data/examples/tickets/features/step_definitons/tickets_steps.rb +17 -4
- data/examples/tickets/features/tickets.feature +1 -1
- data/features/background.feature +9 -11
- data/features/cucumber_cli.feature +24 -1
- data/features/cucumber_cli_outlines.feature +10 -19
- data/features/report_called_undefined_steps.feature +2 -0
- data/gem_tasks/rspec.rake +3 -2
- data/lib/cucumber.rb +7 -15
- data/lib/cucumber/ast.rb +3 -3
- data/lib/cucumber/ast/background.rb +28 -66
- data/lib/cucumber/ast/examples.rb +15 -3
- data/lib/cucumber/ast/feature.rb +20 -24
- data/lib/cucumber/ast/feature_element.rb +46 -0
- data/lib/cucumber/ast/features.rb +2 -21
- data/lib/cucumber/ast/outline_table.rb +46 -14
- data/lib/cucumber/ast/py_string.rb +9 -3
- data/lib/cucumber/ast/scenario.rb +34 -73
- data/lib/cucumber/ast/scenario_outline.rb +40 -42
- data/lib/cucumber/ast/step.rb +51 -90
- data/lib/cucumber/ast/step_collection.rb +66 -0
- data/lib/cucumber/ast/step_invocation.rb +110 -0
- data/lib/cucumber/ast/table.rb +41 -21
- data/lib/cucumber/ast/tags.rb +4 -11
- data/lib/cucumber/ast/visitor.rb +35 -19
- data/lib/cucumber/broadcaster.rb +1 -3
- data/lib/cucumber/cli/configuration.rb +25 -17
- data/lib/cucumber/cli/language_help_formatter.rb +4 -4
- data/lib/cucumber/cli/main.rb +6 -4
- data/lib/cucumber/core_ext/proc.rb +2 -2
- data/lib/cucumber/formatter/ansicolor.rb +0 -1
- data/lib/cucumber/formatter/console.rb +24 -34
- data/lib/cucumber/formatter/html.rb +18 -11
- data/lib/cucumber/formatter/pretty.rb +48 -36
- data/lib/cucumber/formatter/profile.rb +6 -6
- data/lib/cucumber/formatter/progress.rb +14 -22
- data/lib/cucumber/formatter/rerun.rb +6 -6
- data/lib/cucumber/jbehave.rb +21 -26
- data/lib/cucumber/languages.yml +17 -2
- data/lib/cucumber/parser/feature.rb +26 -29
- data/lib/cucumber/parser/feature.tt +17 -12
- data/lib/cucumber/parser/treetop_ext.rb +13 -13
- data/lib/cucumber/platform.rb +0 -1
- data/lib/cucumber/rails/world.rb +2 -2
- data/lib/cucumber/rake/task.rb +1 -2
- data/lib/cucumber/step_definition.rb +21 -12
- data/lib/cucumber/step_match.rb +49 -0
- data/lib/cucumber/step_mother.rb +100 -80
- data/lib/cucumber/version.rb +2 -2
- data/lib/cucumber/world.rb +53 -0
- data/rails_generators/cucumber/templates/paths.rb +1 -1
- data/rails_generators/cucumber/templates/webrat_steps.rb +17 -17
- data/rails_generators/feature/feature_generator.rb +5 -1
- data/rails_generators/feature/templates/steps.erb +0 -4
- data/spec/cucumber/ast/background_spec.rb +32 -41
- data/spec/cucumber/ast/feature_factory.rb +10 -1
- data/spec/cucumber/ast/feature_spec.rb +7 -30
- data/spec/cucumber/ast/py_string_spec.rb +7 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +3 -0
- data/spec/cucumber/ast/scenario_spec.rb +8 -25
- data/spec/cucumber/ast/step_collection_spec.rb +8 -0
- data/spec/cucumber/ast/step_spec.rb +49 -28
- data/spec/cucumber/ast/table_spec.rb +13 -3
- data/spec/cucumber/ast/tags_spec.rb +2 -18
- data/spec/cucumber/broadcaster_spec.rb +6 -5
- data/spec/cucumber/cli/configuration_spec.rb +7 -0
- data/spec/cucumber/cli/main_spec.rb +1 -1
- data/spec/cucumber/parser/feature_parser_spec.rb +6 -5
- data/spec/cucumber/step_definition_spec.rb +16 -5
- data/spec/cucumber/step_mother_spec.rb +6 -6
- data/spec/cucumber/world/pending_spec.rb +1 -1
- metadata +24 -5
- data/lib/cucumber/ast/filter.rb +0 -22
- data/lib/cucumber/ast/steps.rb +0 -13
@@ -0,0 +1,13 @@
|
|
1
|
+
Users want to use cucumber, so tests are necessary to verify
|
2
|
+
it is all working as expected
|
3
|
+
|
4
|
+
Feature: Using the Console Formatter
|
5
|
+
In order to verify this error
|
6
|
+
I want to run this feature using the progress format
|
7
|
+
So that it can be fixed
|
8
|
+
|
9
|
+
Scenario: A normal feature
|
10
|
+
Given I have a pending step
|
11
|
+
When I run this feature with the progress format
|
12
|
+
Then I should get a no method error for 'backtrace_line'
|
13
|
+
|
@@ -5,9 +5,6 @@ World do
|
|
5
5
|
end
|
6
6
|
|
7
7
|
After do |scenario|
|
8
|
-
if scenario.status.index(:failed)
|
9
|
-
# Call the BDD police
|
10
|
-
end
|
11
8
|
end
|
12
9
|
|
13
10
|
Given "be_empty" do
|
@@ -53,8 +50,24 @@ Then /^I should be (\w+) in (\w+)$/ do |key, value|
|
|
53
50
|
hash[key].should == value
|
54
51
|
end
|
55
52
|
|
56
|
-
Then /^I
|
53
|
+
Then /^I should see a multiline string like$/ do |s|
|
57
54
|
s.should == %{A string
|
58
55
|
that spans
|
59
56
|
several lines}
|
60
57
|
end
|
58
|
+
|
59
|
+
Given /^the following users exist in the system$/ do |table|
|
60
|
+
table.hashes[0][:role_assignments].should == 'HUMAN RESOURCE'
|
61
|
+
end
|
62
|
+
|
63
|
+
Given /^I have a pending step$/ do
|
64
|
+
pending
|
65
|
+
end
|
66
|
+
|
67
|
+
When /^I run this feature with the progress format$/ do
|
68
|
+
pending
|
69
|
+
end
|
70
|
+
|
71
|
+
Then /^I should get a no method error for 'backtrace_line'$/ do
|
72
|
+
pending
|
73
|
+
end
|
data/features/background.feature
CHANGED
@@ -16,7 +16,7 @@ Feature: backgrounds
|
|
16
16
|
Then I should have '10' cukes
|
17
17
|
|
18
18
|
1 scenario
|
19
|
-
|
19
|
+
3 passed steps
|
20
20
|
|
21
21
|
"""
|
22
22
|
|
@@ -64,7 +64,7 @@ Feature: backgrounds
|
|
64
64
|
| 10 |
|
65
65
|
|
66
66
|
2 scenarios
|
67
|
-
|
67
|
+
5 passed steps
|
68
68
|
|
69
69
|
"""
|
70
70
|
|
@@ -80,6 +80,7 @@ Feature: backgrounds
|
|
80
80
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
81
81
|
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
82
82
|
features/background/failing_background.feature:4:in `Given failing without a table'
|
83
|
+
And '10' cukes
|
83
84
|
|
84
85
|
Scenario: failing background
|
85
86
|
Then I should have '10' cukes
|
@@ -88,8 +89,8 @@ Feature: backgrounds
|
|
88
89
|
Then I should have '10' cukes
|
89
90
|
|
90
91
|
2 scenarios
|
91
|
-
|
92
|
-
|
92
|
+
1 failed step
|
93
|
+
5 skipped steps
|
93
94
|
|
94
95
|
"""
|
95
96
|
|
@@ -121,8 +122,8 @@ Feature: backgrounds
|
|
121
122
|
| 10 |
|
122
123
|
|
123
124
|
2 scenarios
|
124
|
-
|
125
|
-
|
125
|
+
1 failed step
|
126
|
+
4 skipped steps
|
126
127
|
|
127
128
|
"""
|
128
129
|
|
@@ -160,15 +161,12 @@ Feature: backgrounds
|
|
160
161
|
Scenario: passing background
|
161
162
|
Then I should have '10' global cukes
|
162
163
|
|
163
|
-
|
164
|
-
Given passing without a table
|
164
|
+
Scenario: failing background
|
165
165
|
And '10' global cukes
|
166
166
|
FAIL (RuntimeError)
|
167
167
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
168
168
|
./features/step_definitions/sample_steps.rb:37:in `/^'(.+)' global cukes$/'
|
169
|
-
features/background/failing_background_after_success.feature:
|
170
|
-
|
171
|
-
Scenario: failing background
|
169
|
+
features/background/failing_background_after_success.feature:5:in `And '10' global cukes'
|
172
170
|
Then I should have '10' global cukes
|
173
171
|
|
174
172
|
2 scenarios
|
@@ -32,7 +32,7 @@ Feature: Cucumber command line
|
|
32
32
|
features/sample.feature:6:in `Given missing'
|
33
33
|
|
34
34
|
1 scenario
|
35
|
-
1
|
35
|
+
1 undefined step
|
36
36
|
|
37
37
|
"""
|
38
38
|
|
@@ -337,6 +337,29 @@ Feature: Cucumber command line
|
|
337
337
|
|
338
338
|
"""
|
339
339
|
|
340
|
+
Scenario: Run with a negative tag
|
341
|
+
When I run cucumber -q features/sample.feature --dry-run -t ~four
|
342
|
+
Then it should pass with
|
343
|
+
"""
|
344
|
+
@one
|
345
|
+
Feature: Sample
|
346
|
+
|
347
|
+
@two @three
|
348
|
+
Scenario: Missing
|
349
|
+
Given missing
|
350
|
+
|
351
|
+
@three
|
352
|
+
Scenario: Passing
|
353
|
+
Given passing
|
354
|
+
| a | b |
|
355
|
+
| c | d |
|
356
|
+
|
357
|
+
2 scenarios
|
358
|
+
1 skipped step
|
359
|
+
1 undefined step
|
360
|
+
|
361
|
+
"""
|
362
|
+
|
340
363
|
Scenario: Reformat files with --autoformat
|
341
364
|
When I run cucumber --autoformat tmp/formatted features
|
342
365
|
Then examples/self_test/tmp/formatted/features/sample.feature should contain
|
@@ -17,10 +17,10 @@ Feature: Cucumber command line
|
|
17
17
|
| missing | passing |
|
18
18
|
| passing | passing |
|
19
19
|
| failing | passing |
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
FAIL (RuntimeError)
|
21
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
22
|
+
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
23
|
+
features/outline_sample.feature:6:in `Given <state> without a table'
|
24
24
|
|
25
25
|
Examples: Only passing
|
26
26
|
| state | other_state |
|
@@ -34,8 +34,6 @@ Feature: Cucumber command line
|
|
34
34
|
|
35
35
|
"""
|
36
36
|
|
37
|
-
# The "Only Passing" should not be printed
|
38
|
-
@buggy
|
39
37
|
Scenario: Run single failing scenario outline table row
|
40
38
|
When I run cucumber features/outline_sample.feature:12
|
41
39
|
Then it should fail with
|
@@ -49,13 +47,10 @@ Feature: Cucumber command line
|
|
49
47
|
Examples: Rainbow colours
|
50
48
|
| state | other_state |
|
51
49
|
| failing | passing |
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
Examples: Only passing
|
58
|
-
| state | other_state |
|
50
|
+
FAIL (RuntimeError)
|
51
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
52
|
+
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
53
|
+
features/outline_sample.feature:6:in `Given <state> without a table'
|
59
54
|
|
60
55
|
1 scenario
|
61
56
|
1 failed step
|
@@ -67,18 +62,14 @@ Feature: Cucumber command line
|
|
67
62
|
When I run cucumber -q --format progress features/outline_sample.feature
|
68
63
|
Then it should fail with
|
69
64
|
"""
|
70
|
-
|
71
|
-
|
72
|
-
(::) undefined scenarios (::)
|
73
|
-
|
74
|
-
features/outline_sample.feature:3:in `Scenario: I have no steps'
|
65
|
+
----U-..F---..
|
75
66
|
|
76
67
|
(::) failed steps (::)
|
77
68
|
|
78
69
|
FAIL (RuntimeError)
|
79
70
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
80
71
|
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
81
|
-
features/outline_sample.feature:
|
72
|
+
features/outline_sample.feature:6:in `Given <state> without a table'
|
82
73
|
|
83
74
|
5 scenarios
|
84
75
|
1 failed step
|
@@ -12,11 +12,13 @@ Feature: Cucumber command line
|
|
12
12
|
Given a step definition that calls an undefined step # features/step_definitions/sample_steps.rb:19
|
13
13
|
Undefined step: "this does not exist" (Cucumber::Undefined)
|
14
14
|
./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
|
15
|
+
features/call_undefined_step_from_step_def.feature:4:in `Given a step definition that calls an undefined step'
|
15
16
|
|
16
17
|
Scenario: Call via another # features/call_undefined_step_from_step_def.feature:6
|
17
18
|
Given call step "a step definition that calls an undefined step" # features/step_definitions/sample_steps.rb:23
|
18
19
|
Undefined step: "this does not exist" (Cucumber::Undefined)
|
19
20
|
./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
|
21
|
+
features/call_undefined_step_from_step_def.feature:7:in `Given call step "a step definition that calls an undefined step"'
|
20
22
|
|
21
23
|
2 scenarios
|
22
24
|
2 undefined steps
|
data/gem_tasks/rspec.rake
CHANGED
@@ -32,7 +32,8 @@ if require_spec
|
|
32
32
|
t.spec_opts = ['--options', "spec/spec.opts"]
|
33
33
|
t.spec_files = FileList['spec/**/*_spec.rb']
|
34
34
|
t.fail_on_error = false
|
35
|
-
t.rcov = true
|
36
|
-
t.
|
35
|
+
#t.rcov = true
|
36
|
+
t.rcov = ENV['RCOV']
|
37
|
+
t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/}
|
37
38
|
end
|
38
39
|
end
|
data/lib/cucumber.rb
CHANGED
@@ -44,24 +44,16 @@ module Cucumber
|
|
44
44
|
alias_steps(keywords)
|
45
45
|
end
|
46
46
|
|
47
|
-
# Sets up additional aliases for Given, When and Then.
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
# Cucumber.alias_steps %w{Gitt Naar Saa}
|
52
|
-
#
|
53
|
-
# You cannot use special characters here, because methods
|
54
|
-
# with special characters is not valid Ruby code
|
47
|
+
# Sets up additional method aliases for Given, When and Then.
|
48
|
+
# This does *not* affect how feature files are parsed. If you
|
49
|
+
# want to create aliases in the parser, you have to do this in
|
50
|
+
# languages.yml. For example:
|
55
51
|
#
|
52
|
+
# and: And|With
|
56
53
|
def alias_steps(keywords)
|
57
54
|
keywords.each do |adverb|
|
58
|
-
StepMother.
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
StepMother::WorldMethods.class_eval do
|
63
|
-
alias_method adverb, :__cucumber_invoke
|
64
|
-
end
|
55
|
+
StepMother.alias_adverb(adverb)
|
56
|
+
World.alias_adverb(adverb)
|
65
57
|
end
|
66
58
|
end
|
67
59
|
end
|
data/lib/cucumber/ast.rb
CHANGED
@@ -2,17 +2,17 @@ require 'cucumber/ast/comment'
|
|
2
2
|
require 'cucumber/ast/tags'
|
3
3
|
require 'cucumber/ast/features'
|
4
4
|
require 'cucumber/ast/feature'
|
5
|
+
require 'cucumber/ast/background'
|
5
6
|
require 'cucumber/ast/scenario'
|
6
7
|
require 'cucumber/ast/scenario_outline'
|
7
|
-
require 'cucumber/ast/
|
8
|
-
require 'cucumber/ast/
|
8
|
+
require 'cucumber/ast/step_invocation'
|
9
|
+
require 'cucumber/ast/step_collection'
|
9
10
|
require 'cucumber/ast/step'
|
10
11
|
require 'cucumber/ast/table'
|
11
12
|
require 'cucumber/ast/py_string'
|
12
13
|
require 'cucumber/ast/outline_table'
|
13
14
|
require 'cucumber/ast/examples'
|
14
15
|
require 'cucumber/ast/visitor'
|
15
|
-
require 'cucumber/ast/filter'
|
16
16
|
|
17
17
|
module Cucumber
|
18
18
|
# Classes in this module represent the Abstract Syntax Tree (AST)
|
@@ -1,88 +1,50 @@
|
|
1
|
+
require 'cucumber/ast/feature_element'
|
2
|
+
|
1
3
|
module Cucumber
|
2
4
|
module Ast
|
3
|
-
class Background
|
4
|
-
|
5
|
-
|
6
|
-
attr_reader :status
|
5
|
+
class Background
|
6
|
+
include FeatureElement
|
7
|
+
attr_writer :feature
|
7
8
|
|
8
9
|
def initialize(comment, line, keyword, steps)
|
9
|
-
@
|
10
|
-
|
10
|
+
@comment, @line, @keyword, @steps = comment, line, keyword, StepCollection.new(steps)
|
11
|
+
attach_steps(steps)
|
12
|
+
@step_invocations = @steps.step_invocations(true)
|
11
13
|
end
|
12
14
|
|
13
|
-
def
|
14
|
-
@
|
15
|
-
|
16
|
-
@
|
15
|
+
def step_collection(step_invocations)
|
16
|
+
unless(@first_collection_created)
|
17
|
+
@first_collection_created = true
|
18
|
+
@step_invocations.dup(step_invocations)
|
17
19
|
else
|
18
|
-
@
|
19
|
-
@steps_visited = true
|
20
|
+
@steps.step_invocations(true).dup(step_invocations)
|
20
21
|
end
|
21
22
|
end
|
22
23
|
|
23
|
-
def
|
24
|
-
|
24
|
+
def accept(visitor)
|
25
|
+
visitor.visit_comment(@comment)
|
26
|
+
visitor.visit_background_name(@keyword, "", file_colon_line(@line), source_indent(text_length))
|
27
|
+
visitor.step_mother.before_and_after(self)
|
28
|
+
visitor.visit_steps(@step_invocations)
|
29
|
+
@failed = @step_invocations.detect{|step_invocation| step_invocation.exception}
|
30
|
+
end
|
31
|
+
|
32
|
+
def failed?
|
33
|
+
@failed
|
25
34
|
end
|
26
35
|
|
27
|
-
def
|
28
|
-
@
|
36
|
+
def text_length
|
37
|
+
@keyword.jlength
|
29
38
|
end
|
30
39
|
|
31
|
-
def to_sexp
|
40
|
+
def to_sexp
|
32
41
|
sexp = [:background, @line, @keyword]
|
33
42
|
comment = @comment.to_sexp
|
34
43
|
sexp += [comment] if comment
|
35
|
-
|
36
|
-
sexp += tags if tags.any?
|
37
|
-
steps = @steps.map{|step| step.to_sexp}
|
44
|
+
steps = @steps.to_sexp
|
38
45
|
sexp += steps if steps.any?
|
39
46
|
sexp
|
40
47
|
end
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
def visit_background_and_steps(visitor, steps)
|
45
|
-
visitor.visit_comment(@comment)
|
46
|
-
visitor.visit_scenario_name(@keyword, @name, file_line(@line), source_indent(text_length))
|
47
|
-
|
48
|
-
previous = :passed
|
49
|
-
steps.each do |step|
|
50
|
-
step.previous = previous
|
51
|
-
step.world = @world
|
52
|
-
visitor.visit_step(step)
|
53
|
-
previous = step.status
|
54
|
-
end
|
55
|
-
previous
|
56
|
-
end
|
57
|
-
|
58
|
-
def execute_steps(visitor)
|
59
|
-
previous = :passed
|
60
|
-
executed_steps = []
|
61
|
-
exception = nil
|
62
|
-
@steps.each do |step|
|
63
|
-
executed_step, previous, _ = step.execute_as_new(@world, previous, visitor, @line)
|
64
|
-
executed_steps << executed_step
|
65
|
-
exception ||= executed_step.exception
|
66
|
-
end
|
67
|
-
@steps = executed_steps
|
68
|
-
|
69
|
-
if exception && @status != :failed
|
70
|
-
without_recording_steps do
|
71
|
-
@steps_visited = false
|
72
|
-
#Since the steps have already been executed they will not be re-run, they will just be displayed
|
73
|
-
visitor.visit_background(self)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
previous
|
78
|
-
end
|
79
|
-
|
80
|
-
def without_recording_steps
|
81
|
-
@record_executed_steps = false
|
82
|
-
yield
|
83
|
-
@record_executed_steps = true
|
84
|
-
end
|
85
|
-
|
86
48
|
end
|
87
49
|
end
|
88
|
-
end
|
50
|
+
end
|
@@ -10,12 +10,24 @@ module Cucumber
|
|
10
10
|
visitor.visit_outline_table(@outline_table)
|
11
11
|
end
|
12
12
|
|
13
|
+
def descend?(visitor)
|
14
|
+
@outline_table.descend?(visitor)
|
15
|
+
end
|
16
|
+
|
17
|
+
def skip_invoke!
|
18
|
+
@outline_table.skip_invoke!
|
19
|
+
end
|
20
|
+
|
21
|
+
def matches_scenario_names?(scenario_names)
|
22
|
+
scenario_names.detect{|name| name == @name}
|
23
|
+
end
|
24
|
+
|
13
25
|
def each_example_row(&proc)
|
14
|
-
@outline_table.
|
26
|
+
@outline_table.cells_rows[1..-1].each(&proc)
|
15
27
|
end
|
16
28
|
|
17
|
-
def
|
18
|
-
lines.
|
29
|
+
def matches_lines?(lines)
|
30
|
+
lines.index(@line) || @outline_table.matches_lines?(lines)
|
19
31
|
end
|
20
32
|
|
21
33
|
def to_sexp
|