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.
Files changed (46) hide show
  1. data/History.txt +21 -8
  2. data/cucumber.gemspec +5 -5
  3. data/examples/sinatra/features/support/env.rb +1 -1
  4. data/examples/v8/features/fibonacci.feature +1 -1
  5. data/examples/watir/features/step_definitions/search_steps.rb +1 -1
  6. data/features/json_formatter.feature +1 -2
  7. data/features/transforms.feature +2 -2
  8. data/fixtures/junit/features/scenario_outline.feature +9 -0
  9. data/fixtures/tickets/features.html +1 -1
  10. data/gem_tasks/sdoc.rake +1 -1
  11. data/legacy_features/announce.feature +48 -60
  12. data/legacy_features/bug_371.feature +2 -2
  13. data/legacy_features/bug_600.feature +10 -4
  14. data/legacy_features/html_formatter/a.html +2 -2
  15. data/legacy_features/junit_formatter.feature +30 -1
  16. data/legacy_features/profiles.feature +1 -1
  17. data/legacy_features/step_definitions/cucumber_steps.rb +4 -0
  18. data/lib/cucumber/ast.rb +1 -1
  19. data/lib/cucumber/ast/{py_string.rb → doc_string.rb} +6 -6
  20. data/lib/cucumber/ast/tree_walker.rb +4 -4
  21. data/lib/cucumber/formatter/console.rb +20 -18
  22. data/lib/cucumber/formatter/cucumber.css +2 -2
  23. data/lib/cucumber/formatter/cucumber.sass +13 -13
  24. data/lib/cucumber/formatter/html.rb +23 -23
  25. data/lib/cucumber/formatter/junit.rb +5 -1
  26. data/lib/cucumber/formatter/pdf.rb +6 -6
  27. data/lib/cucumber/formatter/pretty.rb +5 -5
  28. data/lib/cucumber/parser/gherkin_builder.rb +2 -2
  29. data/lib/cucumber/platform.rb +1 -1
  30. data/lib/cucumber/rake/task.rb +13 -1
  31. data/lib/cucumber/rb_support/rb_language.rb +1 -1
  32. data/lib/cucumber/rb_support/rb_world.rb +24 -16
  33. data/lib/cucumber/runtime.rb +1 -1
  34. data/lib/cucumber/runtime/for_programming_languages.rb +3 -3
  35. data/lib/cucumber/runtime/support_code.rb +1 -1
  36. data/lib/cucumber/runtime/user_interface.rb +12 -11
  37. data/lib/cucumber/step_match.rb +1 -1
  38. data/spec/cucumber/ast/doc_string_spec.rb +40 -0
  39. data/spec/cucumber/ast/feature_factory.rb +2 -2
  40. data/spec/cucumber/ast/feature_spec.rb +1 -1
  41. data/spec/cucumber/ast/step_spec.rb +2 -2
  42. data/spec/cucumber/formatter/junit_spec.rb +1 -0
  43. data/spec/cucumber/rb_support/rb_language_spec.rb +1 -1
  44. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +3 -3
  45. metadata +14 -13
  46. 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 "announce" in HTML formatter (#676 Stephen Kennedy)
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
- * #announce can now take non-String arguments just like Kernel#puts - #to_s is done implicitly. (Aslak Hellesøy)
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 #announce_world method, printing the World class and all included modules (Ruby only). (Aslak Hellesøy)
250
- * Added #announce to the PDF formatter (Nicolas Bessi)
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 #announce-s question and answer. (Aslak Hellesøy)
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 #announce method available from Ruby Step Definitions will print *after* the step is executed. (#487 Zoltan Penzeli)
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 #announce method will no longer escape HTML if the html formatter is used. Escaping must be done manually. (Aslak Hellesøy)
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#announce(announcment) which lets you output text to the formatted output (#222 Rob Kaufmann)
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/aslakhellesoy/cucumber/upgrading
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', '>= 2.3.8'
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.8.4'
40
- s.add_development_dependency 'simplecov', '>= 0.4.1'
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.0'
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"
@@ -1,4 +1,4 @@
1
- # See http://wiki.github.com/aslakhellesoy/cucumber/sinatra
1
+ # See http://wiki.github.com/cucumber/cucumber/sinatra
2
2
  # for more details about Sinatra with Cucumber
3
3
 
4
4
  require File.dirname(__FILE__) + '/../../app'
@@ -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 PyString
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/aslakhellesoy/cucumber/tree/v0.1.15/examples/watir/features/step_definitons/search_steps.rb
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": "py_string"
187
+ "type": "doc_string"
189
188
  },
190
189
  "match": {
191
190
  "location": "features/step_definitions/pystring_steps.rb:1"
@@ -33,7 +33,7 @@ Feature: Transforms
33
33
  end
34
34
 
35
35
  Given /^(a Person aged \d+) with blonde hair$/ do |person|
36
- announce "#{person} and I have blonde hair"
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
- announce "#{person} and I have blonde hair"
56
+ puts "#{person} and I have blonde hair"
57
57
  end
58
58
  """
59
59
  When I run cucumber "features/foo.feature"
@@ -0,0 +1,9 @@
1
+ Feature: Scenario outlines
2
+
3
+ Scenario Outline: Using scenario outlines
4
+ Given a <type> scenario
5
+
6
+ Examples:
7
+ | type |
8
+ | passing |
9
+ | failing |
@@ -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 &lt;Stuff&gt;</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 &lt;Blah&gt;</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&#x000A;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&#x000A;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 &lt;start&gt; 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 &lt;eat&gt; 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 &lt;left&gt; 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 &lt;start&gt; 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 &lt;eat&gt; 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 &lt;left&gt; 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 &lt;eat&gt; 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 '&lt;' and '&gt;' 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 &lt; 12 and &gt; 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 &lt;start&gt; 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 &lt;eat&gt; 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 &lt;left&gt; 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 &lt;number&gt; &lt;fruits&gt; 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 &lt;left&gt; &lt;fruits&gt; 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">&lt;quant_cukes&gt;</td></tr><tr id="row_87"><td class="val" id="row_87_0">strawberrys</td><td class="val" id="row_87_1">&lt;quant_straw&gt;</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 &lt;number&gt; &lt;fruits&gt; 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 &lt;left&gt; &lt;fruits&gt; 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&#x000A;that spans&#x000A;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&#x000A;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&#x000A;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 &lt;start&gt; 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 &lt;eat&gt; 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 &lt;left&gt; 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 &lt;start&gt; 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 &lt;eat&gt; 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 &lt;left&gt; 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 &lt;eat&gt; 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 '&lt;' and '&gt;' 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 &lt; 12 and &gt; 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 &lt;start&gt; 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 &lt;eat&gt; 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 &lt;left&gt; 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 &lt;number&gt; &lt;fruits&gt; 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 &lt;left&gt; &lt;fruits&gt; 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">&lt;quant_cukes&gt;</td></tr><tr id="row_87"><td class="val" id="row_87_0">strawberrys</td><td class="val" id="row_87_1">&lt;quant_straw&gt;</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 &lt;number&gt; &lt;fruits&gt; 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 &lt;left&gt; &lt;fruits&gt; 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&#x000A;that spans&#x000A;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/aslakhellesoy/cucumber/blob/v0.3.96/%s --title "Cucumber API" --threads 4 --main README --exclude cucumber/parser lib}
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 announcement
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 announce with text "(.*)"$/ do |ann| x=1
8
- announce(ann)
7
+ Given /^I use puts with text "(.*)"$/ do |ann| x=1
8
+ puts(ann)
9
9
  end
10
10
 
11
- Given /^I use multiple announces$/ do x=1
11
+ Given /^I use multiple putss$/ do x=1
12
12
  announce("Multiple")
13
- announce(["Announce","Me"])
13
+ puts("Announce","Me")
14
14
  end
15
15
 
16
- Given /^I use announcement (.+) in line (.+) (?:with result (.+))$/ do |ann, line, result| x=1
17
- announce("Last announcement") if line == "3"
18
- announce("Line: #{line}: #{ann}")
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 announce and step fails$/ do x=1
23
- announce("Announce with fail")
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 announce the world$/ do x=1
31
- announce_world
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 announce with text "Ann"
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 announces
43
+ Given I use multiple putss
44
44
  And this step works
45
45
 
46
46
  Scenario Outline: S3
47
- Given I use announcement <ann> in line <line>
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 announce and step fails
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 announcement <ann> in line <line> with result <result>
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/announce_world.feature" with:
68
+ And a file named "features/puts_world.feature" with:
69
69
  """
70
- Feature: announce_world
71
- Scenario: announce_world
72
- Given I announce the world
70
+ Feature: puts_world
71
+ Scenario: puts_world
72
+ Given I puts the world
73
73
  """
74
74
 
75
- Scenario: Delayed announcements feature
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 # features/f.feature:3
83
- Given I use announce with text "Ann" # features/step_definitions/steps.rb:1
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 # features/step_definitions/steps.rb:21
85
+ And this step works # features/step_definitions/steps.rb:21
86
86
 
87
- Scenario: S2 # features/f.feature:7
88
- Given I use multiple announces # features/step_definitions/steps.rb:5
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 # features/step_definitions/steps.rb:21
92
+ And this step works # features/step_definitions/steps.rb:21
93
93
 
94
- Scenario Outline: S3 # features/f.feature:11
95
- Given I use announcement <ann> in line <line> # features/f.feature:12
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 # features/f.feature:20
104
- Given I use announce and step fails # features/step_definitions/steps.rb:16
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 announce and step fails$/'
108
- features/f.feature:21:in `Given I use announce and step fails'
109
- And this step works # features/step_definitions/steps.rb:21
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 # features/f.feature:24
112
- Given I use announcement <ann> in line <line> with result <result> # features/step_definitions/steps.rb:10
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 announcement (.+) in line (.+) (?:with result (.+))$/'
119
- features/f.feature:25:in `Given I use announcement <ann> in line <line> with result <result>'
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 announcements feature (progress formatter)
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: announce world
144
- When I run cucumber --format progress features/announce_world.feature
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: announce world
156
- When I run cucumber --format progress features/announce_world.feature
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"
@@ -22,9 +22,9 @@ Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/371
22
22
  Feature: F
23
23
 
24
24
  Scenario: S
25
- B
26
- G
27
25
  Given G
26
+ B
27
+ G
28
28
 
29
29
  1 scenario (1 passed)
30
30
  1 step (1 passed)
@@ -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
- .--After scenario
59
+ .--
60
+ After scenario
61
+
58
62
  Before scenario
63
+
59
64
  Within background
60
- .After scenario
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.announcement, td table td.announcement, th table td.announcement {
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.announcement, td ol li.announcement, th ol li.announcement {
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;