aslakhellesoy-cucumber 0.3.93.1 → 0.3.94

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,31 @@
1
- == (In Git)
1
+ == 0.3.94 2009-08-06
2
+
3
+ Kanban take II.
4
+
5
+ Release 0.3.6 introduced a new --wip switch that can be used to limit work in progress
6
+ (WIP). Limiting WIP is central for Kanban Software Development (http://www.infoq.com/articles/hiranabe-lean-agile-kanban).
7
+
8
+ However, this feature went mostly unnoticed, and because we think it's so great we have decided
9
+ to make it the default for Rails projects. When you bootstrap your Rails project for Cucumber
10
+ you will now get 2 Cucumber Rake tasks for Kanban development:
11
+
12
+ cucumber:ok : Run features that should pass. This runs your "good,old" features
13
+ cucumber:wip : Run the features you're working on that don't pass yet. Tag them with @wip. Max 2!
14
+
15
+ So upgrade today and get into the habit of tagging new features with @wip (or invent your own tags).
16
+ You'll achieve better flow this way.
2
17
 
3
18
  === New features
19
+ * Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
20
+ * script/generate cucumber sets up 'cucumber:ok' and 'cucumber:wip' tasks and deprecates 'features'. More Kanban love. (#344 Aslak Hellesøy)
21
+ * Better JUnit formatter: feature->testsuite, scenario->testcase. Better timing and support for background and scenario outline. (Mads Buus Westmark)
22
+ * Added examples/python that uses rubypython. (Aslak Hellesøy)
23
+ * Checks the number of available colors on the terminal with ruby-terminfo if ruby-terminfo is installed.
24
+ This prevents Apple's Terminal.app from stalling (Yugui - Yuki Sonoda).
25
+ * Set 'xterm-256color' to TERM if your terminal supports grey.
26
+ * ruby-terminfo is available as genki-ruby-terminfo gem from github.
4
27
  * Document builtin formatters with --help. (#406 Aslak Hellesøy)
28
+ * Added support for using regular expressions when mapping table headers. (Peter Williams)
5
29
 
6
30
  == 0.3.93 2009-08-03
7
31
 
@@ -44,9 +68,9 @@ links in one of the columns, you can do:
44
68
  === New Features
45
69
  * CTRL-C will exit immediately instead of carrying on until all features are run. (Aslak Hellesøy)
46
70
  * Run can be stopped programmatically by setting $cucumber_interrupted = true, for example in an After block. (Aslak Hellesøy)
71
+ * Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
47
72
  * Table support for cuke4duke
48
73
 
49
-
50
74
  == 0.3.90 2009-07-22
51
75
 
52
76
  The Hot summer release
@@ -58,7 +82,7 @@ a new release with lots of new features and bugfixes. This is also one of the la
58
82
  === Egality
59
83
 
60
84
  English is not the world's most spoken language, so why should Cucumber force non-English speakers to use the
61
- --language flag? As of this release you're no longer forced to do that. Instead, you can add a comment header
85
+ --language flag? As of this release you're no longer forced to do that. Instead, you can add a comment header
62
86
  to your .feature files:
63
87
 
64
88
  # language: fr
@@ -67,7 +91,7 @@ to your .feature files:
67
91
 
68
92
  If you don't have that header, Cucumber will work as before - using whatever you specified with --language,
69
93
  or default to English if no --language option was specified. A nice side effect of this is that you can now
70
- have features in several languages side by side and run them in the same cucumber. (Not recommended unless
94
+ have features in several languages side by side and run them in the same cucumber. (Not recommended unless
71
95
  you want to take polyglot programming to an extreme level).
72
96
 
73
97
  === Table diffing (experimental)
@@ -163,14 +187,14 @@ The Spork Release!
163
187
 
164
188
  This release has an exciting new feature - a new --drb switch! This magic switch lets you run your
165
189
  features much faster than before, because you can eliminate the startup time for your code. This is
166
- thanks to a brand new gem called Spork by Tim Harper and Ben Mabey. (You can find out more about Spork
167
- here: http://github.com/timcharper/spork/tree/master). You can start Spork and have it preload your
168
- application in a separate process. Spork listens for DRb connections, and when you run cucumber with
169
- --drb the features will run inside the Spork server instead. Spork provides two simple hooks for preloading
170
- your application - one for framework/stable code (Spork.prefork) and one for the code that *you* write and
190
+ thanks to a brand new gem called Spork by Tim Harper and Ben Mabey. (You can find out more about Spork
191
+ here: http://github.com/timcharper/spork/tree/master). You can start Spork and have it preload your
192
+ application in a separate process. Spork listens for DRb connections, and when you run cucumber with
193
+ --drb the features will run inside the Spork server instead. Spork provides two simple hooks for preloading
194
+ your application - one for framework/stable code (Spork.prefork) and one for the code that *you* write and
171
195
  change often (Spork.each_run). Keep in mind that all World, Before, and other Cucumber hooks need to be
172
- in the Spork.each_run block. Using Spork works great for Ruby on Rails, which can take a while to load,
173
- but --drb and Spork aren't tied to Rails at all. The new --drb switch also works great alongside autotest
196
+ in the Spork.each_run block. Using Spork works great for Ruby on Rails, which can take a while to load,
197
+ but --drb and Spork aren't tied to Rails at all. The new --drb switch also works great alongside autotest
174
198
  (just add --drb to your autotest profile in cucumber.yml), so now you can get even faster feedback.
175
199
 
176
200
  Cucumber's built-in cucumber generator now has a new --spork switch, so when you bootstrap your Rails
@@ -179,7 +203,7 @@ slightly different env.rb.)
179
203
 
180
204
  Although Spork was in mind when the --drb switch was added it is important to realize that all that was added
181
205
  to Cucumber was a DRb client. Any DRb server that adheres to this protocol can be used with Cucumber's --drb
182
- switch. While Spork is geared towards removing the load time to give you a faster feedback loop you could
206
+ switch. While Spork is geared towards removing the load time to give you a faster feedback loop you could
183
207
  just as easily use this client with a server that distributes your features to run in parallel. Someone just
184
208
  needs to write such a server. ;)
185
209
 
@@ -381,7 +405,7 @@ One of the most significant new features is Tagged Hooks: http://wiki.github.com
381
405
  This lets you associate Before and After blocks with specific scenarios.
382
406
 
383
407
  We are also deprecating the step_list, step_pattern, feature_list, and feature_pattern accessors on
384
- Cucumber::Rake::Task. These accessors will be completely removed in version 0.4. For complex settings
408
+ Cucumber::Rake::Task. These accessors will be completely removed in version 0.4. For complex settings
385
409
  please rely on cucumber profiles in your rake tasks:
386
410
  http://wiki.github.com/aslakhellesoy/cucumber/using-rake#profiles
387
411
 
@@ -428,7 +452,7 @@ in your steps. Windows/JRuby users can enjoy colours and you get some more sugar
428
452
  * Added new Cucumber::Ast::Table#rows_hash method (Torbjørn Vatn)
429
453
  * Windows/JRuby users can now enjoy colourful output (via http://github.com/aslakhellesoy/ansicolor) (#166 Aslak Hellesøy)
430
454
  * Ambiguous step errors hint about --guess (unless --guess already on) (Aslak Hellesøy)
431
- * Added translation for Slovak (Ahmed Al Hafoudh)
455
+ * Added translation for Slovak (Ahmed Al Hafoudh)
432
456
  * Updated translation for Dutch (Bart Zonneveld)
433
457
  * Updated translation for Italian (Alessandro Baroni)
434
458
  * Updated translation for Japanese (KAKUTANI Shintaro)
@@ -467,11 +491,11 @@ This release fixes a few minor bugs and adds a couple of new features.
467
491
 
468
492
  == 0.2.0 2009-03-18
469
493
 
470
- This release sports a bunch of new and exciting features, as well a major rewrite of Cucumber's internals.
471
- The rewrite was done to address technical debt and to have a code base that is easier to evolve and maintain.
494
+ This release sports a bunch of new and exciting features, as well a major rewrite of Cucumber's internals.
495
+ The rewrite was done to address technical debt and to have a code base that is easier to evolve and maintain.
472
496
 
473
- There are some changes to the Gherkin language that breaks backwards compatible with the 0.1.x series.
474
- Most importantly, "GivenScenario" and "More Examples" no longer exist. See the "Removed features" section
497
+ There are some changes to the Gherkin language that breaks backwards compatible with the 0.1.x series.
498
+ Most importantly, "GivenScenario" and "More Examples" no longer exist. See the "Removed features" section
475
499
  below for more details on how to use alternatives.
476
500
 
477
501
  Since the grammar has changed, there are some new keywords. We have to rely on the community
@@ -479,18 +503,18 @@ to provide updated translations. This is much easier than before - just update l
479
503
  There is no static code generation anymore. To list all languages:
480
504
 
481
505
  cucumber --lang help
482
-
506
+
483
507
  And to list the keywords for a particular language:
484
508
 
485
509
  cucumber --lang en-lol help
486
-
487
- There are some really awesome new features in this release: Tagging, Autoformatting, automatic
488
- aliasing of keywords in all languages, full Ruby 1.9 support and improved output
489
- for multiline arguments are some of the highlights.
510
+
511
+ There are some really awesome new features in this release: Tagging, Autoformatting, automatic
512
+ aliasing of keywords in all languages, full Ruby 1.9 support and improved output
513
+ for multiline arguments are some of the highlights.
490
514
 
491
515
  == Bugfixes
492
- * New StepInvocation breaks console formatter for pending steps. (#241 Jacob Radford)
493
- * Within Scenario Outlines when replacing with a nil in a step name use empty string instead. (#237 Joseph Wilk)
516
+ * New StepInvocation breaks console formatter for pending steps. (#241 Jacob Radford)
517
+ * Within Scenario Outlines when replacing with a nil in a step name use empty string instead. (#237 Joseph Wilk)
494
518
  * Fixed bug with Scenario Outlines incorrectly replacing values in step tables with nil. (#237 Joseph Wilk)
495
519
  * Within Scenario Outlines when replacing with a nil in multiline strings use empty string instead. (#238 Joseph Wilk)
496
520
  * Re-structure the ast: Feature -> Background -> (Scenario|ScenarioOutline)*. Fixes bug with background being called outside transactions. (#181 Joseph Wilk)
@@ -522,7 +546,7 @@ for multiline arguments are some of the highlights.
522
546
  * Rails generators supports testunit and rspec option, defaulting to rspec (#217 Josh Nichols)
523
547
  * Sinatra Example (#204 Rob Holland)
524
548
  * Keywords can be aliased in languages.yml. See English for an example (examples: Examples|Scenarios)
525
- * Adding support for Background (#153 Joseph Wilk)
549
+ * Adding support for Background (#153 Joseph Wilk)
526
550
  * Added Česky/Czech (Vojtech Salbaba)
527
551
  * New --no-multiline option to reduce noise in output. Useful if lots of features are failing. (Aslak Hellesøy)
528
552
  * Added ability to pass URIs to cucumber in addition to files and directories. Useful for troubleshooting! (Aslak Hellesøy)
@@ -601,8 +625,8 @@ Bugfix release
601
625
 
602
626
  == 0.1.14 2009-01-04
603
627
 
604
- This is the first release of Cucumber that runs on Ruby 1.9. There are still some encoding-related issues
605
- with Arabic (ar), Japanese (ja) and Simplified Chinese (zh-CN). Patches are welcome. Other than that -
628
+ This is the first release of Cucumber that runs on Ruby 1.9. There are still some encoding-related issues
629
+ with Arabic (ar), Japanese (ja) and Simplified Chinese (zh-CN). Patches are welcome. Other than that -
606
630
  a couple of minor bug fixes and polishing.
607
631
 
608
632
  === New features
@@ -619,9 +643,9 @@ a couple of minor bug fixes and polishing.
619
643
  == 0.1.13 2008-12-20
620
644
 
621
645
  It's time for some new features again. Output is now much better since you can use diffing, tweak
622
- the output colours and get the full --backtrace if you want. Managing your support/* files became
623
- a little easier since they are now always loaded before the step definitions. Life became easier
624
- for Windows users in Norway (and other countries using unicode in the features). Plus several other
646
+ the output colours and get the full --backtrace if you want. Managing your support/* files became
647
+ a little easier since they are now always loaded before the step definitions. Life became easier
648
+ for Windows users in Norway (and other countries using unicode in the features). Plus several other
625
649
  bug fixes.
626
650
 
627
651
  Enjoy!
@@ -645,7 +669,7 @@ Enjoy!
645
669
  * Fixed a bug where row step outlines were loosing step tables. (#121 Joseph Wilk, Ben Mabey)
646
670
  * The Cucumber Autotest plugin now launches JRuby if autotest is run with JRuby (Aslak Hellesøy)
647
671
  * Provide helpful and non-confusing error message when specified profile is blank. (#118, Ben Mabey)
648
- * Improve handling and error messages for malformed cucumber.yml files. (#117, Ben Mabey)
672
+ * Improve handling and error messages for malformed cucumber.yml files. (#117, Ben Mabey)
649
673
  * document :x run option in command line help (#114, Aslak Hellesøy)
650
674
  * Change 'visits' to 'visit' in features generator to comply with new Webrat API (Darius Roberts)
651
675
 
@@ -653,7 +677,7 @@ Enjoy!
653
677
 
654
678
  == 0.1.12 2008-12-04
655
679
 
656
- This is the "getting serious with IronRuby release" - largely based on
680
+ This is the "getting serious with IronRuby release" - largely based on
657
681
  "Patrick Gannon":http://www.patrickgannon.net/archive/2008/10/23/bdd-style-feature-tests-using-ironruby-and-rspeccucumber.aspx's
658
682
  blog entry.
659
683
 
@@ -699,7 +723,7 @@ This will run foo.feature at line 15 and bar.feature at line 6, 45 and 111.
699
723
  * AUTOFEATURE=tRue works (case insensitive) (Aslak Hellesøy)
700
724
  * Initial support for .NET via IronRuby. (Aslak Hellesøy)
701
725
  * Lithuanian translation (sauliusgrigaitis)
702
- * New webrat step defintions to wrap the new selects_time, selects_date, and selects_datetime methods. (Ben Mabey)
726
+ * New webrat step defintions to wrap the new selects_time, selects_date, and selects_datetime methods. (Ben Mabey)
703
727
  * Try to load webrat gem if it's not installed as a plugin (Aslak Hellesøy)
704
728
  * Support example.feature:20 or example.feature:10:20:30 syntax for running features at specific line number(s). (#88 Joseph Wilk)
705
729
 
@@ -751,7 +775,7 @@ support and how multiline strings work in feature files:
751
775
  that "indents"
752
776
  and spans
753
777
  several lines
754
-
778
+
755
779
  """
756
780
 
757
781
  # In your steps.rb file
@@ -807,7 +831,7 @@ Tables used to define more examples after a scenario must now be prefixed. In En
807
831
 
808
832
  Feature: Addition
809
833
  In order to avoid silly mistakes
810
- As a math idiot
834
+ As a math idiot
811
835
  I want to be told the sum of two numbers
812
836
 
813
837
  Scenario: Add two numbers
@@ -824,7 +848,7 @@ Tables used to define more examples after a scenario must now be prefixed. In En
824
848
 
825
849
  Languages that are not updated yet will have to use "More Examples" until we get the translations.
826
850
 
827
- Tables can also be used as arguments to individual steps. In fact, steps now support a single argument
851
+ Tables can also be used as arguments to individual steps. In fact, steps now support a single argument
828
852
  that can span several lines. This can be a table or a string.
829
853
 
830
854
  Example:
@@ -891,7 +915,7 @@ example:
891
915
  Given "I am registered as #{role}, #{name}, secret"
892
916
  When "I log in with #{name}, secret"
893
917
  end
894
-
918
+
895
919
  Given /I am registered as (.*), (.*), (.*)/ do |role, name, password|
896
920
  # (Code removed for brevity)
897
921
  end
@@ -904,7 +928,7 @@ This means that steps can be reused in other steps. The GivenScenario feature ac
904
928
  effect (on the scenario level), but this feature is something we're not very happy with, mostly
905
929
  because it's not parameterisable. Calling steps from steps is.
906
930
 
907
- GivenScenario will still be working several releases, but the plan is to remove it completely in
931
+ GivenScenario will still be working several releases, but the plan is to remove it completely in
908
932
  the 0.3.0 release.
909
933
 
910
934
  === Seeing where a step is defined
@@ -167,6 +167,10 @@ examples/junit/features/one_passing_one_failing.feature
167
167
  examples/junit/features/pending.feature
168
168
  examples/junit/features/step_definitions/steps.rb
169
169
  examples/pure_java/README.textile
170
+ examples/python/features/fibonacci.feature
171
+ examples/python/features/step_definitions/fib_steps.rb
172
+ examples/python/features/support/env.rb
173
+ examples/python/lib/fib.py
170
174
  examples/selenium/Rakefile
171
175
  examples/selenium/features/search.feature
172
176
  examples/selenium/features/step_definitons/search_steps.rb
@@ -196,8 +200,10 @@ examples/self_test/features/sample.feature
196
200
  examples/self_test/features/search_sample.feature
197
201
  examples/self_test/features/step_definitions/sample_steps.rb
198
202
  examples/self_test/features/support/env.rb
203
+ examples/self_test/features/tags_sample.feature
199
204
  examples/self_test/features/tons_of_cukes.feature
200
205
  examples/self_test/features/undefined_multiline_args.feature
206
+ examples/sinatra/README.textile
201
207
  examples/sinatra/Rakefile
202
208
  examples/sinatra/app.rb
203
209
  examples/sinatra/features/add.feature
@@ -329,6 +335,7 @@ lib/cucumber/formatter/cucumber.sass
329
335
  lib/cucumber/formatter/duration.rb
330
336
  lib/cucumber/formatter/html.rb
331
337
  lib/cucumber/formatter/junit.rb
338
+ lib/cucumber/formatter/ordered_xml_markup.rb
332
339
  lib/cucumber/formatter/pretty.rb
333
340
  lib/cucumber/formatter/profile.rb
334
341
  lib/cucumber/formatter/progress.rb
data/Rakefile CHANGED
@@ -6,4 +6,4 @@ Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
6
6
 
7
7
  # Hoe gives us :default => :test, but we don't have Test::Unit tests.
8
8
  Rake::Task[:default].clear_prerequisites rescue nil # For some super weird reason this fails for some...
9
- task :default => [:spec, :features]
9
+ task :default => [:spec, :cucumber]
@@ -1,2 +1,2 @@
1
- default: --format progress --tags ~@proposed,~@in-progress features
2
- wip: --tags @in-progress --wip features
1
+ default: --format progress --tags ~@proposed,~@wip --strict features
2
+ wip: --tags @wip --wip features
@@ -311,6 +311,25 @@ Feature: Cucumber command line
311
311
  | state |
312
312
  | failing |
313
313
 
314
+ @sample_one
315
+ Feature: Tag samples
316
+
317
+ @sample_two @sample_four
318
+ Scenario: Passing
319
+ Given missing
320
+
321
+ @sample_three
322
+ Scenario Outline:
323
+ Given <state>
324
+
325
+ Examples:
326
+ | state |
327
+ | missing |
328
+
329
+ @sample_three @sample_four
330
+ Scenario: Skipped
331
+ Given missing
332
+
314
333
  Feature: undefined multiline args
315
334
 
316
335
  Scenario: pystring
@@ -323,9 +342,9 @@ Feature: Cucumber command line
323
342
  Given a table
324
343
  | table |
325
344
  | example |
326
-
327
- 23 scenarios (17 skipped, 5 undefined, 1 passed)
328
- 39 steps (30 skipped, 9 undefined)
345
+
346
+ 26 scenarios (17 skipped, 8 undefined, 1 passed)
347
+ 42 steps (30 skipped, 12 undefined)
329
348
 
330
349
  """
331
350
 
@@ -488,6 +507,69 @@ Feature: Cucumber command line
488
507
 
489
508
  """
490
509
 
510
+ Scenario: Run with limited tag number
511
+ When I run cucumber -q features/tags_sample.feature --dry-run -t sample_three:1
512
+ Then it should fail with
513
+ """
514
+ @sample_one
515
+ Feature: Tag samples
516
+
517
+ @sample_three
518
+ Scenario Outline:
519
+ Given <state>
520
+
521
+ Examples:
522
+ | state |
523
+ | missing |
524
+
525
+ @sample_three @sample_four
526
+ Scenario: Skipped
527
+ Given missing
528
+
529
+ 2 scenarios (2 undefined)
530
+ 2 steps (2 undefined)
531
+
532
+ Failed due to exceeding the tag limit
533
+ @sample_three occurred:2 limit:1
534
+ features/tags_sample.feature:9
535
+ features/tags_sample.feature:16
536
+
537
+ """
538
+
539
+ Scenario: Run with a feature tag which has a limit
540
+ When I run cucumber -q features/tags_sample.feature --dry-run -t sample_one:1
541
+ Then it should fail with
542
+ """
543
+ @sample_one
544
+ Feature: Tag samples
545
+
546
+ @sample_two @sample_four
547
+ Scenario: Passing
548
+ Given missing
549
+
550
+ @sample_three
551
+ Scenario Outline:
552
+ Given <state>
553
+
554
+ Examples:
555
+ | state |
556
+ | missing |
557
+
558
+ @sample_three @sample_four
559
+ Scenario: Skipped
560
+ Given missing
561
+
562
+ 3 scenarios (3 undefined)
563
+ 3 steps (3 undefined)
564
+
565
+ Failed due to exceeding the tag limit
566
+ @sample_one occurred:3 limit:1
567
+ features/tags_sample.feature:5
568
+ features/tags_sample.feature:9
569
+ features/tags_sample.feature:16
570
+
571
+ """
572
+
491
573
  Scenario: Reformat files with --autoformat
492
574
  When I run cucumber --autoformat tmp/formatted features
493
575
  Then "examples/self_test/tmp/formatted/features/sample.feature" should contain
@@ -4,8 +4,8 @@ Feature: Custom Formatter
4
4
  When I run cucumber --format Cucumber::Formatter::TagCloud features
5
5
  Then it should fail with
6
6
  """
7
- | after_file | background_tagged_before_on_outline | four | lots | one | three | two |
8
- | 1 | 1 | 1 | 1 | 1 | 2 | 1 |
7
+ | after_file | background_tagged_before_on_outline | four | lots | one | sample_four | sample_one | sample_three | sample_two | three | two |
8
+ | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 2 | 1 | 2 | 1 |
9
9
 
10
10
  """
11
11
 
@@ -139,7 +139,7 @@ features/background/failing_background.feature:5:in `Given failing without a tab
139
139
  features/background/failing_background_after_success.feature:5:in `And '10' global cukes'</pre></li><li class="step skipped" id="features_background_failing_background_after_success_feature_11"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' global cukes</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Passing background with multiline args</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_background_multiline_args_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">table</span></div><table><tr id="row_5"><td class="val" id="row_5_0">a</td><td class="val" id="row_5_1">b</td></tr><tr id="row_6"><td class="val" id="row_6_0">c</td><td class="val" id="row_6_1">d</td></tr></table></li><li class="step passed" id="features_background_multiline_args_background_feature_7"><div><span class="keyword">And</span> <span class="step val">multiline string</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol><li class="step passed" id="features_background_multiline_args_background_feature_14"><div><span class="keyword">Then</span> <span class="step val">the table should be</span></div><table><tr id="row_15"><td class="val" id="row_15_0">a</td><td class="val" id="row_15_1">b</td></tr><tr id="row_16"><td class="val" id="row_16_0">c</td><td class="val" id="row_16_1">d</td></tr></table></li><li class="step passed" id="features_background_multiline_args_background_feature_17"><div><span class="keyword">Then</span> <span class="step val">the multiline string should be</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">another passing background</span></h3><ol><li class="step passed" id="features_background_multiline_args_background_feature_24"><div><span class="keyword">Then</span> <span class="step val">the table should be</span></div><table><tr id="row_25"><td class="val" id="row_25_0">a</td><td class="val" id="row_25_1">b</td></tr><tr id="row_26"><td class="val" id="row_26_0">c</td><td class="val" id="row_26_1">d</td></tr></table></li><li class="step passed" id="features_background_multiline_args_background_feature_27"><div><span class="keyword">Then</span> <span class="step val">the multiline string should be</span></div><pre class="val"> I'm a cucumber and I'm okay. &#x000A; I sleep all night and I test all day</pre></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Passing background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_background_passing_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol><li class="step passed" id="features_background_passing_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">another passing background</span></h3><ol><li class="step passed" id="features_background_passing_background_feature_10"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Pending background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step undefined" id="features_background_pending_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">pending</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">pending background</span></h3><ol><li class="step skipped" id="features_background_pending_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">another pending background</span></h3><ol><li class="step skipped" id="features_background_pending_background_feature_10"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing background with scenario outlines sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step failed" id="features_background_scenario_outline_failing_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><pre class="failed">FAIL (RuntimeError)
140
140
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
141
141
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
142
- features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">failing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_failing_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">count</th></tr><tr id="row_10"><td class="val skipped" id="row_10_0">10</td></tr><tr><td colspan="1" class="failed"><pre>FAIL (RuntimeError)
142
+ features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">failing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_failing_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">count</th></tr><tr id="row_10"><td class="val skipped" id="row_10_0">10</td></tr><tr><td class="failed" colspan="1"><pre>FAIL (RuntimeError)
143
143
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
144
144
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
145
145
  features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre></td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">another failing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_failing_background_feature_13"><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_15"><th class="val skipped_param" id="row_15_0">count</th></tr><tr id="row_16"><td class="val skipped" id="row_16_0">10</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Passing background with scenario outlines sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_background_scenario_outline_passing_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">passing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_passing_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">count</th></tr><tr id="row_10"><td class="val passed" id="row_10_0">10</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">another passing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_passing_background_feature_13"><div><span class="keyword">Then</span> <span class="step val">I should have '&lt;count&gt;' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_15"><th class="val skipped_param" id="row_15_0">count</th></tr><tr id="row_16"><td class="val passed" id="row_16_0">10</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Calling undefined step</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Call directly</span></h3><ol><li class="step undefined" id="features_call_undefined_step_from_step_def_feature_4"><div><span class="keyword">Given</span> <span class="step val">a step definition that calls an undefined step</span></div><pre class="undefined">Undefined step: "this does not exist" (Cucumber::Undefined)
@@ -163,7 +163,7 @@ yawn</span></h3><ol><li class="step passed" id="features_multiline_name_feature_
163
163
  which goes on and on and on for three lines
164
164
  yawn</span></h3><ol><li class="step skipped" id="features_multiline_name_feature_16"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_18"><th class="val skipped_param" id="row_18_0">state</th></tr><tr id="row_19"><td class="val passed" id="row_19_0">passing</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">name</span></h3><ol><li class="step skipped" id="features_multiline_name_feature_22"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">I'm a multiline name
165
165
  which goes on and on and on for three lines
166
- yawn</span></h4><table><tr id="row_26"><th class="val skipped_param" id="row_26_0">state</th></tr><tr id="row_27"><td class="val passed" id="row_27_0">passing</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Outline Sample</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">I have no steps</span></h3><ol></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Test state</span></h3><ol><li class="step skipped" id="features_outline_sample_feature_6"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li><li class="step skipped" id="features_outline_sample_feature_7"><div><span class="keyword">Given</span> <span class="step val">&lt;other_state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Rainbow colours</span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">state</th><th class="val skipped_param" id="row_9_1">other_state</th></tr><tr id="row_10"><td class="val undefined" id="row_10_0">missing</td><td class="val skipped" id="row_10_1">passing</td></tr><tr id="row_11"><td class="val passed" id="row_11_0">passing</td><td class="val passed" id="row_11_1">passing</td></tr><tr id="row_12"><td class="val failed" id="row_12_0">failing</td><td class="val skipped" id="row_12_1">passing</td></tr><tr><td colspan="2" class="failed"><pre>FAIL (RuntimeError)
166
+ yawn</span></h4><table><tr id="row_26"><th class="val skipped_param" id="row_26_0">state</th></tr><tr id="row_27"><td class="val passed" id="row_27_0">passing</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Outline Sample</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">I have no steps</span></h3><ol></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Test state</span></h3><ol><li class="step skipped" id="features_outline_sample_feature_6"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li><li class="step skipped" id="features_outline_sample_feature_7"><div><span class="keyword">Given</span> <span class="step val">&lt;other_state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Rainbow colours</span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">state</th><th class="val skipped_param" id="row_9_1">other_state</th></tr><tr id="row_10"><td class="val undefined" id="row_10_0">missing</td><td class="val skipped" id="row_10_1">passing</td></tr><tr id="row_11"><td class="val passed" id="row_11_0">passing</td><td class="val passed" id="row_11_1">passing</td></tr><tr id="row_12"><td class="val failed" id="row_12_0">failing</td><td class="val skipped" id="row_12_1">passing</td></tr><tr><td class="failed" colspan="2"><pre>FAIL (RuntimeError)
167
167
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
168
168
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
169
169
  features/outline_sample.feature:6:in `Given <state> without a table'</pre></td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Only passing</span></h4><table><tr id="row_14"><th class="val skipped_param" id="row_14_0">state</th><th class="val skipped_param" id="row_14_1">other_state</th></tr><tr id="row_15"><td class="val passed" id="row_15_0">passing</td><td class="val passed" id="row_15_1">passing</td></tr></table></div></div></div><div class="feature"><pre class="comment"># Feature comment<br/></pre><span class="tag">@one</span><h2><span class="val">Feature: Sample</span></h2><p class="narrative"></p><div class="scenario"><span class="tag">@two</span> <span class="tag">@three</span><h3><span class="keyword">Scenario:</span> <span class="val">Missing</span></h3><ol><li class="step undefined" id="features_sample_feature_7"><div><span class="keyword">Given</span> <span class="step val">missing</span></div></li></ol></div><div class="scenario"><pre class="comment"># Scenario comment<br/></pre><span class="tag">@three</span><h3><span class="keyword">Scenario:</span> <span class="val">Passing</span></h3><ol><li class="step passed" id="features_sample_feature_12"><div><span class="keyword">Given</span> <span class="step val">passing</span></div><table><tr id="row_13"><td class="val" id="row_13_0">a</td><td class="val" id="row_13_1">b</td></tr><tr id="row_14"><td class="val" id="row_14_0">c</td><td class="val" id="row_14_1">d</td></tr></table></li></ol></div><div class="scenario"><span class="tag">@four</span><h3><span class="keyword">Scenario:</span> <span class="val">Failing</span></h3><ol><li class="step failed" id="features_sample_feature_18"><div><span class="keyword">Given</span> <span class="step val">failing</span></div><pre class="val">hello</pre><pre class="failed">FAIL (RuntimeError)
@@ -172,12 +172,12 @@ features/outline_sample.feature:6:in `Given <state> without a table'</pre></td><
172
172
  features/sample.feature:18:in `Given failing'</pre></li></ol></div></div><div class="feature"><h2><span class="val">Feature: search examples</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">Hantu Pisang background match</span></h3><ol><li class="step passed" id="features_search_sample_feature_4"><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">should match Hantu Pisang</span></h3><ol><li class="step passed" id="features_search_sample_feature_7"><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Ignore me</span></h3><ol><li class="step failed" id="features_search_sample_feature_10"><div><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><pre class="failed">FAIL (RuntimeError)
173
173
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
174
174
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
175
- features/search_sample.feature:10:in `Given failing without a table'</pre></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Ignore me</span></h3><ol><li class="step skipped" id="features_search_sample_feature_13"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_15"><th class="val skipped_param" id="row_15_0">state</th></tr><tr id="row_16"><td class="val failed" id="row_16_0">failing</td></tr><tr><td colspan="1" class="failed"><pre>FAIL (RuntimeError)
175
+ features/search_sample.feature:10:in `Given failing without a table'</pre></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Ignore me</span></h3><ol><li class="step skipped" id="features_search_sample_feature_13"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_15"><th class="val skipped_param" id="row_15_0">state</th></tr><tr id="row_16"><td class="val failed" id="row_16_0">failing</td></tr><tr><td class="failed" colspan="1"><pre>FAIL (RuntimeError)
176
176
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
177
177
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
178
- features/search_sample.feature:13:in `Given <state> without a table'</pre></td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Hantu Pisang match</span></h3><ol><li class="step skipped" id="features_search_sample_feature_19"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_21"><th class="val skipped_param" id="row_21_0">state</th></tr><tr id="row_22"><td class="val passed" id="row_22_0">passing</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">no match in name but in examples</span></h3><ol><li class="step skipped" id="features_search_sample_feature_25"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Hantu Pisang</span></h4><table><tr id="row_27"><th class="val skipped_param" id="row_27_0">state</th></tr><tr id="row_28"><td class="val passed" id="row_28_0">passing</td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ignore me</span></h4><table><tr id="row_31"><th class="val skipped_param" id="row_31_0">state</th></tr><tr id="row_32"><td class="val failed" id="row_32_0">failing</td></tr><tr><td colspan="1" class="failed"><pre>FAIL (RuntimeError)
178
+ features/search_sample.feature:13:in `Given <state> without a table'</pre></td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Hantu Pisang match</span></h3><ol><li class="step skipped" id="features_search_sample_feature_19"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_21"><th class="val skipped_param" id="row_21_0">state</th></tr><tr id="row_22"><td class="val passed" id="row_22_0">passing</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">no match in name but in examples</span></h3><ol><li class="step skipped" id="features_search_sample_feature_25"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt; without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Hantu Pisang</span></h4><table><tr id="row_27"><th class="val skipped_param" id="row_27_0">state</th></tr><tr id="row_28"><td class="val passed" id="row_28_0">passing</td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ignore me</span></h4><table><tr id="row_31"><th class="val skipped_param" id="row_31_0">state</th></tr><tr id="row_32"><td class="val failed" id="row_32_0">failing</td></tr><tr><td class="failed" colspan="1"><pre>FAIL (RuntimeError)
179
179
  ./features/step_definitions/sample_steps.rb:2:in `flunker'
180
180
  ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
181
- features/search_sample.feature:25:in `Given <state> without a table'</pre></td></tr></table></div></div></div><div class="feature"><span class="tag">@lots</span><h2><span class="val">Feature: Tons of cukes</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Lots and lots</span></h3><ol><li class="step passed" id="features_tons_of_cukes_feature_4"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step failed" id="features_tons_of_cukes_feature_5"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><pre class="failed">We already have 2 cukes! (RuntimeError)
181
+ features/search_sample.feature:25:in `Given <state> without a table'</pre></td></tr></table></div></div></div><div class="feature"><span class="tag">@sample_one</span><h2><span class="val">Feature: Tag samples</span></h2><p class="narrative"></p><div class="scenario"><span class="tag">@sample_two</span> <span class="tag">@sample_four</span><h3><span class="keyword">Scenario:</span> <span class="val">Passing</span></h3><ol><li class="step undefined" id="features_tags_sample_feature_6"><div><span class="keyword">Given</span> <span class="step val">missing</span></div></li></ol></div><div class="scenario outline"><span class="tag">@sample_three</span><h3><span class="keyword">Scenario Outline:</span> <span class="val"></span></h3><ol><li class="step skipped" id="features_tags_sample_feature_10"><div><span class="keyword">Given</span> <span class="step val">&lt;state&gt;</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_12"><th class="val skipped_param" id="row_12_0">state</th></tr><tr id="row_13"><td class="val undefined" id="row_13_0">missing</td></tr></table></div></div><div class="scenario"><span class="tag">@sample_three</span> <span class="tag">@sample_four</span><h3><span class="keyword">Scenario:</span> <span class="val">Skipped</span></h3><ol><li class="step undefined" id="features_tags_sample_feature_17"><div><span class="keyword">Given</span> <span class="step val">missing</span></div></li></ol></div></div><div class="feature"><span class="tag">@lots</span><h2><span class="val">Feature: Tons of cukes</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Lots and lots</span></h3><ol><li class="step passed" id="features_tons_of_cukes_feature_4"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step failed" id="features_tons_of_cukes_feature_5"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><pre class="failed">We already have 2 cukes! (RuntimeError)
182
182
  ./features/step_definitions/sample_steps.rb:28:in `/^'(.+)' cukes$/'
183
183
  features/tons_of_cukes.feature:5:in `Given '2' cukes'</pre></li><li class="step skipped" id="features_tons_of_cukes_feature_6"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_7"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_8"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_9"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_10"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_11"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_12"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_13"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_14"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_15"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_16"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_17"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_18"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_19"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_20"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_21"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_22"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_23"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_24"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_25"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_26"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_27"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_28"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_29"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_30"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_31"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_32"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_33"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_34"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_35"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_36"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_37"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_38"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_39"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_40"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_41"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_42"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_43"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_44"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_45"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_46"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_47"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_48"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_49"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_50"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_51"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_52"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: undefined multiline args</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">pystring</span></h3><ol><li class="step undefined" id="features_undefined_multiline_args_feature_4"><div><span class="keyword">Given</span> <span class="step val">a pystring</span></div><pre class="val"> example</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">table</span></h3><ol><li class="step undefined" id="features_undefined_multiline_args_feature_10"><div><span class="keyword">Given</span> <span class="step val">a table</span></div><table><tr id="row_11"><td class="val" id="row_11_0">table</td></tr><tr id="row_12"><td class="val" id="row_12_0">example</td></tr></table></li></ol></div></div><div class="duration">0m30.005s</div></div></body></html>
@@ -6,42 +6,49 @@ Feature: JUnit output formatter
6
6
  Given I am in junit
7
7
  And the tmp directory is empty
8
8
 
9
- @mri186 @diffxml
9
+ @mri186
10
10
  Scenario: one feature, one passing scenario, one failing scenario
11
11
  When I run cucumber --format junit --out tmp/ features/one_passing_one_failing.feature
12
12
  Then it should fail with
13
13
  """
14
14
 
15
15
  """
16
- And "examples/junit/tmp/TEST-one_passing_one_failing.xml" should contain XML
16
+ And "examples/junit/tmp/TEST-one_passing_one_failing.xml" with junit duration "0.005" should contain
17
17
  """
18
18
  <?xml version="1.0" encoding="UTF-8"?>
19
- <testsuite errors="0" tests="2" name="One passing scenario, one failing scenario" failures="1">
20
- <testcase name="Given a passing scenario" classname="One passing scenario, one failing scenario.Passing">
19
+ <testsuite errors="0" failures="1" name="One passing scenario, one failing scenario" tests="2" time="0.005">
20
+ <testcase classname="One passing scenario, one failing scenario.Passing" name="Passing" time="0.005">
21
21
  </testcase>
22
- <testcase name="Given a failing scenario" classname="One passing scenario, one failing scenario.Failing">
23
- <failure message="Given a failing scenario">
22
+ <testcase classname="One passing scenario, one failing scenario.Failing" name="Failing" time="0.005">
23
+ <failure message="failed Failing" type="failed">
24
+ Scenario: Failing
25
+
26
+ Given a failing scenario
27
+
28
+ Message:
24
29
  (RuntimeError)
25
30
  ./features/step_definitions/steps.rb:6:in `/a failing scenario/'
26
31
  features/one_passing_one_failing.feature:7:in `Given a failing scenario' </failure>
27
32
  </testcase>
28
33
  </testsuite>
29
-
34
+
30
35
  """
31
36
 
32
- @mri186 @diffxml
37
+ @mri186
33
38
  Scenario: pending step
34
39
  When I run cucumber --format junit --out tmp/ features/pending.feature
35
40
  Then it should pass with
36
41
  """
37
42
 
38
43
  """
39
- And "examples/junit/tmp/TEST-pending.xml" should contain XML
44
+ And "examples/junit/tmp/TEST-pending.xml" with junit duration "0.009" should contain
40
45
  """
41
46
  <?xml version="1.0" encoding="UTF-8"?>
42
- <testsuite errors="0" tests="1" name="Pending step" failures="1">
43
- <testcase name="Given a pending step" classname="Pending step.Pending">
44
- <failure message="Given a pending step">
47
+ <testsuite errors="0" failures="1" name="Pending step" tests="1" time="0.009">
48
+ <testcase classname="Pending step.Pending" name="Pending" time="0.009">
49
+ <failure message="pending Pending" type="pending">
50
+ Scenario: Pending
51
+
45
52
  TODO (Cucumber::Pending)
46
53
  ./features/step_definitions/steps.rb:10:in `/a pending step/'
47
54
  features/pending.feature:4:in `Given a pending step' </failure>