cucumber 0.10.3 → 0.10.5

Sign up to get free protection for your applications and to get access to all the features.
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;