cucumber 0.10.3 → 0.10.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 +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;
|