cucumber 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. data/History.txt +19 -0
  2. data/README.rdoc +1 -1
  3. data/Rakefile +2 -5
  4. data/VERSION.yml +1 -1
  5. data/cucumber.gemspec +12 -4
  6. data/examples/i18n/de/features/addition.feature +1 -1
  7. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +3 -3
  8. data/examples/self_test/features/step_definitions/sample_steps.rb +22 -22
  9. data/examples/tickets/features/half_manual.feature +11 -0
  10. data/examples/tickets/features/step_definitons/half_manual_steps.rb +11 -0
  11. data/features/announce.feature +97 -97
  12. data/features/background.feature +1 -4
  13. data/features/bug_475.feature +1 -2
  14. data/features/call_many_steps.feature +4 -6
  15. data/features/exception_in_after_block.feature +2 -3
  16. data/features/exception_in_after_step_block.feature +2 -3
  17. data/features/exception_in_before_block.feature +1 -2
  18. data/features/html_formatter/a.html +50 -40
  19. data/features/negative_tagged_hooks.feature +2 -3
  20. data/features/profiles.feature +2 -2
  21. data/features/report_called_undefined_steps.feature +2 -2
  22. data/features/rerun_formatter.feature +45 -0
  23. data/features/table_diffing.feature +1 -1
  24. data/features/table_mapping.feature +2 -3
  25. data/features/wire_protocol_table_diffing.feature +25 -0
  26. data/features/wire_protocol_tags.feature +47 -0
  27. data/lib/cucumber/ast/table.rb +2 -2
  28. data/lib/cucumber/cli/configuration.rb +1 -1
  29. data/lib/cucumber/cli/drb_client.rb +27 -16
  30. data/lib/cucumber/cli/profile_loader.rb +3 -2
  31. data/lib/cucumber/core_ext/proc.rb +1 -2
  32. data/lib/cucumber/formatter/console.rb +6 -4
  33. data/lib/cucumber/formatter/cucumber.css +10 -0
  34. data/lib/cucumber/formatter/cucumber.sass +10 -0
  35. data/lib/cucumber/formatter/html.rb +197 -186
  36. data/lib/cucumber/formatter/pdf.rb +24 -7
  37. data/lib/cucumber/formatter/rerun.rb +6 -3
  38. data/lib/cucumber/formatter/unicode.rb +1 -1
  39. data/lib/cucumber/languages.yml +7 -7
  40. data/lib/cucumber/parser/natural_language.rb +7 -0
  41. data/lib/cucumber/parser/treetop_ext.rb +1 -0
  42. data/lib/cucumber/rb_support/rb_world.rb +5 -0
  43. data/lib/cucumber/step_match.rb +4 -2
  44. data/lib/cucumber/step_mother.rb +53 -4
  45. data/lib/cucumber/wire_support/configuration.rb +11 -1
  46. data/lib/cucumber/wire_support/wire_language.rb +6 -3
  47. data/lib/cucumber/wire_support/wire_protocol.rb +2 -2
  48. data/lib/cucumber/wire_support/wire_protocol/requests.rb +26 -4
  49. data/spec/cucumber/ast/background_spec.rb +3 -3
  50. data/spec/cucumber/ast/feature_element_spec.rb +2 -2
  51. data/spec/cucumber/ast/feature_spec.rb +5 -5
  52. data/spec/cucumber/ast/outline_table_spec.rb +1 -1
  53. data/spec/cucumber/ast/py_string_spec.rb +1 -1
  54. data/spec/cucumber/ast/scenario_outline_spec.rb +3 -3
  55. data/spec/cucumber/ast/scenario_spec.rb +3 -3
  56. data/spec/cucumber/ast/step_collection_spec.rb +3 -3
  57. data/spec/cucumber/ast/step_spec.rb +1 -1
  58. data/spec/cucumber/ast/table_spec.rb +23 -3
  59. data/spec/cucumber/ast/tree_walker_spec.rb +1 -1
  60. data/spec/cucumber/broadcaster_spec.rb +1 -1
  61. data/spec/cucumber/cli/configuration_spec.rb +16 -6
  62. data/spec/cucumber/cli/drb_client_spec.rb +1 -1
  63. data/spec/cucumber/cli/main_spec.rb +13 -14
  64. data/spec/cucumber/cli/options_spec.rb +1 -1
  65. data/spec/cucumber/cli/profile_loader_spec.rb +1 -1
  66. data/spec/cucumber/core_ext/proc_spec.rb +1 -1
  67. data/spec/cucumber/formatter/ansicolor_spec.rb +1 -1
  68. data/spec/cucumber/formatter/color_io_spec.rb +1 -1
  69. data/spec/cucumber/formatter/duration_spec.rb +1 -1
  70. data/spec/cucumber/formatter/html_spec.rb +2 -2
  71. data/spec/cucumber/formatter/junit_spec.rb +2 -2
  72. data/spec/cucumber/formatter/progress_spec.rb +3 -3
  73. data/spec/cucumber/parser/feature_parser_spec.rb +5 -5
  74. data/spec/cucumber/parser/table_parser_spec.rb +3 -3
  75. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +7 -7
  76. data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +1 -1
  77. data/spec/cucumber/step_match_spec.rb +6 -1
  78. data/spec/cucumber/step_mother_spec.rb +18 -10
  79. data/spec/cucumber/tag_expression_spec.rb +88 -90
  80. data/spec/cucumber/wire_support/configuration_spec.rb +29 -12
  81. data/spec/cucumber/wire_support/connection_spec.rb +1 -1
  82. data/spec/cucumber/wire_support/wire_exception_spec.rb +1 -1
  83. data/spec/cucumber/wire_support/wire_language_spec.rb +1 -1
  84. data/spec/cucumber/wire_support/wire_packet_spec.rb +1 -1
  85. data/spec/cucumber/wire_support/wire_step_definition_spec.rb +1 -1
  86. data/spec/cucumber/world/pending_spec.rb +5 -5
  87. metadata +128 -54
@@ -281,10 +281,7 @@ Feature: backgrounds
281
281
  $after = true
282
282
  end
283
283
 
284
- Given /^whatever$/ do
285
- $before.should == true
286
- $step = true
287
- end
284
+ Given(/^whatever$/) { $before.should == true; $step = true }
288
285
 
289
286
  at_exit do
290
287
  $before.should == true
@@ -16,8 +16,7 @@ Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/475
16
16
  """
17
17
  And a file named "features/step_definitions/steps.rb" with:
18
18
  """
19
- Given /a multiline string:/ do |s|
20
- s.should =~ /hello (\w+)/
19
+ Given /a multiline string:/ do |s| s.should =~ /hello (\w+)/
21
20
  end
22
21
  """
23
22
  When I run cucumber features/f.feature
@@ -24,15 +24,15 @@ Feature: http://gist.github.com/221223
24
24
  """
25
25
  And a file named "features/step_definitions/steps.rb" with:
26
26
  """
27
- Given /^a multiline string:$/ do |s|
27
+ Given /^a multiline string:$/ do |s| x=1
28
28
  raise "I got multiline:\n#{s}"
29
29
  end
30
30
 
31
- Given /^a table:$/ do |t|
31
+ Given /^a table:$/ do |t| x=1
32
32
  raise "I got table:\n#{t.raw.inspect}"
33
33
  end
34
34
 
35
- Given /^I call a multiline string with (.*)$/ do |s|
35
+ Given /^I call a multiline string with (.*)$/ do |s| x=1
36
36
  steps %Q{
37
37
  Given a multiline string:
38
38
  \"\"\"
@@ -42,7 +42,7 @@ Feature: http://gist.github.com/221223
42
42
  }
43
43
  end
44
44
 
45
- Given /^I call a table with (.*)$/ do |s|
45
+ Given /^I call a table with (.*)$/ do |s| x=1
46
46
  steps %Q{
47
47
  Given a table:
48
48
  |a|b|
@@ -78,7 +78,6 @@ Feature: http://gist.github.com/221223
78
78
 
79
79
  """
80
80
 
81
- @fails_on_1_9
82
81
  Scenario: Call multiline string
83
82
  When I run cucumber features/f.feature:10
84
83
  Then STDERR should be empty
@@ -102,7 +101,6 @@ Feature: http://gist.github.com/221223
102
101
 
103
102
  """
104
103
 
105
- @fails_on_1_9
106
104
  Scenario: Call table
107
105
  When I run cucumber features/f.feature:13
108
106
  Then STDERR should be empty
@@ -7,12 +7,11 @@ Feature: Exception in After Block
7
7
  Given a standard Cucumber project directory structure
8
8
  And a file named "features/step_definitions/steps.rb" with:
9
9
  """
10
- Given /^this step does something naughty$/ do
10
+ Given /^this step does something naughty$/ do x=1
11
11
  @naughty = true
12
12
  end
13
13
 
14
- Given /^this step works$/ do
15
- end
14
+ Given(/^this step works$/) do; end
16
15
  """
17
16
  And a file named "features/support/env.rb" with:
18
17
  """
@@ -7,12 +7,11 @@ Feature: Exception in AfterStep Block
7
7
  Given a standard Cucumber project directory structure
8
8
  And a file named "features/step_definitions/steps.rb" with:
9
9
  """
10
- Given /^this step does something naughty$/ do
10
+ Given /^this step does something naughty$/ do x=1
11
11
  @naughty = true
12
12
  end
13
13
 
14
- Given /^this step works$/ do
15
- end
14
+ Given(/^this step works$/) do; end
16
15
  """
17
16
  And a file named "features/support/env.rb" with:
18
17
  """
@@ -7,8 +7,7 @@ Feature: Exception in Before Block
7
7
  Given a standard Cucumber project directory structure
8
8
  And a file named "features/step_definitions/steps.rb" with:
9
9
  """
10
- Given /^this step works$/ do
11
- end
10
+ Given(/^this step works$/) do; end
12
11
  """
13
12
  And a file named "features/support/env.rb" with:
14
13
  """
@@ -48,6 +48,16 @@ body {
48
48
  .cucumber .summary ul.features li, td .summary ul.features li, th .summary ul.features li {
49
49
  display: inline;
50
50
  }
51
+ .cucumber .step_name, td .step_name, th .step_name {
52
+ float: left;
53
+ }
54
+ .cucumber .step_file, td .step_file, th .step_file {
55
+ text-align: right;
56
+ color: #999999;
57
+ }
58
+ .cucumber .step_file a, td .step_file a, th .step_file a {
59
+ color: #999999;
60
+ }
51
61
  .cucumber .tag, td .tag, th .tag {
52
62
  font-weight: bold;
53
63
  color: #246AC1;
@@ -258,7 +268,7 @@ body {
258
268
  document.getElementById(element_id).style.background = '#FAF834';
259
269
  document.getElementById(element_id).style.color = '#000000';
260
270
  }
261
- </script></head><body><!-- Step count 169--><div class="cucumber"><div id="cucumber-header"><div id="label"><h1>Cucumber Features</h1></div><div id="summary"><p id="totals"></p><p id="duration"></p></div></div><div class="feature"><span class="tag">@background_tagged_before_on_outline</span><h2><span class="val">Feature: Background tagged Before on Outline</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_background_tagged_before_on_outline_feature_5' class='step passed'><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li> <script type="text/javascript">moveProgressBar('0.5');</script></ol></div><div class='scenario outline'><h3 id="scenario_1"><span class="keyword">Scenario Outline:</span> <span class="val">passing background</span></h3><ol><li id='features_background_background_tagged_before_on_outline_feature_8' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li> <script type="text/javascript">moveProgressBar('1.1');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_11'><th class="step skipped_param" id="row_11_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('1.7');</script><tr class='step' id='row_12'><td class="step passed" id="row_12_0"><div><span class="step param">888</span></div></td></tr> <script type="text/javascript">moveProgressBar('2.3');</script></table></div></div></div><div class="feature"><h2><span class="val">Feature: background with name</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">I'm a background and I'm ok</span></h3><ol><li id='features_background_background_with_name_feature_4' class='step passed'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('2.9');</script></ol></div><div class='scenario'><h3 id="scenario_2"><span class="keyword">Scenario:</span> <span class="val">example</span></h3><ol> <script type="text/javascript">moveProgressBar('3.5');</script><li id='features_background_background_with_name_feature_7' class='step passed'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('4.1');</script></ol></div></div><div class="feature"><span class="tag">@after_file</span><h2><span class="val">Feature: Failing background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><script>makeRed('cucumber-header');makeRed('scenario_2');</script><li id='features_background_failing_background_feature_5' class='step failed'><div><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
271
+ </script></head><body><!-- Step count 169--><div class="cucumber"><div id="cucumber-header"><div id="label"><h1>Cucumber Features</h1></div><div id="summary"><p id="totals"></p><p id="duration"></p></div></div><div class="feature"><span class="tag">@background_tagged_before_on_outline</span><h2><span class="val">Feature: Background tagged Before on Outline</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_background_tagged_before_on_outline_feature_5' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">passing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('0.5');</script></ol></div><div class='scenario outline'><h3 id="scenario_1"><span class="keyword">Scenario Outline:</span> <span class="val">passing background</span></h3><ol><li id='features_background_background_tagged_before_on_outline_feature_8' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('1.1');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_11'><th class="step skipped_param" id="row_11_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('1.7');</script><tr class='step' id='row_12'><td class="step passed" id="row_12_0"><div><span class="step param">888</span></div></td></tr> <script type="text/javascript">moveProgressBar('2.3');</script></table></div></div></div><div class="feature"><h2><span class="val">Feature: background with name</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">I'm a background and I'm ok</span></h3><ol><li id='features_background_background_with_name_feature_4' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('2.9');</script></ol></div><div class='scenario'><h3 id="scenario_2"><span class="keyword">Scenario:</span> <span class="val">example</span></h3><ol> <script type="text/javascript">moveProgressBar('3.5');</script><li id='features_background_background_with_name_feature_7' class='step passed'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('4.1');</script></ol></div></div><div class="feature"><span class="tag">@after_file</span><h2><span class="val">Feature: Failing background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><script>makeRed('cucumber-header');makeRed('scenario_2');</script><li id='features_background_failing_background_feature_5' class='step failed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:15</span></div><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
262
272
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
263
273
  features/background/failing_background.feature:5:in `Given failing without a table':in `flunker'
264
274
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
@@ -268,7 +278,7 @@ features/background/failing_background.feature:5:in `Given failing without a tab
268
278
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
269
279
  features/background/failing_background.feature:5:in `Given failing without a table':in `Given failing without a table'</pre></div><pre class="ruby"><code><span class="linenum">0</span><span class="keyword">def </span><span class="method">flunker</span>
270
280
  <span class="linenum">1</span> <span class="keyword">raise</span> <span class="punct">&quot;</span><span class="string">FAIL</span><span class="punct">&quot;</span>
271
- <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('4.7');</script><li id='features_background_failing_background_feature_6' class='step skipped'><div><span class="keyword">And</span> <span class="step val">'<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('5.3');</script></ol></div><div class='scenario'><h3 id="scenario_3"><span class="keyword">Scenario:</span> <span class="val">failing background</span></h3><ol><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
281
+ <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('4.7');</script><li id='features_background_failing_background_feature_6' class='step skipped'><div class="step_name"><span class="keyword">And</span> <span class="step val">'<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('5.3');</script></ol></div><div class='scenario'><h3 id="scenario_3"><span class="keyword">Scenario:</span> <span class="val">failing background</span></h3><ol><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
272
282
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
273
283
  features/background/failing_background.feature:5:in `Given failing without a table':in `flunker'
274
284
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
@@ -278,7 +288,7 @@ features/background/failing_background.feature:5:in `Given failing without a tab
278
288
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
279
289
  features/background/failing_background.feature:5:in `Given failing without a table':in `Given failing without a table'</pre></div><pre class="ruby"><code><span class="linenum">0</span><span class="keyword">def </span><span class="method">flunker</span>
280
290
  <span class="linenum">1</span> <span class="keyword">raise</span> <span class="punct">&quot;</span><span class="string">FAIL</span><span class="punct">&quot;</span>
281
- <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre> <script type="text/javascript">moveProgressBar('5.9');</script> <script type="text/javascript">moveProgressBar('6.5');</script><li id='features_background_failing_background_feature_9' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('7.1');</script></ol></div><div class='scenario'><h3 id="scenario_4"><span class="keyword">Scenario:</span> <span class="val">another failing background</span></h3><ol> <script type="text/javascript">moveProgressBar('7.6');</script> <script type="text/javascript">moveProgressBar('8.2');</script><li id='features_background_failing_background_feature_12' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('8.8');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing background after previously successful background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_failing_background_after_success_feature_4' class='step passed'><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li> <script type="text/javascript">moveProgressBar('9.4');</script><li id='features_background_failing_background_after_success_feature_5' class='step passed'><div><span class="keyword">And</span> <span class="step val">'<span class="param">10</span>' global cukes</span></div></li> <script type="text/javascript">moveProgressBar('10.0');</script></ol></div><div class='scenario'><h3 id="scenario_5"><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('10.6');</script> <script type="text/javascript">moveProgressBar('11.2');</script><li id='features_background_failing_background_after_success_feature_8' class='step passed'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' global cukes</span></div></li> <script type="text/javascript">moveProgressBar('11.8');</script></ol></div><div class='scenario'><h3 id="scenario_6"><span class="keyword">Scenario:</span> <span class="val">failing background</span></h3><ol> <script type="text/javascript">moveProgressBar('12.4');</script><script>makeRed('scenario_6');</script><li id='features_background_failing_background_after_success_feature_5' class='step failed'><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
291
+ <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre> <script type="text/javascript">moveProgressBar('5.9');</script> <script type="text/javascript">moveProgressBar('6.5');</script><li id='features_background_failing_background_feature_9' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('7.1');</script></ol></div><div class='scenario'><h3 id="scenario_4"><span class="keyword">Scenario:</span> <span class="val">another failing background</span></h3><ol> <script type="text/javascript">moveProgressBar('7.6');</script> <script type="text/javascript">moveProgressBar('8.2');</script><li id='features_background_failing_background_feature_12' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('8.8');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing background after previously successful background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_failing_background_after_success_feature_4' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">passing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('9.4');</script><li id='features_background_failing_background_after_success_feature_5' class='step passed'><div class="step_name"><span class="keyword">And</span> <span class="step val">'<span class="param">10</span>' global cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:35</span></div></li> <script type="text/javascript">moveProgressBar('10.0');</script></ol></div><div class='scenario'><h3 id="scenario_5"><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('10.6');</script> <script type="text/javascript">moveProgressBar('11.2');</script><li id='features_background_failing_background_after_success_feature_8' class='step passed'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' global cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:42</span></div></li> <script type="text/javascript">moveProgressBar('11.8');</script></ol></div><div class='scenario'><h3 id="scenario_6"><span class="keyword">Scenario:</span> <span class="val">failing background</span></h3><ol> <script type="text/javascript">moveProgressBar('12.4');</script><script>makeRed('scenario_6');</script><li id='features_background_failing_background_after_success_feature_5' class='step failed'><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
282
292
  ./features/step_definitions/sample_steps.rb:37:in `/^'(.+)' global cukes$/'
283
293
  features/background/failing_background_after_success.feature:5:in `And '10' global cukes':in `flunker'
284
294
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
@@ -288,9 +298,9 @@ features/background/failing_background_after_success.feature:5:in `And '10' glob
288
298
  ./features/step_definitions/sample_steps.rb:37:in `/^'(.+)' global cukes$/'
289
299
  features/background/failing_background_after_success.feature:5:in `And '10' global cukes':in `And '10' global cukes'</pre></div><pre class="ruby"><code><span class="linenum">0</span><span class="keyword">def </span><span class="method">flunker</span>
290
300
  <span class="linenum">1</span> <span class="keyword">raise</span> <span class="punct">&quot;</span><span class="string">FAIL</span><span class="punct">&quot;</span>
291
- <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('13.0');</script><li id='features_background_failing_background_after_success_feature_11' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' global cukes</span></div></li> <script type="text/javascript">moveProgressBar('13.6');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Passing background with multiline args</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_multiline_args_background_feature_4' class='step passed'><div><span class="keyword">Given</span> <span class="step val">table</span></div><table><tr class='step' id='row_5'><td class="step" id="row_5_0"><div><span class="step param">a</span></div></td><td class="step" id="row_5_1"><div><span class="step param">b</span></div></td></tr> <script type="text/javascript">moveProgressBar('14.7');</script><tr class='step' id='row_6'><td class="step" id="row_6_0"><div><span class="step param">c</span></div></td><td class="step" id="row_6_1"><div><span class="step param">d</span></div></td></tr> <script type="text/javascript">moveProgressBar('15.3');</script></table></li> <script type="text/javascript">moveProgressBar('15.3');</script><li id='features_background_multiline_args_background_feature_7' class='step passed'><div><span class="keyword">And</span> <span class="step val">multiline string</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li> <script type="text/javascript">moveProgressBar('15.9');</script></ol></div><div class='scenario'><h3 id="scenario_7"><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('16.5');</script> <script type="text/javascript">moveProgressBar('17.1');</script><li id='features_background_multiline_args_background_feature_14' class='step passed'><div><span class="keyword">Then</span> <span class="step val">the table should be</span></div><table><tr class='step' id='row_15'><td class="step" id="row_15_0"><div><span class="step param">a</span></div></td><td class="step" id="row_15_1"><div><span class="step param">b</span></div></td></tr> <script type="text/javascript">moveProgressBar('18.3');</script><tr class='step' id='row_16'><td class="step" id="row_16_0"><div><span class="step param">c</span></div></td><td class="step" id="row_16_1"><div><span class="step param">d</span></div></td></tr> <script type="text/javascript">moveProgressBar('18.9');</script></table></li> <script type="text/javascript">moveProgressBar('18.9');</script><li id='features_background_multiline_args_background_feature_17' class='step passed'><div><span class="keyword">Then</span> <span class="step val">the multiline string should be</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li> <script type="text/javascript">moveProgressBar('19.5');</script></ol></div><div class='scenario'><h3 id="scenario_8"><span class="keyword">Scenario:</span> <span class="val">another passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('20.1');</script> <script type="text/javascript">moveProgressBar('20.7');</script><li id='features_background_multiline_args_background_feature_24' class='step passed'><div><span class="keyword">Then</span> <span class="step val">the table should be</span></div><table><tr class='step' id='row_25'><td class="step" id="row_25_0"><div><span class="step param">a</span></div></td><td class="step" id="row_25_1"><div><span class="step param">b</span></div></td></tr> <script type="text/javascript">moveProgressBar('21.8');</script><tr class='step' id='row_26'><td class="step" id="row_26_0"><div><span class="step param">c</span></div></td><td class="step" id="row_26_1"><div><span class="step param">d</span></div></td></tr> <script type="text/javascript">moveProgressBar('22.4');</script></table></li> <script type="text/javascript">moveProgressBar('22.4');</script><li id='features_background_multiline_args_background_feature_27' class='step passed'><div><span class="keyword">Then</span> <span class="step val">the multiline string should be</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li> <script type="text/javascript">moveProgressBar('23.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Passing background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_passing_background_feature_4' class='step passed'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('23.6');</script></ol></div><div class='scenario'><h3 id="scenario_9"><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('24.2');</script><li id='features_background_passing_background_feature_7' class='step passed'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('24.8');</script></ol></div><div class='scenario'><h3 id="scenario_10"><span class="keyword">Scenario:</span> <span class="val">another passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('25.4');</script><li id='features_background_passing_background_feature_10' class='step passed'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('26.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Pending background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><script>makeYellow('scenario_10');</script><li id='features_background_pending_background_feature_4' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">pending</span></div><pre>Given /^pending$/ do
301
+ <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('13.0');</script><li id='features_background_failing_background_after_success_feature_11' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' global cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:42</span></div></li> <script type="text/javascript">moveProgressBar('13.6');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Passing background with multiline args</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_multiline_args_background_feature_4' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:46</span></div><table><tr class='step' id='row_5'><td class="step" id="row_5_0"><div><span class="step param">a</span></div></td><td class="step" id="row_5_1"><div><span class="step param">b</span></div></td></tr> <script type="text/javascript">moveProgressBar('14.7');</script><tr class='step' id='row_6'><td class="step" id="row_6_0"><div><span class="step param">c</span></div></td><td class="step" id="row_6_1"><div><span class="step param">d</span></div></td></tr> <script type="text/javascript">moveProgressBar('15.3');</script></table></li> <script type="text/javascript">moveProgressBar('15.3');</script><li id='features_background_multiline_args_background_feature_7' class='step passed'><div class="step_name"><span class="keyword">And</span> <span class="step val">multiline string</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:50</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li> <script type="text/javascript">moveProgressBar('15.9');</script></ol></div><div class='scenario'><h3 id="scenario_7"><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('16.5');</script> <script type="text/javascript">moveProgressBar('17.1');</script><li id='features_background_multiline_args_background_feature_14' class='step passed'><div class="step_name"><span class="keyword">Then</span> <span class="step val">the table should be</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:54</span></div><table><tr class='step' id='row_15'><td class="step" id="row_15_0"><div><span class="step param">a</span></div></td><td class="step" id="row_15_1"><div><span class="step param">b</span></div></td></tr> <script type="text/javascript">moveProgressBar('18.3');</script><tr class='step' id='row_16'><td class="step" id="row_16_0"><div><span class="step param">c</span></div></td><td class="step" id="row_16_1"><div><span class="step param">d</span></div></td></tr> <script type="text/javascript">moveProgressBar('18.9');</script></table></li> <script type="text/javascript">moveProgressBar('18.9');</script><li id='features_background_multiline_args_background_feature_17' class='step passed'><div class="step_name"><span class="keyword">Then</span> <span class="step val">the multiline string should be</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:58</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li> <script type="text/javascript">moveProgressBar('19.5');</script></ol></div><div class='scenario'><h3 id="scenario_8"><span class="keyword">Scenario:</span> <span class="val">another passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('20.1');</script> <script type="text/javascript">moveProgressBar('20.7');</script><li id='features_background_multiline_args_background_feature_24' class='step passed'><div class="step_name"><span class="keyword">Then</span> <span class="step val">the table should be</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:54</span></div><table><tr class='step' id='row_25'><td class="step" id="row_25_0"><div><span class="step param">a</span></div></td><td class="step" id="row_25_1"><div><span class="step param">b</span></div></td></tr> <script type="text/javascript">moveProgressBar('21.8');</script><tr class='step' id='row_26'><td class="step" id="row_26_0"><div><span class="step param">c</span></div></td><td class="step" id="row_26_1"><div><span class="step param">d</span></div></td></tr> <script type="text/javascript">moveProgressBar('22.4');</script></table></li> <script type="text/javascript">moveProgressBar('22.4');</script><li id='features_background_multiline_args_background_feature_27' class='step passed'><div class="step_name"><span class="keyword">Then</span> <span class="step val">the multiline string should be</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:58</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li> <script type="text/javascript">moveProgressBar('23.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Passing background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_passing_background_feature_4' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('23.6');</script></ol></div><div class='scenario'><h3 id="scenario_9"><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('24.2');</script><li id='features_background_passing_background_feature_7' class='step passed'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('24.8');</script></ol></div><div class='scenario'><h3 id="scenario_10"><span class="keyword">Scenario:</span> <span class="val">another passing background</span></h3><ol> <script type="text/javascript">moveProgressBar('25.4');</script><li id='features_background_passing_background_feature_10' class='step passed'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('26.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Pending background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><script>makeYellow('scenario_10');</script><li id='features_background_pending_background_feature_4' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">pending</span></div><div class="step_file"><span>features/background/pending_background.feature:4</span></div><pre>Given /^pending$/ do
292
302
  pending # express the regexp above with the code you wish you had
293
- end</pre></li> <script type="text/javascript">moveProgressBar('26.6');</script></ol></div><div class='scenario'><h3 id="scenario_11"><span class="keyword">Scenario:</span> <span class="val">pending background</span></h3><ol> <script type="text/javascript">moveProgressBar('27.2');</script><li id='features_background_pending_background_feature_7' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('27.8');</script></ol></div><div class='scenario'><h3 id="scenario_12"><span class="keyword">Scenario:</span> <span class="val">another pending background</span></h3><ol> <script type="text/javascript">moveProgressBar('28.4');</script><li id='features_background_pending_background_feature_10' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('28.9');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing background with scenario outlines sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><script>makeRed('scenario_12');</script><li id='features_background_scenario_outline_failing_background_feature_4' class='step failed'><div><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
303
+ end</pre></li> <script type="text/javascript">moveProgressBar('26.6');</script></ol></div><div class='scenario'><h3 id="scenario_11"><span class="keyword">Scenario:</span> <span class="val">pending background</span></h3><ol> <script type="text/javascript">moveProgressBar('27.2');</script><li id='features_background_pending_background_feature_7' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('27.8');</script></ol></div><div class='scenario'><h3 id="scenario_12"><span class="keyword">Scenario:</span> <span class="val">another pending background</span></h3><ol> <script type="text/javascript">moveProgressBar('28.4');</script><li id='features_background_pending_background_feature_10' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('28.9');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing background with scenario outlines sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><script>makeRed('scenario_12');</script><li id='features_background_scenario_outline_failing_background_feature_4' class='step failed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:15</span></div><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
294
304
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
295
305
  features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table':in `flunker'
296
306
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
@@ -300,26 +310,26 @@ features/background/scenario_outline_failing_background.feature:4:in `Given fail
300
310
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
301
311
  features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table':in `Given failing without a table'</pre></div><pre class="ruby"><code><span class="linenum">0</span><span class="keyword">def </span><span class="method">flunker</span>
302
312
  <span class="linenum">1</span> <span class="keyword">raise</span> <span class="punct">&quot;</span><span class="string">FAIL</span><span class="punct">&quot;</span>
303
- <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('29.5');</script></ol></div><div class='scenario outline'><h3 id="scenario_13"><span class="keyword">Scenario Outline:</span> <span class="val">failing background</span></h3><ol><li id='features_background_scenario_outline_failing_background_feature_7' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li> <script type="text/javascript">moveProgressBar('30.1');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_9'><th class="step skipped_param" id="row_9_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('30.7');</script><tr class='step' id='row_10'><td class="step skipped" id="row_10_0"><div><span class="step param">10</span></div></td></tr><tr><td class="failed" colspan="1"><pre>FAIL
313
+ <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('29.5');</script></ol></div><div class='scenario outline'><h3 id="scenario_13"><span class="keyword">Scenario Outline:</span> <span class="val">failing background</span></h3><ol><li id='features_background_scenario_outline_failing_background_feature_7' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('30.1');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_9'><th class="step skipped_param" id="row_9_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('30.7');</script><tr class='step' id='row_10'><td class="step skipped" id="row_10_0"><div><span class="step param">10</span></div></td></tr><tr><td class="failed" colspan="1"><pre>FAIL
304
314
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
305
315
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
306
- features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre></td></tr><script>makeRed('scenario_13');</script> <script type="text/javascript">moveProgressBar('31.3');</script></table></div></div><div class='scenario outline'><h3 id="scenario_14"><span class="keyword">Scenario Outline:</span> <span class="val">another failing background</span></h3><ol><li id='features_background_scenario_outline_failing_background_feature_13' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li> <script type="text/javascript">moveProgressBar('31.9');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_15'><th class="step skipped_param" id="row_15_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('32.5');</script><tr class='step' id='row_16'><td class="step skipped" id="row_16_0"><div><span class="step param">10</span></div></td></tr> <script type="text/javascript">moveProgressBar('33.1');</script></table></div></div></div><div class="feature"><h2><span class="val">Feature: Passing background with scenario outlines sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_scenario_outline_passing_background_feature_4' class='step passed'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('33.7');</script></ol></div><div class='scenario outline'><h3 id="scenario_15"><span class="keyword">Scenario Outline:</span> <span class="val">passing background</span></h3><ol><li id='features_background_scenario_outline_passing_background_feature_7' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li> <script type="text/javascript">moveProgressBar('34.3');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_9'><th class="step skipped_param" id="row_9_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('34.9');</script><tr class='step' id='row_10'><td class="step passed" id="row_10_0"><div><span class="step param">10</span></div></td></tr> <script type="text/javascript">moveProgressBar('35.5');</script></table></div></div><div class='scenario outline'><h3 id="scenario_16"><span class="keyword">Scenario Outline:</span> <span class="val">another passing background</span></h3><ol><li id='features_background_scenario_outline_passing_background_feature_13' class='step skipped'><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li> <script type="text/javascript">moveProgressBar('36.0');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_15'><th class="step skipped_param" id="row_15_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('36.6');</script><tr class='step' id='row_16'><td class="step passed" id="row_16_0"><div><span class="step param">10</span></div></td></tr> <script type="text/javascript">moveProgressBar('37.2');</script></table></div></div></div><div class="feature"><h2><span class="val">Feature: Calling undefined step</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_17"><span class="keyword">Scenario:</span> <span class="val">Call directly</span></h3><ol><script>makeYellow('scenario_17');</script><li id='features_call_undefined_step_from_step_def_feature_4' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">a step definition that calls an undefined step</span></div><div class="message"><pre>Undefined step: "this does not exist"</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
316
+ features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre></td></tr><script>makeRed('scenario_13');</script> <script type="text/javascript">moveProgressBar('31.3');</script></table></div></div><div class='scenario outline'><h3 id="scenario_14"><span class="keyword">Scenario Outline:</span> <span class="val">another failing background</span></h3><ol><li id='features_background_scenario_outline_failing_background_feature_13' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('31.9');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_15'><th class="step skipped_param" id="row_15_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('32.5');</script><tr class='step' id='row_16'><td class="step skipped" id="row_16_0"><div><span class="step param">10</span></div></td></tr> <script type="text/javascript">moveProgressBar('33.1');</script></table></div></div></div><div class="feature"><h2><span class="val">Feature: Passing background with scenario outlines sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li id='features_background_scenario_outline_passing_background_feature_4' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('33.7');</script></ol></div><div class='scenario outline'><h3 id="scenario_15"><span class="keyword">Scenario Outline:</span> <span class="val">passing background</span></h3><ol><li id='features_background_scenario_outline_passing_background_feature_7' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('34.3');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_9'><th class="step skipped_param" id="row_9_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('34.9');</script><tr class='step' id='row_10'><td class="step passed" id="row_10_0"><div><span class="step param">10</span></div></td></tr> <script type="text/javascript">moveProgressBar('35.5');</script></table></div></div><div class='scenario outline'><h3 id="scenario_16"><span class="keyword">Scenario Outline:</span> <span class="val">another passing background</span></h3><ol><li id='features_background_scenario_outline_passing_background_feature_13' class='step skipped'><div class="step_name"><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:31</span></div></li> <script type="text/javascript">moveProgressBar('36.0');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_15'><th class="step skipped_param" id="row_15_0"><div><span class="step param">count</span></div></th></tr> <script type="text/javascript">moveProgressBar('36.6');</script><tr class='step' id='row_16'><td class="step passed" id="row_16_0"><div><span class="step param">10</span></div></td></tr> <script type="text/javascript">moveProgressBar('37.2');</script></table></div></div></div><div class="feature"><h2><span class="val">Feature: Calling undefined step</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_17"><span class="keyword">Scenario:</span> <span class="val">Call directly</span></h3><ol><script>makeYellow('scenario_17');</script><li id='features_call_undefined_step_from_step_def_feature_4' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">a step definition that calls an undefined step</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:19</span></div><div class="message"><pre>Undefined step: "this does not exist"</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:19:in `/^a step definition that calls an undefined step$/'
307
317
  features/call_undefined_step_from_step_def.feature:4:in `Given a step definition that calls an undefined step':in `/^a step definition that calls an undefined step$/'
308
- ./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
309
- features/call_undefined_step_from_step_def.feature:4:in `Given a step definition that calls an undefined step':in `Given a step definition that calls an undefined step'</pre></div><pre class="ruby"><code><span class="linenum">18</span>
310
- <span class="linenum">19</span><span class="constant">Given</span> <span class="punct">/^</span><span class="ident">a</span> <span class="ident">step</span> <span class="ident">definition</span> <span class="ident">that</span> <span class="ident">calls</span> <span class="ident">an</span> <span class="ident">undefined</span> <span class="ident">step</span><span class="global">$/</span> <span class="keyword">do</span>
311
- <span class="offending"><span class="linenum">20</span> <span class="constant">Given</span> <span class="punct">'</span><span class="string">this does not exist</span><span class="punct">'</span></span>
312
- <span class="linenum">21</span><span class="keyword">end</span></code></pre><pre>Given /^$/ do
318
+ ./features/step_definitions/sample_steps.rb:19:in `/^a step definition that calls an undefined step$/'
319
+ features/call_undefined_step_from_step_def.feature:4:in `Given a step definition that calls an undefined step':in `Given a step definition that calls an undefined step'</pre></div><pre class="ruby"><code><span class="linenum">17</span><span class="keyword">end</span>
320
+ <span class="linenum">18</span>
321
+ <span class="offending"><span class="linenum">19</span><span class="constant">Given</span> <span class="punct">/^</span><span class="ident">a</span> <span class="ident">step</span> <span class="ident">definition</span> <span class="ident">that</span> <span class="ident">calls</span> <span class="ident">an</span> <span class="ident">undefined</span> <span class="ident">step</span><span class="global">$/</span> <span class="keyword">do</span> <span class="constant">Given</span> <span class="punct">'</span><span class="string">this does not exist</span><span class="punct">'</span></span>
322
+ <span class="linenum">20</span><span class="keyword">end</span></code></pre><pre>Given /^$/ do
313
323
  pending # express the regexp above with the code you wish you had
314
- end</pre></li> <script type="text/javascript">moveProgressBar('37.8');</script></ol></div><div class='scenario'><h3 id="scenario_18"><span class="keyword">Scenario:</span> <span class="val">Call via another</span></h3><ol><script>makeYellow('scenario_18');</script><li id='features_call_undefined_step_from_step_def_feature_7' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">call step &quot;<span class="param">a step definition that calls an undefined step</span>&quot;</span></div><div class="message"><pre>Undefined step: "this does not exist"</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
324
+ end</pre></li> <script type="text/javascript">moveProgressBar('37.8');</script></ol></div><div class='scenario'><h3 id="scenario_18"><span class="keyword">Scenario:</span> <span class="val">Call via another</span></h3><ol><script>makeYellow('scenario_18');</script><li id='features_call_undefined_step_from_step_def_feature_7' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">call step &quot;<span class="param">a step definition that calls an undefined step</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:23</span></div><div class="message"><pre>Undefined step: "this does not exist"</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:19:in `/^a step definition that calls an undefined step$/'
315
325
  features/call_undefined_step_from_step_def.feature:7:in `Given call step "a step definition that calls an undefined step"':in `/^a step definition that calls an undefined step$/'
316
- ./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
317
- features/call_undefined_step_from_step_def.feature:7:in `Given call step "a step definition that calls an undefined step"':in `Given call step "a step definition that calls an undefined step"'</pre></div><pre class="ruby"><code><span class="linenum">18</span>
318
- <span class="linenum">19</span><span class="constant">Given</span> <span class="punct">/^</span><span class="ident">a</span> <span class="ident">step</span> <span class="ident">definition</span> <span class="ident">that</span> <span class="ident">calls</span> <span class="ident">an</span> <span class="ident">undefined</span> <span class="ident">step</span><span class="global">$/</span> <span class="keyword">do</span>
319
- <span class="offending"><span class="linenum">20</span> <span class="constant">Given</span> <span class="punct">'</span><span class="string">this does not exist</span><span class="punct">'</span></span>
320
- <span class="linenum">21</span><span class="keyword">end</span></code></pre><pre>Given /^$/ do
326
+ ./features/step_definitions/sample_steps.rb:19:in `/^a step definition that calls an undefined step$/'
327
+ features/call_undefined_step_from_step_def.feature:7:in `Given call step "a step definition that calls an undefined step"':in `Given call step "a step definition that calls an undefined step"'</pre></div><pre class="ruby"><code><span class="linenum">17</span><span class="keyword">end</span>
328
+ <span class="linenum">18</span>
329
+ <span class="offending"><span class="linenum">19</span><span class="constant">Given</span> <span class="punct">/^</span><span class="ident">a</span> <span class="ident">step</span> <span class="ident">definition</span> <span class="ident">that</span> <span class="ident">calls</span> <span class="ident">an</span> <span class="ident">undefined</span> <span class="ident">step</span><span class="global">$/</span> <span class="keyword">do</span> <span class="constant">Given</span> <span class="punct">'</span><span class="string">this does not exist</span><span class="punct">'</span></span>
330
+ <span class="linenum">20</span><span class="keyword">end</span></code></pre><pre>Given /^$/ do
321
331
  pending # express the regexp above with the code you wish you had
322
- end</pre></li> <script type="text/javascript">moveProgressBar('38.4');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing expectation</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_19"><span class="keyword">Scenario:</span> <span class="val">Failing expectation</span></h3><ol><script>makeRed('scenario_19');</script><li id='features_failing_expectation_feature_4' class='step failed'><div><span class="keyword">Given</span> <span class="step val">failing expectation</span></div><div class="message"><pre>expected: "that",
332
+ end</pre></li> <script type="text/javascript">moveProgressBar('38.4');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing expectation</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_19"><span class="keyword">Scenario:</span> <span class="val">Failing expectation</span></h3><ol><script>makeRed('scenario_19');</script><li id='features_failing_expectation_feature_4' class='step failed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">failing expectation</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:62</span></div><div class="message"><pre>expected: "that",
323
333
  got: "this" (using ==)
324
334
 
325
335
  Diff:
@@ -330,32 +340,32 @@ end</pre></li> <script type="text/javascript">moveProgressBar('38.4');</script><
330
340
  features/failing_expectation.feature:4:in `Given failing expectation':in `/^failing expectation$/'
331
341
  ./features/step_definitions/sample_steps.rb:63:in `/^failing expectation$/'
332
342
  features/failing_expectation.feature:4:in `Given failing expectation':in `Given failing expectation'</pre></div><pre class="ruby"><code><span class="linenum">61</span>
333
- <span class="linenum">62</span><span class="constant">Given</span> <span class="punct">/^</span><span class="ident">failing</span> <span class="ident">expectation</span><span class="global">$/</span> <span class="keyword">do</span>
343
+ <span class="linenum">62</span><span class="constant">Given</span> <span class="punct">/^</span><span class="ident">failing</span> <span class="ident">expectation</span><span class="global">$/</span> <span class="keyword">do</span> <span class="ident">x</span><span class="punct">=</span><span class="number">1</span>
334
344
  <span class="offending"><span class="linenum">63</span> <span class="punct">'</span><span class="string">this</span><span class="punct">'.</span><span class="ident">should</span> <span class="punct">==</span> <span class="punct">'</span><span class="string">that</span><span class="punct">'</span></span>
335
- <span class="linenum">64</span><span class="keyword">end</span></code></pre></li> <script type="text/javascript">moveProgressBar('39.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Lots of undefined</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_20"><span class="keyword">Scenario:</span> <span class="val">Implement me</span></h3><ol><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_4' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">it snows in Sahara</span></div><pre>Given /^it snows in Sahara$/ do
345
+ <span class="linenum">64</span><span class="keyword">end</span></code></pre></li> <script type="text/javascript">moveProgressBar('39.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: Lots of undefined</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_20"><span class="keyword">Scenario:</span> <span class="val">Implement me</span></h3><ol><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_4' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">it snows in Sahara</span></div><div class="step_file"><span>features/lots_of_undefined.feature:4</span></div><pre>Given /^it snows in Sahara$/ do
336
346
  pending # express the regexp above with the code you wish you had
337
- end</pre></li> <script type="text/javascript">moveProgressBar('39.6');</script><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_5' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">it's 40 degrees in Norway</span></div><pre>Given /^it's 40 degrees in Norway$/ do
347
+ end</pre></li> <script type="text/javascript">moveProgressBar('39.6');</script><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_5' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">it's 40 degrees in Norway</span></div><div class="step_file"><span>features/lots_of_undefined.feature:5</span></div><pre>Given /^it's 40 degrees in Norway$/ do
338
348
  pending # express the regexp above with the code you wish you had
339
- end</pre></li> <script type="text/javascript">moveProgressBar('40.2');</script><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_6' class='step undefined'><div><span class="keyword">And</span> <span class="step val">it's 40 degrees in Norway</span></div><pre>Given /^it's 40 degrees in Norway$/ do
349
+ end</pre></li> <script type="text/javascript">moveProgressBar('40.2');</script><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_6' class='step undefined'><div class="step_name"><span class="keyword">And</span> <span class="step val">it's 40 degrees in Norway</span></div><div class="step_file"><span>features/lots_of_undefined.feature:6</span></div><pre>Given /^it's 40 degrees in Norway$/ do
340
350
  pending # express the regexp above with the code you wish you had
341
- end</pre></li> <script type="text/javascript">moveProgressBar('40.8');</script><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_7' class='step undefined'><div><span class="keyword">When</span> <span class="step val">I stop procrastinating</span></div><pre>When /^I stop procrastinating$/ do
351
+ end</pre></li> <script type="text/javascript">moveProgressBar('40.8');</script><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_7' class='step undefined'><div class="step_name"><span class="keyword">When</span> <span class="step val">I stop procrastinating</span></div><div class="step_file"><span>features/lots_of_undefined.feature:7</span></div><pre>When /^I stop procrastinating$/ do
342
352
  pending # express the regexp above with the code you wish you had
343
- end</pre></li> <script type="text/javascript">moveProgressBar('41.4');</script><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_8' class='step undefined'><div><span class="keyword">And</span> <span class="step val">there is world peace</span></div><pre>When /^there is world peace$/ do
353
+ end</pre></li> <script type="text/javascript">moveProgressBar('41.4');</script><script>makeYellow('scenario_20');</script><li id='features_lots_of_undefined_feature_8' class='step undefined'><div class="step_name"><span class="keyword">And</span> <span class="step val">there is world peace</span></div><div class="step_file"><span>features/lots_of_undefined.feature:8</span></div><pre>When /^there is world peace$/ do
344
354
  pending # express the regexp above with the code you wish you had
345
355
  end</pre></li> <script type="text/javascript">moveProgressBar('42.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: multiline</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">I'm a multiline name
346
356
  which goes on and on and on for three lines
347
- yawn</span></h3><ol><li id='features_multiline_name_feature_6' class='step passed'><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li> <script type="text/javascript">moveProgressBar('42.6');</script></ol></div><div class='scenario'><h3 id="scenario_21"><span class="keyword">Scenario:</span> <span class="val">I'm a multiline name
357
+ yawn</span></h3><ol><li id='features_multiline_name_feature_6' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">passing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('42.6');</script></ol></div><div class='scenario'><h3 id="scenario_21"><span class="keyword">Scenario:</span> <span class="val">I'm a multiline name
348
358
  which goes on and on and on for three lines
349
- yawn</span></h3><ol> <script type="text/javascript">moveProgressBar('43.1');</script><li id='features_multiline_name_feature_11' class='step passed'><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li> <script type="text/javascript">moveProgressBar('43.7');</script></ol></div><div class='scenario outline'><h3 id="scenario_22"><span class="keyword">Scenario Outline:</span> <span class="val">I'm a multiline name
359
+ yawn</span></h3><ol> <script type="text/javascript">moveProgressBar('43.1');</script><li id='features_multiline_name_feature_11' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">passing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('43.7');</script></ol></div><div class='scenario outline'><h3 id="scenario_22"><span class="keyword">Scenario Outline:</span> <span class="val">I'm a multiline name
350
360
  which goes on and on and on for three lines
351
- yawn</span></h3><ol><li id='features_multiline_name_feature_16' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li> <script type="text/javascript">moveProgressBar('44.3');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_18'><th class="step skipped_param" id="row_18_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('44.9');</script><tr class='step' id='row_19'><td class="step passed" id="row_19_0"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('45.5');</script></table></div></div><div class='scenario outline'><h3 id="scenario_23"><span class="keyword">Scenario Outline:</span> <span class="val">name</span></h3><ol><li id='features_multiline_name_feature_22' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li> <script type="text/javascript">moveProgressBar('46.1');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">I'm a multiline name
361
+ yawn</span></h3><ol><li id='features_multiline_name_feature_16' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('44.3');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_18'><th class="step skipped_param" id="row_18_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('44.9');</script><tr class='step' id='row_19'><td class="step passed" id="row_19_0"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('45.5');</script></table></div></div><div class='scenario outline'><h3 id="scenario_23"><span class="keyword">Scenario Outline:</span> <span class="val">name</span></h3><ol><li id='features_multiline_name_feature_22' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('46.1');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">I'm a multiline name
352
362
  which goes on and on and on for three lines
353
- yawn</span></h4><table><tr class='step' id='row_26'><th class="step skipped_param" id="row_26_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('46.7');</script><tr class='step' id='row_27'><td class="step passed" id="row_27_0"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('47.3');</script></table></div></div></div><div class="feature"><h2><span class="val">Feature: Outline Sample</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_24"><span class="keyword">Scenario:</span> <span class="val">I have no steps</span></h3><ol></ol></div><div class='scenario outline'><h3 id="scenario_25"><span class="keyword">Scenario Outline:</span> <span class="val">Test state</span></h3><ol><li id='features_outline_sample_feature_6' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li> <script type="text/javascript">moveProgressBar('47.9');</script><li id='features_outline_sample_feature_7' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">&lt;other_state&gt; without a table</span></div></li> <script type="text/javascript">moveProgressBar('48.5');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Rainbow colours</span></h4><table><tr class='step' id='row_9'><th class="step skipped_param" id="row_9_0"><div><span class="step param">state</span></div></th><th class="step skipped_param" id="row_9_1"><div><span class="step param">other_state</span></div></th></tr> <script type="text/javascript">moveProgressBar('49.1');</script><tr class='step' id='row_10'><td class="step undefined" id="row_10_0"><div><span class="step param">missing</span></div></td><script>makeYellow('scenario_25');</script><td class="step skipped" id="row_10_1"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('49.7');</script><tr class='step' id='row_11'><td class="step passed" id="row_11_0"><div><span class="step param">passing</span></div></td><td class="step passed" id="row_11_1"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('50.2');</script><tr class='step' id='row_12'><td class="step failed" id="row_12_0"><div><span class="step param">failing</span></div></td><script>makeRed('scenario_25');</script><td class="step skipped" id="row_12_1"><div><span class="step param">passing</span></div></td></tr><tr><td class="failed" colspan="2"><pre>FAIL
363
+ yawn</span></h4><table><tr class='step' id='row_26'><th class="step skipped_param" id="row_26_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('46.7');</script><tr class='step' id='row_27'><td class="step passed" id="row_27_0"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('47.3');</script></table></div></div></div><div class="feature"><h2><span class="val">Feature: Outline Sample</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_24"><span class="keyword">Scenario:</span> <span class="val">I have no steps</span></h3><ol></ol></div><div class='scenario outline'><h3 id="scenario_25"><span class="keyword">Scenario Outline:</span> <span class="val">Test state</span></h3><ol><li id='features_outline_sample_feature_6' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('47.9');</script><li id='features_outline_sample_feature_7' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">&lt;other_state&gt; without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('48.5');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Rainbow colours</span></h4><table><tr class='step' id='row_9'><th class="step skipped_param" id="row_9_0"><div><span class="step param">state</span></div></th><th class="step skipped_param" id="row_9_1"><div><span class="step param">other_state</span></div></th></tr> <script type="text/javascript">moveProgressBar('49.1');</script><tr class='step' id='row_10'><td class="step undefined" id="row_10_0"><div><span class="step param">missing</span></div></td><script>makeYellow('scenario_25');</script><td class="step skipped" id="row_10_1"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('49.7');</script><tr class='step' id='row_11'><td class="step passed" id="row_11_0"><div><span class="step param">passing</span></div></td><td class="step passed" id="row_11_1"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('50.2');</script><tr class='step' id='row_12'><td class="step failed" id="row_12_0"><div><span class="step param">failing</span></div></td><script>makeRed('scenario_25');</script><td class="step skipped" id="row_12_1"><div><span class="step param">passing</span></div></td></tr><tr><td class="failed" colspan="2"><pre>FAIL
354
364
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
355
365
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
356
- features/outline_sample.feature:6:in `Given <state> without a table'</pre></td></tr><script></script> <script type="text/javascript">moveProgressBar('50.8');</script></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Only passing</span></h4><table><tr class='step' id='row_14'><th class="step skipped_param" id="row_14_0"><div><span class="step param">state</span></div></th><th class="step skipped_param" id="row_14_1"><div><span class="step param">other_state</span></div></th></tr> <script type="text/javascript">moveProgressBar('51.4');</script><tr class='step' id='row_15'><td class="step passed" id="row_15_0"><div><span class="step param">passing</span></div></td><td class="step passed" id="row_15_1"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('52.0');</script></table></div></div></div><div class="feature"><pre class="comment"># Feature comment<br/></pre><span class="tag">@one</span><h2><span class="val">Feature: Sample</span></h2><p class="narrative"></p><div class='scenario'><span class="tag">@two</span> <span class="tag">@three</span><h3 id="scenario_26"><span class="keyword">Scenario:</span> <span class="val">Missing</span></h3><ol><script>makeYellow('scenario_26');</script><li id='features_sample_feature_7' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">missing</span></div><pre>Given /^missing$/ do
366
+ features/outline_sample.feature:6:in `Given <state> without a table'</pre></td></tr><script></script> <script type="text/javascript">moveProgressBar('50.8');</script></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Only passing</span></h4><table><tr class='step' id='row_14'><th class="step skipped_param" id="row_14_0"><div><span class="step param">state</span></div></th><th class="step skipped_param" id="row_14_1"><div><span class="step param">other_state</span></div></th></tr> <script type="text/javascript">moveProgressBar('51.4');</script><tr class='step' id='row_15'><td class="step passed" id="row_15_0"><div><span class="step param">passing</span></div></td><td class="step passed" id="row_15_1"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('52.0');</script></table></div></div></div><div class="feature"><pre class="comment"># Feature comment<br/></pre><span class="tag">@one</span><h2><span class="val">Feature: Sample</span></h2><p class="narrative"></p><div class='scenario'><span class="tag">@two</span> <span class="tag">@three</span><h3 id="scenario_26"><span class="keyword">Scenario:</span> <span class="val">Missing</span></h3><ol><script>makeYellow('scenario_26');</script><li id='features_sample_feature_7' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">missing</span></div><div class="step_file"><span>features/sample.feature:7</span></div><pre>Given /^missing$/ do
357
367
  pending # express the regexp above with the code you wish you had
358
- end</pre></li> <script type="text/javascript">moveProgressBar('52.6');</script></ol></div><div class='scenario'><pre class="comment"># Scenario comment<br/></pre><span class="tag">@three</span><h3 id="scenario_27"><span class="keyword">Scenario:</span> <span class="val">Passing</span></h3><ol><li id='features_sample_feature_12' class='step passed'><div><span class="keyword">Given</span> <span class="step val">passing</span></div><table><tr class='step' id='row_13'><td class="step" id="row_13_0"><div><span class="step param">a</span></div></td><td class="step" id="row_13_1"><div><span class="step param">b</span></div></td></tr> <script type="text/javascript">moveProgressBar('53.8');</script><tr class='step' id='row_14'><td class="step" id="row_14_0"><div><span class="step param">c</span></div></td><td class="step" id="row_14_1"><div><span class="step param">d</span></div></td></tr> <script type="text/javascript">moveProgressBar('54.4');</script></table></li> <script type="text/javascript">moveProgressBar('54.4');</script></ol></div><div class='scenario'><span class="tag">@four</span><h3 id="scenario_28"><span class="keyword">Scenario:</span> <span class="val">Failing</span></h3><ol><script>makeRed('scenario_28');</script><li id='features_sample_feature_18' class='step failed'><div><span class="keyword">Given</span> <span class="step val">failing</span></div><pre class="val">hello</pre><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
368
+ end</pre></li> <script type="text/javascript">moveProgressBar('52.6');</script></ol></div><div class='scenario'><pre class="comment"># Scenario comment<br/></pre><span class="tag">@three</span><h3 id="scenario_27"><span class="keyword">Scenario:</span> <span class="val">Passing</span></h3><ol><li id='features_sample_feature_12' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">passing</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:5</span></div><table><tr class='step' id='row_13'><td class="step" id="row_13_0"><div><span class="step param">a</span></div></td><td class="step" id="row_13_1"><div><span class="step param">b</span></div></td></tr> <script type="text/javascript">moveProgressBar('53.8');</script><tr class='step' id='row_14'><td class="step" id="row_14_0"><div><span class="step param">c</span></div></td><td class="step" id="row_14_1"><div><span class="step param">d</span></div></td></tr> <script type="text/javascript">moveProgressBar('54.4');</script></table></li> <script type="text/javascript">moveProgressBar('54.4');</script></ol></div><div class='scenario'><span class="tag">@four</span><h3 id="scenario_28"><span class="keyword">Scenario:</span> <span class="val">Failing</span></h3><ol><script>makeRed('scenario_28');</script><li id='features_sample_feature_18' class='step failed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">failing</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:8</span></div><pre class="val">hello</pre><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
359
369
  ./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
360
370
  features/sample.feature:18:in `Given failing':in `flunker'
361
371
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
@@ -365,7 +375,7 @@ features/sample.feature:18:in `Given failing':in `/^failing$/'
365
375
  ./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
366
376
  features/sample.feature:18:in `Given failing':in `Given failing'</pre></div><pre class="ruby"><code><span class="linenum">0</span><span class="keyword">def </span><span class="method">flunker</span>
367
377
  <span class="linenum">1</span> <span class="keyword">raise</span> <span class="punct">&quot;</span><span class="string">FAIL</span><span class="punct">&quot;</span>
368
- <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('55.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: search examples</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">Hantu Pisang background match</span></h3><ol><li id='features_search_sample_feature_4' class='step passed'><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li> <script type="text/javascript">moveProgressBar('55.6');</script></ol></div><div class='scenario'><h3 id="scenario_29"><span class="keyword">Scenario:</span> <span class="val">should match Hantu Pisang</span></h3><ol> <script type="text/javascript">moveProgressBar('56.2');</script><li id='features_search_sample_feature_7' class='step passed'><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li> <script type="text/javascript">moveProgressBar('56.8');</script></ol></div><div class='scenario'><h3 id="scenario_30"><span class="keyword">Scenario:</span> <span class="val">Ignore me</span></h3><ol> <script type="text/javascript">moveProgressBar('57.3');</script><script>makeRed('scenario_30');</script><li id='features_search_sample_feature_10' class='step failed'><div><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
378
+ <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('55.0');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: search examples</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">Hantu Pisang background match</span></h3><ol><li id='features_search_sample_feature_4' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">passing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('55.6');</script></ol></div><div class='scenario'><h3 id="scenario_29"><span class="keyword">Scenario:</span> <span class="val">should match Hantu Pisang</span></h3><ol> <script type="text/javascript">moveProgressBar('56.2');</script><li id='features_search_sample_feature_7' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">passing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('56.8');</script></ol></div><div class='scenario'><h3 id="scenario_30"><span class="keyword">Scenario:</span> <span class="val">Ignore me</span></h3><ol> <script type="text/javascript">moveProgressBar('57.3');</script><script>makeRed('scenario_30');</script><li id='features_search_sample_feature_10' class='step failed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:15</span></div><div class="message"><pre>FAIL</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:2:in `flunker'
369
379
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
370
380
  features/search_sample.feature:10:in `Given failing without a table':in `flunker'
371
381
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
@@ -375,26 +385,26 @@ features/search_sample.feature:10:in `Given failing without a table':in `/^faili
375
385
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
376
386
  features/search_sample.feature:10:in `Given failing without a table':in `Given failing without a table'</pre></div><pre class="ruby"><code><span class="linenum">0</span><span class="keyword">def </span><span class="method">flunker</span>
377
387
  <span class="linenum">1</span> <span class="keyword">raise</span> <span class="punct">&quot;</span><span class="string">FAIL</span><span class="punct">&quot;</span>
378
- <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('57.9');</script></ol></div><div class='scenario outline'><h3 id="scenario_31"><span class="keyword">Scenario Outline:</span> <span class="val">Ignore me</span></h3><ol><li id='features_search_sample_feature_13' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li> <script type="text/javascript">moveProgressBar('58.5');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_15'><th class="step skipped_param" id="row_15_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('59.1');</script><tr class='step' id='row_16'><td class="step failed" id="row_16_0"><div><span class="step param">failing</span></div></td><script>makeRed('scenario_31');</script></tr><tr><td class="failed" colspan="1"><pre>FAIL
388
+ <span class="offending"><span class="linenum">2</span><span class="keyword">end</span></span></code></pre></li> <script type="text/javascript">moveProgressBar('57.9');</script></ol></div><div class='scenario outline'><h3 id="scenario_31"><span class="keyword">Scenario Outline:</span> <span class="val">Ignore me</span></h3><ol><li id='features_search_sample_feature_13' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:15</span></div></li> <script type="text/javascript">moveProgressBar('58.5');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_15'><th class="step skipped_param" id="row_15_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('59.1');</script><tr class='step' id='row_16'><td class="step failed" id="row_16_0"><div><span class="step param">failing</span></div></td><script>makeRed('scenario_31');</script></tr><tr><td class="failed" colspan="1"><pre>FAIL
379
389
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
380
390
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
381
- features/search_sample.feature:13:in `Given <state> without a table'</pre></td></tr><script></script> <script type="text/javascript">moveProgressBar('59.7');</script></table></div></div><div class='scenario outline'><h3 id="scenario_32"><span class="keyword">Scenario Outline:</span> <span class="val">Hantu Pisang match</span></h3><ol><li id='features_search_sample_feature_19' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li> <script type="text/javascript">moveProgressBar('60.3');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_21'><th class="step skipped_param" id="row_21_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('60.9');</script><tr class='step' id='row_22'><td class="step passed" id="row_22_0"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('61.5');</script></table></div></div><div class='scenario outline'><h3 id="scenario_33"><span class="keyword">Scenario Outline:</span> <span class="val">no match in name but in examples</span></h3><ol><li id='features_search_sample_feature_25' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li> <script type="text/javascript">moveProgressBar('62.1');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Hantu Pisang</span></h4><table><tr class='step' id='row_27'><th class="step skipped_param" id="row_27_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('62.7');</script><tr class='step' id='row_28'><td class="step passed" id="row_28_0"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('63.3');</script></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ignore me</span></h4><table><tr class='step' id='row_31'><th class="step skipped_param" id="row_31_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('63.9');</script><tr class='step' id='row_32'><td class="step failed" id="row_32_0"><div><span class="step param">failing</span></div></td><script>makeRed('scenario_33');</script></tr><tr><td class="failed" colspan="1"><pre>FAIL
391
+ features/search_sample.feature:13:in `Given <state> without a table'</pre></td></tr><script></script> <script type="text/javascript">moveProgressBar('59.7');</script></table></div></div><div class='scenario outline'><h3 id="scenario_32"><span class="keyword">Scenario Outline:</span> <span class="val">Hantu Pisang match</span></h3><ol><li id='features_search_sample_feature_19' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('60.3');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_21'><th class="step skipped_param" id="row_21_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('60.9');</script><tr class='step' id='row_22'><td class="step passed" id="row_22_0"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('61.5');</script></table></div></div><div class='scenario outline'><h3 id="scenario_33"><span class="keyword">Scenario Outline:</span> <span class="val">no match in name but in examples</span></h3><ol><li id='features_search_sample_feature_25' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('62.1');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Hantu Pisang</span></h4><table><tr class='step' id='row_27'><th class="step skipped_param" id="row_27_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('62.7');</script><tr class='step' id='row_28'><td class="step passed" id="row_28_0"><div><span class="step param">passing</span></div></td></tr> <script type="text/javascript">moveProgressBar('63.3');</script></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ignore me</span></h4><table><tr class='step' id='row_31'><th class="step skipped_param" id="row_31_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('63.9');</script><tr class='step' id='row_32'><td class="step failed" id="row_32_0"><div><span class="step param">failing</span></div></td><script>makeRed('scenario_33');</script></tr><tr><td class="failed" colspan="1"><pre>FAIL
382
392
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
383
393
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
384
- features/search_sample.feature:25:in `Given <state> without a table'</pre></td></tr><script></script> <script type="text/javascript">moveProgressBar('64.4');</script></table></div></div></div><div class="feature"><span class="tag">@sample_one</span><h2><span class="val">Feature: Tag samples</span></h2><p class="narrative"></p><div class='scenario'><span class="tag">@sample_two</span> <span class="tag">@sample_four</span><h3 id="scenario_34"><span class="keyword">Scenario:</span> <span class="val">Passing</span></h3><ol><script>makeYellow('scenario_34');</script><li id='features_tags_sample_feature_6' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">missing</span></div><pre>Given /^missing$/ do
394
+ features/search_sample.feature:25:in `Given <state> without a table'</pre></td></tr><script></script> <script type="text/javascript">moveProgressBar('64.4');</script></table></div></div></div><div class="feature"><span class="tag">@sample_one</span><h2><span class="val">Feature: Tag samples</span></h2><p class="narrative"></p><div class='scenario'><span class="tag">@sample_two</span> <span class="tag">@sample_four</span><h3 id="scenario_34"><span class="keyword">Scenario:</span> <span class="val">Passing</span></h3><ol><script>makeYellow('scenario_34');</script><li id='features_tags_sample_feature_6' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">missing</span></div><div class="step_file"><span>features/tags_sample.feature:6</span></div><pre>Given /^missing$/ do
385
395
  pending # express the regexp above with the code you wish you had
386
- end</pre></li> <script type="text/javascript">moveProgressBar('65.0');</script></ol></div><div class='scenario outline'><span class="tag">@sample_three</span><h3 id="scenario_35"><span class="keyword">Scenario Outline:</span> <span class="val"></span></h3><ol><li id='features_tags_sample_feature_10' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt;</span></div></li> <script type="text/javascript">moveProgressBar('65.6');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_12'><th class="step skipped_param" id="row_12_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('66.2');</script><tr class='step' id='row_13'><td class="step undefined" id="row_13_0"><div><span class="step param">missing</span></div></td><script>makeYellow('scenario_35');</script></tr> <script type="text/javascript">moveProgressBar('66.8');</script></table></div></div><div class='scenario'><span class="tag">@sample_three</span> <span class="tag">@sample_four</span><h3 id="scenario_36"><span class="keyword">Scenario:</span> <span class="val">Skipped</span></h3><ol><script>makeYellow('scenario_36');</script><li id='features_tags_sample_feature_17' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">missing</span></div><pre>Given /^missing$/ do
396
+ end</pre></li> <script type="text/javascript">moveProgressBar('65.0');</script></ol></div><div class='scenario outline'><span class="tag">@sample_three</span><h3 id="scenario_35"><span class="keyword">Scenario Outline:</span> <span class="val"></span></h3><ol><li id='features_tags_sample_feature_10' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">&lt;state&gt;</span></div><div class="step_file"><span>features/tags_sample.feature:10</span></div></li> <script type="text/javascript">moveProgressBar('65.6');</script></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr class='step' id='row_12'><th class="step skipped_param" id="row_12_0"><div><span class="step param">state</span></div></th></tr> <script type="text/javascript">moveProgressBar('66.2');</script><tr class='step' id='row_13'><td class="step undefined" id="row_13_0"><div><span class="step param">missing</span></div></td><script>makeYellow('scenario_35');</script></tr> <script type="text/javascript">moveProgressBar('66.8');</script></table></div></div><div class='scenario'><span class="tag">@sample_three</span> <span class="tag">@sample_four</span><h3 id="scenario_36"><span class="keyword">Scenario:</span> <span class="val">Skipped</span></h3><ol><script>makeYellow('scenario_36');</script><li id='features_tags_sample_feature_17' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">missing</span></div><div class="step_file"><span>features/tags_sample.feature:17</span></div><pre>Given /^missing$/ do
387
397
  pending # express the regexp above with the code you wish you had
388
- end</pre></li> <script type="text/javascript">moveProgressBar('67.4');</script></ol></div></div><div class="feature"><span class="tag">@lots</span><h2><span class="val">Feature: Tons of cukes</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_37"><span class="keyword">Scenario:</span> <span class="val">Lots and lots</span></h3><ol><li id='features_tons_of_cukes_feature_4' class='step passed'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('68.0');</script><script>makeRed('scenario_37');</script><li id='features_tons_of_cukes_feature_5' class='step failed'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="message"><pre>We already have 2 cukes!</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:28:in `/^'(.+)' cukes$/'
398
+ end</pre></li> <script type="text/javascript">moveProgressBar('67.4');</script></ol></div></div><div class="feature"><span class="tag">@lots</span><h2><span class="val">Feature: Tons of cukes</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_37"><span class="keyword">Scenario:</span> <span class="val">Lots and lots</span></h3><ol><li id='features_tons_of_cukes_feature_4' class='step passed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('68.0');</script><script>makeRed('scenario_37');</script><li id='features_tons_of_cukes_feature_5' class='step failed'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div><div class="message"><pre>We already have 2 cukes!</pre></div><div class="backtrace"><pre>./features/step_definitions/sample_steps.rb:28:in `/^'(.+)' cukes$/'
389
399
  features/tons_of_cukes.feature:5:in `Given '2' cukes':in `/^'(.+)' cukes$/'
390
400
  ./features/step_definitions/sample_steps.rb:28:in `/^'(.+)' cukes$/'
391
401
  features/tons_of_cukes.feature:5:in `Given '2' cukes':in `Given '2' cukes'</pre></div><pre class="ruby"><code><span class="linenum">26</span>
392
- <span class="linenum">27</span><span class="constant">Given</span> <span class="punct">/^'</span><span class="string">(.+)</span><span class="punct">'</span> <span class="ident">cukes</span><span class="global">$/</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">cukes</span><span class="punct">|</span>
402
+ <span class="linenum">27</span><span class="constant">Given</span> <span class="punct">/^'</span><span class="string">(.+)</span><span class="punct">'</span> <span class="ident">cukes</span><span class="global">$/</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">cukes</span><span class="punct">|</span> <span class="ident">x</span><span class="punct">=</span><span class="number">1</span>
393
403
  <span class="offending"><span class="linenum">28</span> <span class="keyword">raise</span> <span class="punct">&quot;</span><span class="string">We already have <span class="expr">#{@cukes}</span> cukes!</span><span class="punct">&quot;</span> <span class="keyword">if</span> <span class="attribute">@cukes</span></span>
394
404
  <span class="linenum">29</span> <span class="attribute">@cukes</span> <span class="punct">=</span> <span class="ident">cukes</span>
395
- <span class="linenum">30</span><span class="keyword">end</span></code></pre></li> <script type="text/javascript">moveProgressBar('68.6');</script><li id='features_tons_of_cukes_feature_6' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('69.2');</script><li id='features_tons_of_cukes_feature_7' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('69.8');</script><li id='features_tons_of_cukes_feature_8' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('70.4');</script><li id='features_tons_of_cukes_feature_9' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('71.0');</script><li id='features_tons_of_cukes_feature_10' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('71.5');</script><li id='features_tons_of_cukes_feature_11' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('72.1');</script><li id='features_tons_of_cukes_feature_12' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('72.7');</script><li id='features_tons_of_cukes_feature_13' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('73.3');</script><li id='features_tons_of_cukes_feature_14' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('73.9');</script><li id='features_tons_of_cukes_feature_15' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('74.5');</script><li id='features_tons_of_cukes_feature_16' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('75.1');</script><li id='features_tons_of_cukes_feature_17' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('75.7');</script><li id='features_tons_of_cukes_feature_18' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('76.3');</script><li id='features_tons_of_cukes_feature_19' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('76.9');</script><li id='features_tons_of_cukes_feature_20' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('77.5');</script><li id='features_tons_of_cukes_feature_21' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('78.1');</script><li id='features_tons_of_cukes_feature_22' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('78.6');</script><li id='features_tons_of_cukes_feature_23' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('79.2');</script><li id='features_tons_of_cukes_feature_24' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('79.8');</script><li id='features_tons_of_cukes_feature_25' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('80.4');</script><li id='features_tons_of_cukes_feature_26' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('81.0');</script><li id='features_tons_of_cukes_feature_27' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('81.6');</script><li id='features_tons_of_cukes_feature_28' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('82.2');</script><li id='features_tons_of_cukes_feature_29' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('82.8');</script><li id='features_tons_of_cukes_feature_30' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('83.4');</script><li id='features_tons_of_cukes_feature_31' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('84.0');</script><li id='features_tons_of_cukes_feature_32' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('84.6');</script><li id='features_tons_of_cukes_feature_33' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('85.2');</script><li id='features_tons_of_cukes_feature_34' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('85.7');</script><li id='features_tons_of_cukes_feature_35' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('86.3');</script><li id='features_tons_of_cukes_feature_36' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('86.9');</script><li id='features_tons_of_cukes_feature_37' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('87.5');</script><li id='features_tons_of_cukes_feature_38' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('88.1');</script><li id='features_tons_of_cukes_feature_39' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('88.7');</script><li id='features_tons_of_cukes_feature_40' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('89.3');</script><li id='features_tons_of_cukes_feature_41' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('89.9');</script><li id='features_tons_of_cukes_feature_42' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('90.5');</script><li id='features_tons_of_cukes_feature_43' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('91.1');</script><li id='features_tons_of_cukes_feature_44' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('91.7');</script><li id='features_tons_of_cukes_feature_45' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('92.3');</script><li id='features_tons_of_cukes_feature_46' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('92.8');</script><li id='features_tons_of_cukes_feature_47' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('93.4');</script><li id='features_tons_of_cukes_feature_48' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('94.0');</script><li id='features_tons_of_cukes_feature_49' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('94.6');</script><li id='features_tons_of_cukes_feature_50' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('95.2');</script><li id='features_tons_of_cukes_feature_51' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('95.8');</script><li id='features_tons_of_cukes_feature_52' class='step skipped'><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li> <script type="text/javascript">moveProgressBar('96.4');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: undefined multiline args</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_38"><span class="keyword">Scenario:</span> <span class="val">pystring</span></h3><ol><script>makeYellow('scenario_38');</script><li id='features_undefined_multiline_args_feature_4' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">a pystring</span></div><pre class="val"> example</pre><pre>Given /^a pystring$/ do |string|
405
+ <span class="linenum">30</span><span class="keyword">end</span></code></pre></li> <script type="text/javascript">moveProgressBar('68.6');</script><li id='features_tons_of_cukes_feature_6' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('69.2');</script><li id='features_tons_of_cukes_feature_7' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('69.8');</script><li id='features_tons_of_cukes_feature_8' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('70.4');</script><li id='features_tons_of_cukes_feature_9' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('71.0');</script><li id='features_tons_of_cukes_feature_10' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('71.5');</script><li id='features_tons_of_cukes_feature_11' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('72.1');</script><li id='features_tons_of_cukes_feature_12' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('72.7');</script><li id='features_tons_of_cukes_feature_13' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('73.3');</script><li id='features_tons_of_cukes_feature_14' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('73.9');</script><li id='features_tons_of_cukes_feature_15' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('74.5');</script><li id='features_tons_of_cukes_feature_16' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('75.1');</script><li id='features_tons_of_cukes_feature_17' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('75.7');</script><li id='features_tons_of_cukes_feature_18' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('76.3');</script><li id='features_tons_of_cukes_feature_19' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('76.9');</script><li id='features_tons_of_cukes_feature_20' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('77.5');</script><li id='features_tons_of_cukes_feature_21' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('78.1');</script><li id='features_tons_of_cukes_feature_22' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('78.6');</script><li id='features_tons_of_cukes_feature_23' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('79.2');</script><li id='features_tons_of_cukes_feature_24' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('79.8');</script><li id='features_tons_of_cukes_feature_25' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('80.4');</script><li id='features_tons_of_cukes_feature_26' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('81.0');</script><li id='features_tons_of_cukes_feature_27' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('81.6');</script><li id='features_tons_of_cukes_feature_28' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('82.2');</script><li id='features_tons_of_cukes_feature_29' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('82.8');</script><li id='features_tons_of_cukes_feature_30' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('83.4');</script><li id='features_tons_of_cukes_feature_31' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('84.0');</script><li id='features_tons_of_cukes_feature_32' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('84.6');</script><li id='features_tons_of_cukes_feature_33' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('85.2');</script><li id='features_tons_of_cukes_feature_34' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('85.7');</script><li id='features_tons_of_cukes_feature_35' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('86.3');</script><li id='features_tons_of_cukes_feature_36' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('86.9');</script><li id='features_tons_of_cukes_feature_37' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('87.5');</script><li id='features_tons_of_cukes_feature_38' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('88.1');</script><li id='features_tons_of_cukes_feature_39' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('88.7');</script><li id='features_tons_of_cukes_feature_40' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('89.3');</script><li id='features_tons_of_cukes_feature_41' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('89.9');</script><li id='features_tons_of_cukes_feature_42' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('90.5');</script><li id='features_tons_of_cukes_feature_43' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('91.1');</script><li id='features_tons_of_cukes_feature_44' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('91.7');</script><li id='features_tons_of_cukes_feature_45' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('92.3');</script><li id='features_tons_of_cukes_feature_46' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('92.8');</script><li id='features_tons_of_cukes_feature_47' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('93.4');</script><li id='features_tons_of_cukes_feature_48' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('94.0');</script><li id='features_tons_of_cukes_feature_49' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('94.6');</script><li id='features_tons_of_cukes_feature_50' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('95.2');</script><li id='features_tons_of_cukes_feature_51' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('95.8');</script><li id='features_tons_of_cukes_feature_52' class='step skipped'><div class="step_name"><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('96.4');</script></ol></div></div><div class="feature"><h2><span class="val">Feature: undefined multiline args</span></h2><p class="narrative"></p><div class='scenario'><h3 id="scenario_38"><span class="keyword">Scenario:</span> <span class="val">pystring</span></h3><ol><script>makeYellow('scenario_38');</script><li id='features_undefined_multiline_args_feature_4' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">a pystring</span></div><div class="step_file"><span>features/undefined_multiline_args.feature:4</span></div><pre class="val"> example</pre><pre>Given /^a pystring$/ do |string|
396
406
  pending # express the regexp above with the code you wish you had
397
- end</pre></li> <script type="text/javascript">moveProgressBar('97.0');</script></ol></div><div class='scenario'><h3 id="scenario_39"><span class="keyword">Scenario:</span> <span class="val">table</span></h3><ol><script>makeYellow('scenario_39');</script><li id='features_undefined_multiline_args_feature_10' class='step undefined'><div><span class="keyword">Given</span> <span class="step val">a table</span></div><table><tr class='step' id='row_11'><td class="step" id="row_11_0"><div><span class="step param">table</span></div></td></tr> <script type="text/javascript">moveProgressBar('98.2');</script><tr class='step' id='row_12'><td class="step" id="row_12_0"><div><span class="step param">example</span></div></td></tr> <script type="text/javascript">moveProgressBar('98.8');</script></table><pre>Given /^a table$/ do |table|
407
+ end</pre></li> <script type="text/javascript">moveProgressBar('97.0');</script></ol></div><div class='scenario'><h3 id="scenario_39"><span class="keyword">Scenario:</span> <span class="val">table</span></h3><ol><script>makeYellow('scenario_39');</script><li id='features_undefined_multiline_args_feature_10' class='step undefined'><div class="step_name"><span class="keyword">Given</span> <span class="step val">a table</span></div><div class="step_file"><span>features/undefined_multiline_args.feature:10</span></div><table><tr class='step' id='row_11'><td class="step" id="row_11_0"><div><span class="step param">table</span></div></td></tr> <script type="text/javascript">moveProgressBar('98.2');</script><tr class='step' id='row_12'><td class="step" id="row_12_0"><div><span class="step param">example</span></div></td></tr> <script type="text/javascript">moveProgressBar('98.8');</script></table><pre>Given /^a table$/ do |table|
398
408
  # table is a Cucumber::Ast::Table
399
409
  pending # express the regexp above with the code you wish you had
400
410
  end</pre></li> <script type="text/javascript">moveProgressBar('98.8');</script></ol></div></div><script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>0m30.005s seconds</strong>";</script><script type="text/javascript">document.getElementById('totals').innerHTML = "43 scenarios (10 failed, 2 skipped, 12 undefined, 19 passed)<br />131 steps (10 failed, 60 skipped, 16 undefined, 45 passed)";</script></div></body></html>
@@ -4,12 +4,11 @@ Feature: Tagged hooks
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 /^this step works$/ do
8
- end
7
+ Given /^this step works$/ do; end
9
8
  """
10
9
  And a file named "features/support/hooks.rb" with:
11
10
  """
12
- Before('~@no-boom') do
11
+ Before('~@no-boom') do
13
12
  raise 'boom'
14
13
  end
15
14
  """
@@ -111,12 +111,12 @@ Feature: Profiles
111
111
  Given a file named "features/step_definitions/steps.rb" with:
112
112
  """
113
113
  Given /^I am just testing stuff$/ do
114
- fail
114
+ raise 'BANG'
115
115
  end
116
116
  """
117
117
  When I run cucumber -q -p super -p default -f <format> features/sample.feature --require features/step_definitions/steps.rb
118
118
  Then it should fail
119
- Then the output should contain
119
+ And the output should contain
120
120
  """
121
121
  cucumber -p super features/sample.feature:2 # Scenario: this is a test
122
122
  """
@@ -11,13 +11,13 @@ Feature: Cucumber command line
11
11
  Scenario: Call directly # features/call_undefined_step_from_step_def.feature:3
12
12
  Given a step definition that calls an undefined step # features/step_definitions/sample_steps.rb:19
13
13
  Undefined step: "this does not exist" (Cucumber::Undefined)
14
- ./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
14
+ ./features/step_definitions/sample_steps.rb:19:in `/^a step definition that calls an undefined step$/'
15
15
  features/call_undefined_step_from_step_def.feature:4:in `Given a step definition that calls an undefined step'
16
16
 
17
17
  Scenario: Call via another # features/call_undefined_step_from_step_def.feature:6
18
18
  Given call step "a step definition that calls an undefined step" # features/step_definitions/sample_steps.rb:23
19
19
  Undefined step: "this does not exist" (Cucumber::Undefined)
20
- ./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
20
+ ./features/step_definitions/sample_steps.rb:19:in `/^a step definition that calls an undefined step$/'
21
21
  features/call_undefined_step_from_step_def.feature:7:in `Given call step "a step definition that calls an undefined step"'
22
22
 
23
23
  2 scenarios (2 undefined)
@@ -0,0 +1,45 @@
1
+ Feature: Rerun Debugger
2
+ In order to save time
3
+ I want to run *only* failed, pending and missing features from previous runs
4
+ (with the help of a smart cucumber.yml)
5
+
6
+ Background:
7
+ Given a standard Cucumber project directory structure
8
+
9
+ Scenario: title
10
+ Given a file named "features/sample.feature" with:
11
+ """
12
+ Feature: Rerun
13
+
14
+ Scenario: Failing
15
+ Given failing
16
+
17
+ Scenario: Missing
18
+ Given missing
19
+
20
+ Scenario: Pending
21
+ Given pending
22
+
23
+ Scenario: Passing
24
+ Given passing
25
+ """
26
+ And a file named "features/step_definitions/steps.rb" with:
27
+ """
28
+ Given /failing/ do
29
+ raise 'FAIL'
30
+ end
31
+
32
+ Given /pending/ do
33
+ pending
34
+ end
35
+
36
+ Given /passing/ do
37
+ end
38
+ """
39
+
40
+ When I run cucumber -f rerun features/sample.feature
41
+ Then it should fail with
42
+ """
43
+ features/sample.feature:3:6:9
44
+
45
+ """
@@ -15,7 +15,7 @@ Feature: Table diffing
15
15
  """
16
16
  And a file named "features/step_definitions/table_steps.rb" with:
17
17
  """
18
- Then /the table should be:/ do |expected|
18
+ Then /the table should be:/ do |expected| x=1
19
19
  expected.diff!(table(%{
20
20
  | x | y |
21
21
  | a | c |
@@ -11,12 +11,11 @@ Feature: Table mapping
11
11
  """
12
12
  And a file named "features/step_definitions/steps.rb" with:
13
13
  """
14
- Given /a table:/ do |table|
15
- table.map_headers!(/who/i => 'Who')
14
+ Given(/a table:/) { |table| table.map_headers!(/who/i => 'Who')
16
15
  table.map_column!('Who') { |who| "Cuke" }
17
16
  table.hashes[0]['Who'] = "Joe"
18
17
  table.hashes.should == [{"Who"=>"Joe"}]
19
- end
18
+ }
20
19
  """
21
20
  When I run cucumber features/f.feature
22
21
  Then STDERR should be empty
@@ -90,3 +90,28 @@ Feature: Wire protocol table diffing
90
90
  1 step (1 failed)
91
91
 
92
92
  """
93
+
94
+ Scenario: Invoke a step definition which asks for an immediate diff that fails
95
+ Given there is a wire server running on port 54321 which understands the following protocol:
96
+ | request | response |
97
+ | ["step_matches",{"name_to_match":"we're all wired"}] | ["success",[{"id":"1", "args":[]}]] |
98
+ | ["begin_scenario"] | ["success"] |
99
+ | ["invoke",{"id":"1","args":[]}] | ["diff!",[[["a"]],[["b"]]]] |
100
+ | ["end_scenario"] | ["success"] |
101
+ When I run cucumber -f progress
102
+ And it should fail with
103
+ """
104
+ F
105
+
106
+ (::) failed steps (::)
107
+
108
+ Tables were not identical (Cucumber::Ast::Table::Different)
109
+ features/wired.feature:2:in `Given we're all wired'
110
+
111
+ Failing Scenarios:
112
+ cucumber features/wired.feature:1 # Scenario: Wired
113
+
114
+ 1 scenario (1 failed)
115
+ 1 step (1 failed)
116
+
117
+ """
@@ -0,0 +1,47 @@
1
+ @wire
2
+ Feature: Wire protocol tags
3
+ In order to use Before and After hooks in a wire server, we send tags with the
4
+ scenario in the begin_scenario and end_scenario messages
5
+
6
+ Background:
7
+ Given a standard Cucumber project directory structure
8
+ And a file named "features/wired.feature" with:
9
+ """
10
+ @foo @bar
11
+ Feature: Wired
12
+
13
+ @baz
14
+ Scenario: Everybody's Wired
15
+ Given we're all wired
16
+
17
+ """
18
+ And a file named "features/step_definitions/some_remote_place.wire" with:
19
+ """
20
+ host: localhost
21
+ port: 54321
22
+
23
+ """
24
+
25
+ Scenario: Run the scenario
26
+ Given there is a wire server running on port 54321 which understands the following protocol:
27
+ | request | response |
28
+ | ["step_matches",{"name_to_match":"we're all wired"}] | ["success",[{"id":"1", "args":[]}]] |
29
+ | ["begin_scenario", {"tags":["bar","baz","foo"]}] | ["success"] |
30
+ | ["invoke",{"id":"1","args":[]}] | ["success"] |
31
+ | ["end_scenario", {"tags":["bar","baz","foo"]}] | ["success"] |
32
+ When I run cucumber -f pretty -q
33
+ Then STDERR should be empty
34
+ And it should pass with
35
+ """
36
+ @foo @bar
37
+ Feature: Wired
38
+
39
+ @baz
40
+ Scenario: Everybody's Wired
41
+ Given we're all wired
42
+
43
+ 1 scenario (1 passed)
44
+ 1 step (1 passed)
45
+
46
+ """
47
+