cucumber 0.4.2 → 0.4.3
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.
- data/History.txt +30 -4
- data/Rakefile +11 -8
- data/VERSION.yml +1 -1
- data/bin/cucumber +1 -2
- data/cucumber.gemspec +40 -38
- data/examples/i18n/da/features/{summering.feature → sammenlaegning.feature} +5 -5
- data/examples/i18n/da/features/step_definitons/{kalkulator_steps.rb → lommeregner_steps.rb} +3 -3
- data/examples/i18n/da/lib/{kalkulator.rb → lommeregner.rb} +2 -2
- data/examples/tickets/Rakefile +5 -1
- data/examples/tickets/features.html +138 -0
- data/examples/watir/Rakefile +4 -0
- data/examples/watir/features/{step_definitons → step_definitions}/search_steps.rb +0 -0
- data/examples/watir/features/support/screenshots.rb +45 -0
- data/features/announce.feature +122 -0
- data/features/html_formatter/a.html +1 -1
- data/features/step_definitions/cucumber_steps.rb +1 -1
- data/features/step_definitions/wire_steps.rb +14 -0
- data/features/support/env.rb +1 -1
- data/features/support/fake_wire_server.rb +63 -0
- data/features/tag_logic.feature +226 -0
- data/features/wire_protocol.feature +177 -0
- data/lib/cucumber/ast/examples.rb +4 -0
- data/lib/cucumber/ast/feature_element.rb +2 -1
- data/lib/cucumber/ast/scenario_outline.rb +4 -0
- data/lib/cucumber/ast/table.rb +13 -8
- data/lib/cucumber/ast/tags.rb +56 -12
- data/lib/cucumber/ast/tree_walker.rb +6 -0
- data/lib/cucumber/cli/main.rb +7 -5
- data/lib/cucumber/cli/options.rb +19 -10
- data/lib/cucumber/filter.rb +1 -2
- data/lib/cucumber/formatter/ansicolor.rb +17 -2
- data/lib/cucumber/formatter/console.rb +50 -32
- data/lib/cucumber/formatter/html.rb +21 -1
- data/lib/cucumber/formatter/junit.rb +8 -0
- data/lib/cucumber/formatter/pretty.rb +3 -0
- data/lib/cucumber/formatter/summary.rb +35 -0
- data/lib/cucumber/formatter/usage.rb +4 -4
- data/lib/cucumber/rails/active_record.rb +18 -10
- data/lib/cucumber/rb_support/rb_language.rb +7 -2
- data/lib/cucumber/rb_support/rb_world.rb +4 -0
- data/lib/cucumber/step_match.rb +3 -2
- data/lib/cucumber/step_mother.rb +6 -1
- data/lib/cucumber/wire_support/connection.rb +42 -0
- data/lib/cucumber/wire_support/request_handler.rb +19 -0
- data/lib/cucumber/wire_support/wire_exception.rb +10 -0
- data/lib/cucumber/wire_support/wire_language.rb +52 -0
- data/lib/cucumber/wire_support/wire_packet.rb +34 -0
- data/lib/cucumber/wire_support/wire_protocol.rb +64 -0
- data/lib/cucumber/wire_support/wire_step_definition.rb +21 -0
- data/rails_generators/cucumber/cucumber_generator.rb +7 -4
- data/rails_generators/cucumber/templates/cucumber_environment.rb +4 -4
- data/rails_generators/cucumber/templates/version_check.rb +6 -4
- data/spec/cucumber/ast/table_spec.rb +11 -1
- data/spec/cucumber/ast/tags_spec.rb +29 -0
- data/spec/cucumber/cli/options_spec.rb +8 -4
- data/spec/cucumber/formatter/junit_spec.rb +11 -0
- data/spec/cucumber/step_match_spec.rb +11 -0
- data/spec/cucumber/wire_support/wire_language_spec.rb +47 -0
- data/spec/cucumber/wire_support/wire_packet_spec.rb +26 -0
- metadata +38 -36
- data/examples/cs/.gitignore +0 -1
- data/examples/cs/README.textile +0 -1
- data/examples/cs/Rakefile +0 -12
- data/examples/cs/compile.bat +0 -1
- data/examples/cs/features/addition.feature +0 -16
- data/examples/cs/features/step_definitons/calculator_steps.rb +0 -19
- data/examples/cs/src/demo/Calculator.cs +0 -20
- data/examples/java/.gitignore +0 -1
- data/examples/java/README.textile +0 -18
- data/examples/java/build.xml +0 -33
- data/examples/java/features/hello.feature +0 -11
- data/examples/java/features/step_definitons/hello_steps.rb +0 -23
- data/examples/java/features/step_definitons/tree_steps.rb +0 -14
- data/examples/java/features/tree.feature +0 -9
- data/examples/java/src/.gitignore +0 -1
- data/examples/java/src/cucumber/demo/.gitignore +0 -1
- data/examples/java/src/cucumber/demo/Hello.java +0 -16
- data/examples/pure_java/README.textile +0 -5
data/History.txt
CHANGED
@@ -1,3 +1,29 @@
|
|
1
|
+
== 0.4.3 2009-10-28
|
2
|
+
|
3
|
+
The exciting thing about this release is that the wire protocol is starting to take shape. This means you can
|
4
|
+
now use Cucumber with .NET - writing step definitions in C#. And this is without having to use IronRuby at all!
|
5
|
+
See Cuke4Nuke (http://wiki.github.com/richardlawrence/Cuke4Nuke) for more information.
|
6
|
+
|
7
|
+
As usual there are several small features and bug fixes.
|
8
|
+
|
9
|
+
=== New Features
|
10
|
+
* Add support for ORing tags which are passed in with seperate --tag arguments. Make comma seperated tags use AND (#368 Joseph Wilk)
|
11
|
+
* New Wire Protocol - allowing out of process execution of Cucumber scenarios. (#428 Matt Wynne)
|
12
|
+
* Added an example illustrating how to get screenshots in HTML reports (examples/watir) (Aslak Hellesøy)
|
13
|
+
* Added new #embed(file, mime_type) method to visitors and Ruby Worlds to make it easier to embed screenshots (Aslak Hellesøy)
|
14
|
+
* The #announce method available from Ruby Step Definitions will print *after* the step is executed. (#487 Zoltan Penzeli)
|
15
|
+
* Add support for rolling back transaction for all open database connections. (John Ferlito)
|
16
|
+
* Show scenario and step summary in HTML formatter (#285 Joseph Wilk)
|
17
|
+
* Ast::Table can now be constructed with an Array of Hash. (Aslak Hellesøy)
|
18
|
+
|
19
|
+
=== Bugfixes
|
20
|
+
* Fixed incorrect rendering of step arguments with UTF8 characters (Aslak Hellesøy)
|
21
|
+
* "--format rerun", with a Scenario Outline, kills cucumber (#492 Aslak Hellesøy)
|
22
|
+
* Usage formatter is not reporting time correctly. (Elliot Crosby-McCullough)
|
23
|
+
* JUnit formatter raises a more helpful error when run on a feature with no name. (#493 Matt Wynne)
|
24
|
+
* Better Danish translation (Thorbjørn Ravn Andersen)
|
25
|
+
|
26
|
+
|
1
27
|
== 0.4.2 2009-10-14
|
2
28
|
|
3
29
|
Bugfix release. The 0.4.1 release was hosed when switching from Hoe to Jeweler.
|
@@ -46,7 +72,7 @@ that will give you more information so you can solve any problems. If not, just
|
|
46
72
|
* Transform can now transform tables, using /table:col1,col2,col3/ (#478 Corey Haines)
|
47
73
|
* cucumber.yml can also end in .yaml and be located in .config/ or config/ dirs (#447 trans)
|
48
74
|
* Turkish support. (Hakan Şenol Ensari)
|
49
|
-
* Upgrade Rails generator to set a dependency to Spork 0.7.
|
75
|
+
* Upgrade Rails generator to set a dependency to Spork 0.7.3. (Aslak Hellesøy)
|
50
76
|
* Installation via rubygems will print a message telling people to read this file. (Aslak Hellesøy)
|
51
77
|
* Files generated by the Rails cucumber generator have information about the risks of editing. (Aslak Hellesøy)
|
52
78
|
* Rotten Cucumber alert on Rails if you upgrade your gem without regenerating with script/generate cucumber. (Aslak Hellesøy)
|
@@ -54,7 +80,7 @@ that will give you more information so you can solve any problems. If not, just
|
|
54
80
|
* Make script/cucumber file generated by the Rails cucumber generator look for cucumber in vendored gems as well. (Tom ten Thij)
|
55
81
|
|
56
82
|
=== Changed Features
|
57
|
-
* Step tables now default empty table cells to empty strings and not nil (#470 Joseph Wilk)
|
83
|
+
* Step tables now default empty table cells to empty strings and not nil (#470 Joseph Wilk)
|
58
84
|
|
59
85
|
=== Removed Features
|
60
86
|
* The feature_list, feature_pattern, step_list and step_pattern properties are removed from the Rake task. Use profiles instead. (Aslak Hellesøy)
|
@@ -74,7 +100,7 @@ that will give you more information so you can solve any problems. If not, just
|
|
74
100
|
* Language help broken (#467 Matt Wynne)
|
75
101
|
* Language help formatter aligns output better on Ruby 1.8.6 (Aslak Hellesøy)
|
76
102
|
* Better backtraces for Ruby 1.8.7. (Jakob Skov-Pedersen)
|
77
|
-
* String step definitions ( Given 'I have $number cucumbers' ) are escaped before being turned into regular expressions. (David Waite)
|
103
|
+
* String step definitions ( Given 'I have $number cucumbers' ) are escaped before being turned into regular expressions. (David Waite)
|
78
104
|
|
79
105
|
== 0.3.104 2009-09-27
|
80
106
|
|
@@ -122,7 +148,7 @@ Using this release on a Rails project requires a rerun of script/generate cucumb
|
|
122
148
|
== 0.3.102 2009-09-22
|
123
149
|
|
124
150
|
This release has some changes in the Rails support, so make sure you run "script/generate cucumber" after you upgrade.
|
125
|
-
Other noteworthy new features are improved Hook, tags and Transform support, and as always - several
|
151
|
+
Other noteworthy new features are improved Hook, tags and Transform support, and as always - several smaller bug fixes.
|
126
152
|
|
127
153
|
=== New Features
|
128
154
|
* Added new internal API for Regexp and groups, allowing other programming languages to leverage native regexps. (Aslak Hellesøy)
|
data/Rakefile
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
require 'rubygems'
|
3
|
+
require 'term/ansicolor'
|
2
4
|
require 'rake'
|
3
5
|
$:.unshift(File.dirname(__FILE__) + '/lib')
|
4
|
-
require 'cucumber/
|
6
|
+
require 'cucumber/formatter/ansicolor'
|
5
7
|
|
6
8
|
begin
|
7
9
|
require 'jeweler'
|
@@ -12,7 +14,7 @@ begin
|
|
12
14
|
gem.email = "cukes@googlegroups.com"
|
13
15
|
gem.homepage = "http://cukes.info"
|
14
16
|
gem.authors = ["Aslak Hellesøy"]
|
15
|
-
gem.rubyforge_project = "
|
17
|
+
gem.rubyforge_project = "rspec"
|
16
18
|
|
17
19
|
gem.add_dependency 'term-ansicolor', '1.0.4'
|
18
20
|
gem.add_dependency 'treetop', '1.4.2'
|
@@ -23,19 +25,20 @@ begin
|
|
23
25
|
gem.add_development_dependency 'nokogiri', '1.3.3'
|
24
26
|
gem.add_development_dependency 'prawn', '0.5.1'
|
25
27
|
gem.add_development_dependency 'rspec', '1.2.9'
|
26
|
-
gem.add_development_dependency 'spork', '0.7.
|
28
|
+
gem.add_development_dependency 'spork', '0.7.3'
|
27
29
|
|
30
|
+
extend Cucumber::Formatter::ANSIColor
|
28
31
|
gem.post_install_message = <<-POST_INSTALL_MESSAGE
|
29
32
|
|
30
|
-
(
|
33
|
+
#{cukes(15)}
|
31
34
|
|
32
|
-
(
|
35
|
+
#{cukes(1)} U P G R A D I N G #{cukes(1)}
|
33
36
|
|
34
|
-
Thank you for installing cucumber-#{Cucumber::VERSION}
|
37
|
+
Thank you for installing cucumber-#{Cucumber::VERSION}.
|
35
38
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
36
|
-
for important information about this release.
|
39
|
+
for important information about this release. Happy cuking!
|
37
40
|
|
38
|
-
(
|
41
|
+
#{cukes(15)}
|
39
42
|
|
40
43
|
POST_INSTALL_MESSAGE
|
41
44
|
end
|
data/VERSION.yml
CHANGED
data/bin/cucumber
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
$:.unshift(File.dirname(__FILE__ + '.rb') + '/../lib') unless $:.include?(File.dirname(__FILE__ + '.rb') + '/../lib')
|
2
|
+
$:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
|
4
3
|
|
5
4
|
require 'cucumber/rspec_neuter'
|
6
5
|
require 'cucumber/cli/main'
|
data/cucumber.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{cucumber}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Aslak Helles\303\270y"]
|
12
|
-
s.date = %q{2009-10-
|
12
|
+
s.date = %q{2009-10-28}
|
13
13
|
s.default_executable = %q{cucumber}
|
14
14
|
s.description = %q{A BDD tool written in Ruby}
|
15
15
|
s.email = %q{cukes@googlegroups.com}
|
@@ -30,13 +30,6 @@ Gem::Specification.new do |s|
|
|
30
30
|
"bin/cucumber",
|
31
31
|
"cucumber.gemspec",
|
32
32
|
"cucumber.yml",
|
33
|
-
"examples/cs/.gitignore",
|
34
|
-
"examples/cs/README.textile",
|
35
|
-
"examples/cs/Rakefile",
|
36
|
-
"examples/cs/compile.bat",
|
37
|
-
"examples/cs/features/addition.feature",
|
38
|
-
"examples/cs/features/step_definitons/calculator_steps.rb",
|
39
|
-
"examples/cs/src/demo/Calculator.cs",
|
40
33
|
"examples/dos_line_endings/Rakefile",
|
41
34
|
"examples/dos_line_endings/features/dos_line_endings.feature",
|
42
35
|
"examples/i18n/README.textile",
|
@@ -58,9 +51,9 @@ Gem::Specification.new do |s|
|
|
58
51
|
"examples/i18n/cat/features/suma.feature",
|
59
52
|
"examples/i18n/cat/lib/calculadora.rb",
|
60
53
|
"examples/i18n/da/Rakefile",
|
61
|
-
"examples/i18n/da/features/
|
62
|
-
"examples/i18n/da/features/
|
63
|
-
"examples/i18n/da/lib/
|
54
|
+
"examples/i18n/da/features/sammenlaegning.feature",
|
55
|
+
"examples/i18n/da/features/step_definitons/lommeregner_steps.rb",
|
56
|
+
"examples/i18n/da/lib/lommeregner.rb",
|
64
57
|
"examples/i18n/de/.gitignore",
|
65
58
|
"examples/i18n/de/Rakefile",
|
66
59
|
"examples/i18n/de/features/addition.feature",
|
@@ -213,20 +206,9 @@ Gem::Specification.new do |s|
|
|
213
206
|
"examples/i18n/zh-TW/features/division.feature",
|
214
207
|
"examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb",
|
215
208
|
"examples/i18n/zh-TW/lib/calculator.rb",
|
216
|
-
"examples/java/.gitignore",
|
217
|
-
"examples/java/README.textile",
|
218
|
-
"examples/java/build.xml",
|
219
|
-
"examples/java/features/hello.feature",
|
220
|
-
"examples/java/features/step_definitons/hello_steps.rb",
|
221
|
-
"examples/java/features/step_definitons/tree_steps.rb",
|
222
|
-
"examples/java/features/tree.feature",
|
223
|
-
"examples/java/src/.gitignore",
|
224
|
-
"examples/java/src/cucumber/demo/.gitignore",
|
225
|
-
"examples/java/src/cucumber/demo/Hello.java",
|
226
209
|
"examples/junit/features/one_passing_one_failing.feature",
|
227
210
|
"examples/junit/features/pending.feature",
|
228
211
|
"examples/junit/features/step_definitions/steps.rb",
|
229
|
-
"examples/pure_java/README.textile",
|
230
212
|
"examples/python/features/fibonacci.feature",
|
231
213
|
"examples/python/features/step_definitions/fib_steps.py",
|
232
214
|
"examples/python/lib/.gitignore",
|
@@ -292,6 +274,7 @@ Gem::Specification.new do |s|
|
|
292
274
|
"examples/test_unit/features/step_definitions/test_unit_steps.rb",
|
293
275
|
"examples/test_unit/features/test_unit.feature",
|
294
276
|
"examples/tickets/Rakefile",
|
277
|
+
"examples/tickets/features.html",
|
295
278
|
"examples/tickets/features/172.feature",
|
296
279
|
"examples/tickets/features/177/1.feature",
|
297
280
|
"examples/tickets/features/177/2.feature",
|
@@ -325,11 +308,13 @@ Gem::Specification.new do |s|
|
|
325
308
|
"examples/watir/README.textile",
|
326
309
|
"examples/watir/Rakefile",
|
327
310
|
"examples/watir/features/search.feature",
|
328
|
-
"examples/watir/features/
|
311
|
+
"examples/watir/features/step_definitions/search_steps.rb",
|
329
312
|
"examples/watir/features/support/env.rb",
|
313
|
+
"examples/watir/features/support/screenshots.rb",
|
330
314
|
"examples/webrat/features/search.feature",
|
331
315
|
"examples/webrat/features/step_definitions/kvasir_steps.rb",
|
332
316
|
"examples/webrat/features/support/env.rb",
|
317
|
+
"features/announce.feature",
|
333
318
|
"features/background.feature",
|
334
319
|
"features/bug_371.feature",
|
335
320
|
"features/bug_464.feature",
|
@@ -362,13 +347,17 @@ Gem::Specification.new do |s|
|
|
362
347
|
"features/step_definitions/cucumber_steps.rb",
|
363
348
|
"features/step_definitions/extra_steps.rb",
|
364
349
|
"features/step_definitions/simplest_steps.rb",
|
350
|
+
"features/step_definitions/wire_steps.rb",
|
365
351
|
"features/support/env.rb",
|
366
352
|
"features/support/env.rb.simplest",
|
353
|
+
"features/support/fake_wire_server.rb",
|
367
354
|
"features/table_diffing.feature",
|
368
355
|
"features/table_mapping.feature",
|
356
|
+
"features/tag_logic.feature",
|
369
357
|
"features/transform.feature",
|
370
358
|
"features/unicode_table.feature",
|
371
359
|
"features/usage_and_stepdefs_formatter.feature",
|
360
|
+
"features/wire_protocol.feature",
|
372
361
|
"features/work_in_progress.feature",
|
373
362
|
"gem_tasks/contributors.rake",
|
374
363
|
"gem_tasks/environment.rake",
|
@@ -433,6 +422,7 @@ Gem::Specification.new do |s|
|
|
433
422
|
"lib/cucumber/formatter/rerun.rb",
|
434
423
|
"lib/cucumber/formatter/stepdefs.rb",
|
435
424
|
"lib/cucumber/formatter/steps.rb",
|
425
|
+
"lib/cucumber/formatter/summary.rb",
|
436
426
|
"lib/cucumber/formatter/tag_cloud.rb",
|
437
427
|
"lib/cucumber/formatter/unicode.rb",
|
438
428
|
"lib/cucumber/formatter/usage.rb",
|
@@ -471,6 +461,13 @@ Gem::Specification.new do |s|
|
|
471
461
|
"lib/cucumber/step_mother.rb",
|
472
462
|
"lib/cucumber/webrat/element_locator.rb",
|
473
463
|
"lib/cucumber/webrat/table_locator.rb",
|
464
|
+
"lib/cucumber/wire_support/connection.rb",
|
465
|
+
"lib/cucumber/wire_support/request_handler.rb",
|
466
|
+
"lib/cucumber/wire_support/wire_exception.rb",
|
467
|
+
"lib/cucumber/wire_support/wire_language.rb",
|
468
|
+
"lib/cucumber/wire_support/wire_packet.rb",
|
469
|
+
"lib/cucumber/wire_support/wire_protocol.rb",
|
470
|
+
"lib/cucumber/wire_support/wire_step_definition.rb",
|
474
471
|
"rails_generators/cucumber/USAGE",
|
475
472
|
"rails_generators/cucumber/cucumber_generator.rb",
|
476
473
|
"rails_generators/cucumber/templates/cucumber",
|
@@ -496,6 +493,7 @@ Gem::Specification.new do |s|
|
|
496
493
|
"spec/cucumber/ast/step_collection_spec.rb",
|
497
494
|
"spec/cucumber/ast/step_spec.rb",
|
498
495
|
"spec/cucumber/ast/table_spec.rb",
|
496
|
+
"spec/cucumber/ast/tags_spec.rb",
|
499
497
|
"spec/cucumber/ast/tree_walker_spec.rb",
|
500
498
|
"spec/cucumber/broadcaster_spec.rb",
|
501
499
|
"spec/cucumber/cli/configuration_spec.rb",
|
@@ -532,26 +530,28 @@ Gem::Specification.new do |s|
|
|
532
530
|
"spec/cucumber/treetop_parser/test_dos.feature",
|
533
531
|
"spec/cucumber/treetop_parser/with_comments.feature",
|
534
532
|
"spec/cucumber/treetop_parser/with_tags.feature",
|
533
|
+
"spec/cucumber/wire_support/wire_language_spec.rb",
|
534
|
+
"spec/cucumber/wire_support/wire_packet_spec.rb",
|
535
535
|
"spec/cucumber/world/pending_spec.rb",
|
536
536
|
"spec/spec.opts",
|
537
537
|
"spec/spec_helper.rb"
|
538
538
|
]
|
539
539
|
s.homepage = %q{http://cukes.info}
|
540
540
|
s.post_install_message = %q{
|
541
|
-
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
541
|
+
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
542
542
|
|
543
543
|
(::) U P G R A D I N G (::)
|
544
544
|
|
545
|
-
Thank you for installing cucumber-0.4.
|
545
|
+
Thank you for installing cucumber-0.4.3.
|
546
546
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
547
|
-
for important information about this release.
|
547
|
+
for important information about this release. Happy cuking!
|
548
548
|
|
549
|
-
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
549
|
+
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
550
550
|
|
551
551
|
}
|
552
552
|
s.rdoc_options = ["--charset=UTF-8"]
|
553
553
|
s.require_paths = ["lib"]
|
554
|
-
s.rubyforge_project = %q{
|
554
|
+
s.rubyforge_project = %q{rspec}
|
555
555
|
s.rubygems_version = %q{1.3.5}
|
556
556
|
s.summary = %q{Behaviour Driven Development with elegance and joy}
|
557
557
|
s.test_files = [
|
@@ -566,6 +566,7 @@ for important information about this release.
|
|
566
566
|
"spec/cucumber/ast/step_collection_spec.rb",
|
567
567
|
"spec/cucumber/ast/step_spec.rb",
|
568
568
|
"spec/cucumber/ast/table_spec.rb",
|
569
|
+
"spec/cucumber/ast/tags_spec.rb",
|
569
570
|
"spec/cucumber/ast/tree_walker_spec.rb",
|
570
571
|
"spec/cucumber/broadcaster_spec.rb",
|
571
572
|
"spec/cucumber/cli/configuration_spec.rb",
|
@@ -588,9 +589,10 @@ for important information about this release.
|
|
588
589
|
"spec/cucumber/rb_support/regexp_argument_matcher_spec.rb",
|
589
590
|
"spec/cucumber/step_match_spec.rb",
|
590
591
|
"spec/cucumber/step_mother_spec.rb",
|
592
|
+
"spec/cucumber/wire_support/wire_language_spec.rb",
|
593
|
+
"spec/cucumber/wire_support/wire_packet_spec.rb",
|
591
594
|
"spec/cucumber/world/pending_spec.rb",
|
592
595
|
"spec/spec_helper.rb",
|
593
|
-
"examples/cs/features/step_definitons/calculator_steps.rb",
|
594
596
|
"examples/i18n/ar/features/step_definitons/calculator_steps.rb",
|
595
597
|
"examples/i18n/ar/lib/calculator.rb",
|
596
598
|
"examples/i18n/bg/features/step_definitons/calculator_steps.rb",
|
@@ -599,8 +601,8 @@ for important information about this release.
|
|
599
601
|
"examples/i18n/bg/lib/calculator.rb",
|
600
602
|
"examples/i18n/cat/features/step_definitons/calculator_steps.rb",
|
601
603
|
"examples/i18n/cat/lib/calculadora.rb",
|
602
|
-
"examples/i18n/da/features/step_definitons/
|
603
|
-
"examples/i18n/da/lib/
|
604
|
+
"examples/i18n/da/features/step_definitons/lommeregner_steps.rb",
|
605
|
+
"examples/i18n/da/lib/lommeregner.rb",
|
604
606
|
"examples/i18n/de/features/step_definitons/calculator_steps.rb",
|
605
607
|
"examples/i18n/de/lib/calculator.rb",
|
606
608
|
"examples/i18n/en/features/step_definitons/calculator_steps.rb",
|
@@ -666,8 +668,6 @@ for important information about this release.
|
|
666
668
|
"examples/i18n/zh-CN/lib/calculator.rb",
|
667
669
|
"examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb",
|
668
670
|
"examples/i18n/zh-TW/lib/calculator.rb",
|
669
|
-
"examples/java/features/step_definitons/hello_steps.rb",
|
670
|
-
"examples/java/features/step_definitons/tree_steps.rb",
|
671
671
|
"examples/junit/features/step_definitions/steps.rb",
|
672
672
|
"examples/ramaze/app.rb",
|
673
673
|
"examples/ramaze/features/step_definitions/add_steps.rb",
|
@@ -680,6 +680,7 @@ for important information about this release.
|
|
680
680
|
"examples/selenium_webrat/features/support/env.rb",
|
681
681
|
"examples/self_test/features/step_definitions/sample_steps.rb",
|
682
682
|
"examples/self_test/features/support/env.rb",
|
683
|
+
"examples/self_test/tmp/features/step_definitions/steps.rb",
|
683
684
|
"examples/sinatra/app.rb",
|
684
685
|
"examples/sinatra/features/step_definitions/add_steps.rb",
|
685
686
|
"examples/sinatra/features/support/env.rb",
|
@@ -697,8 +698,9 @@ for important information about this release.
|
|
697
698
|
"examples/tickets/features/step_definitons/248_steps.rb",
|
698
699
|
"examples/tickets/features/step_definitons/scenario_outline_steps.rb",
|
699
700
|
"examples/tickets/features/step_definitons/tickets_steps.rb",
|
700
|
-
"examples/watir/features/
|
701
|
+
"examples/watir/features/step_definitions/search_steps.rb",
|
701
702
|
"examples/watir/features/support/env.rb",
|
703
|
+
"examples/watir/features/support/screenshots.rb",
|
702
704
|
"examples/webrat/features/step_definitions/kvasir_steps.rb",
|
703
705
|
"examples/webrat/features/support/env.rb"
|
704
706
|
]
|
@@ -716,7 +718,7 @@ for important information about this release.
|
|
716
718
|
s.add_development_dependency(%q<nokogiri>, ["= 1.3.3"])
|
717
719
|
s.add_development_dependency(%q<prawn>, ["= 0.5.1"])
|
718
720
|
s.add_development_dependency(%q<rspec>, ["= 1.2.9"])
|
719
|
-
s.add_development_dependency(%q<spork>, ["= 0.7.
|
721
|
+
s.add_development_dependency(%q<spork>, ["= 0.7.3"])
|
720
722
|
else
|
721
723
|
s.add_dependency(%q<term-ansicolor>, ["= 1.0.4"])
|
722
724
|
s.add_dependency(%q<treetop>, ["= 1.4.2"])
|
@@ -726,7 +728,7 @@ for important information about this release.
|
|
726
728
|
s.add_dependency(%q<nokogiri>, ["= 1.3.3"])
|
727
729
|
s.add_dependency(%q<prawn>, ["= 0.5.1"])
|
728
730
|
s.add_dependency(%q<rspec>, ["= 1.2.9"])
|
729
|
-
s.add_dependency(%q<spork>, ["= 0.7.
|
731
|
+
s.add_dependency(%q<spork>, ["= 0.7.3"])
|
730
732
|
end
|
731
733
|
else
|
732
734
|
s.add_dependency(%q<term-ansicolor>, ["= 1.0.4"])
|
@@ -737,6 +739,6 @@ for important information about this release.
|
|
737
739
|
s.add_dependency(%q<nokogiri>, ["= 1.3.3"])
|
738
740
|
s.add_dependency(%q<prawn>, ["= 0.5.1"])
|
739
741
|
s.add_dependency(%q<rspec>, ["= 1.2.9"])
|
740
|
-
s.add_dependency(%q<spork>, ["= 0.7.
|
742
|
+
s.add_dependency(%q<spork>, ["= 0.7.3"])
|
741
743
|
end
|
742
744
|
end
|
@@ -1,18 +1,18 @@
|
|
1
1
|
# language: da
|
2
|
-
Egenskab:
|
2
|
+
Egenskab: Sammenlægning
|
3
3
|
For at slippe for at lave dumme fejl
|
4
|
-
Som
|
4
|
+
Som bogholder
|
5
5
|
Vil jeg kunne lægge sammen
|
6
6
|
|
7
7
|
Scenarie: to tal
|
8
8
|
Givet at jeg har indtastet 5
|
9
9
|
Og at jeg har indtastet 7
|
10
|
-
Når jeg
|
10
|
+
Når jeg lægger sammen
|
11
11
|
Så skal resultatet være 12
|
12
12
|
|
13
13
|
Scenarie: tre tal
|
14
14
|
Givet at jeg har indtastet 5
|
15
15
|
Og at jeg har indtastet 7
|
16
16
|
Og at jeg har indtastet 1
|
17
|
-
Når jeg
|
18
|
-
Så skal resultatet være 13
|
17
|
+
Når jeg lægger sammen
|
18
|
+
Så skal resultatet være 13
|
@@ -2,10 +2,10 @@
|
|
2
2
|
require 'spec/expectations'
|
3
3
|
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
4
|
require 'cucumber/formatter/unicode'
|
5
|
-
require '
|
5
|
+
require 'lommeregner'
|
6
6
|
|
7
7
|
Before do
|
8
|
-
@calc =
|
8
|
+
@calc = Lommeregner.new
|
9
9
|
end
|
10
10
|
|
11
11
|
After do
|
@@ -15,7 +15,7 @@ Given /at jeg har indtastet (\d+)/ do |n|
|
|
15
15
|
@calc.push n.to_i
|
16
16
|
end
|
17
17
|
|
18
|
-
When 'jeg
|
18
|
+
When 'jeg lægger sammen' do
|
19
19
|
@result = @calc.add
|
20
20
|
end
|
21
21
|
|
data/examples/tickets/Rakefile
CHANGED
@@ -13,4 +13,8 @@ Cucumber::Rake::Task.new(:progress) do |t|
|
|
13
13
|
t.cucumber_opts = %w{--tags ~@intentional_failure --format progress -i -s}
|
14
14
|
end
|
15
15
|
|
16
|
-
|
16
|
+
Cucumber::Rake::Task.new(:rerun) do |t|
|
17
|
+
t.cucumber_opts = %w{--tags ~@intentional_failure --format rerun -i -s}
|
18
|
+
end
|
19
|
+
|
20
|
+
task :default => [:pretty, :html, :progress, :rerun]
|
@@ -0,0 +1,138 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html;charset=utf-8"/><title>Cucumber</title><style type="text/css">
|
2
|
+
|
3
|
+
.cucumber {
|
4
|
+
font-family: "Lucida Grande", Helvetica, sans-serif;
|
5
|
+
font-size: 0.7em;
|
6
|
+
background: white;
|
7
|
+
padding: 1em;
|
8
|
+
}
|
9
|
+
.cucumber h1, .cucumber h2, .cucumber h3, .cucumber h4, .cucumber ol, .cucumber li, .cucumber pre, .cucumber p {
|
10
|
+
font-size: 1em;
|
11
|
+
padding: 0px;
|
12
|
+
margin: 0px;
|
13
|
+
}
|
14
|
+
.cucumber div.feature {
|
15
|
+
border: 1px solid;
|
16
|
+
padding: 2px;
|
17
|
+
margin: 4px;
|
18
|
+
}
|
19
|
+
.cucumber div.feature div.background, .cucumber div.feature div.scenario, .cucumber div.feature p {
|
20
|
+
padding: 0em 0em 0em 1em;
|
21
|
+
}
|
22
|
+
.cucumber div.feature div.background div.examples, .cucumber div.feature div.scenario div.examples, .cucumber div.feature p div.examples {
|
23
|
+
padding: 0em 0em 0em 1em;
|
24
|
+
}
|
25
|
+
.cucumber .stats {
|
26
|
+
margin: 2em;
|
27
|
+
}
|
28
|
+
.cucumber .summary ul.features li {
|
29
|
+
display: inline;
|
30
|
+
}
|
31
|
+
.cucumber .backtrace {
|
32
|
+
margin-top: 0;
|
33
|
+
margin-bottom: 0;
|
34
|
+
margin-left: 1em;
|
35
|
+
}
|
36
|
+
.cucumber a {
|
37
|
+
text-decoration: none;
|
38
|
+
color: inherit;
|
39
|
+
}
|
40
|
+
.cucumber a:hover {
|
41
|
+
text-decoration: underline;
|
42
|
+
}
|
43
|
+
.cucumber a:visited {
|
44
|
+
font-weight: normal;
|
45
|
+
}
|
46
|
+
.cucumber a div.examples {
|
47
|
+
border: 1px solid;
|
48
|
+
padding: 2px;
|
49
|
+
margin: 4px;
|
50
|
+
}
|
51
|
+
.cucumber table {
|
52
|
+
border-collapse: collapse;
|
53
|
+
}
|
54
|
+
.cucumber table td, .cucumber table th {
|
55
|
+
font-size: 0.7em;
|
56
|
+
border: 1px solid #AAAAAA;
|
57
|
+
}
|
58
|
+
.cucumber table td.failed {
|
59
|
+
background: #FFC0CB;
|
60
|
+
color: #8B0000;
|
61
|
+
}
|
62
|
+
.cucumber table td.passed {
|
63
|
+
background: #98FB98;
|
64
|
+
color: #001111;
|
65
|
+
}
|
66
|
+
.cucumber table td.skipped {
|
67
|
+
background: #e0ffff;
|
68
|
+
color: #001111;
|
69
|
+
}
|
70
|
+
.cucumber table td.pending {
|
71
|
+
background: #FFFFE0;
|
72
|
+
color: #111100;
|
73
|
+
}
|
74
|
+
.cucumber table td.undefined {
|
75
|
+
background: #FFFFE0;
|
76
|
+
color: #111100;
|
77
|
+
}
|
78
|
+
.cucumber ol {
|
79
|
+
list-style: none;
|
80
|
+
}
|
81
|
+
.cucumber ol li {
|
82
|
+
margin: 0em 0em 0em 1em;
|
83
|
+
padding: 0em 0em 0em 0.2em;
|
84
|
+
}
|
85
|
+
.cucumber ol li span.param {
|
86
|
+
font-weight: bold;
|
87
|
+
}
|
88
|
+
.cucumber ol li.failed {
|
89
|
+
border-left: 5px solid #ff0000;
|
90
|
+
border-bottom: 1px solid #ff0000;
|
91
|
+
background: #ffc0cb;
|
92
|
+
color: #8b0000;
|
93
|
+
}
|
94
|
+
.cucumber ol li.failed span.param {
|
95
|
+
background: !failed_dark;
|
96
|
+
}
|
97
|
+
.cucumber ol li.passed {
|
98
|
+
border-left: 5px solid #00ff00;
|
99
|
+
border-bottom: 1px solid #00ff00;
|
100
|
+
background: #98fb98;
|
101
|
+
color: #001111;
|
102
|
+
}
|
103
|
+
.cucumber ol li.passed span.param {
|
104
|
+
background: #00ff00;
|
105
|
+
}
|
106
|
+
.cucumber ol li.skipped {
|
107
|
+
border-left: 5px solid #00ffff;
|
108
|
+
border-bottom: 1px solid #00ffff;
|
109
|
+
background: #e0ffff;
|
110
|
+
color: #001111;
|
111
|
+
}
|
112
|
+
.cucumber ol li.skipped span.param {
|
113
|
+
background: #00ffff;
|
114
|
+
}
|
115
|
+
.cucumber ol li.pending {
|
116
|
+
border-left: 5px solid #ff8000;
|
117
|
+
border-bottom: 1px solid #ff8000;
|
118
|
+
background: #ffff00;
|
119
|
+
color: #2a1b0a;
|
120
|
+
}
|
121
|
+
.cucumber ol li.pending span.param {
|
122
|
+
background: #ff8000;
|
123
|
+
}
|
124
|
+
.cucumber ol li.undefined {
|
125
|
+
border-left: 5px solid #ff8000;
|
126
|
+
border-bottom: 1px solid #ff8000;
|
127
|
+
background: #ffff00;
|
128
|
+
color: #2a1b0a;
|
129
|
+
}
|
130
|
+
.cucumber ol li.undefined span.param {
|
131
|
+
background: #ff8000;
|
132
|
+
}
|
133
|
+
</style></head><body><div class="cucumber"><div class="feature"><h2><span class="val">Feature: Login</span></h2><p class="narrative">To ensure the safety of the application<br/>A regular user of the system<br/>Must authenticate before using the app<br/></p><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Failed Login</span></h3><ol><li class="step skipped" id="features_172_feature_8"><div><span class="keyword">Given</span> <span class="step val">the user "known_user"</span></div></li><li class="step skipped" id="features_172_feature_10"><div><span class="keyword">When</span> <span class="step val">I go to the main page</span></div></li><li class="step skipped" id="features_172_feature_11"><div><span class="keyword">Then</span> <span class="step val">I should see the login form</span></div></li><li class="step skipped" id="features_172_feature_13"><div><span class="keyword">When</span> <span class="step val">I fill in "login" with "<login>"</span></div></li><li class="step skipped" id="features_172_feature_14"><div><span class="keyword">And</span> <span class="step val">I fill in "password" with "<password>"</span></div></li><li class="step skipped" id="features_172_feature_15"><div><span class="keyword">And</span> <span class="step val">I press "Log In"</span></div></li><li class="step skipped" id="features_172_feature_16"><div><span class="keyword">Then</span> <span class="step val">the login request should fail</span></div></li><li class="step skipped" id="features_172_feature_17"><div><span class="keyword">And</span> <span class="step val">I should see the error message "Login or Password incorrect"</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_20"><th class="val skipped_param" id="row_20_0">login</th><th class="val skipped_param" id="row_20_1">password</th></tr><tr id="row_21"><td class="val undefined" id="row_21_0"></td><td class="val undefined" id="row_21_1"></td></tr><tr id="row_22"><td class="val undefined" id="row_22_0">unknown_user</td><td class="val undefined" id="row_22_1"></td></tr><tr id="row_23"><td class="val undefined" id="row_23_0">known_user</td><td class="val undefined" id="row_23_1"></td></tr><tr id="row_24"><td class="val undefined" id="row_24_0"></td><td class="val undefined" id="row_24_1">wrong_password</td></tr><tr id="row_25"><td class="val undefined" id="row_25_0"></td><td class="val undefined" id="row_25_1">known_userpass</td></tr><tr id="row_26"><td class="val undefined" id="row_26_0">unknown_user</td><td class="val undefined" id="row_26_1">wrong_password</td></tr><tr id="row_27"><td class="val undefined" id="row_27_0">unknown_user</td><td class="val undefined" id="row_27_1">known_userpass</td></tr><tr id="row_28"><td class="val undefined" id="row_28_0">known_user</td><td class="val undefined" id="row_28_1">wrong_password</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Users want to know that nobody can masquerade as them. We want to extend trust</span></h2><p class="narrative">only to visitors who present the appropriate credentials. Everyone wants this<br/>identity verification to be as secure and convenient as possible.<br/><br/>Feature: Logging in<br/>As an anonymous user with an account<br/>I want to log in to my account<br/>So that I can be myself<br/></p><div class="scenario"><pre class="comment">#<br/># Log in: get form<br/>#<br/></pre><h3><span class="keyword">Scenario:</span> <span class="val">Anonymous user can get a login form.</span></h3><ol><li class="step undefined" id="features_177_1_feature_14"><div><span class="keyword">Given</span> <span class="step val">I am logged out</span></div></li><li class="step undefined" id="features_177_1_feature_15"><div><span class="keyword">When</span> <span class="step val">I go to "/login"</span></div></li><li class="step undefined" id="features_177_1_feature_16"><div><span class="keyword">Then</span> <span class="step val">I should be at the "sessions/new" page</span></div></li></ol></div><div class="scenario"><pre class="comment">#<br/># Log in successfully, but don't remember me<br/>#<br/></pre><h3><span class="keyword">Scenario:</span> <span class="val">Anonymous user can log in</span></h3><ol><li class="step undefined" id="features_177_1_feature_22"><div><span class="keyword">Given</span> <span class="step val">an "activated" user named "reggie" exists</span></div></li><li class="step undefined" id="features_177_1_feature_23"><div><span class="keyword">And</span> <span class="step val">I am logged out</span></div></li><li class="step undefined" id="features_177_1_feature_24"><div><span class="keyword">When</span> <span class="step val">I go to "/login"</span></div></li><li class="step undefined" id="features_177_1_feature_25"><div><span class="keyword">And</span> <span class="step val">I fill in "Login" with "reggie"</span></div></li><li class="step undefined" id="features_177_1_feature_26"><div><span class="keyword">And</span> <span class="step val">I fill in "Password" with "password"</span></div></li><li class="step undefined" id="features_177_1_feature_27"><div><span class="keyword">And</span> <span class="step val">I press "Log in"</span></div></li><li class="step undefined" id="features_177_1_feature_28"><div><span class="keyword">Then</span> <span class="step val">I should be at the "dashboard/index" page</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Visitors may create an account, but for those who are not already in the </span></h2><p class="narrative">system an someone must activate the account for them before it can be used.<br/><br/>Feature: Activating an account<br/>As a registered, but not yet activated, user<br/>I want to be able to activate my account<br/>So that I can log in to the site<br/></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Not-yet-activated user can activate her account</span></h3><ol><li class="step undefined" id="features_177_2_feature_10"><div><span class="keyword">Given</span> <span class="step val">a registered user named 'Reggie' # need to rewrite</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Matt's example with a comment before a step</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Upload an image for an artist and create a concert in the process</span></h3><ol><li class="step undefined" id="features_177_3_feature_4"><div><span class="keyword">Given</span> <span class="step val">I am logged in to my account</span></div></li><li class="step undefined" id="features_177_3_feature_5"><div><span class="keyword">And</span> <span class="step val">there is one Artist named "Pixies"</span></div></li><li class="step undefined" id="features_177_3_feature_6"><div><span class="keyword">And</span> <span class="step val">there is one Venue</span></div></li><li class="step undefined" id="features_177_3_feature_7"><div><span class="keyword">When</span> <span class="step val">I visit the page for the Artist</span></div></li><li class="step undefined" id="features_177_3_feature_8"><div><span class="keyword">And</span> <span class="step val">I follow "add a photo"</span></div></li><li class="step undefined" id="features_177_3_feature_9"><div><span class="keyword">And</span> <span class="step val">I upload an Image</span></div></li><li class="step undefined" id="features_177_3_feature_11"><div><span class="keyword">And</span> <span class="step val">I press "Search Pixies concerts"</span></div></li><li class="step undefined" id="features_177_3_feature_12"><div><span class="keyword">And</span> <span class="step val">I follow "Add a new Concert"</span></div></li><li class="step undefined" id="features_177_3_feature_13"><div><span class="keyword">And</span> <span class="step val">I fill in new Concert information</span></div></li><li class="step undefined" id="features_177_3_feature_14"><div><span class="keyword">And</span> <span class="step val">I press "Preview"</span></div></li><li class="step undefined" id="features_177_3_feature_15"><div><span class="keyword">And</span> <span class="step val">I press "Add concert"</span></div></li><li class="step undefined" id="features_177_3_feature_17"><div><span class="keyword">And</span> <span class="step val">I press "Submit"</span></div></li><li class="step undefined" id="features_177_3_feature_18"><div><span class="keyword">Then</span> <span class="step val">my Concert should exist with 1 Image</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Cucumber command line</span></h2><p class="narrative">In order to write better software<br/>Developers should be able to execute requirements as tests<br/></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Pending Scenario at the end of a file with whitespace after it
|
134
|
+
</span></h3><ol></ol></div></div><div class="feature"><h2><span class="val">Feature: Tagged hooks</span></h2><p class="narrative">In order to provide more flexible setups<br/>I should be able to specify exactly<br/>where hooks are executed<br/></p><div class="scenario"><span class="tag">@i_am_so_special</span><h3><span class="keyword">Scenario:</span> <span class="val">Yes I am</span></h3><ol><li class="step passed" id="features_229_tagged_hooks_feature_8"><div><span class="keyword">When</span> <span class="step val">special me goes to town</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Unsubstituted argument placeholder</span></h2><p class="narrative"></p><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">See Annual Leave Details (as Management & Human Resource)</span></h3><ol><li class="step skipped" id="features_236_feature_4"><div><span class="keyword">Given</span> <span class="step val">the following users exist in the system</span></div><table><tr id="row_5"><td class="val" id="row_5_0">name</td><td class="val" id="row_5_1">email</td><td class="val" id="row_5_2">role_assignments</td><td class="val" id="row_5_3">group_memberships</td></tr><tr id="row_6"><td class="val" id="row_6_0">Jane</td><td class="val" id="row_6_1">jane@fmail.com</td><td class="val" id="row_6_2"><role></td><td class="val" id="row_6_3">Sales (manager)</td></tr><tr id="row_7"><td class="val" id="row_7_0">Max</td><td class="val" id="row_7_1">max@fmail.com</td><td class="val" id="row_7_2"></td><td class="val" id="row_7_3">Sales (member)</td></tr><tr id="row_8"><td class="val" id="row_8_0">Carol</td><td class="val" id="row_8_1">carol@fmail.com</td><td class="val" id="row_8_2"></td><td class="val" id="row_8_3">Sales (member)</td></tr><tr id="row_9"><td class="val" id="row_9_0">Cat</td><td class="val" id="row_9_1">cat@fmail.com</td><td class="val" id="row_9_2"></td><td class="val" id="row_9_3"></td></tr></table></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">role</th></tr><tr id="row_13"><td class="val passed" id="row_13_0">HUMAN RESOURCE</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Users want to use cucumber, so tests are necessary to verify</span></h2><p class="narrative">it is all working as expected<br/><br/>Feature: Using the Console Formatter<br/>In order to verify this error<br/>I want to run this feature using the progress format<br/>So that it can be fixed<br/></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">A normal feature</span></h3><ol><li class="step pending" id="features_241_feature_10"><div><span class="keyword">Given</span> <span class="step val">I have a pending step</span></div><pre class="pending">TODO (Cucumber::Pending)
|
135
|
+
./features/step_definitons/tickets_steps.rb:57:in `/^I have a pending step$/'
|
136
|
+
features/241.feature:10:in `Given I have a pending step'</pre></li><li class="step skipped" id="features_241_feature_11"><div><span class="keyword">When</span> <span class="step val">I run this feature with the progress format</span></div></li><li class="step skipped" id="features_241_feature_12"><div><span class="keyword">Then</span> <span class="step val">I should get a no method error for 'backtrace_line'</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/246-distorted-console-output-for-slightly-complicated-step-regexp-match</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">See "No Record(s) Found" for Zero Existing</span></h3><ol><li class="step passed" id="features_246_feature_4"><div><span class="keyword">Given</span> <span class="step val">no <span class="param">public holiday</span> exists in the system</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: pending method causes failure in Scenario Outlines</span></h2><p class="narrative"></p><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">blah</span></h3><ol><li class="step skipped" id="features_248_feature_4"><div><span class="keyword">Given</span> <span class="step val">this is pending until we fix it</span></div></li><li class="step skipped" id="features_248_feature_5"><div><span class="keyword">Given</span> <span class="step val">context with <Stuff></span></div></li><li class="step skipped" id="features_248_feature_6"><div><span class="keyword">When</span> <span class="step val">action</span></div></li><li class="step skipped" id="features_248_feature_7"><div><span class="keyword">Then</span> <span class="step val">outcome with <Blah></span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_10"><th class="val skipped_param" id="row_10_0">Stuff</th><th class="val skipped_param" id="row_10_1">Blah</th></tr><tr id="row_11"><td class="val skipped" id="row_11_0">Cheese</td><td class="val skipped" id="row_11_1">Pepper Jack</td></tr><tr><td class="failed" colspan="2"><pre>TODO (Cucumber::Pending)
|
137
|
+
./features/step_definitons/248_steps.rb:2:in `/^this is pending until we fix it$/'
|
138
|
+
features/248.feature:4:in `Given this is pending until we fix it'</pre></td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Background</span></h2><p class="narrative">In for background to work properly<br/>As a user<br/>I want it to run transactionally and only once when I call an individual scenario<br/></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_270_back_feature_7"><div><span class="keyword">Given</span> <span class="step val">plop</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Barping</span></h3><ol><li class="step passed" id="features_270_back_feature_10"><div><span class="keyword">When</span> <span class="step val">I barp</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Wibbling</span></h3><ol><li class="step passed" id="features_270_back_feature_14"><div><span class="keyword">When</span> <span class="step val">I wibble</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: pystring indentaion testcase</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">example of correct indentation</span></h3><ol><li class="step passed" id="features_279_py_string_indent_feature_4"><div><span class="keyword">Given</span> <span class="step val">multiline string</span></div><pre class="val"> I'm a cucumber and I'm ok
I sleep all night and test all day</pre></li><li class="step passed" id="features_279_py_string_indent_feature_9"><div><span class="keyword">Then</span> <span class="step val">string is</span></div><pre class="val"> I'm a cucumber and I'm ok
I sleep all night and test all day</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">example of wrong indentation</span></h3><ol><li class="step passed" id="features_279_py_string_indent_feature_16"><div><span class="keyword">Given</span> <span class="step val">I am in <span class="param">tickets/features/279</span></span></div></li><li class="step passed" id="features_279_py_string_indent_feature_17"><div><span class="keyword">When</span> <span class="step val">I run cucumber <span class="param">-q wrong.feature_</span></span></div></li><li class="step passed" id="features_279_py_string_indent_feature_18"><div><span class="keyword">Then</span> <span class="step val">it should <span class="param">fail</span> with</span></div><pre class="val"></pre></li><li class="step passed" id="features_279_py_string_indent_feature_22"><div><span class="keyword">And</span> <span class="step val">STDERR should match</span></div><pre class="val">wrong.feature_:8:10: Parse error</pre></li></ol></div></div><div class="feature"><h2><span class="val">Feature https://rspec.lighthouseapp.com/projects/16211/tickets/301</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">A background</span></h3><ol><li class="step passed" id="features_301_filter_background_tagged_hooks_feature_3"><div><span class="keyword">Given</span> <span class="step val">whatever</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">VB is not cool</span></h3><ol><li class="step passed" id="features_301_filter_background_tagged_hooks_feature_6"><div><span class="keyword">Then</span> <span class="step val">VB should not be cool</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: woo yeah</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_306_only_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">passing step without a table</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Outlines</span></h2><p class="narrative">In order to re-use scenario table values<br/>As a citizen of Cucumbia<br/>I want to explicitly mark the parameters in a scenario outline<br/></p><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">controlling order</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_7"><div><span class="keyword">Given</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_8"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_9"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</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">left</th><th class="val skipped_param" id="row_12_1">start</th><th class="val skipped_param" id="row_12_2">eat</th></tr><tr id="row_13"><td class="val passed" id="row_13_0">7</td><td class="val passed" id="row_13_1">12</td><td class="val passed" id="row_13_2">5</td></tr><tr id="row_14"><td class="val passed" id="row_14_0">15</td><td class="val passed" id="row_14_1">20</td><td class="val passed" id="row_14_2">5</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">reusing place holder</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_17"><div><span class="keyword">Given</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_18"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_19"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_20"><div><span class="keyword">And</span> <span class="step val">I should have <eat> cucumbers in my belly</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Lots of cukes</span></h4><table><tr id="row_23"><th class="val skipped_param" id="row_23_0">start</th><th class="val skipped_param" id="row_23_1">eat</th><th class="val skipped_param" id="row_23_2">left</th></tr><tr id="row_24"><td class="val passed" id="row_24_0">12</td><td class="val passed" id="row_24_1">5</td><td class="val passed" id="row_24_2">7</td></tr><tr id="row_25"><td class="val passed" id="row_25_0">20</td><td class="val passed" id="row_25_1">5</td><td class="val passed" id="row_25_2">15</td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ridiculous amounts of cukes</span></h4><table><tr id="row_28"><th class="val skipped_param" id="row_28_0">start</th><th class="val skipped_param" id="row_28_1">eat</th><th class="val skipped_param" id="row_28_2">left</th></tr><tr id="row_29"><td class="val passed" id="row_29_0">120</td><td class="val passed" id="row_29_1">50</td><td class="val passed" id="row_29_2">70</td></tr><tr id="row_30"><td class="val passed" id="row_30_0">200</td><td class="val passed" id="row_30_1">50</td><td class="val passed" id="row_30_2">150</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">no placeholders</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_33"><div><span class="keyword">Given</span> <span class="step val">there are 12 cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_34"><div><span class="keyword">When</span> <span class="step val">I eat 5 cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_35"><div><span class="keyword">Then</span> <span class="step val">I should have 7 cucumbers</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_38"><th class="val skipped_param" id="row_38_0">start</th><th class="val skipped_param" id="row_38_1">eat</th><th class="val skipped_param" id="row_38_2">left</th></tr><tr id="row_39"><td class="val" id="row_39_0">12</td><td class="val" id="row_39_1">5</td><td class="val" id="row_39_2">7</td></tr><tr id="row_40"><td class="val" id="row_40_0">20</td><td class="val" id="row_40_1">5</td><td class="val" id="row_40_2">15</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">using '<' and '>' not as placeholder</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_43"><div><span class="keyword">Given</span> <span class="step val">the belly space is < 12 and > 6</span></div></li><li class="step skipped" id="features_scenario_outline_feature_44"><div><span class="keyword">And</span> <span class="step val">there are <start> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_45"><div><span class="keyword">When</span> <span class="step val">I eat <eat> cucumbers</span></div></li><li class="step skipped" id="features_scenario_outline_feature_46"><div><span class="keyword">Then</span> <span class="step val">I should have <left> cucumbers</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_49"><th class="val skipped_param" id="row_49_0">start</th><th class="val skipped_param" id="row_49_1">eat</th><th class="val skipped_param" id="row_49_2">left</th></tr><tr id="row_50"><td class="val passed" id="row_50_0">12</td><td class="val passed" id="row_50_1">5</td><td class="val passed" id="row_50_2">7</td></tr><tr id="row_51"><td class="val passed" id="row_51_0">20</td><td class="val passed" id="row_51_1">5</td><td class="val passed" id="row_51_2">15</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">with step tables</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_54"><div><span class="keyword">Given</span> <span class="step val">I have the following fruits in my pantry</span></div><table><tr id="row_55"><td class="val" id="row_55_0">name</td><td class="val" id="row_55_1">quantity</td></tr><tr id="row_56"><td class="val" id="row_56_0">cucumbers</td><td class="val" id="row_56_1">10</td></tr><tr id="row_57"><td class="val" id="row_57_0">strawberrys</td><td class="val" id="row_57_1">5</td></tr><tr id="row_58"><td class="val" id="row_58_0">apricots</td><td class="val" id="row_58_1">7</td></tr></table></li><li class="step skipped" id="features_scenario_outline_feature_60"><div><span class="keyword">When</span> <span class="step val">I eat <number> <fruits> from the pantry</span></div></li><li class="step skipped" id="features_scenario_outline_feature_61"><div><span class="keyword">Then</span> <span class="step val">I should have <left> <fruits> in the pantry</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_64"><th class="val skipped_param" id="row_64_0">number</th><th class="val skipped_param" id="row_64_1">fruits</th><th class="val skipped_param" id="row_64_2">left</th></tr><tr id="row_65"><td class="val passed" id="row_65_0">2</td><td class="val passed" id="row_65_1">cucumbers</td><td class="val passed" id="row_65_2">8</td></tr><tr id="row_66"><td class="val passed" id="row_66_0">4</td><td class="val passed" id="row_66_1">strawberrys</td><td class="val passed" id="row_66_2">1</td></tr><tr id="row_67"><td class="val passed" id="row_67_0">2</td><td class="val passed" id="row_67_1">apricots</td><td class="val passed" id="row_67_2">5</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">placeholder in a multiline string</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_70"><div><span class="keyword">Given</span> <span class="step val">my shopping list</span></div><pre class="val"> Must buy some <fruits></pre></li><li class="step skipped" id="features_scenario_outline_feature_74"><div><span class="keyword">Then</span> <span class="step val">my shopping list should equal</span></div><pre class="val"> Must buy some cucumbers</pre></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_80"><th class="val skipped_param" id="row_80_0">fruits</th></tr><tr id="row_81"><td class="val passed" id="row_81_0">cucumbers</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">placeholder in step table</span></h3><ol><li class="step skipped" id="features_scenario_outline_feature_84"><div><span class="keyword">Given</span> <span class="step val">I have the following fruits in my pantry</span></div><table><tr id="row_85"><td class="val" id="row_85_0">name</td><td class="val" id="row_85_1">quantity</td></tr><tr id="row_86"><td class="val" id="row_86_0">cucumbers</td><td class="val" id="row_86_1"><quant_cukes></td></tr><tr id="row_87"><td class="val" id="row_87_0">strawberrys</td><td class="val" id="row_87_1"><quant_straw></td></tr></table></li><li class="step skipped" id="features_scenario_outline_feature_89"><div><span class="keyword">When</span> <span class="step val">I eat <number> <fruits> from the pantry</span></div></li><li class="step skipped" id="features_scenario_outline_feature_90"><div><span class="keyword">Then</span> <span class="step val">I should have <left> <fruits> in the pantry</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_93"><th class="val skipped_param" id="row_93_0">quant_cukes</th><th class="val skipped_param" id="row_93_1">quant_straw</th><th class="val skipped_param" id="row_93_2">number</th><th class="val skipped_param" id="row_93_3">fruits</th><th class="val skipped_param" id="row_93_4">left</th></tr><tr id="row_94"><td class="val passed" id="row_94_0">10</td><td class="val passed" id="row_94_1">5</td><td class="val passed" id="row_94_2">2</td><td class="val passed" id="row_94_3">cucumbers</td><td class="val passed" id="row_94_4">8</td></tr><tr id="row_95"><td class="val passed" id="row_95_0">5</td><td class="val passed" id="row_95_1">5</td><td class="val passed" id="row_95_2">4</td><td class="val passed" id="row_95_3">strawberrys</td><td class="val passed" id="row_95_4">1</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Cucumber</span></h2><p class="narrative">In order to have a happy user base<br/>As a Cucumber user<br/>I don't want no stinkin bugs<br/></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">RSpec be_*</span></h3><ol><li class="step passed" id="features_tickets_feature_7"><div><span class="keyword">Given</span> <span class="step val">be_empty</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Call step from step</span></h3><ol><li class="step passed" id="features_tickets_feature_10"><div><span class="keyword">Given</span> <span class="step val">nested step is called</span></div></li><li class="step passed" id="features_tickets_feature_11"><div><span class="keyword">Then</span> <span class="step val">nested step should be executed</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Call step from step using text table</span></h3><ol><li class="step passed" id="features_tickets_feature_14"><div><span class="keyword">Given</span> <span class="step val">nested step is called using text table</span></div></li><li class="step passed" id="features_tickets_feature_15"><div><span class="keyword">Then</span> <span class="step val">nested step should be executed</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Reading a table</span></h3><ol><li class="step passed" id="features_tickets_feature_18"><div><span class="keyword">Given</span> <span class="step val">the following table</span></div><table><tr id="row_19"><td class="val" id="row_19_0">born</td><td class="val" id="row_19_1">working</td></tr><tr id="row_20"><td class="val" id="row_20_0">Oslo</td><td class="val" id="row_20_1">London</td></tr></table></li><li class="step passed" id="features_tickets_feature_21"><div><span class="keyword">Then</span> <span class="step val">I should be <span class="param">working</span> in <span class="param">London</span></span></div></li><li class="step passed" id="features_tickets_feature_22"><div><span class="keyword">And</span> <span class="step val">I should be <span class="param">born</span> in <span class="param">Oslo</span></span></div></li><li class="step passed" id="features_tickets_feature_23"><div><span class="keyword">And</span> <span class="step val">I should see a multiline string like</span></div><pre class="val">A string
that spans
several lines</pre></li></ol></div></div><div class="summary">43 scenarios (12 undefined, 2 pending, 29 passed)</div><div class="summary">173 steps (5 skipped, 89 undefined, 2 pending, 77 passed)</div><div class="duration">0m0.701s</div></div></body></html>
|