cucumber 0.10.3 → 0.10.5
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +21 -8
- data/cucumber.gemspec +5 -5
- data/examples/sinatra/features/support/env.rb +1 -1
- data/examples/v8/features/fibonacci.feature +1 -1
- data/examples/watir/features/step_definitions/search_steps.rb +1 -1
- data/features/json_formatter.feature +1 -2
- data/features/transforms.feature +2 -2
- data/fixtures/junit/features/scenario_outline.feature +9 -0
- data/fixtures/tickets/features.html +1 -1
- data/gem_tasks/sdoc.rake +1 -1
- data/legacy_features/announce.feature +48 -60
- data/legacy_features/bug_371.feature +2 -2
- data/legacy_features/bug_600.feature +10 -4
- data/legacy_features/html_formatter/a.html +2 -2
- data/legacy_features/junit_formatter.feature +30 -1
- data/legacy_features/profiles.feature +1 -1
- data/legacy_features/step_definitions/cucumber_steps.rb +4 -0
- data/lib/cucumber/ast.rb +1 -1
- data/lib/cucumber/ast/{py_string.rb → doc_string.rb} +6 -6
- data/lib/cucumber/ast/tree_walker.rb +4 -4
- data/lib/cucumber/formatter/console.rb +20 -18
- data/lib/cucumber/formatter/cucumber.css +2 -2
- data/lib/cucumber/formatter/cucumber.sass +13 -13
- data/lib/cucumber/formatter/html.rb +23 -23
- data/lib/cucumber/formatter/junit.rb +5 -1
- data/lib/cucumber/formatter/pdf.rb +6 -6
- data/lib/cucumber/formatter/pretty.rb +5 -5
- data/lib/cucumber/parser/gherkin_builder.rb +2 -2
- data/lib/cucumber/platform.rb +1 -1
- data/lib/cucumber/rake/task.rb +13 -1
- data/lib/cucumber/rb_support/rb_language.rb +1 -1
- data/lib/cucumber/rb_support/rb_world.rb +24 -16
- data/lib/cucumber/runtime.rb +1 -1
- data/lib/cucumber/runtime/for_programming_languages.rb +3 -3
- data/lib/cucumber/runtime/support_code.rb +1 -1
- data/lib/cucumber/runtime/user_interface.rb +12 -11
- data/lib/cucumber/step_match.rb +1 -1
- data/spec/cucumber/ast/doc_string_spec.rb +40 -0
- data/spec/cucumber/ast/feature_factory.rb +2 -2
- data/spec/cucumber/ast/feature_spec.rb +1 -1
- data/spec/cucumber/ast/step_spec.rb +2 -2
- data/spec/cucumber/formatter/junit_spec.rb +1 -0
- data/spec/cucumber/rb_support/rb_language_spec.rb +1 -1
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +3 -3
- metadata +14 -13
- data/spec/cucumber/ast/py_string_spec.rb +0 -40
data/History.txt
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
== 0.10.4 (2011-06-06)
|
2
|
+
|
3
|
+
=== Changed features
|
4
|
+
* The announce method is deprecated. Use puts instead (#67 Aslak Hellesøy)
|
5
|
+
* The announce_world method is gone. Use puts(self) instead (#67 Aslak Hellesøy)
|
6
|
+
|
7
|
+
=== New Features
|
8
|
+
* Better JUnit formatter support for sub directories and scenario outlines (#59, #61, #62 Matt Simpson, Kenny Ortmann)
|
9
|
+
|
10
|
+
=== Bugfixes
|
11
|
+
* Fix for Gem.available? deprecation warning (#75 Jake Benilov)
|
12
|
+
* Update URLs to reflect Cucumber's new location on Github (Jake Benilov)
|
13
|
+
|
1
14
|
== 0.10.3 (2011-05-23)
|
2
15
|
|
3
16
|
=== New Features
|
@@ -52,7 +65,7 @@ This should not affect users. The major new feature in this release is ANSICON s
|
|
52
65
|
|
53
66
|
=== Bugfixes
|
54
67
|
* Superfluous space after step_keyword value in snippet_text message (#679 Aslak Hellesøy)
|
55
|
-
* Better Handling for "
|
68
|
+
* Better Handling for "puts" in HTML formatter (#676 Stephen Kennedy)
|
56
69
|
* Too many open files - getcwd (#666 Aslak Hellesøy)
|
57
70
|
* Cucumber 0.9.3 prevents Test::Unit from running (#677 Aslak Hellesøy)
|
58
71
|
* Performance degradation when running feature files with over 1000 steps (#675 Dimitri Geshef)
|
@@ -238,7 +251,7 @@ Parse times are up to 100 times faster.
|
|
238
251
|
=== Bugfixes
|
239
252
|
* Better handling of --guess with optional capture groups (Tim Felgentreff)
|
240
253
|
* Parsing of rerun.txt can't use Shellwords on Windows (#581 David Esposito)
|
241
|
-
* #
|
254
|
+
* #puts can now take non-String arguments just like Kernel#puts - #to_s is done implicitly. (Aslak Hellesøy)
|
242
255
|
* Attempt to fix Cucumber::CODEPAGE error again for Windows (#561 Aslak Hellesøy)
|
243
256
|
* Tab indentation causes multiline step arguments to fail (#585 Aslak Hellesøy)
|
244
257
|
* Properly pass tags over the wire protocol (Matt Wynne)
|
@@ -246,8 +259,8 @@ Parse times are up to 100 times faster.
|
|
246
259
|
* Snippets are properly printed when using '*' as step keyword. (Used to cause infinite recursion). (Aslak Hellesøy)
|
247
260
|
|
248
261
|
=== New features
|
249
|
-
* Added #
|
250
|
-
* Added #
|
262
|
+
* Added #puts_world method, printing the World class and all included modules (Ruby only). (Aslak Hellesøy)
|
263
|
+
* Added #puts to the PDF formatter (Nicolas Bessi)
|
251
264
|
* Show fails for After/Before hooks in the progress formatter (#584 Joseph Wilk)
|
252
265
|
|
253
266
|
== Changed features
|
@@ -267,7 +280,7 @@ Parse times are up to 100 times faster.
|
|
267
280
|
|
268
281
|
=== New features
|
269
282
|
* Added "Angenommen" as German synonym for Given (Sven Fuchs, Aslak Hellesøy)
|
270
|
-
* New #ask(question, timeout_seconds=60) method available to stepdefs. Asks for input and #
|
283
|
+
* New #ask(question, timeout_seconds=60) method available to stepdefs. Asks for input and #puts-s question and answer. (Aslak Hellesøy)
|
271
284
|
* Links to step definitions are now clickable in TextMate's HTML report (Rob Aldred)
|
272
285
|
* Add diff! message to wire protocol to allow for immediate diff response to invokes (Matt Wynne)
|
273
286
|
* Add tags to begin/end scenario messages on wire protocol to support tagged hooks (#571 Matt Wynne)
|
@@ -413,13 +426,13 @@ As usual there are several small features and bug fixes.
|
|
413
426
|
* New Wire Protocol - allowing out of process execution of Cucumber scenarios. (#428 Matt Wynne)
|
414
427
|
* Added an example illustrating how to get screenshots in HTML reports (examples/watir) (Aslak Hellesøy)
|
415
428
|
* Added new #embed(file, mime_type) method to visitors and Ruby Worlds to make it easier to embed screenshots (Aslak Hellesøy)
|
416
|
-
* The #
|
429
|
+
* The #puts method available from Ruby Step Definitions will print *after* the step is executed. (#487 Zoltan Penzeli)
|
417
430
|
* Add support for rolling back transaction for all open database connections. (John Ferlito)
|
418
431
|
* Show scenario and step summary in HTML formatter (#285 Joseph Wilk)
|
419
432
|
* Ast::Table can now be constructed with an Array of Hash. (Aslak Hellesøy)
|
420
433
|
|
421
434
|
=== Changed features
|
422
|
-
* The #
|
435
|
+
* The #puts method will no longer escape HTML if the html formatter is used. Escaping must be done manually. (Aslak Hellesøy)
|
423
436
|
|
424
437
|
=== Bugfixes
|
425
438
|
* Fixed incorrect rendering of step arguments with UTF8 characters (Aslak Hellesøy)
|
@@ -1224,7 +1237,7 @@ for multiline arguments are some of the highlights.
|
|
1224
1237
|
|
1225
1238
|
=== New features
|
1226
1239
|
* Australian translation (Josh Graham)
|
1227
|
-
* Added World#
|
1240
|
+
* Added World#puts(announcment) which lets you output text to the formatted output (#222 Rob Kaufmann)
|
1228
1241
|
* Added Table#transpose to to allow use of vertically aligned table keys (Torbjørn Vatn, Aslak Hellesøy)
|
1229
1242
|
* Added Table#map_headers to to allow use of more readable headers (Rob Holland)
|
1230
1243
|
* New -S/--step-definitions option. Useful (among other things) for tools that implement automcompletion. (#208 Aslak Hellesøy).
|
data/cucumber.gemspec
CHANGED
@@ -16,14 +16,14 @@ Gem::Specification.new do |s|
|
|
16
16
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
17
17
|
|
18
18
|
Thank you for installing cucumber-#{Cucumber::VERSION}.
|
19
|
-
Please be sure to read http://wiki.github.com/
|
19
|
+
Please be sure to read http://wiki.github.com/cucumber/cucumber/upgrading
|
20
20
|
for important information about this release. Happy cuking!
|
21
21
|
|
22
22
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
23
23
|
|
24
24
|
}
|
25
25
|
|
26
|
-
s.add_dependency 'gherkin', '
|
26
|
+
s.add_dependency 'gherkin', '~> 2.4.0'
|
27
27
|
s.add_dependency 'term-ansicolor', '>= 1.0.5'
|
28
28
|
s.add_dependency 'builder', '>= 2.1.2'
|
29
29
|
s.add_dependency 'diff-lcs', '>= 1.1.2'
|
@@ -36,14 +36,14 @@ for important information about this release. Happy cuking!
|
|
36
36
|
s.add_development_dependency 'prawn', '= 0.8.4'
|
37
37
|
s.add_development_dependency 'prawn-layout', '= 0.8.4'
|
38
38
|
s.add_development_dependency 'syntax', '>= 1.0.0'
|
39
|
-
s.add_development_dependency 'spork', '>= 0.
|
40
|
-
s.add_development_dependency 'simplecov', '>= 0.4.
|
39
|
+
s.add_development_dependency 'spork', '>= 0.9.0.rc7'
|
40
|
+
s.add_development_dependency 'simplecov', '>= 0.4.2'
|
41
41
|
|
42
42
|
# Needed for examples (rake examples)
|
43
43
|
s.add_development_dependency 'ramaze'
|
44
44
|
s.add_development_dependency 'rack-test', '>= 0.5.7'
|
45
45
|
s.add_development_dependency 'webrat', '>= 0.7.3'
|
46
|
-
s.add_development_dependency 'sinatra', '>= 1.2.
|
46
|
+
s.add_development_dependency 'sinatra', '>= 1.2.6'
|
47
47
|
s.add_development_dependency 'capybara', '>= 1.0.0.beta1'
|
48
48
|
|
49
49
|
s.rubygems_version = ">= 1.6.1"
|
@@ -17,7 +17,7 @@ Feature: Fibonacci
|
|
17
17
|
| 9 | [1, 1, 2, 3, 5, 8] |
|
18
18
|
| 100 | [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] |
|
19
19
|
|
20
|
-
Scenario: Single series tested via a
|
20
|
+
Scenario: Single series tested via a DocString
|
21
21
|
When I ask Javascript to calculate fibonacci up to 2 with formatting
|
22
22
|
Then it should give me:
|
23
23
|
"""
|
@@ -16,7 +16,7 @@ end
|
|
16
16
|
|
17
17
|
# To avoid step definitions that are tightly coupled to your user interface,
|
18
18
|
# consider creating classes for your pages - such as this:
|
19
|
-
# http://github.com/
|
19
|
+
# http://github.com/cucumber/cucumber/tree/v0.1.15/examples/watir/features/step_definitons/search_steps.rb
|
20
20
|
#
|
21
21
|
# You may keep the page classes along your steps, or even better, put them in separate files, e.g.
|
22
22
|
# support/pages/google_search.rb
|
@@ -142,7 +142,6 @@ Feature: JSON output formatter
|
|
142
142
|
|
143
143
|
"""
|
144
144
|
|
145
|
-
@announce
|
146
145
|
Scenario: pystring
|
147
146
|
Given a file named "features/pystring.feature" with:
|
148
147
|
"""
|
@@ -185,7 +184,7 @@ Feature: JSON output formatter
|
|
185
184
|
"multiline_arg": {
|
186
185
|
"value": "a string",
|
187
186
|
"line": 5,
|
188
|
-
"type": "
|
187
|
+
"type": "doc_string"
|
189
188
|
},
|
190
189
|
"match": {
|
191
190
|
"location": "features/step_definitions/pystring_steps.rb:1"
|
data/features/transforms.feature
CHANGED
@@ -33,7 +33,7 @@ Feature: Transforms
|
|
33
33
|
end
|
34
34
|
|
35
35
|
Given /^(a Person aged \d+) with blonde hair$/ do |person|
|
36
|
-
|
36
|
+
puts "#{person} and I have blonde hair"
|
37
37
|
end
|
38
38
|
"""
|
39
39
|
When I run cucumber "features/foo.feature"
|
@@ -53,7 +53,7 @@ Feature: Transforms
|
|
53
53
|
end
|
54
54
|
|
55
55
|
Given /^(#{A_PERSON}) with blonde hair$/ do |person|
|
56
|
-
|
56
|
+
puts "#{person} and I have blonde hair"
|
57
57
|
end
|
58
58
|
"""
|
59
59
|
When I run cucumber "features/foo.feature"
|
@@ -135,4 +135,4 @@
|
|
135
135
|
./features/step_definitons/tickets_steps.rb:57:in `/^I have a pending step$/'
|
136
136
|
features/241.feature:10:in `Given I have a pending step'</pre></li><li class="step skipped" id="features_241_feature_11"><div><span class="keyword">When</span> <span class="step val">I run this feature with the progress format</span></div></li><li class="step skipped" id="features_241_feature_12"><div><span class="keyword">Then</span> <span class="step val">I should get a no method error for 'backtrace_line'</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/246-distorted-console-output-for-slightly-complicated-step-regexp-match</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">See "No Record(s) Found" for Zero Existing</span></h3><ol><li class="step passed" id="features_246_feature_4"><div><span class="keyword">Given</span> <span class="step val">no <span class="param">public holiday</span> exists in the system</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: pending method causes failure in Scenario Outlines</span></h2><p class="narrative"></p><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">blah</span></h3><ol><li class="step skipped" id="features_248_feature_4"><div><span class="keyword">Given</span> <span class="step val">this is pending until we fix it</span></div></li><li class="step skipped" id="features_248_feature_5"><div><span class="keyword">Given</span> <span class="step val">context with <Stuff></span></div></li><li class="step skipped" id="features_248_feature_6"><div><span class="keyword">When</span> <span class="step val">action</span></div></li><li class="step skipped" id="features_248_feature_7"><div><span class="keyword">Then</span> <span class="step val">outcome with <Blah></span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_10"><th class="val skipped_param" id="row_10_0">Stuff</th><th class="val skipped_param" id="row_10_1">Blah</th></tr><tr id="row_11"><td class="val skipped" id="row_11_0">Cheese</td><td class="val skipped" id="row_11_1">Pepper Jack</td></tr><tr><td class="failed" colspan="2"><pre>TODO (Cucumber::Pending)
|
137
137
|
./features/step_definitons/248_steps.rb:2:in `/^this is pending until we fix it$/'
|
138
|
-
features/248.feature:4:in `Given this is pending until we fix it'</pre></td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Background</span></h2><p class="narrative">In for background to work properly<br/>As a user<br/>I want it to run transactionally and only once when I call an individual scenario<br/></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_270_back_feature_7"><div><span class="keyword">Given</span> <span class="step val">plop</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Barping</span></h3><ol><li class="step passed" id="features_270_back_feature_10"><div><span class="keyword">When</span> <span class="step val">I barp</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Wibbling</span></h3><ol><li class="step passed" id="features_270_back_feature_14"><div><span class="keyword">When</span> <span class="step val">I wibble</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: pystring indentaion testcase</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">example of correct indentation</span></h3><ol><li class="step passed" id="features_279_py_string_indent_feature_4"><div><span class="keyword">Given</span> <span class="step val">multiline string</span></div><pre class="val"> I'm a cucumber and I'm ok
I sleep all night and test all day</pre></li><li class="step passed" id="features_279_py_string_indent_feature_9"><div><span class="keyword">Then</span> <span class="step val">string is</span></div><pre class="val"> I'm a cucumber and I'm ok
I sleep all night and test all day</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">example of wrong indentation</span></h3><ol><li class="step passed" id="features_279_py_string_indent_feature_16"><div><span class="keyword">Given</span> <span class="step val">I am in <span class="param">tickets/features/279</span></span></div></li><li class="step passed" id="features_279_py_string_indent_feature_17"><div><span class="keyword">When</span> <span class="step val">I run cucumber <span class="param">-q wrong.feature_</span></span></div></li><li class="step passed" id="features_279_py_string_indent_feature_18"><div><span class="keyword">Then</span> <span class="step val">it should <span class="param">fail</span> with</span></div><pre class="val"></pre></li><li class="step passed" id="features_279_py_string_indent_feature_22"><div><span class="keyword">And</span> <span class="step val">STDERR should match</span></div><pre class="val">wrong.feature_:8:10: Parse error</pre></li></ol></div></div><div class="feature"><h2><span class="val">Feature https://rspec.lighthouseapp.com/projects/16211/tickets/301</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">A background</span></h3><ol><li class="step passed" id="features_301_filter_background_tagged_hooks_feature_3"><div><span class="keyword">Given</span> <span class="step val">whatever</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">VB is not cool</span></h3><ol><li class="step passed" id="features_301_filter_background_tagged_hooks_feature_6"><div><span class="keyword">Then</span> <span class="step val">VB should not be cool</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: woo yeah</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step undefined" id="features_306_only_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">passing step without a table</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Outlines</span></h2><p class="narrative">In order to re-use scenario table values<br/>As a citizen of Cucumbia<br/>I want to explicitly mark the parameters in a scenario outline<br/></p><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">controlling order</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_7"><div><span class="keyword">Given</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_8"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_9"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_12"><th class="val skipped_param" id="row_12_0">left</th><th class="val skipped_param" id="row_12_1">start</th><th class="val skipped_param" id="row_12_2">eat</th></tr><tr id="row_13"><td class="val passed" id="row_13_0">7</td><td class="val passed" id="row_13_1">12</td><td class="val passed" id="row_13_2">5</td></tr><tr id="row_14"><td class="val passed" id="row_14_0">15</td><td class="val passed" id="row_14_1">20</td><td class="val passed" id="row_14_2">5</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">reusing place holder</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_17"><div><span class="keyword">Given</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_18"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_19"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_20"><div><span class="keyword">And</span> <span class="step val">I should have <eat> cucumbers in my belly</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Lots of cukes</span></h4><table><tr id="row_23"><th class="val skipped_param" id="row_23_0">start</th><th class="val skipped_param" id="row_23_1">eat</th><th class="val skipped_param" id="row_23_2">left</th></tr><tr id="row_24"><td class="val passed" id="row_24_0">12</td><td class="val passed" id="row_24_1">5</td><td class="val passed" id="row_24_2">7</td></tr><tr id="row_25"><td class="val passed" id="row_25_0">20</td><td class="val passed" id="row_25_1">5</td><td class="val passed" id="row_25_2">15</td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ridiculous amounts of cukes</span></h4><table><tr id="row_28"><th class="val skipped_param" id="row_28_0">start</th><th class="val skipped_param" id="row_28_1">eat</th><th class="val skipped_param" id="row_28_2">left</th></tr><tr id="row_29"><td class="val passed" id="row_29_0">120</td><td class="val passed" id="row_29_1">50</td><td class="val passed" id="row_29_2">70</td></tr><tr id="row_30"><td class="val passed" id="row_30_0">200</td><td class="val passed" id="row_30_1">50</td><td class="val passed" id="row_30_2">150</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">no placeholders</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_33"><div><span class="keyword">Given</span> <span class="step val">there are 12 cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_34"><div><span class="keyword">When</span> <span class="step val">I eat 5 cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_35"><div><span class="keyword">Then</span> <span class="step val">I should have 7 cucumbers</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_38"><th class="val skipped_param" id="row_38_0">start</th><th class="val skipped_param" id="row_38_1">eat</th><th class="val skipped_param" id="row_38_2">left</th></tr><tr id="row_39"><td class="val" id="row_39_0">12</td><td class="val" id="row_39_1">5</td><td class="val" id="row_39_2">7</td></tr><tr id="row_40"><td class="val" id="row_40_0">20</td><td class="val" id="row_40_1">5</td><td class="val" id="row_40_2">15</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">using '<' and '>' not as placeholder</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_43"><div><span class="keyword">Given</span> <span class="step val">the belly space is < 12 and > 6</span></div></li><li class="step skipped" id="features_scenario_outline_feature_44"><div><span class="keyword">And</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_45"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_46"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_49"><th class="val skipped_param" id="row_49_0">start</th><th class="val skipped_param" id="row_49_1">eat</th><th class="val skipped_param" id="row_49_2">left</th></tr><tr id="row_50"><td class="val passed" id="row_50_0">12</td><td class="val passed" id="row_50_1">5</td><td class="val passed" id="row_50_2">7</td></tr><tr id="row_51"><td class="val passed" id="row_51_0">20</td><td class="val passed" id="row_51_1">5</td><td class="val passed" id="row_51_2">15</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">with step tables</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_54"><div><span class="keyword">Given</span> <span class="step val">I have the following fruits in my pantry</span></div><table><tr id="row_55"><td class="val" id="row_55_0">name</td><td class="val" id="row_55_1">quantity</td></tr><tr id="row_56"><td class="val" id="row_56_0">cucumbers</td><td class="val" id="row_56_1">10</td></tr><tr id="row_57"><td class="val" id="row_57_0">strawberrys</td><td class="val" id="row_57_1">5</td></tr><tr id="row_58"><td class="val" id="row_58_0">apricots</td><td class="val" id="row_58_1">7</td></tr></table></li><li class="step skipped" id="features_scenario_outline_feature_60"><div><span class="keyword">When</span> <span class="step val">I eat <number> <fruits> from the pantry</span></div></li><li class="step skipped" id="features_scenario_outline_feature_61"><div><span class="keyword">Then</span> <span class="step val">I should have <left> <fruits> in the pantry</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_64"><th class="val skipped_param" id="row_64_0">number</th><th class="val skipped_param" id="row_64_1">fruits</th><th class="val skipped_param" id="row_64_2">left</th></tr><tr id="row_65"><td class="val passed" id="row_65_0">2</td><td class="val passed" id="row_65_1">cucumbers</td><td class="val passed" id="row_65_2">8</td></tr><tr id="row_66"><td class="val passed" id="row_66_0">4</td><td class="val passed" id="row_66_1">strawberrys</td><td class="val passed" id="row_66_2">1</td></tr><tr id="row_67"><td class="val passed" id="row_67_0">2</td><td class="val passed" id="row_67_1">apricots</td><td class="val passed" id="row_67_2">5</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">placeholder in a multiline string</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_70"><div><span class="keyword">Given</span> <span class="step val">my shopping list</span></div><pre class="val"> Must buy some <fruits></pre></li><li class="step skipped" id="features_scenario_outline_feature_74"><div><span class="keyword">Then</span> <span class="step val">my shopping list should equal</span></div><pre class="val"> Must buy some cucumbers</pre></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_80"><th class="val skipped_param" id="row_80_0">fruits</th></tr><tr id="row_81"><td class="val passed" id="row_81_0">cucumbers</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">placeholder in step table</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_84"><div><span class="keyword">Given</span> <span class="step val">I have the following fruits in my pantry</span></div><table><tr id="row_85"><td class="val" id="row_85_0">name</td><td class="val" id="row_85_1">quantity</td></tr><tr id="row_86"><td class="val" id="row_86_0">cucumbers</td><td class="val" id="row_86_1"><quant_cukes></td></tr><tr id="row_87"><td class="val" id="row_87_0">strawberrys</td><td class="val" id="row_87_1"><quant_straw></td></tr></table></li><li class="step skipped" id="features_scenario_outline_feature_89"><div><span class="keyword">When</span> <span class="step val">I eat <number> <fruits> from the pantry</span></div></li><li class="step skipped" id="features_scenario_outline_feature_90"><div><span class="keyword">Then</span> <span class="step val">I should have <left> <fruits> in the pantry</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_93"><th class="val skipped_param" id="row_93_0">quant_cukes</th><th class="val skipped_param" id="row_93_1">quant_straw</th><th class="val skipped_param" id="row_93_2">number</th><th class="val skipped_param" id="row_93_3">fruits</th><th class="val skipped_param" id="row_93_4">left</th></tr><tr id="row_94"><td class="val passed" id="row_94_0">10</td><td class="val passed" id="row_94_1">5</td><td class="val passed" id="row_94_2">2</td><td class="val passed" id="row_94_3">cucumbers</td><td class="val passed" id="row_94_4">8</td></tr><tr id="row_95"><td class="val passed" id="row_95_0">5</td><td class="val passed" id="row_95_1">5</td><td class="val passed" id="row_95_2">4</td><td class="val passed" id="row_95_3">strawberrys</td><td class="val passed" id="row_95_4">1</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Cucumber</span></h2><p class="narrative">In order to have a happy user base<br/>As a Cucumber user<br/>I don't want no stinkin bugs<br/></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">RSpec be_*</span></h3><ol><li class="step passed" id="features_tickets_feature_7"><div><span class="keyword">Given</span> <span class="step val">be_empty</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Call step from step</span></h3><ol><li class="step passed" id="features_tickets_feature_10"><div><span class="keyword">Given</span> <span class="step val">nested step is called</span></div></li><li class="step passed" id="features_tickets_feature_11"><div><span class="keyword">Then</span> <span class="step val">nested step should be executed</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Call step from step using text table</span></h3><ol><li class="step passed" id="features_tickets_feature_14"><div><span class="keyword">Given</span> <span class="step val">nested step is called using text table</span></div></li><li class="step passed" id="features_tickets_feature_15"><div><span class="keyword">Then</span> <span class="step val">nested step should be executed</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Reading a table</span></h3><ol><li class="step passed" id="features_tickets_feature_18"><div><span class="keyword">Given</span> <span class="step val">the following table</span></div><table><tr id="row_19"><td class="val" id="row_19_0">born</td><td class="val" id="row_19_1">working</td></tr><tr id="row_20"><td class="val" id="row_20_0">Oslo</td><td class="val" id="row_20_1">London</td></tr></table></li><li class="step passed" id="features_tickets_feature_21"><div><span class="keyword">Then</span> <span class="step val">I should be <span class="param">working</span> in <span class="param">London</span></span></div></li><li class="step passed" id="features_tickets_feature_22"><div><span class="keyword">And</span> <span class="step val">I should be <span class="param">born</span> in <span class="param">Oslo</span></span></div></li><li class="step passed" id="features_tickets_feature_23"><div><span class="keyword">And</span> <span class="step val">I should see a multiline string like</span></div><pre class="val">A string
that spans
several lines</pre></li></ol></div></div><div class="summary">43 scenarios (12 undefined, 2 pending, 29 passed)</div><div class="summary">173 steps (5 skipped, 89 undefined, 2 pending, 77 passed)</div><div class="duration">0m0.701s</div></div></body></html>
|
138
|
+
features/248.feature:4:in `Given this is pending until we fix it'</pre></td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Background</span></h2><p class="narrative">In for background to work properly<br/>As a user<br/>I want it to run transactionally and only once when I call an individual scenario<br/></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_270_back_feature_7"><div><span class="keyword">Given</span> <span class="step val">plop</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Barping</span></h3><ol><li class="step passed" id="features_270_back_feature_10"><div><span class="keyword">When</span> <span class="step val">I barp</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Wibbling</span></h3><ol><li class="step passed" id="features_270_back_feature_14"><div><span class="keyword">When</span> <span class="step val">I wibble</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: pystring indentaion testcase</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">example of correct indentation</span></h3><ol><li class="step passed" id="features_279_doc_string_indent_feature_4"><div><span class="keyword">Given</span> <span class="step val">multiline string</span></div><pre class="val"> I'm a cucumber and I'm ok
I sleep all night and test all day</pre></li><li class="step passed" id="features_279_doc_string_indent_feature_9"><div><span class="keyword">Then</span> <span class="step val">string is</span></div><pre class="val"> I'm a cucumber and I'm ok
I sleep all night and test all day</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">example of wrong indentation</span></h3><ol><li class="step passed" id="features_279_doc_string_indent_feature_16"><div><span class="keyword">Given</span> <span class="step val">I am in <span class="param">tickets/features/279</span></span></div></li><li class="step passed" id="features_279_doc_string_indent_feature_17"><div><span class="keyword">When</span> <span class="step val">I run cucumber <span class="param">-q wrong.feature_</span></span></div></li><li class="step passed" id="features_279_doc_string_indent_feature_18"><div><span class="keyword">Then</span> <span class="step val">it should <span class="param">fail</span> with</span></div><pre class="val"></pre></li><li class="step passed" id="features_279_doc_string_indent_feature_22"><div><span class="keyword">And</span> <span class="step val">STDERR should match</span></div><pre class="val">wrong.feature_:8:10: Parse error</pre></li></ol></div></div><div class="feature"><h2><span class="val">Feature https://rspec.lighthouseapp.com/projects/16211/tickets/301</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">A background</span></h3><ol><li class="step passed" id="features_301_filter_background_tagged_hooks_feature_3"><div><span class="keyword">Given</span> <span class="step val">whatever</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">VB is not cool</span></h3><ol><li class="step passed" id="features_301_filter_background_tagged_hooks_feature_6"><div><span class="keyword">Then</span> <span class="step val">VB should not be cool</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: woo yeah</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step undefined" id="features_306_only_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">passing step without a table</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Outlines</span></h2><p class="narrative">In order to re-use scenario table values<br/>As a citizen of Cucumbia<br/>I want to explicitly mark the parameters in a scenario outline<br/></p><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">controlling order</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_7"><div><span class="keyword">Given</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_8"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_9"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_12"><th class="val skipped_param" id="row_12_0">left</th><th class="val skipped_param" id="row_12_1">start</th><th class="val skipped_param" id="row_12_2">eat</th></tr><tr id="row_13"><td class="val passed" id="row_13_0">7</td><td class="val passed" id="row_13_1">12</td><td class="val passed" id="row_13_2">5</td></tr><tr id="row_14"><td class="val passed" id="row_14_0">15</td><td class="val passed" id="row_14_1">20</td><td class="val passed" id="row_14_2">5</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">reusing place holder</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_17"><div><span class="keyword">Given</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_18"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_19"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_20"><div><span class="keyword">And</span> <span class="step val">I should have <eat> cucumbers in my belly</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Lots of cukes</span></h4><table><tr id="row_23"><th class="val skipped_param" id="row_23_0">start</th><th class="val skipped_param" id="row_23_1">eat</th><th class="val skipped_param" id="row_23_2">left</th></tr><tr id="row_24"><td class="val passed" id="row_24_0">12</td><td class="val passed" id="row_24_1">5</td><td class="val passed" id="row_24_2">7</td></tr><tr id="row_25"><td class="val passed" id="row_25_0">20</td><td class="val passed" id="row_25_1">5</td><td class="val passed" id="row_25_2">15</td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ridiculous amounts of cukes</span></h4><table><tr id="row_28"><th class="val skipped_param" id="row_28_0">start</th><th class="val skipped_param" id="row_28_1">eat</th><th class="val skipped_param" id="row_28_2">left</th></tr><tr id="row_29"><td class="val passed" id="row_29_0">120</td><td class="val passed" id="row_29_1">50</td><td class="val passed" id="row_29_2">70</td></tr><tr id="row_30"><td class="val passed" id="row_30_0">200</td><td class="val passed" id="row_30_1">50</td><td class="val passed" id="row_30_2">150</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">no placeholders</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_33"><div><span class="keyword">Given</span> <span class="step val">there are 12 cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_34"><div><span class="keyword">When</span> <span class="step val">I eat 5 cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_35"><div><span class="keyword">Then</span> <span class="step val">I should have 7 cucumbers</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_38"><th class="val skipped_param" id="row_38_0">start</th><th class="val skipped_param" id="row_38_1">eat</th><th class="val skipped_param" id="row_38_2">left</th></tr><tr id="row_39"><td class="val" id="row_39_0">12</td><td class="val" id="row_39_1">5</td><td class="val" id="row_39_2">7</td></tr><tr id="row_40"><td class="val" id="row_40_0">20</td><td class="val" id="row_40_1">5</td><td class="val" id="row_40_2">15</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">using '<' and '>' not as placeholder</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_43"><div><span class="keyword">Given</span> <span class="step val">the belly space is < 12 and > 6</span></div></li><li class="step skipped" id="features_scenario_outline_feature_44"><div><span class="keyword">And</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_45"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_46"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_49"><th class="val skipped_param" id="row_49_0">start</th><th class="val skipped_param" id="row_49_1">eat</th><th class="val skipped_param" id="row_49_2">left</th></tr><tr id="row_50"><td class="val passed" id="row_50_0">12</td><td class="val passed" id="row_50_1">5</td><td class="val passed" id="row_50_2">7</td></tr><tr id="row_51"><td class="val passed" id="row_51_0">20</td><td class="val passed" id="row_51_1">5</td><td class="val passed" id="row_51_2">15</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">with step tables</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_54"><div><span class="keyword">Given</span> <span class="step val">I have the following fruits in my pantry</span></div><table><tr id="row_55"><td class="val" id="row_55_0">name</td><td class="val" id="row_55_1">quantity</td></tr><tr id="row_56"><td class="val" id="row_56_0">cucumbers</td><td class="val" id="row_56_1">10</td></tr><tr id="row_57"><td class="val" id="row_57_0">strawberrys</td><td class="val" id="row_57_1">5</td></tr><tr id="row_58"><td class="val" id="row_58_0">apricots</td><td class="val" id="row_58_1">7</td></tr></table></li><li class="step skipped" id="features_scenario_outline_feature_60"><div><span class="keyword">When</span> <span class="step val">I eat <number> <fruits> from the pantry</span></div></li><li class="step skipped" id="features_scenario_outline_feature_61"><div><span class="keyword">Then</span> <span class="step val">I should have <left> <fruits> in the pantry</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_64"><th class="val skipped_param" id="row_64_0">number</th><th class="val skipped_param" id="row_64_1">fruits</th><th class="val skipped_param" id="row_64_2">left</th></tr><tr id="row_65"><td class="val passed" id="row_65_0">2</td><td class="val passed" id="row_65_1">cucumbers</td><td class="val passed" id="row_65_2">8</td></tr><tr id="row_66"><td class="val passed" id="row_66_0">4</td><td class="val passed" id="row_66_1">strawberrys</td><td class="val passed" id="row_66_2">1</td></tr><tr id="row_67"><td class="val passed" id="row_67_0">2</td><td class="val passed" id="row_67_1">apricots</td><td class="val passed" id="row_67_2">5</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">placeholder in a multiline string</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_70"><div><span class="keyword">Given</span> <span class="step val">my shopping list</span></div><pre class="val"> Must buy some <fruits></pre></li><li class="step skipped" id="features_scenario_outline_feature_74"><div><span class="keyword">Then</span> <span class="step val">my shopping list should equal</span></div><pre class="val"> Must buy some cucumbers</pre></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_80"><th class="val skipped_param" id="row_80_0">fruits</th></tr><tr id="row_81"><td class="val passed" id="row_81_0">cucumbers</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">placeholder in step table</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_84"><div><span class="keyword">Given</span> <span class="step val">I have the following fruits in my pantry</span></div><table><tr id="row_85"><td class="val" id="row_85_0">name</td><td class="val" id="row_85_1">quantity</td></tr><tr id="row_86"><td class="val" id="row_86_0">cucumbers</td><td class="val" id="row_86_1"><quant_cukes></td></tr><tr id="row_87"><td class="val" id="row_87_0">strawberrys</td><td class="val" id="row_87_1"><quant_straw></td></tr></table></li><li class="step skipped" id="features_scenario_outline_feature_89"><div><span class="keyword">When</span> <span class="step val">I eat <number> <fruits> from the pantry</span></div></li><li class="step skipped" id="features_scenario_outline_feature_90"><div><span class="keyword">Then</span> <span class="step val">I should have <left> <fruits> in the pantry</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_93"><th class="val skipped_param" id="row_93_0">quant_cukes</th><th class="val skipped_param" id="row_93_1">quant_straw</th><th class="val skipped_param" id="row_93_2">number</th><th class="val skipped_param" id="row_93_3">fruits</th><th class="val skipped_param" id="row_93_4">left</th></tr><tr id="row_94"><td class="val passed" id="row_94_0">10</td><td class="val passed" id="row_94_1">5</td><td class="val passed" id="row_94_2">2</td><td class="val passed" id="row_94_3">cucumbers</td><td class="val passed" id="row_94_4">8</td></tr><tr id="row_95"><td class="val passed" id="row_95_0">5</td><td class="val passed" id="row_95_1">5</td><td class="val passed" id="row_95_2">4</td><td class="val passed" id="row_95_3">strawberrys</td><td class="val passed" id="row_95_4">1</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Cucumber</span></h2><p class="narrative">In order to have a happy user base<br/>As a Cucumber user<br/>I don't want no stinkin bugs<br/></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">RSpec be_*</span></h3><ol><li class="step passed" id="features_tickets_feature_7"><div><span class="keyword">Given</span> <span class="step val">be_empty</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Call step from step</span></h3><ol><li class="step passed" id="features_tickets_feature_10"><div><span class="keyword">Given</span> <span class="step val">nested step is called</span></div></li><li class="step passed" id="features_tickets_feature_11"><div><span class="keyword">Then</span> <span class="step val">nested step should be executed</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Call step from step using text table</span></h3><ol><li class="step passed" id="features_tickets_feature_14"><div><span class="keyword">Given</span> <span class="step val">nested step is called using text table</span></div></li><li class="step passed" id="features_tickets_feature_15"><div><span class="keyword">Then</span> <span class="step val">nested step should be executed</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Reading a table</span></h3><ol><li class="step passed" id="features_tickets_feature_18"><div><span class="keyword">Given</span> <span class="step val">the following table</span></div><table><tr id="row_19"><td class="val" id="row_19_0">born</td><td class="val" id="row_19_1">working</td></tr><tr id="row_20"><td class="val" id="row_20_0">Oslo</td><td class="val" id="row_20_1">London</td></tr></table></li><li class="step passed" id="features_tickets_feature_21"><div><span class="keyword">Then</span> <span class="step val">I should be <span class="param">working</span> in <span class="param">London</span></span></div></li><li class="step passed" id="features_tickets_feature_22"><div><span class="keyword">And</span> <span class="step val">I should be <span class="param">born</span> in <span class="param">Oslo</span></span></div></li><li class="step passed" id="features_tickets_feature_23"><div><span class="keyword">And</span> <span class="step val">I should see a multiline string like</span></div><pre class="val">A string
that spans
several lines</pre></li></ol></div></div><div class="summary">43 scenarios (12 undefined, 2 pending, 29 passed)</div><div class="summary">173 steps (5 skipped, 89 undefined, 2 pending, 77 passed)</div><div class="duration">0m0.701s</div></div></body></html>
|
data/gem_tasks/sdoc.rake
CHANGED
@@ -5,7 +5,7 @@ begin
|
|
5
5
|
Rake::RDocTask.new(:sdoc) do |rdoc|
|
6
6
|
rdoc.rdoc_dir = 'doc/sdoc'
|
7
7
|
rdoc.title = "Cucumber"
|
8
|
-
rdoc.options += %w{--fmt shtml -N --webcvs=http://github.com/
|
8
|
+
rdoc.options += %w{--fmt shtml -N --webcvs=http://github.com/cucumber/cucumber/blob/v0.3.96/%s --title "Cucumber API" --threads 4 --main README --exclude cucumber/parser lib}
|
9
9
|
rdoc.template = 'direct' # lighter template used on railsapi.com
|
10
10
|
end
|
11
11
|
rescue LoadError => ignore
|
@@ -1,34 +1,34 @@
|
|
1
|
-
Feature: Delayed
|
1
|
+
Feature: Delayed message
|
2
2
|
|
3
3
|
Background:
|
4
4
|
Given a standard Cucumber project directory structure
|
5
5
|
And a file named "features/step_definitions/steps.rb" with:
|
6
6
|
"""
|
7
|
-
Given /^I use
|
8
|
-
|
7
|
+
Given /^I use puts with text "(.*)"$/ do |ann| x=1
|
8
|
+
puts(ann)
|
9
9
|
end
|
10
10
|
|
11
|
-
Given /^I use multiple
|
11
|
+
Given /^I use multiple putss$/ do x=1
|
12
12
|
announce("Multiple")
|
13
|
-
|
13
|
+
puts("Announce","Me")
|
14
14
|
end
|
15
15
|
|
16
|
-
Given /^I use
|
17
|
-
|
18
|
-
|
16
|
+
Given /^I use message (.+) in line (.+) (?:with result (.+))$/ do |ann, line, result| x=1
|
17
|
+
puts("Last message") if line == "3"
|
18
|
+
puts("Line: #{line}: #{ann}")
|
19
19
|
fail if result =~ /fail/i
|
20
20
|
end
|
21
21
|
|
22
|
-
Given /^I use
|
23
|
-
|
22
|
+
Given /^I use puts and step fails$/ do x=1
|
23
|
+
puts("Announce with fail")
|
24
24
|
fail
|
25
25
|
end
|
26
26
|
|
27
27
|
Given /^this step works$/ do x=1
|
28
28
|
end
|
29
29
|
|
30
|
-
Given /^I
|
31
|
-
|
30
|
+
Given /^I puts the world$/ do x=1
|
31
|
+
puts(self)
|
32
32
|
end
|
33
33
|
"""
|
34
34
|
And a file named "features/f.feature" with:
|
@@ -36,15 +36,15 @@ Feature: Delayed announcement
|
|
36
36
|
Feature: F
|
37
37
|
|
38
38
|
Scenario: S
|
39
|
-
Given I use
|
39
|
+
Given I use puts with text "Ann"
|
40
40
|
And this step works
|
41
41
|
|
42
42
|
Scenario: S2
|
43
|
-
Given I use multiple
|
43
|
+
Given I use multiple putss
|
44
44
|
And this step works
|
45
45
|
|
46
46
|
Scenario Outline: S3
|
47
|
-
Given I use
|
47
|
+
Given I use message <ann> in line <line>
|
48
48
|
|
49
49
|
Examples:
|
50
50
|
| line | ann |
|
@@ -53,11 +53,11 @@ Feature: Delayed announcement
|
|
53
53
|
| 3 | anno3 |
|
54
54
|
|
55
55
|
Scenario: S4
|
56
|
-
Given I use
|
56
|
+
Given I use puts and step fails
|
57
57
|
And this step works
|
58
58
|
|
59
59
|
Scenario Outline: s5
|
60
|
-
Given I use
|
60
|
+
Given I use message <ann> in line <line> with result <result>
|
61
61
|
|
62
62
|
Examples:
|
63
63
|
| line | ann | result |
|
@@ -65,34 +65,34 @@ Feature: Delayed announcement
|
|
65
65
|
| 2 | anno2 | pass |
|
66
66
|
"""
|
67
67
|
|
68
|
-
And a file named "features/
|
68
|
+
And a file named "features/puts_world.feature" with:
|
69
69
|
"""
|
70
|
-
Feature:
|
71
|
-
Scenario:
|
72
|
-
Given I
|
70
|
+
Feature: puts_world
|
71
|
+
Scenario: puts_world
|
72
|
+
Given I puts the world
|
73
73
|
"""
|
74
74
|
|
75
|
-
Scenario: Delayed
|
75
|
+
Scenario: Delayed messages feature
|
76
76
|
When I run cucumber --format pretty features/f.feature
|
77
77
|
Then STDERR should be empty
|
78
78
|
And the output should contain
|
79
79
|
"""
|
80
80
|
Feature: F
|
81
81
|
|
82
|
-
Scenario: S
|
83
|
-
Given I use
|
82
|
+
Scenario: S # features/f.feature:3
|
83
|
+
Given I use puts with text "Ann" # features/step_definitions/steps.rb:1
|
84
84
|
Ann
|
85
|
-
And this step works
|
85
|
+
And this step works # features/step_definitions/steps.rb:21
|
86
86
|
|
87
|
-
Scenario: S2
|
88
|
-
Given I use multiple
|
87
|
+
Scenario: S2 # features/f.feature:7
|
88
|
+
Given I use multiple putss # features/step_definitions/steps.rb:5
|
89
89
|
Multiple
|
90
90
|
Announce
|
91
91
|
Me
|
92
|
-
And this step works
|
92
|
+
And this step works # features/step_definitions/steps.rb:21
|
93
93
|
|
94
|
-
Scenario Outline: S3
|
95
|
-
Given I use
|
94
|
+
Scenario Outline: S3 # features/f.feature:11
|
95
|
+
Given I use message <ann> in line <line> # features/f.feature:12
|
96
96
|
|
97
97
|
Examples:
|
98
98
|
| line | ann |
|
@@ -100,27 +100,27 @@ Feature: Delayed announcement
|
|
100
100
|
| 2 | anno2 |
|
101
101
|
| 3 | anno3 |
|
102
102
|
|
103
|
-
Scenario: S4
|
104
|
-
Given I use
|
103
|
+
Scenario: S4 # features/f.feature:20
|
104
|
+
Given I use puts and step fails # features/step_definitions/steps.rb:16
|
105
105
|
Announce with fail
|
106
106
|
(RuntimeError)
|
107
|
-
./features/step_definitions/steps.rb:18:in `/^I use
|
108
|
-
features/f.feature:21:in `Given I use
|
109
|
-
And this step works
|
107
|
+
./features/step_definitions/steps.rb:18:in `/^I use puts and step fails$/'
|
108
|
+
features/f.feature:21:in `Given I use puts and step fails'
|
109
|
+
And this step works # features/step_definitions/steps.rb:21
|
110
110
|
|
111
|
-
Scenario Outline: s5
|
112
|
-
Given I use
|
111
|
+
Scenario Outline: s5 # features/f.feature:24
|
112
|
+
Given I use message <ann> in line <line> with result <result> # features/step_definitions/steps.rb:10
|
113
113
|
|
114
114
|
Examples:
|
115
115
|
| line | ann | result |
|
116
116
|
| 1 | anno1 | fail | Line: 1: anno1
|
117
117
|
(RuntimeError)
|
118
|
-
./features/step_definitions/steps.rb:13:in `/^I use
|
119
|
-
features/f.feature:25:in `Given I use
|
118
|
+
./features/step_definitions/steps.rb:13:in `/^I use message (.+) in line (.+) (?:with result (.+))$/'
|
119
|
+
features/f.feature:25:in `Given I use message <ann> in line <line> with result <result>'
|
120
120
|
| 2 | anno2 | pass | Line: 2: anno2
|
121
121
|
"""
|
122
122
|
|
123
|
-
Scenario: Non-delayed
|
123
|
+
Scenario: Non-delayed messages feature (progress formatter)
|
124
124
|
When I run cucumber --format progress features/f.feature
|
125
125
|
Then the output should contain
|
126
126
|
"""
|
@@ -140,25 +140,13 @@ Feature: Delayed announcement
|
|
140
140
|
"""
|
141
141
|
|
142
142
|
@rspec2
|
143
|
-
Scenario:
|
144
|
-
When I run cucumber --format progress features/
|
145
|
-
Then the output should contain
|
146
|
-
""
|
147
|
-
WORLD:
|
148
|
-
Object
|
149
|
-
|
150
|
-
RSpec::Matchers
|
151
|
-
Cucumber::RbSupport::RbWorld
|
152
|
-
"""
|
143
|
+
Scenario: puts world
|
144
|
+
When I run cucumber --format progress features/puts_world.feature
|
145
|
+
Then the output should contain "RSpec::Matchers"
|
146
|
+
And the output should contain "Cucumber::RbSupport::RbWorld"
|
153
147
|
|
154
148
|
@rspec1
|
155
|
-
Scenario:
|
156
|
-
When I run cucumber --format progress features/
|
157
|
-
Then the output should contain
|
158
|
-
""
|
159
|
-
WORLD:
|
160
|
-
Object
|
161
|
-
|
162
|
-
Spec::Matchers
|
163
|
-
Cucumber::RbSupport::RbWorld
|
164
|
-
"""
|
149
|
+
Scenario: puts world
|
150
|
+
When I run cucumber --format progress features/puts_world.feature
|
151
|
+
Then the output should contain "Spec::Matchers"
|
152
|
+
And the output should contain "Cucumber::RbSupport::RbWorld"
|
@@ -52,14 +52,20 @@ Feature: http://rspec.lighthouseapp.com/projects/16211/tickets/600-inconsistent-
|
|
52
52
|
When I run cucumber -f progress features/t.feature
|
53
53
|
Then it should pass with
|
54
54
|
"""
|
55
|
+
|
55
56
|
Before scenario
|
57
|
+
|
56
58
|
Within background
|
57
|
-
.--
|
59
|
+
.--
|
60
|
+
After scenario
|
61
|
+
|
58
62
|
Before scenario
|
63
|
+
|
59
64
|
Within background
|
60
|
-
.
|
61
|
-
|
62
|
-
|
65
|
+
.
|
66
|
+
After scenario
|
67
|
+
|
68
|
+
|
63
69
|
2 scenarios (2 passed)
|
64
70
|
3 steps (3 passed)
|
65
71
|
|
@@ -133,7 +133,7 @@ body {
|
|
133
133
|
background: #fcfb98;
|
134
134
|
color: #131313;
|
135
135
|
}
|
136
|
-
.cucumber table td.
|
136
|
+
.cucumber table td.message, td table td.message, th table td.message {
|
137
137
|
border-left: 5px solid aqua;
|
138
138
|
border-bottom: 1px solid aqua;
|
139
139
|
background: #e0ffff;
|
@@ -185,7 +185,7 @@ body {
|
|
185
185
|
background: #fcfb98;
|
186
186
|
color: #131313;
|
187
187
|
}
|
188
|
-
.cucumber ol li.
|
188
|
+
.cucumber ol li.message, td ol li.message, th ol li.message {
|
189
189
|
border-left: 5px solid aqua;
|
190
190
|
border-bottom: 1px solid aqua;
|
191
191
|
background: #e0ffff;
|