aslakhellesoy-cucumber 0.3.7.1 → 0.3.7.2

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