aslakhellesoy-cucumber 0.3.7.1 → 0.3.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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>