cucumber 0.3.7 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,24 @@
1
+ == 0.3.8 2009-05-27
2
+
3
+ This Cucumber version fixes several bugs related to Ruby on Rails and RSpec. If you
4
+ use Cucumber with a Rails app we *strongly* recommend you bootstrap Cucumber again:
5
+
6
+ ruby script/generate cucumber
7
+
8
+ === New Features
9
+ * Rails cucumber generator sets up default gem dependencies in cucumber environment.
10
+ * The duration of a run is reported by formatters - same format as the Linux time command (#228 Aslak Hellesøy)
11
+ * Scenario and ExampleRow objects (passed to Before and After hooks) have #name and #line methods (#316 Aslak Hellesøy)
12
+ * Rails generator creates a cucumber environment file to avoid potential cache_classes conflicts in test.rb (#165, Ben Mabey)
13
+ * HTML formatter renders @tags (but the CSS is still ugly)
14
+
15
+ === Removed/changed features
16
+ * The Cucumber Rake task will again fork by default (as 0.3.3 and earlier). Forking must be turned off explicitly. (Aslak Hellesøy)
17
+
18
+ === Bugfixes
19
+ * Better coexistence with RSpec - Cucumber now *neuters* the part of RSpec that tries to parse ARGV.
20
+ * The differ= exception is gone (#325, #340 Aslak Hellesøy)
21
+
1
22
  == 0.3.7 2009-05-22
2
23
 
3
24
  This is the "Help JetBrains RubyMine" release!
@@ -246,6 +246,8 @@ features/cucumber_cli_outlines.feature
246
246
  features/custom_formatter.feature
247
247
  features/exclude_files.feature
248
248
  features/expand.feature
249
+ features/html_formatter.feature
250
+ features/html_formatter/a.html
249
251
  features/junit_formatter.feature
250
252
  features/multiline_names.feature
251
253
  features/rake_task.feature
@@ -301,6 +303,7 @@ lib/cucumber/formatter/color_io.rb
301
303
  lib/cucumber/formatter/console.rb
302
304
  lib/cucumber/formatter/cucumber.css
303
305
  lib/cucumber/formatter/cucumber.sass
306
+ lib/cucumber/formatter/duration.rb
304
307
  lib/cucumber/formatter/html.rb
305
308
  lib/cucumber/formatter/junit.rb
306
309
  lib/cucumber/formatter/pretty.rb
@@ -323,6 +326,7 @@ lib/cucumber/platform.rb
323
326
  lib/cucumber/rails/rspec.rb
324
327
  lib/cucumber/rails/world.rb
325
328
  lib/cucumber/rake/task.rb
329
+ lib/cucumber/rspec_neuter.rb
326
330
  lib/cucumber/step_definition.rb
327
331
  lib/cucumber/step_match.rb
328
332
  lib/cucumber/step_mother.rb
@@ -332,6 +336,7 @@ rails_generators/cucumber/USAGE
332
336
  rails_generators/cucumber/cucumber_generator.rb
333
337
  rails_generators/cucumber/templates/cucumber
334
338
  rails_generators/cucumber/templates/cucumber.rake
339
+ rails_generators/cucumber/templates/cucumber_environment.rb
335
340
  rails_generators/cucumber/templates/env.rb
336
341
  rails_generators/cucumber/templates/paths.rb
337
342
  rails_generators/cucumber/templates/webrat_steps.rb
@@ -357,6 +362,7 @@ spec/cucumber/core_ext/proc_spec.rb
357
362
  spec/cucumber/core_ext/string_spec.rb
358
363
  spec/cucumber/formatter/ansicolor_spec.rb
359
364
  spec/cucumber/formatter/color_io_spec.rb
365
+ spec/cucumber/formatter/duration_spec.rb
360
366
  spec/cucumber/formatter/html/cucumber.css
361
367
  spec/cucumber/formatter/html/cucumber.js
362
368
  spec/cucumber/formatter/html/index.html
@@ -2,6 +2,7 @@
2
2
  # Add '.rb' to work around a bug in IronRuby's File#dirname
3
3
  $:.unshift(File.dirname(__FILE__ + '.rb') + '/../lib') unless $:.include?(File.dirname(__FILE__ + '.rb') + '/../lib')
4
4
 
5
+ require 'cucumber/rspec_neuter'
5
6
  require 'cucumber/cli/main'
6
7
  begin
7
8
  # The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
@@ -6,6 +6,13 @@
6
6
 
7
7
  <target name="cucumber" depends="compile" description="Run Cucumber">
8
8
  <property environment="ENV" />
9
+ <fail unless="ENV.JRUBY_HOME">
10
+ (::) ERROR (::)
11
+ Define JRUBY_HOME in your shell. For example:
12
+
13
+ export JRUBY_HOME=/usr/local/jruby
14
+ set JRUBY_HOME=C:\jruby
15
+ </fail>
9
16
  <java classname="org.jruby.Main" fork="true" failonerror="true">
10
17
  <classpath>
11
18
  <pathelement path="${ENV.JRUBY_HOME}/lib/jruby.jar"/>
@@ -0,0 +1,7 @@
1
+ Feature: HTML formatter
2
+ In order to make it easy to read Cucumber results
3
+ there should be a HTML formatter with an awesome CSS
4
+
5
+ Scenario: Everything in examples/self_test
6
+ When I run cucumber -q --format html --out tmp/a.html features
7
+ Then "examples/self_test/tmp/a.html" should have the same contents as "features/html_formatter/a.html"
@@ -0,0 +1,1182 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta content="text/html;charset=utf-8"/>
5
+ <title>Cucumber</title>
6
+ <style type="text/css">
7
+ .cucumber {
8
+ background: black;
9
+ color: white;
10
+ padding: 1em;
11
+ }
12
+ .cucumber .passed {
13
+ color: #008800;
14
+ }
15
+ .cucumber .undefined {
16
+ color: #888800;
17
+ }
18
+ .cucumber .pending {
19
+ color: #888800;
20
+ }
21
+ .cucumber .failed {
22
+ color: #880000;
23
+ }
24
+ .cucumber .skipped {
25
+ color: #008888;
26
+ }
27
+ .cucumber .outline {
28
+ color: #008888;
29
+ }
30
+
31
+ .cucumber .passed_param {
32
+ font-weight: bold;
33
+ color: #00ff00;
34
+ }
35
+ .cucumber .undefined_param {
36
+ font-weight: bold;
37
+ color: #ffff00;
38
+ }
39
+ .cucumber .pending_param {
40
+ font-weight: bold;
41
+ color: #ffff00;
42
+ }
43
+ .cucumber .failed_param {
44
+ font-weight: bold;
45
+ font-weight: bold;
46
+ color: #ff0000;
47
+ }
48
+ .cucumber .skipped_param {
49
+ font-weight: bold;
50
+ color: #00ffff;
51
+ }
52
+ .cucumber .outline_param {
53
+ font-weight: bold;
54
+ color: #00ffff;
55
+ }
56
+
57
+ .cucumber a {
58
+ text-decoration: none;
59
+ color: inherit;
60
+ }
61
+ .cucumber a:hover {
62
+ text-decoration: underline;
63
+ }
64
+ .cucumber a:visited {
65
+ font-weight: normal;
66
+ }
67
+ .cucumber ol {
68
+ list-style: none;
69
+ }
70
+ .cucumber .stats {
71
+ margin: 2em;
72
+ }
73
+ .cucumber .summary ul.features li {
74
+ display: inline;
75
+ }
76
+ .cucumber .backtrace {
77
+ margin-top: 0;
78
+ margin-bottom: 0;
79
+ margin-left: 1em;
80
+ }
81
+ </style>
82
+ </head>
83
+ <body>
84
+ <div class="cucumber">
85
+ <div class="feature">
86
+ <span class="tag">@background_tagged_before_on_outline</span>
87
+ <h2>Feature: Background tagged Before on Outline</h2>
88
+ <p>
89
+ </p>
90
+ <div class="background">
91
+ <h3>Background: </h3>
92
+ <ol>
93
+ <li class="step passed" id="features_background_background_tagged_before_on_outline_feature_5">
94
+ <div>
95
+ Given passing without a table </div>
96
+ </li>
97
+ </ol>
98
+ </div>
99
+ <div class="scenario">
100
+ <h3>Scenario Outline: passing background</h3>
101
+ <ol>
102
+ <li class="step skipped" id="features_background_background_tagged_before_on_outline_feature_8">
103
+ <div>
104
+ Then I should have '&lt;count&gt;' cukes </div>
105
+ </li>
106
+ </ol>
107
+ <h4>Examples: </h4>
108
+ <table>
109
+ <tr id="row_11">
110
+ <th class="skipped_param" id="row_11_0">count</th>
111
+ </tr>
112
+ <tr id="row_12">
113
+ <td class="passed" id="row_12_0">888</td>
114
+ </tr>
115
+ </table>
116
+ </div>
117
+ </div>
118
+ <div class="feature">
119
+ <h2>Feature: background with name</h2>
120
+ <p>
121
+ </p>
122
+ <div class="background">
123
+ <h3>Background: I'm a background and I'm ok</h3>
124
+ <ol>
125
+ <li class="step passed" id="features_background_background_with_name_feature_4">
126
+ <div>
127
+ Given '<span class="passed_param">10</span>' cukes </div>
128
+ </li>
129
+ </ol>
130
+ </div>
131
+ <div class="scenario">
132
+ <h3>Scenario: example</h3>
133
+ <ol>
134
+ <li class="step passed" id="features_background_background_with_name_feature_4">
135
+ </li>
136
+ <li class="step passed" id="features_background_background_with_name_feature_7">
137
+ <div>
138
+ Then I should have '<span class="passed_param">10</span>' cukes </div>
139
+ </li>
140
+ </ol>
141
+ </div>
142
+ </div>
143
+ <div class="feature">
144
+ <span class="tag">@after_file</span>
145
+ <h2>Feature: Failing background sample</h2>
146
+ <p>
147
+ </p>
148
+ <div class="background">
149
+ <h3>Background: </h3>
150
+ <ol>
151
+ <li class="step failed" id="features_background_failing_background_feature_5">
152
+ <div>
153
+ Given failing without a table </div>
154
+ <pre class="failed">FAIL (RuntimeError)
155
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
156
+ ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
157
+ features/background/failing_background.feature:5:in `Given failing without a table'</pre>
158
+ </li>
159
+ <li class="step skipped" id="features_background_failing_background_feature_6">
160
+ <div>
161
+ And '<span class="skipped_param">10</span>' cukes </div>
162
+ </li>
163
+ </ol>
164
+ </div>
165
+ <div class="scenario">
166
+ <h3>Scenario: failing background</h3>
167
+ <ol>
168
+ <li class="step failed" id="features_background_failing_background_feature_5">
169
+ <pre class="failed">FAIL (RuntimeError)
170
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
171
+ ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
172
+ features/background/failing_background.feature:5:in `Given failing without a table'</pre>
173
+ </li>
174
+ <li class="step skipped" id="features_background_failing_background_feature_6">
175
+ </li>
176
+ <li class="step skipped" id="features_background_failing_background_feature_9">
177
+ <div>
178
+ Then I should have '<span class="skipped_param">10</span>' cukes </div>
179
+ </li>
180
+ </ol>
181
+ </div>
182
+ <div class="scenario">
183
+ <h3>Scenario: another failing background</h3>
184
+ <ol>
185
+ <li class="step skipped" id="features_background_failing_background_feature_5">
186
+ </li>
187
+ <li class="step skipped" id="features_background_failing_background_feature_6">
188
+ </li>
189
+ <li class="step skipped" id="features_background_failing_background_feature_12">
190
+ <div>
191
+ Then I should have '<span class="skipped_param">10</span>' cukes </div>
192
+ </li>
193
+ </ol>
194
+ </div>
195
+ </div>
196
+ <div class="feature">
197
+ <h2>Feature: Failing background after previously successful background sample</h2>
198
+ <p>
199
+ </p>
200
+ <div class="background">
201
+ <h3>Background: </h3>
202
+ <ol>
203
+ <li class="step passed" id="features_background_failing_background_after_success_feature_4">
204
+ <div>
205
+ Given passing without a table </div>
206
+ </li>
207
+ <li class="step passed" id="features_background_failing_background_after_success_feature_5">
208
+ <div>
209
+ And '<span class="passed_param">10</span>' global cukes </div>
210
+ </li>
211
+ </ol>
212
+ </div>
213
+ <div class="scenario">
214
+ <h3>Scenario: passing background</h3>
215
+ <ol>
216
+ <li class="step passed" id="features_background_failing_background_after_success_feature_4">
217
+ </li>
218
+ <li class="step passed" id="features_background_failing_background_after_success_feature_5">
219
+ </li>
220
+ <li class="step passed" id="features_background_failing_background_after_success_feature_8">
221
+ <div>
222
+ Then I should have '<span class="passed_param">10</span>' global cukes </div>
223
+ </li>
224
+ </ol>
225
+ </div>
226
+ <div class="scenario">
227
+ <h3>Scenario: failing background</h3>
228
+ <ol>
229
+ <li class="step passed" id="features_background_failing_background_after_success_feature_4">
230
+ </li>
231
+ <li class="step failed" id="features_background_failing_background_after_success_feature_5">
232
+ <pre class="failed">FAIL (RuntimeError)
233
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
234
+ ./features/step_definitions/sample_steps.rb:37:in `/^'(.+)' global cukes$/'
235
+ features/background/failing_background_after_success.feature:5:in `And '10' global cukes'</pre>
236
+ </li>
237
+ <li class="step skipped" id="features_background_failing_background_after_success_feature_11">
238
+ <div>
239
+ Then I should have '<span class="skipped_param">10</span>' global cukes </div>
240
+ </li>
241
+ </ol>
242
+ </div>
243
+ </div>
244
+ <div class="feature">
245
+ <h2>Feature: Passing background with multiline args</h2>
246
+ <p>
247
+ </p>
248
+ <div class="background">
249
+ <h3>Background: </h3>
250
+ <ol>
251
+ <li class="step passed" id="features_background_multiline_args_background_feature_4">
252
+ <div>
253
+ Given table </div>
254
+ <table>
255
+ <tr id="row_5">
256
+ <td id="row_5_0">a</td>
257
+ <td id="row_5_1">b</td>
258
+ </tr>
259
+ <tr id="row_6">
260
+ <td id="row_6_0">c</td>
261
+ <td id="row_6_1">d</td>
262
+ </tr>
263
+ </table>
264
+ </li>
265
+ <li class="step passed" id="features_background_multiline_args_background_feature_7">
266
+ <div>
267
+ And multiline string </div>
268
+ <pre class="passed">
269
+ I'm a cucumber and I'm okay.
270
+ I sleep all night and I test all day </pre>
271
+ </li>
272
+ </ol>
273
+ </div>
274
+ <div class="scenario">
275
+ <h3>Scenario: passing background</h3>
276
+ <ol>
277
+ <li class="step passed" id="features_background_multiline_args_background_feature_4">
278
+ </li>
279
+ <li class="step passed" id="features_background_multiline_args_background_feature_7">
280
+ </li>
281
+ <li class="step passed" id="features_background_multiline_args_background_feature_14">
282
+ <div>
283
+ Then the table should be </div>
284
+ <table>
285
+ <tr id="row_15">
286
+ <td id="row_15_0">a</td>
287
+ <td id="row_15_1">b</td>
288
+ </tr>
289
+ <tr id="row_16">
290
+ <td id="row_16_0">c</td>
291
+ <td id="row_16_1">d</td>
292
+ </tr>
293
+ </table>
294
+ </li>
295
+ <li class="step passed" id="features_background_multiline_args_background_feature_17">
296
+ <div>
297
+ Then the multiline string should be </div>
298
+ <pre class="passed">
299
+ I'm a cucumber and I'm okay.
300
+ I sleep all night and I test all day </pre>
301
+ </li>
302
+ </ol>
303
+ </div>
304
+ <div class="scenario">
305
+ <h3>Scenario: another passing background</h3>
306
+ <ol>
307
+ <li class="step passed" id="features_background_multiline_args_background_feature_4">
308
+ </li>
309
+ <li class="step passed" id="features_background_multiline_args_background_feature_7">
310
+ </li>
311
+ <li class="step passed" id="features_background_multiline_args_background_feature_24">
312
+ <div>
313
+ Then the table should be </div>
314
+ <table>
315
+ <tr id="row_25">
316
+ <td id="row_25_0">a</td>
317
+ <td id="row_25_1">b</td>
318
+ </tr>
319
+ <tr id="row_26">
320
+ <td id="row_26_0">c</td>
321
+ <td id="row_26_1">d</td>
322
+ </tr>
323
+ </table>
324
+ </li>
325
+ <li class="step passed" id="features_background_multiline_args_background_feature_27">
326
+ <div>
327
+ Then the multiline string should be </div>
328
+ <pre class="passed">
329
+ I'm a cucumber and I'm okay.
330
+ I sleep all night and I test all day </pre>
331
+ </li>
332
+ </ol>
333
+ </div>
334
+ </div>
335
+ <div class="feature">
336
+ <h2>Feature: Passing background sample</h2>
337
+ <p>
338
+ </p>
339
+ <div class="background">
340
+ <h3>Background: </h3>
341
+ <ol>
342
+ <li class="step passed" id="features_background_passing_background_feature_4">
343
+ <div>
344
+ Given '<span class="passed_param">10</span>' cukes </div>
345
+ </li>
346
+ </ol>
347
+ </div>
348
+ <div class="scenario">
349
+ <h3>Scenario: passing background</h3>
350
+ <ol>
351
+ <li class="step passed" id="features_background_passing_background_feature_4">
352
+ </li>
353
+ <li class="step passed" id="features_background_passing_background_feature_7">
354
+ <div>
355
+ Then I should have '<span class="passed_param">10</span>' cukes </div>
356
+ </li>
357
+ </ol>
358
+ </div>
359
+ <div class="scenario">
360
+ <h3>Scenario: another passing background</h3>
361
+ <ol>
362
+ <li class="step passed" id="features_background_passing_background_feature_4">
363
+ </li>
364
+ <li class="step passed" id="features_background_passing_background_feature_10">
365
+ <div>
366
+ Then I should have '<span class="passed_param">10</span>' cukes </div>
367
+ </li>
368
+ </ol>
369
+ </div>
370
+ </div>
371
+ <div class="feature">
372
+ <h2>Feature: Pending background sample</h2>
373
+ <p>
374
+ </p>
375
+ <div class="background">
376
+ <h3>Background: </h3>
377
+ <ol>
378
+ <li class="step undefined" id="features_background_pending_background_feature_4">
379
+ <div>
380
+ Given pending </div>
381
+ <pre class="undefined">Undefined step: "pending" (Cucumber::Undefined)
382
+ features/background/pending_background.feature:4:in `Given pending'</pre>
383
+ </li>
384
+ </ol>
385
+ </div>
386
+ <div class="scenario">
387
+ <h3>Scenario: pending background</h3>
388
+ <ol>
389
+ <li class="step undefined" id="features_background_pending_background_feature_4">
390
+ <pre class="undefined">Undefined step: "pending" (Cucumber::Undefined)
391
+ features/background/pending_background.feature:4:in `Given pending'</pre>
392
+ </li>
393
+ <li class="step skipped" id="features_background_pending_background_feature_7">
394
+ <div>
395
+ Then I should have '<span class="skipped_param">10</span>' cukes </div>
396
+ </li>
397
+ </ol>
398
+ </div>
399
+ <div class="scenario">
400
+ <h3>Scenario: another pending background</h3>
401
+ <ol>
402
+ <li class="step undefined" id="features_background_pending_background_feature_4">
403
+ <pre class="undefined">Undefined step: "pending" (Cucumber::Undefined)
404
+ features/background/pending_background.feature:4:in `Given pending'</pre>
405
+ </li>
406
+ <li class="step skipped" id="features_background_pending_background_feature_10">
407
+ <div>
408
+ Then I should have '<span class="skipped_param">10</span>' cukes </div>
409
+ </li>
410
+ </ol>
411
+ </div>
412
+ </div>
413
+ <div class="feature">
414
+ <h2>Feature: Failing background with scenario outlines sample</h2>
415
+ <p>
416
+ </p>
417
+ <div class="background">
418
+ <h3>Background: </h3>
419
+ <ol>
420
+ <li class="step failed" id="features_background_scenario_outline_failing_background_feature_4">
421
+ <div>
422
+ Given failing without a table </div>
423
+ <pre class="failed">FAIL (RuntimeError)
424
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
425
+ ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
426
+ features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre>
427
+ </li>
428
+ </ol>
429
+ </div>
430
+ <div class="scenario">
431
+ <h3>Scenario Outline: failing background</h3>
432
+ <ol>
433
+ <li class="step skipped" id="features_background_scenario_outline_failing_background_feature_7">
434
+ <div>
435
+ Then I should have '&lt;count&gt;' cukes </div>
436
+ </li>
437
+ </ol>
438
+ <h4>Examples: </h4>
439
+ <table>
440
+ <tr id="row_9">
441
+ <th class="skipped_param" id="row_9_0">count</th>
442
+ </tr>
443
+ <tr id="row_10">
444
+ <td class="skipped" id="row_10_0">10</td>
445
+ </tr>
446
+ <tr>
447
+ <td class="failed" colspan="1">
448
+ <pre>
449
+ FAIL (RuntimeError)
450
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
451
+ ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
452
+ features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table' </pre>
453
+ </td>
454
+ </tr>
455
+ </table>
456
+ </div>
457
+ <div class="scenario">
458
+ <h3>Scenario Outline: another failing background</h3>
459
+ <ol>
460
+ <li class="step skipped" id="features_background_scenario_outline_failing_background_feature_13">
461
+ <div>
462
+ Then I should have '&lt;count&gt;' cukes </div>
463
+ </li>
464
+ </ol>
465
+ <h4>Examples: </h4>
466
+ <table>
467
+ <tr id="row_15">
468
+ <th class="skipped_param" id="row_15_0">count</th>
469
+ </tr>
470
+ <tr id="row_16">
471
+ <td class="skipped" id="row_16_0">10</td>
472
+ </tr>
473
+ </table>
474
+ </div>
475
+ </div>
476
+ <div class="feature">
477
+ <h2>Feature: Passing background with scenario outlines sample</h2>
478
+ <p>
479
+ </p>
480
+ <div class="background">
481
+ <h3>Background: </h3>
482
+ <ol>
483
+ <li class="step passed" id="features_background_scenario_outline_passing_background_feature_4">
484
+ <div>
485
+ Given '<span class="passed_param">10</span>' cukes </div>
486
+ </li>
487
+ </ol>
488
+ </div>
489
+ <div class="scenario">
490
+ <h3>Scenario Outline: passing background</h3>
491
+ <ol>
492
+ <li class="step skipped" id="features_background_scenario_outline_passing_background_feature_7">
493
+ <div>
494
+ Then I should have '&lt;count&gt;' cukes </div>
495
+ </li>
496
+ </ol>
497
+ <h4>Examples: </h4>
498
+ <table>
499
+ <tr id="row_9">
500
+ <th class="skipped_param" id="row_9_0">count</th>
501
+ </tr>
502
+ <tr id="row_10">
503
+ <td class="passed" id="row_10_0">10</td>
504
+ </tr>
505
+ </table>
506
+ </div>
507
+ <div class="scenario">
508
+ <h3>Scenario Outline: another passing background</h3>
509
+ <ol>
510
+ <li class="step skipped" id="features_background_scenario_outline_passing_background_feature_13">
511
+ <div>
512
+ Then I should have '&lt;count&gt;' cukes </div>
513
+ </li>
514
+ </ol>
515
+ <h4>Examples: </h4>
516
+ <table>
517
+ <tr id="row_15">
518
+ <th class="skipped_param" id="row_15_0">count</th>
519
+ </tr>
520
+ <tr id="row_16">
521
+ <td class="passed" id="row_16_0">10</td>
522
+ </tr>
523
+ </table>
524
+ </div>
525
+ </div>
526
+ <div class="feature">
527
+ <h2>Feature: Calling undefined step</h2>
528
+ <p>
529
+ </p>
530
+ <div class="scenario">
531
+ <h3>Scenario: Call directly</h3>
532
+ <ol>
533
+ <li class="step undefined" id="features_call_undefined_step_from_step_def_feature_4">
534
+ <div>
535
+ Given a step definition that calls an undefined step </div>
536
+ <pre class="undefined">Undefined step: "this does not exist" (Cucumber::Undefined)
537
+ ./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
538
+ features/call_undefined_step_from_step_def.feature:4:in `Given a step definition that calls an undefined step'</pre>
539
+ </li>
540
+ </ol>
541
+ </div>
542
+ <div class="scenario">
543
+ <h3>Scenario: Call via another</h3>
544
+ <ol>
545
+ <li class="step undefined" id="features_call_undefined_step_from_step_def_feature_7">
546
+ <div>
547
+ Given call step &quot;<span class="undefined_param">a step definition that calls an undefined step</span>&quot; </div>
548
+ <pre class="undefined">Undefined step: "this does not exist" (Cucumber::Undefined)
549
+ ./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
550
+ features/call_undefined_step_from_step_def.feature:7:in `Given call step "a step definition that calls an undefined step"'</pre>
551
+ </li>
552
+ </ol>
553
+ </div>
554
+ </div>
555
+ <div class="feature">
556
+ <h2>Feature: Failing expectation</h2>
557
+ <p>
558
+ </p>
559
+ <div class="scenario">
560
+ <h3>Scenario: Failing expectation</h3>
561
+ <ol>
562
+ <li class="step failed" id="features_failing_expectation_feature_4">
563
+ <div>
564
+ Given failing expectation </div>
565
+ <pre class="failed">expected: "that",
566
+ got: "this" (using ==)
567
+ Diff:
568
+ @@ -1,2 +1,2 @@
569
+ -that
570
+ +this
571
+ (Spec::Expectations::ExpectationNotMetError)
572
+ ./features/step_definitions/sample_steps.rb:63:in `/^failing expectation$/'
573
+ features/failing_expectation.feature:4:in `Given failing expectation'</pre>
574
+ </li>
575
+ </ol>
576
+ </div>
577
+ </div>
578
+ <div class="feature">
579
+ <h2>Feature: Lots of undefined</h2>
580
+ <p>
581
+ </p>
582
+ <div class="scenario">
583
+ <h3>Scenario: Implement me</h3>
584
+ <ol>
585
+ <li class="step undefined" id="features_lots_of_undefined_feature_4">
586
+ <div>
587
+ Given it snows in Sahara </div>
588
+ <pre class="undefined">Undefined step: "it snows in Sahara" (Cucumber::Undefined)
589
+ features/lots_of_undefined.feature:4:in `Given it snows in Sahara'</pre>
590
+ </li>
591
+ <li class="step undefined" id="features_lots_of_undefined_feature_5">
592
+ <div>
593
+ Given it's 40 degrees in Norway </div>
594
+ <pre class="undefined">Undefined step: "it's 40 degrees in Norway" (Cucumber::Undefined)
595
+ features/lots_of_undefined.feature:5:in `Given it's 40 degrees in Norway'</pre>
596
+ </li>
597
+ <li class="step undefined" id="features_lots_of_undefined_feature_6">
598
+ <div>
599
+ And it's 40 degrees in Norway </div>
600
+ <pre class="undefined">Undefined step: "it's 40 degrees in Norway" (Cucumber::Undefined)
601
+ features/lots_of_undefined.feature:6:in `And it's 40 degrees in Norway'</pre>
602
+ </li>
603
+ <li class="step undefined" id="features_lots_of_undefined_feature_7">
604
+ <div>
605
+ When I stop procrastinating </div>
606
+ <pre class="undefined">Undefined step: "I stop procrastinating" (Cucumber::Undefined)
607
+ features/lots_of_undefined.feature:7:in `When I stop procrastinating'</pre>
608
+ </li>
609
+ <li class="step undefined" id="features_lots_of_undefined_feature_8">
610
+ <div>
611
+ And there is world peace </div>
612
+ <pre class="undefined">Undefined step: "there is world peace" (Cucumber::Undefined)
613
+ features/lots_of_undefined.feature:8:in `And there is world peace'</pre>
614
+ </li>
615
+ </ol>
616
+ </div>
617
+ </div>
618
+ <div class="feature">
619
+ <h2>Feature: multiline</h2>
620
+ <p>
621
+ </p>
622
+ <div class="background">
623
+ <h3>Background: I'm a multiline name
624
+ which goes on and on and on for three lines
625
+ yawn</h3>
626
+ <ol>
627
+ <li class="step passed" id="features_multiline_name_feature_6">
628
+ <div>
629
+ Given passing without a table </div>
630
+ </li>
631
+ </ol>
632
+ </div>
633
+ <div class="scenario">
634
+ <h3>Scenario: I'm a multiline name
635
+ which goes on and on and on for three lines
636
+ yawn</h3>
637
+ <ol>
638
+ <li class="step passed" id="features_multiline_name_feature_6">
639
+ </li>
640
+ <li class="step passed" id="features_multiline_name_feature_11">
641
+ <div>
642
+ Given passing without a table </div>
643
+ </li>
644
+ </ol>
645
+ </div>
646
+ <div class="scenario">
647
+ <h3>Scenario Outline: I'm a multiline name
648
+ which goes on and on and on for three lines
649
+ yawn</h3>
650
+ <ol>
651
+ <li class="step skipped" id="features_multiline_name_feature_16">
652
+ <div>
653
+ Given &lt;state&gt; without a table </div>
654
+ </li>
655
+ </ol>
656
+ <h4>Examples: </h4>
657
+ <table>
658
+ <tr id="row_18">
659
+ <th class="skipped_param" id="row_18_0">state</th>
660
+ </tr>
661
+ <tr id="row_19">
662
+ <td class="passed" id="row_19_0">passing</td>
663
+ </tr>
664
+ </table>
665
+ </div>
666
+ <div class="scenario">
667
+ <h3>Scenario Outline: name</h3>
668
+ <ol>
669
+ <li class="step skipped" id="features_multiline_name_feature_22">
670
+ <div>
671
+ Given &lt;state&gt; without a table </div>
672
+ </li>
673
+ </ol>
674
+ <h4>Examples: I'm a multiline name
675
+ which goes on and on and on for three lines
676
+ yawn</h4>
677
+ <table>
678
+ <tr id="row_26">
679
+ <th class="skipped_param" id="row_26_0">state</th>
680
+ </tr>
681
+ <tr id="row_27">
682
+ <td class="passed" id="row_27_0">passing</td>
683
+ </tr>
684
+ </table>
685
+ </div>
686
+ </div>
687
+ <div class="feature">
688
+ <h2>Feature: Outline Sample</h2>
689
+ <p>
690
+ </p>
691
+ <div class="scenario">
692
+ <h3>Scenario: I have no steps</h3>
693
+ <ol>
694
+ </ol>
695
+ </div>
696
+ <div class="scenario">
697
+ <h3>Scenario Outline: Test state</h3>
698
+ <ol>
699
+ <li class="step skipped" id="features_outline_sample_feature_6">
700
+ <div>
701
+ Given &lt;state&gt; without a table </div>
702
+ </li>
703
+ <li class="step skipped" id="features_outline_sample_feature_7">
704
+ <div>
705
+ Given &lt;other_state&gt; without a table </div>
706
+ </li>
707
+ </ol>
708
+ <h4>Examples: Rainbow colours</h4>
709
+ <table>
710
+ <tr id="row_9">
711
+ <th class="skipped_param" id="row_9_0">state</th>
712
+ <th class="skipped_param" id="row_9_1">other_state</th>
713
+ </tr>
714
+ <tr id="row_10">
715
+ <td class="undefined" id="row_10_0">missing</td>
716
+ <td class="skipped" id="row_10_1">passing</td>
717
+ </tr>
718
+ <tr>
719
+ <td class="failed" colspan="2">
720
+ <pre>
721
+ Undefined step: "missing without a table" (Cucumber::Undefined)
722
+ features/outline_sample.feature:6:in `Given <state> without a table' </pre>
723
+ </td>
724
+ </tr>
725
+ <tr id="row_11">
726
+ <td class="passed" id="row_11_0">passing</td>
727
+ <td class="passed" id="row_11_1">passing</td>
728
+ </tr>
729
+ <tr id="row_12">
730
+ <td class="failed" id="row_12_0">failing</td>
731
+ <td class="skipped" id="row_12_1">passing</td>
732
+ </tr>
733
+ <tr>
734
+ <td class="failed" colspan="2">
735
+ <pre>
736
+ FAIL (RuntimeError)
737
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
738
+ ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
739
+ features/outline_sample.feature:6:in `Given <state> without a table' </pre>
740
+ </td>
741
+ </tr>
742
+ </table>
743
+ <h4>Examples: Only passing</h4>
744
+ <table>
745
+ <tr id="row_14">
746
+ <th class="skipped_param" id="row_14_0">state</th>
747
+ <th class="skipped_param" id="row_14_1">other_state</th>
748
+ </tr>
749
+ <tr id="row_15">
750
+ <td class="passed" id="row_15_0">passing</td>
751
+ <td class="passed" id="row_15_1">passing</td>
752
+ </tr>
753
+ </table>
754
+ </div>
755
+ </div>
756
+ <div class="feature">
757
+ <span class="tag">@one</span>
758
+ <h2>Feature: Sample</h2>
759
+ <p>
760
+ </p>
761
+ <div class="scenario">
762
+ <span class="tag">@two</span>
763
+ <span class="tag">@three</span>
764
+ <h3>Scenario: Missing</h3>
765
+ <ol>
766
+ <li class="step undefined" id="features_sample_feature_6">
767
+ <div>
768
+ Given missing </div>
769
+ <pre class="undefined">Undefined step: "missing" (Cucumber::Undefined)
770
+ features/sample.feature:6:in `Given missing'</pre>
771
+ </li>
772
+ </ol>
773
+ </div>
774
+ <div class="scenario">
775
+ <span class="tag">@three</span>
776
+ <h3>Scenario: Passing</h3>
777
+ <ol>
778
+ <li class="step passed" id="features_sample_feature_10">
779
+ <div>
780
+ Given passing </div>
781
+ <table>
782
+ <tr id="row_11">
783
+ <td id="row_11_0">a</td>
784
+ <td id="row_11_1">b</td>
785
+ </tr>
786
+ <tr id="row_12">
787
+ <td id="row_12_0">c</td>
788
+ <td id="row_12_1">d</td>
789
+ </tr>
790
+ </table>
791
+ </li>
792
+ </ol>
793
+ </div>
794
+ <div class="scenario">
795
+ <span class="tag">@four</span>
796
+ <h3>Scenario: Failing</h3>
797
+ <ol>
798
+ <li class="step failed" id="features_sample_feature_16">
799
+ <div>
800
+ Given failing </div>
801
+ <pre class="failed">
802
+ hello </pre>
803
+ <pre class="failed">FAIL (RuntimeError)
804
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
805
+ ./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
806
+ features/sample.feature:16:in `Given failing'</pre>
807
+ </li>
808
+ </ol>
809
+ </div>
810
+ </div>
811
+ <div class="feature">
812
+ <h2>Feature: search examples</h2>
813
+ <p>
814
+ </p>
815
+ <div class="background">
816
+ <h3>Background: Hantu Pisang background match</h3>
817
+ <ol>
818
+ <li class="step passed" id="features_search_sample_feature_4">
819
+ <div>
820
+ Given passing without a table </div>
821
+ </li>
822
+ </ol>
823
+ </div>
824
+ <div class="scenario">
825
+ <h3>Scenario: should match Hantu Pisang</h3>
826
+ <ol>
827
+ <li class="step passed" id="features_search_sample_feature_4">
828
+ </li>
829
+ <li class="step passed" id="features_search_sample_feature_7">
830
+ <div>
831
+ Given passing without a table </div>
832
+ </li>
833
+ </ol>
834
+ </div>
835
+ <div class="scenario">
836
+ <h3>Scenario: Ignore me</h3>
837
+ <ol>
838
+ <li class="step passed" id="features_search_sample_feature_4">
839
+ </li>
840
+ <li class="step failed" id="features_search_sample_feature_10">
841
+ <div>
842
+ Given failing without a table </div>
843
+ <pre class="failed">FAIL (RuntimeError)
844
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
845
+ ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
846
+ features/search_sample.feature:10:in `Given failing without a table'</pre>
847
+ </li>
848
+ </ol>
849
+ </div>
850
+ <div class="scenario">
851
+ <h3>Scenario Outline: Ignore me</h3>
852
+ <ol>
853
+ <li class="step skipped" id="features_search_sample_feature_13">
854
+ <div>
855
+ Given &lt;state&gt; without a table </div>
856
+ </li>
857
+ </ol>
858
+ <h4>Examples: </h4>
859
+ <table>
860
+ <tr id="row_15">
861
+ <th class="skipped_param" id="row_15_0">state</th>
862
+ </tr>
863
+ <tr id="row_16">
864
+ <td class="failed" id="row_16_0">failing</td>
865
+ </tr>
866
+ <tr>
867
+ <td class="failed" colspan="1">
868
+ <pre>
869
+ FAIL (RuntimeError)
870
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
871
+ ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
872
+ features/search_sample.feature:13:in `Given <state> without a table' </pre>
873
+ </td>
874
+ </tr>
875
+ </table>
876
+ </div>
877
+ <div class="scenario">
878
+ <h3>Scenario Outline: Hantu Pisang match</h3>
879
+ <ol>
880
+ <li class="step skipped" id="features_search_sample_feature_19">
881
+ <div>
882
+ Given &lt;state&gt; without a table </div>
883
+ </li>
884
+ </ol>
885
+ <h4>Examples: </h4>
886
+ <table>
887
+ <tr id="row_21">
888
+ <th class="skipped_param" id="row_21_0">state</th>
889
+ </tr>
890
+ <tr id="row_22">
891
+ <td class="passed" id="row_22_0">passing</td>
892
+ </tr>
893
+ </table>
894
+ </div>
895
+ <div class="scenario">
896
+ <h3>Scenario Outline: no match in name but in examples</h3>
897
+ <ol>
898
+ <li class="step skipped" id="features_search_sample_feature_25">
899
+ <div>
900
+ Given &lt;state&gt; without a table </div>
901
+ </li>
902
+ </ol>
903
+ <h4>Examples: Hantu Pisang</h4>
904
+ <table>
905
+ <tr id="row_27">
906
+ <th class="skipped_param" id="row_27_0">state</th>
907
+ </tr>
908
+ <tr id="row_28">
909
+ <td class="passed" id="row_28_0">passing</td>
910
+ </tr>
911
+ </table>
912
+ <h4>Examples: Ignore me</h4>
913
+ <table>
914
+ <tr id="row_31">
915
+ <th class="skipped_param" id="row_31_0">state</th>
916
+ </tr>
917
+ <tr id="row_32">
918
+ <td class="failed" id="row_32_0">failing</td>
919
+ </tr>
920
+ <tr>
921
+ <td class="failed" colspan="1">
922
+ <pre>
923
+ FAIL (RuntimeError)
924
+ ./features/step_definitions/sample_steps.rb:2:in `flunker'
925
+ ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
926
+ features/search_sample.feature:25:in `Given <state> without a table' </pre>
927
+ </td>
928
+ </tr>
929
+ </table>
930
+ </div>
931
+ </div>
932
+ <div class="feature">
933
+ <span class="tag">@lots</span>
934
+ <h2>Feature: Tons of cukes</h2>
935
+ <p>
936
+ </p>
937
+ <div class="scenario">
938
+ <h3>Scenario: Lots and lots</h3>
939
+ <ol>
940
+ <li class="step passed" id="features_tons_of_cukes_feature_4">
941
+ <div>
942
+ Given '<span class="passed_param">2</span>' cukes </div>
943
+ </li>
944
+ <li class="step failed" id="features_tons_of_cukes_feature_5">
945
+ <div>
946
+ Given '<span class="failed_param">2</span>' cukes </div>
947
+ <pre class="failed">We already have 2 cukes! (RuntimeError)
948
+ ./features/step_definitions/sample_steps.rb:28:in `/^'(.+)' cukes$/'
949
+ features/tons_of_cukes.feature:5:in `Given '2' cukes'</pre>
950
+ </li>
951
+ <li class="step skipped" id="features_tons_of_cukes_feature_6">
952
+ <div>
953
+ Given '<span class="skipped_param">2</span>' cukes </div>
954
+ </li>
955
+ <li class="step skipped" id="features_tons_of_cukes_feature_7">
956
+ <div>
957
+ Given '<span class="skipped_param">2</span>' cukes </div>
958
+ </li>
959
+ <li class="step skipped" id="features_tons_of_cukes_feature_8">
960
+ <div>
961
+ Given '<span class="skipped_param">2</span>' cukes </div>
962
+ </li>
963
+ <li class="step skipped" id="features_tons_of_cukes_feature_9">
964
+ <div>
965
+ Given '<span class="skipped_param">2</span>' cukes </div>
966
+ </li>
967
+ <li class="step skipped" id="features_tons_of_cukes_feature_10">
968
+ <div>
969
+ Given '<span class="skipped_param">2</span>' cukes </div>
970
+ </li>
971
+ <li class="step skipped" id="features_tons_of_cukes_feature_11">
972
+ <div>
973
+ Given '<span class="skipped_param">2</span>' cukes </div>
974
+ </li>
975
+ <li class="step skipped" id="features_tons_of_cukes_feature_12">
976
+ <div>
977
+ Given '<span class="skipped_param">2</span>' cukes </div>
978
+ </li>
979
+ <li class="step skipped" id="features_tons_of_cukes_feature_13">
980
+ <div>
981
+ Given '<span class="skipped_param">2</span>' cukes </div>
982
+ </li>
983
+ <li class="step skipped" id="features_tons_of_cukes_feature_14">
984
+ <div>
985
+ Given '<span class="skipped_param">2</span>' cukes </div>
986
+ </li>
987
+ <li class="step skipped" id="features_tons_of_cukes_feature_15">
988
+ <div>
989
+ Given '<span class="skipped_param">2</span>' cukes </div>
990
+ </li>
991
+ <li class="step skipped" id="features_tons_of_cukes_feature_16">
992
+ <div>
993
+ Given '<span class="skipped_param">2</span>' cukes </div>
994
+ </li>
995
+ <li class="step skipped" id="features_tons_of_cukes_feature_17">
996
+ <div>
997
+ Given '<span class="skipped_param">2</span>' cukes </div>
998
+ </li>
999
+ <li class="step skipped" id="features_tons_of_cukes_feature_18">
1000
+ <div>
1001
+ Given '<span class="skipped_param">2</span>' cukes </div>
1002
+ </li>
1003
+ <li class="step skipped" id="features_tons_of_cukes_feature_19">
1004
+ <div>
1005
+ Given '<span class="skipped_param">2</span>' cukes </div>
1006
+ </li>
1007
+ <li class="step skipped" id="features_tons_of_cukes_feature_20">
1008
+ <div>
1009
+ Given '<span class="skipped_param">2</span>' cukes </div>
1010
+ </li>
1011
+ <li class="step skipped" id="features_tons_of_cukes_feature_21">
1012
+ <div>
1013
+ Given '<span class="skipped_param">2</span>' cukes </div>
1014
+ </li>
1015
+ <li class="step skipped" id="features_tons_of_cukes_feature_22">
1016
+ <div>
1017
+ Given '<span class="skipped_param">2</span>' cukes </div>
1018
+ </li>
1019
+ <li class="step skipped" id="features_tons_of_cukes_feature_23">
1020
+ <div>
1021
+ Given '<span class="skipped_param">2</span>' cukes </div>
1022
+ </li>
1023
+ <li class="step skipped" id="features_tons_of_cukes_feature_24">
1024
+ <div>
1025
+ Given '<span class="skipped_param">2</span>' cukes </div>
1026
+ </li>
1027
+ <li class="step skipped" id="features_tons_of_cukes_feature_25">
1028
+ <div>
1029
+ Given '<span class="skipped_param">2</span>' cukes </div>
1030
+ </li>
1031
+ <li class="step skipped" id="features_tons_of_cukes_feature_26">
1032
+ <div>
1033
+ Given '<span class="skipped_param">2</span>' cukes </div>
1034
+ </li>
1035
+ <li class="step skipped" id="features_tons_of_cukes_feature_27">
1036
+ <div>
1037
+ Given '<span class="skipped_param">2</span>' cukes </div>
1038
+ </li>
1039
+ <li class="step skipped" id="features_tons_of_cukes_feature_28">
1040
+ <div>
1041
+ Given '<span class="skipped_param">2</span>' cukes </div>
1042
+ </li>
1043
+ <li class="step skipped" id="features_tons_of_cukes_feature_29">
1044
+ <div>
1045
+ Given '<span class="skipped_param">2</span>' cukes </div>
1046
+ </li>
1047
+ <li class="step skipped" id="features_tons_of_cukes_feature_30">
1048
+ <div>
1049
+ Given '<span class="skipped_param">2</span>' cukes </div>
1050
+ </li>
1051
+ <li class="step skipped" id="features_tons_of_cukes_feature_31">
1052
+ <div>
1053
+ Given '<span class="skipped_param">2</span>' cukes </div>
1054
+ </li>
1055
+ <li class="step skipped" id="features_tons_of_cukes_feature_32">
1056
+ <div>
1057
+ Given '<span class="skipped_param">2</span>' cukes </div>
1058
+ </li>
1059
+ <li class="step skipped" id="features_tons_of_cukes_feature_33">
1060
+ <div>
1061
+ Given '<span class="skipped_param">2</span>' cukes </div>
1062
+ </li>
1063
+ <li class="step skipped" id="features_tons_of_cukes_feature_34">
1064
+ <div>
1065
+ Given '<span class="skipped_param">2</span>' cukes </div>
1066
+ </li>
1067
+ <li class="step skipped" id="features_tons_of_cukes_feature_35">
1068
+ <div>
1069
+ Given '<span class="skipped_param">2</span>' cukes </div>
1070
+ </li>
1071
+ <li class="step skipped" id="features_tons_of_cukes_feature_36">
1072
+ <div>
1073
+ Given '<span class="skipped_param">2</span>' cukes </div>
1074
+ </li>
1075
+ <li class="step skipped" id="features_tons_of_cukes_feature_37">
1076
+ <div>
1077
+ Given '<span class="skipped_param">2</span>' cukes </div>
1078
+ </li>
1079
+ <li class="step skipped" id="features_tons_of_cukes_feature_38">
1080
+ <div>
1081
+ Given '<span class="skipped_param">2</span>' cukes </div>
1082
+ </li>
1083
+ <li class="step skipped" id="features_tons_of_cukes_feature_39">
1084
+ <div>
1085
+ Given '<span class="skipped_param">2</span>' cukes </div>
1086
+ </li>
1087
+ <li class="step skipped" id="features_tons_of_cukes_feature_40">
1088
+ <div>
1089
+ Given '<span class="skipped_param">2</span>' cukes </div>
1090
+ </li>
1091
+ <li class="step skipped" id="features_tons_of_cukes_feature_41">
1092
+ <div>
1093
+ Given '<span class="skipped_param">2</span>' cukes </div>
1094
+ </li>
1095
+ <li class="step skipped" id="features_tons_of_cukes_feature_42">
1096
+ <div>
1097
+ Given '<span class="skipped_param">2</span>' cukes </div>
1098
+ </li>
1099
+ <li class="step skipped" id="features_tons_of_cukes_feature_43">
1100
+ <div>
1101
+ Given '<span class="skipped_param">2</span>' cukes </div>
1102
+ </li>
1103
+ <li class="step skipped" id="features_tons_of_cukes_feature_44">
1104
+ <div>
1105
+ Given '<span class="skipped_param">2</span>' cukes </div>
1106
+ </li>
1107
+ <li class="step skipped" id="features_tons_of_cukes_feature_45">
1108
+ <div>
1109
+ Given '<span class="skipped_param">2</span>' cukes </div>
1110
+ </li>
1111
+ <li class="step skipped" id="features_tons_of_cukes_feature_46">
1112
+ <div>
1113
+ Given '<span class="skipped_param">2</span>' cukes </div>
1114
+ </li>
1115
+ <li class="step skipped" id="features_tons_of_cukes_feature_47">
1116
+ <div>
1117
+ Given '<span class="skipped_param">2</span>' cukes </div>
1118
+ </li>
1119
+ <li class="step skipped" id="features_tons_of_cukes_feature_48">
1120
+ <div>
1121
+ Given '<span class="skipped_param">2</span>' cukes </div>
1122
+ </li>
1123
+ <li class="step skipped" id="features_tons_of_cukes_feature_49">
1124
+ <div>
1125
+ Given '<span class="skipped_param">2</span>' cukes </div>
1126
+ </li>
1127
+ <li class="step skipped" id="features_tons_of_cukes_feature_50">
1128
+ <div>
1129
+ Given '<span class="skipped_param">2</span>' cukes </div>
1130
+ </li>
1131
+ <li class="step skipped" id="features_tons_of_cukes_feature_51">
1132
+ <div>
1133
+ Given '<span class="skipped_param">2</span>' cukes </div>
1134
+ </li>
1135
+ <li class="step skipped" id="features_tons_of_cukes_feature_52">
1136
+ <div>
1137
+ Given '<span class="skipped_param">2</span>' cukes </div>
1138
+ </li>
1139
+ </ol>
1140
+ </div>
1141
+ </div>
1142
+ <div class="feature">
1143
+ <h2>Feature: undefined multiline args</h2>
1144
+ <p>
1145
+ </p>
1146
+ <div class="scenario">
1147
+ <h3>Scenario: pystring</h3>
1148
+ <ol>
1149
+ <li class="step undefined" id="features_undefined_multiline_args_feature_4">
1150
+ <div>
1151
+ Given a pystring </div>
1152
+ <pre class="undefined">
1153
+ example </pre>
1154
+ <pre class="undefined">Undefined step: "a pystring" (Cucumber::Undefined)
1155
+ features/undefined_multiline_args.feature:4:in `Given a pystring'</pre>
1156
+ </li>
1157
+ </ol>
1158
+ </div>
1159
+ <div class="scenario">
1160
+ <h3>Scenario: table</h3>
1161
+ <ol>
1162
+ <li class="step undefined" id="features_undefined_multiline_args_feature_10">
1163
+ <div>
1164
+ Given a table </div>
1165
+ <table>
1166
+ <tr id="row_11">
1167
+ <td id="row_11_0">table</td>
1168
+ </tr>
1169
+ <tr id="row_12">
1170
+ <td id="row_12_0">example</td>
1171
+ </tr>
1172
+ </table>
1173
+ <pre class="undefined">Undefined step: "a table" (Cucumber::Undefined)
1174
+ features/undefined_multiline_args.feature:10:in `Given a table'</pre>
1175
+ </li>
1176
+ </ol>
1177
+ </div>
1178
+ </div>
1179
+ <div class="duration">0m30.005s</div>
1180
+ </div>
1181
+ </body>
1182
+ </html>