cucumber 0.3.0 → 0.3.1
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 +26 -1
- data/Manifest.txt +20 -1
- data/config/hoe.rb +5 -4
- data/examples/i18n/hu/Rakefile +6 -0
- data/examples/i18n/hu/features/addition.feature +16 -0
- data/examples/i18n/hu/features/division.feature +9 -0
- data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +25 -0
- data/examples/i18n/hu/lib/calculator.rb +14 -0
- data/examples/i18n/lv/Rakefile +6 -0
- data/examples/i18n/lv/features/addition.feature +16 -0
- data/examples/i18n/lv/features/division.feature +9 -0
- data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/lv/lib/calculator.rb +14 -0
- data/examples/self_test/features/background/failing_background.feature +1 -0
- data/examples/self_test/features/multiline_name.feature +27 -0
- data/examples/self_test/features/search_sample.feature +22 -0
- data/examples/self_test/features/step_definitions/sample_steps.rb +3 -2
- data/examples/tickets/Rakefile +3 -3
- data/examples/tickets/features/236.feature +9 -9
- data/examples/tickets/features/272/hooks.feature +26 -0
- data/examples/tickets/features/272/hooks_steps.rb +53 -0
- data/examples/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
- data/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
- data/examples/tickets/features/306/only_background.feature +4 -0
- data/features/background.feature +2 -1
- data/features/cucumber_cli.feature +88 -12
- data/features/cucumber_cli_outlines.feature +32 -0
- data/features/custom_formatter.feature +2 -2
- data/features/multiline_names.feature +43 -0
- data/features/report_called_undefined_steps.feature +1 -1
- data/features/usage.feature +13 -4
- data/lib/cucumber/ast/background.rb +10 -13
- data/lib/cucumber/ast/feature.rb +5 -0
- data/lib/cucumber/ast/feature_element.rb +23 -12
- data/lib/cucumber/ast/outline_table.rb +10 -0
- data/lib/cucumber/ast/py_string.rb +5 -1
- data/lib/cucumber/ast/scenario.rb +17 -6
- data/lib/cucumber/ast/scenario_outline.rb +1 -6
- data/lib/cucumber/ast/step.rb +6 -3
- data/lib/cucumber/ast/step_collection.rb +9 -1
- data/lib/cucumber/ast/table.rb +8 -0
- data/lib/cucumber/ast/visitor.rb +2 -2
- data/lib/cucumber/cli/configuration.rb +15 -14
- data/lib/cucumber/formatter/console.rb +1 -1
- data/lib/cucumber/formatter/html.rb +1 -1
- data/lib/cucumber/formatter/pretty.rb +7 -8
- data/lib/cucumber/languages.yml +30 -0
- data/lib/cucumber/parser/feature.rb +214 -14
- data/lib/cucumber/parser/feature.tt +44 -14
- data/lib/cucumber/parser/treetop_ext.rb +3 -3
- data/lib/cucumber/rails/world.rb +6 -0
- data/lib/cucumber/step_mother.rb +2 -1
- data/lib/cucumber/version.rb +1 -1
- data/lib/cucumber/world.rb +2 -2
- data/rails_generators/cucumber/templates/paths.rb +11 -13
- data/rails_generators/feature/feature_generator.rb +1 -1
- data/spec/cucumber/ast/feature_element_spec.rb +40 -0
- data/spec/cucumber/ast/py_string_spec.rb +4 -0
- data/spec/cucumber/ast/table_spec.rb +20 -4
- data/spec/cucumber/ast/visitor_spec.rb +27 -0
- data/spec/cucumber/cli/configuration_spec.rb +4 -13
- data/spec/cucumber/cli/main_spec.rb +55 -153
- data/spec/cucumber/parser/feature_parser_spec.rb +79 -0
- data/spec/cucumber/step_mother_spec.rb +12 -5
- metadata +22 -13
- data/spec/cucumber/formatters/profile_formatter_spec.rb +0 -198
data/History.txt
CHANGED
@@ -1,4 +1,29 @@
|
|
1
|
-
== 0.3.
|
1
|
+
== 0.3.1 2009-04-26
|
2
|
+
|
3
|
+
This release has several minor bug fixes and new features. With the addition of Latvian and Hungarian Cucumber
|
4
|
+
now supports 32(!!) languages.
|
5
|
+
|
6
|
+
=== New features
|
7
|
+
* Support multiline names for Scenarios, Scenario Outlines, Backgrounds, Examples (#231 Joseph Wilk)
|
8
|
+
* Added #headers to Cucumber::Ast::Table (Ben Mabey)
|
9
|
+
* New translation for Latvian (Vitauts Stočka)
|
10
|
+
* New translation for Hungarian (#287 Bence Golda)
|
11
|
+
* Pick up failure on after hook (#272 Aslak Hellesøy)
|
12
|
+
|
13
|
+
=== Bugfixes
|
14
|
+
* Pretty formatter not colouring Examples tables correctly (#304 Aslak Hellesøy)
|
15
|
+
* Problem using --scenario and Scenario Outline (#298 Aslak Hellesøy)
|
16
|
+
* Tag Hook gets executed always there is a background (#301 Aslak Hellesøy)
|
17
|
+
* Feature which only has a Background with steps causes an exception (#306 Aslak Hellesøy)
|
18
|
+
* Gem no longer depends on Hoe (Aslak Hellesøy)
|
19
|
+
* Span html tags appear on HTML results with 0.3.0 (#299 Aslak Hellesøy)
|
20
|
+
* Fixed incorrect colours in pretty formatter's table headers for outline tables (Aslak Hellesøy)
|
21
|
+
* Exceptions from steps called within hooks are now reraised. (#294 Ben Mabey)
|
22
|
+
|
23
|
+
=== Removed/changed features
|
24
|
+
* --scenario handle has been removed and replaced with --name which supports partial matches, regexp special characters, running named backgrounds (#295 Joseph Wilk)
|
25
|
+
|
26
|
+
== 0.3.0 2009-04-14
|
2
27
|
|
3
28
|
This release has some minor changes to the APIs, but big enough that a new major release is in order.
|
4
29
|
The biggest change is the new semantics of the #World method. Previously you would call this method
|
data/Manifest.txt
CHANGED
@@ -67,6 +67,11 @@ examples/i18n/fr/Rakefile
|
|
67
67
|
examples/i18n/fr/features/addition.feature
|
68
68
|
examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
|
69
69
|
examples/i18n/fr/lib/calculatrice.rb
|
70
|
+
examples/i18n/hu/Rakefile
|
71
|
+
examples/i18n/hu/features/addition.feature
|
72
|
+
examples/i18n/hu/features/division.feature
|
73
|
+
examples/i18n/hu/features/step_definitons/calculator_steps.rb
|
74
|
+
examples/i18n/hu/lib/calculator.rb
|
70
75
|
examples/i18n/id/Rakefile
|
71
76
|
examples/i18n/id/features/addition.feature
|
72
77
|
examples/i18n/id/features/division.feature
|
@@ -91,6 +96,11 @@ examples/i18n/lt/features/addition.feature
|
|
91
96
|
examples/i18n/lt/features/division.feature
|
92
97
|
examples/i18n/lt/features/step_definitons/calculator_steps.rb
|
93
98
|
examples/i18n/lt/lib/calculator.rb
|
99
|
+
examples/i18n/lv/Rakefile
|
100
|
+
examples/i18n/lv/features/addition.feature
|
101
|
+
examples/i18n/lv/features/division.feature
|
102
|
+
examples/i18n/lv/features/step_definitons/calculator_steps.rb
|
103
|
+
examples/i18n/lv/lib/calculator.rb
|
94
104
|
examples/i18n/no/Rakefile
|
95
105
|
examples/i18n/no/features/step_definitons/kalkulator_steps.rb
|
96
106
|
examples/i18n/no/features/summering.feature
|
@@ -159,8 +169,10 @@ examples/self_test/features/background/scenario_outline_passing_background.featu
|
|
159
169
|
examples/self_test/features/call_undefined_step_from_step_def.feature
|
160
170
|
examples/self_test/features/failing_expectation.feature
|
161
171
|
examples/self_test/features/lots_of_undefined.feature
|
172
|
+
examples/self_test/features/multiline_name.feature
|
162
173
|
examples/self_test/features/outline_sample.feature
|
163
174
|
examples/self_test/features/sample.feature
|
175
|
+
examples/self_test/features/search_sample.feature
|
164
176
|
examples/self_test/features/step_definitions/sample_steps.rb
|
165
177
|
examples/self_test/features/support/env.rb
|
166
178
|
examples/self_test/features/support/tag_count_formatter.rb
|
@@ -190,9 +202,14 @@ examples/tickets/features/246.feature
|
|
190
202
|
examples/tickets/features/248.feature
|
191
203
|
examples/tickets/features/270/back.feature
|
192
204
|
examples/tickets/features/270/back.steps.rb
|
205
|
+
examples/tickets/features/272/hooks.feature
|
206
|
+
examples/tickets/features/272/hooks_steps.rb
|
193
207
|
examples/tickets/features/279/py_string_indent.feature
|
194
208
|
examples/tickets/features/279/py_string_indent.steps.rb
|
195
209
|
examples/tickets/features/279/wrong.feature_
|
210
|
+
examples/tickets/features/301/filter_background_tagged_hooks.feature
|
211
|
+
examples/tickets/features/301/filter_background_tagged_hooks_steps.rb
|
212
|
+
examples/tickets/features/306/only_background.feature
|
196
213
|
examples/tickets/features/lib/eatting_machine.rb
|
197
214
|
examples/tickets/features/lib/pantry.rb
|
198
215
|
examples/tickets/features/scenario_outline.feature
|
@@ -211,6 +228,7 @@ features/cucumber_cli.feature
|
|
211
228
|
features/cucumber_cli_diff_disabled.feature
|
212
229
|
features/cucumber_cli_outlines.feature
|
213
230
|
features/custom_formatter.feature
|
231
|
+
features/multiline_names.feature
|
214
232
|
features/rake_task.feature
|
215
233
|
features/report_called_undefined_steps.feature
|
216
234
|
features/snippet.feature
|
@@ -301,6 +319,7 @@ rails_generators/feature/feature_generator.rb
|
|
301
319
|
rails_generators/feature/templates/feature.erb
|
302
320
|
rails_generators/feature/templates/steps.erb
|
303
321
|
spec/cucumber/ast/background_spec.rb
|
322
|
+
spec/cucumber/ast/feature_element_spec.rb
|
304
323
|
spec/cucumber/ast/feature_factory.rb
|
305
324
|
spec/cucumber/ast/feature_spec.rb
|
306
325
|
spec/cucumber/ast/py_string_spec.rb
|
@@ -309,6 +328,7 @@ spec/cucumber/ast/scenario_spec.rb
|
|
309
328
|
spec/cucumber/ast/step_collection_spec.rb
|
310
329
|
spec/cucumber/ast/step_spec.rb
|
311
330
|
spec/cucumber/ast/table_spec.rb
|
331
|
+
spec/cucumber/ast/visitor_spec.rb
|
312
332
|
spec/cucumber/broadcaster_spec.rb
|
313
333
|
spec/cucumber/cli/configuration_spec.rb
|
314
334
|
spec/cucumber/cli/main_spec.rb
|
@@ -321,7 +341,6 @@ spec/cucumber/formatter/html/cucumber.js
|
|
321
341
|
spec/cucumber/formatter/html/index.html
|
322
342
|
spec/cucumber/formatter/html/jquery-1.3.min.js
|
323
343
|
spec/cucumber/formatter/html/jquery.uitableedit.js
|
324
|
-
spec/cucumber/formatters/profile_formatter_spec.rb
|
325
344
|
spec/cucumber/parser/feature_parser_spec.rb
|
326
345
|
spec/cucumber/parser/table_parser_spec.rb
|
327
346
|
spec/cucumber/rails/stubs/mini_rails.rb
|
data/config/hoe.rb
CHANGED
@@ -38,11 +38,12 @@ RDOC_OPTS = ['--quiet', '--title', 'Cucumber documentation',
|
|
38
38
|
"--main", "README.textile",
|
39
39
|
"--inline-source"]
|
40
40
|
|
41
|
+
# Remove Hoe dependency
|
41
42
|
class Hoe
|
42
|
-
def
|
43
|
-
@
|
44
|
-
@
|
45
|
-
end
|
43
|
+
def extra_dev_deps
|
44
|
+
@extra_dev_deps.reject! { |dep| dep[0] == "hoe" }
|
45
|
+
@extra_dev_deps
|
46
|
+
end
|
46
47
|
end
|
47
48
|
|
48
49
|
# Generate all the Rake tasks
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Jellemző: Összeadás
|
2
|
+
Azért, hogy elkerüljem a buta hibákat
|
3
|
+
amit diszkalkúliásként elkövethetek,
|
4
|
+
két szám összegét szeretném kiszámoltatni.
|
5
|
+
|
6
|
+
Forgatókönyv vázlat: Két szám összeadása
|
7
|
+
Ha beütök a számológépbe egy <be_1>-est
|
8
|
+
És beütök a számológépbe egy <be_2>-est
|
9
|
+
Majd megnyomom az <gomb> gombot
|
10
|
+
Akkor eredményül <ki>-t kell kapnom
|
11
|
+
|
12
|
+
Példák:
|
13
|
+
| be_1 | be_2 | gomb | ki |
|
14
|
+
| 20 | 30 | add | 50 |
|
15
|
+
| 2 | 5 | add | 7 |
|
16
|
+
| 0 | 40 | add | 40 |
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Jellemző: Osztás
|
2
|
+
Azért, hogy elkerüljem a buta hibákat
|
3
|
+
a számológépeknek tudniuk kell osztani.
|
4
|
+
|
5
|
+
Forgatókönyv: Egyszerű számok
|
6
|
+
Ha beütök a számológépbe egy 3-ast
|
7
|
+
És beütök a számológépbe egy 2-est
|
8
|
+
Majd megnyomom a divide gombot
|
9
|
+
Akkor eredményül 1.5-öt kell kapnom
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Ha /^beütök a számológépbe egy (\d+)\-(?:es|as|ös|ás)t$/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
Majd /^megnyomom az? (\w+) gombot$/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Akkor /^eredményül (.*)\-(?:e|a|ö|á|)t kell kapnom$/ do |result|
|
23
|
+
@result.should == result.to_f
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Funkcionalitāte: Saskaitīšana
|
2
|
+
Lai izvairītos no muļķīgām kļūdām
|
3
|
+
Kā matemātikas idiots
|
4
|
+
Es vēlos uzzināt divu skaitļu summu
|
5
|
+
|
6
|
+
Scenārijs pēc parauga: Saskaitīt divus skaitļus
|
7
|
+
Kad esmu ievadījis kalkulatorā <skaitlis_1>
|
8
|
+
Un esmu ievadījis kalkulatorā <skaitlis_2>
|
9
|
+
Ja nospiežu pogu <poga>
|
10
|
+
Tad rezultātam uz ekrāna ir jābūt <rezultāts>
|
11
|
+
|
12
|
+
Paraugs:
|
13
|
+
| skaitlis_1 | skaitlis_2 | poga | rezultāts |
|
14
|
+
| 20 | 30 | add | 50 |
|
15
|
+
| 2 | 5 | add | 7 |
|
16
|
+
| 0 | 40 | add | 40 |
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Funkcionalitāte: Dalīšana
|
2
|
+
Lai izvairītos no muļķīgām kļūdām
|
3
|
+
Kasieriem ir jāprot aprēķināt daļas
|
4
|
+
|
5
|
+
Scenārijs: Veseli skaitļi
|
6
|
+
Kad esmu ievadījis kalkulatorā 3
|
7
|
+
Un esmu ievadījis kalkulatorā 2
|
8
|
+
Ja nospiežu pogu divide
|
9
|
+
Tad rezultātam uz ekrāna ir jābūt 1.5
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /esmu ievadījis kalkulatorā (\d+)/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /nospiežu pogu (\w+)/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /rezultātam uz ekrāna ir jābūt (.*)/ do |result|
|
23
|
+
@result.should == result.to_f
|
24
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
Feature: multiline
|
2
|
+
|
3
|
+
Background: I'm a multiline name
|
4
|
+
which goes on and on and on for three lines
|
5
|
+
yawn
|
6
|
+
Given passing without a table
|
7
|
+
|
8
|
+
Scenario: I'm a multiline name
|
9
|
+
which goes on and on and on for three lines
|
10
|
+
yawn
|
11
|
+
Given passing without a table
|
12
|
+
|
13
|
+
Scenario Outline: I'm a multiline name
|
14
|
+
which goes on and on and on for three lines
|
15
|
+
yawn
|
16
|
+
Given <state> without a table
|
17
|
+
Examples:
|
18
|
+
| state |
|
19
|
+
|passing|
|
20
|
+
|
21
|
+
Scenario Outline: name
|
22
|
+
Given <state> without a table
|
23
|
+
Examples: I'm a multiline name
|
24
|
+
which goes on and on and on for three lines
|
25
|
+
yawn
|
26
|
+
| state |
|
27
|
+
|passing|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Feature: search examples
|
2
|
+
|
3
|
+
Background: Hantu Pisang background match
|
4
|
+
Given passing without a table
|
5
|
+
|
6
|
+
Scenario: should match Hantu Pisang
|
7
|
+
Given passing without a table
|
8
|
+
|
9
|
+
Scenario: Ignore me
|
10
|
+
Given failing without a table
|
11
|
+
|
12
|
+
Scenario Outline: Ignore me
|
13
|
+
Given <state> without a table
|
14
|
+
Examples:
|
15
|
+
|state|
|
16
|
+
|failing|
|
17
|
+
|
18
|
+
Scenario Outline: Hantu Pisang match
|
19
|
+
Given <state> without a table
|
20
|
+
Examples:
|
21
|
+
|state|
|
22
|
+
|passing|
|
@@ -69,12 +69,13 @@ end
|
|
69
69
|
Given /^another unused$/ do
|
70
70
|
end
|
71
71
|
|
72
|
-
after_file = File.dirname(__FILE__) + '/../../tmp/after.txt'
|
72
|
+
after_file = File.expand_path(File.dirname(__FILE__) + '/../../tmp/after.txt')
|
73
73
|
|
74
|
-
Before
|
74
|
+
Before do
|
75
75
|
FileUtils.rm(after_file) if File.exist?(after_file)
|
76
76
|
end
|
77
77
|
|
78
78
|
After('@after_file') do
|
79
|
+
FileUtils.mkdir_p(File.dirname(after_file))
|
79
80
|
FileUtils.touch(after_file)
|
80
81
|
end
|
data/examples/tickets/Rakefile
CHANGED
@@ -2,15 +2,15 @@ $:.unshift(File.dirname(__FILE__) + '/../../lib')
|
|
2
2
|
require 'cucumber/rake/task'
|
3
3
|
|
4
4
|
Cucumber::Rake::Task.new(:pretty) do |t|
|
5
|
-
t.cucumber_opts = "--format pretty -q"
|
5
|
+
t.cucumber_opts = "--tags ~@intentional_failure --format pretty -q"
|
6
6
|
end
|
7
7
|
|
8
8
|
Cucumber::Rake::Task.new(:html) do |t|
|
9
|
-
t.cucumber_opts = "--format html --out features.html"
|
9
|
+
t.cucumber_opts = "--tags ~@intentional_failure --format html --out features.html"
|
10
10
|
end
|
11
11
|
|
12
12
|
Cucumber::Rake::Task.new(:progress) do |t|
|
13
|
-
t.cucumber_opts = "--format progress -i -n"
|
13
|
+
t.cucumber_opts = "--tags ~@intentional_failure --format progress -i -n"
|
14
14
|
end
|
15
15
|
|
16
16
|
task :default => [:pretty, :html, :progress]
|
@@ -1,13 +1,13 @@
|
|
1
1
|
Feature: Unsubstituted argument placeholder
|
2
2
|
|
3
3
|
Scenario Outline: See Annual Leave Details (as Management & Human Resource)
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
Given the following users exist in the system
|
5
|
+
| name | email | role_assignments | group_memberships |
|
6
|
+
| Jane | jane@fmail.com | <role> | Sales (manager) |
|
7
|
+
| Max | max@fmail.com | | Sales (member) |
|
8
|
+
| Carol | carol@fmail.com | | Sales (member) |
|
9
|
+
| Cat | cat@fmail.com | | |
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
Examples:
|
12
|
+
| role |
|
13
|
+
| HUMAN RESOURCE |
|
@@ -0,0 +1,26 @@
|
|
1
|
+
@intentional_failure
|
2
|
+
Feature: Hooks
|
3
|
+
In order to integrate with my complex environment
|
4
|
+
I need to check scenario status in an After block
|
5
|
+
|
6
|
+
@272_failed
|
7
|
+
Scenario: Failed
|
8
|
+
Given I fail
|
9
|
+
|
10
|
+
@272_undefined
|
11
|
+
Scenario: Undefined
|
12
|
+
Given I am undefined
|
13
|
+
|
14
|
+
@272_passed
|
15
|
+
Scenario: Passed
|
16
|
+
Given I pass
|
17
|
+
|
18
|
+
@272_outline
|
19
|
+
Scenario Outline: Should work too
|
20
|
+
Given <something>
|
21
|
+
|
22
|
+
Examples:
|
23
|
+
| something |
|
24
|
+
| I fail |
|
25
|
+
| I am undefined |
|
26
|
+
| I pass |
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec/expectations'
|
2
|
+
|
3
|
+
Given /^I fail$/ do
|
4
|
+
raise "BOOM (this is expected)"
|
5
|
+
end
|
6
|
+
|
7
|
+
Given /^I pass$/ do
|
8
|
+
end
|
9
|
+
|
10
|
+
module HookChecks
|
11
|
+
def check_failed(scenario)
|
12
|
+
scenario.should be_failed
|
13
|
+
scenario.should_not be_passed
|
14
|
+
scenario.exception.message.should == "BOOM (this is expected)"
|
15
|
+
end
|
16
|
+
|
17
|
+
def check_undefined(scenario)
|
18
|
+
scenario.should_not be_failed
|
19
|
+
scenario.should_not be_passed
|
20
|
+
end
|
21
|
+
|
22
|
+
def check_passed(scenario)
|
23
|
+
scenario.should_not be_failed
|
24
|
+
scenario.should be_passed
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
World(HookChecks)
|
29
|
+
|
30
|
+
After('@272_failed') do |scenario|
|
31
|
+
check_failed(scenario)
|
32
|
+
end
|
33
|
+
|
34
|
+
After('@272_undefined') do |scenario|
|
35
|
+
check_undefined(scenario)
|
36
|
+
end
|
37
|
+
|
38
|
+
After('@272_passed') do |scenario|
|
39
|
+
check_passed(scenario)
|
40
|
+
end
|
41
|
+
|
42
|
+
counter = 0
|
43
|
+
After('@272_outline') do |scenario|
|
44
|
+
case(counter)
|
45
|
+
when 0
|
46
|
+
check_failed(scenario)
|
47
|
+
when 1
|
48
|
+
check_undefined(scenario)
|
49
|
+
when 2
|
50
|
+
check_passed(scenario)
|
51
|
+
end
|
52
|
+
counter +=1
|
53
|
+
end
|