cucumber 0.8.6 → 0.8.7
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +1 -1
- data/Caliper.yml +4 -0
- data/History.txt +1557 -0
- data/LICENSE +1 -1
- data/README.rdoc +26 -0
- data/Rakefile +51 -5
- data/VERSION.yml +5 -0
- data/bin/cucumber +1 -7
- data/cucumber.gemspec +77 -3
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/he/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +7 -4
- data/examples/i18n/ro/features/suma.feature +11 -0
- data/examples/i18n/ru/features/division.feature +2 -2
- data/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +3 -3
- data/examples/sinatra/features/support/env.rb +5 -2
- data/examples/v8/features/fibonacci.feature +1 -1
- data/examples/watir/features/step_definitions/search_steps.rb +1 -1
- data/features/announce.feature +164 -0
- data/features/around_hooks.feature +232 -0
- data/features/background.feature +95 -284
- data/features/bug_371.feature +32 -0
- data/features/bug_464.feature +16 -0
- data/features/bug_475.feature +42 -0
- data/features/bug_585_tab_indentation.feature +22 -0
- data/features/bug_600.feature +67 -0
- data/features/call_steps_from_stepdefs.feature +154 -0
- data/features/cucumber_cli.feature +591 -0
- data/features/cucumber_cli_outlines.feature +117 -0
- data/features/custom_formatter.feature +73 -3
- data/features/default_snippets.feature +42 -0
- data/features/diffing.feature +25 -0
- data/features/drb_server_integration.feature +174 -0
- data/features/exception_in_after_block.feature +127 -0
- data/features/exception_in_after_step_block.feature +104 -0
- data/features/exception_in_before_block.feature +98 -0
- data/features/exclude_files.feature +20 -0
- data/features/expand.feature +60 -0
- data/features/html_formatter.feature +8 -0
- data/features/html_formatter/a.html +582 -0
- data/features/json_formatter.feature +245 -160
- data/features/junit_formatter.feature +88 -0
- data/features/language_from_header.feature +30 -0
- data/features/language_help.feature +78 -0
- data/features/listener_debugger_formatter.feature +42 -0
- data/features/multiline_names.feature +44 -0
- data/features/negative_tagged_hooks.feature +60 -0
- data/features/post_configuration_hook.feature +37 -0
- data/features/profiles.feature +126 -0
- data/features/rake_task.feature +152 -0
- data/features/report_called_undefined_steps.feature +34 -0
- data/features/rerun_formatter.feature +45 -0
- data/features/simplest.feature +11 -0
- data/features/snippet.feature +23 -0
- data/features/snippets_when_using_star_keyword.feature +36 -0
- data/features/step_definitions/cucumber_steps.rb +153 -7
- data/features/step_definitions/extra_steps.rb +2 -0
- data/features/step_definitions/simplest_steps.rb +3 -0
- data/features/step_definitions/wire_steps.rb +32 -0
- data/features/support/env.rb +140 -18
- data/features/support/env.rb.simplest +7 -0
- data/features/support/fake_wire_server.rb +77 -0
- data/features/table_diffing.feature +45 -0
- data/features/table_mapping.feature +34 -0
- data/features/tag_logic.feature +258 -0
- data/features/transform.feature +245 -0
- data/features/unicode_table.feature +35 -0
- data/features/usage_and_stepdefs_formatter.feature +169 -0
- data/features/wire_protocol.feature +332 -0
- data/features/wire_protocol_table_diffing.feature +119 -0
- data/features/wire_protocol_tags.feature +87 -0
- data/features/wire_protocol_timeouts.feature +63 -0
- data/features/work_in_progress.feature +156 -0
- data/fixtures/json/features/pystring.feature +8 -0
- data/fixtures/junit/features/pending.feature +1 -3
- data/fixtures/self_test/features/background/background_tagged_before_on_outline.feature +12 -0
- data/fixtures/self_test/features/background/background_with_name.feature +7 -0
- data/fixtures/self_test/features/background/failing_background.feature +12 -0
- data/fixtures/self_test/features/background/failing_background_after_success.feature +11 -0
- data/fixtures/self_test/features/background/multiline_args_background.feature +32 -0
- data/fixtures/self_test/features/background/passing_background.feature +10 -0
- data/fixtures/self_test/features/background/pending_background.feature +10 -0
- data/fixtures/self_test/features/background/scenario_outline_failing_background.feature +16 -0
- data/fixtures/self_test/features/background/scenario_outline_passing_background.feature +16 -0
- data/fixtures/self_test/features/support/env.rb +0 -8
- data/fixtures/tickets/features.html +1 -1
- data/gem_tasks/examples.rake +1 -1
- data/gem_tasks/features.rake +14 -0
- data/gem_tasks/sdoc.rake +12 -0
- data/lib/cucumber.rb +0 -12
- data/lib/cucumber/ast.rb +1 -1
- data/lib/cucumber/ast/background.rb +5 -21
- data/lib/cucumber/ast/examples.rb +4 -12
- data/lib/cucumber/ast/feature.rb +5 -13
- data/lib/cucumber/ast/feature_element.rb +4 -9
- data/lib/cucumber/ast/outline_table.rb +4 -4
- data/lib/cucumber/ast/py_string.rb +80 -0
- data/lib/cucumber/ast/scenario.rb +5 -7
- data/lib/cucumber/ast/scenario_outline.rb +15 -23
- data/lib/cucumber/ast/step.rb +0 -5
- data/lib/cucumber/ast/step_invocation.rb +15 -21
- data/lib/cucumber/ast/table.rb +8 -14
- data/lib/cucumber/ast/tree_walker.rb +48 -10
- data/lib/cucumber/cli/configuration.rb +8 -33
- data/lib/cucumber/cli/main.rb +35 -20
- data/lib/cucumber/cli/options.rb +7 -8
- data/lib/cucumber/cli/profile_loader.rb +0 -2
- data/lib/cucumber/core_ext/proc.rb +1 -2
- data/lib/cucumber/feature_file.rb +15 -47
- data/lib/cucumber/formatter/ansicolor.rb +5 -3
- data/lib/cucumber/formatter/color_io.rb +23 -0
- data/lib/cucumber/formatter/console.rb +23 -27
- data/lib/cucumber/formatter/cucumber.css +17 -34
- data/lib/cucumber/formatter/cucumber.sass +182 -173
- data/lib/cucumber/formatter/html.rb +11 -46
- data/lib/cucumber/formatter/io.rb +4 -2
- data/lib/cucumber/formatter/json.rb +152 -15
- data/lib/cucumber/formatter/json_pretty.rb +6 -5
- data/lib/cucumber/formatter/junit.rb +22 -28
- data/lib/cucumber/formatter/pdf.rb +6 -6
- data/lib/cucumber/formatter/pretty.rb +5 -5
- data/lib/cucumber/formatter/rerun.rb +11 -22
- data/lib/cucumber/formatter/tag_cloud.rb +35 -0
- data/lib/cucumber/formatter/unicode.rb +20 -41
- data/lib/cucumber/js_support/js_dsl.js +4 -4
- data/lib/cucumber/js_support/js_language.rb +5 -9
- data/lib/cucumber/js_support/js_snippets.rb +2 -2
- data/lib/cucumber/language_support.rb +2 -2
- data/lib/cucumber/parser/gherkin_builder.rb +30 -35
- data/lib/cucumber/platform.rb +8 -8
- data/lib/cucumber/py_support/py_language.rb +2 -2
- data/lib/cucumber/rake/task.rb +31 -74
- data/lib/cucumber/rb_support/rb_dsl.rb +0 -1
- data/lib/cucumber/rb_support/rb_language.rb +8 -10
- data/lib/cucumber/rb_support/rb_step_definition.rb +0 -8
- data/lib/cucumber/rb_support/rb_transform.rb +0 -17
- data/lib/cucumber/rb_support/rb_world.rb +18 -26
- data/lib/cucumber/rspec/doubles.rb +3 -3
- data/lib/cucumber/step_match.rb +2 -6
- data/lib/cucumber/step_mother.rb +427 -6
- data/lib/cucumber/wire_support/configuration.rb +1 -4
- data/lib/cucumber/wire_support/wire_language.rb +10 -3
- data/spec/cucumber/ast/background_spec.rb +6 -68
- data/spec/cucumber/ast/feature_factory.rb +4 -5
- data/spec/cucumber/ast/feature_spec.rb +4 -4
- data/spec/cucumber/ast/outline_table_spec.rb +1 -1
- data/spec/cucumber/ast/py_string_spec.rb +40 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +11 -15
- data/spec/cucumber/ast/scenario_spec.rb +4 -4
- data/spec/cucumber/ast/step_spec.rb +3 -3
- data/spec/cucumber/ast/table_spec.rb +2 -38
- data/spec/cucumber/ast/tree_walker_spec.rb +2 -2
- data/spec/cucumber/broadcaster_spec.rb +1 -1
- data/spec/cucumber/cli/configuration_spec.rb +6 -32
- data/spec/cucumber/cli/drb_client_spec.rb +3 -2
- data/spec/cucumber/cli/main_spec.rb +43 -43
- data/spec/cucumber/cli/options_spec.rb +1 -28
- data/spec/cucumber/cli/profile_loader_spec.rb +1 -1
- data/spec/cucumber/core_ext/proc_spec.rb +1 -1
- data/spec/cucumber/formatter/ansicolor_spec.rb +1 -1
- data/spec/cucumber/formatter/color_io_spec.rb +29 -0
- data/spec/cucumber/formatter/duration_spec.rb +1 -1
- data/spec/cucumber/formatter/html_spec.rb +5 -3
- data/spec/cucumber/formatter/junit_spec.rb +2 -16
- data/spec/cucumber/formatter/progress_spec.rb +1 -1
- data/spec/cucumber/formatter/spec_helper.rb +12 -11
- data/spec/cucumber/rb_support/rb_language_spec.rb +28 -241
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +28 -33
- data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +1 -1
- data/spec/cucumber/step_match_spec.rb +9 -11
- data/spec/cucumber/step_mother_spec.rb +302 -0
- data/spec/cucumber/wire_support/configuration_spec.rb +1 -1
- data/spec/cucumber/wire_support/connection_spec.rb +1 -1
- data/spec/cucumber/wire_support/wire_exception_spec.rb +1 -1
- data/spec/cucumber/wire_support/wire_language_spec.rb +1 -1
- data/spec/cucumber/wire_support/wire_packet_spec.rb +1 -1
- data/spec/cucumber/wire_support/wire_step_definition_spec.rb +1 -1
- data/spec/cucumber/world/pending_spec.rb +2 -2
- data/spec/spec_helper.rb +20 -13
- metadata +78 -4
data/.rspec
CHANGED
@@ -1 +1 @@
|
|
1
|
-
--color
|
1
|
+
--color
|
data/Caliper.yml
ADDED
data/History.txt
ADDED
@@ -0,0 +1,1557 @@
|
|
1
|
+
== 0.8.6 (2011-06-19)
|
2
|
+
|
3
|
+
=== New Features
|
4
|
+
* Support for Rake 0.9.x (Rasheed Abdul-Aziz)
|
5
|
+
|
6
|
+
== 0.8.5 (2010-07-14)
|
7
|
+
|
8
|
+
=== Bugfixes
|
9
|
+
* Location of stepdefs outside the project (in gems) are reported incorrectly. (#583 Aslak Hellesøy)
|
10
|
+
* Cucumber::Rake::Task uses 'bundle exec' when using bundler (#626 John Firebaugh)
|
11
|
+
|
12
|
+
== 0.8.4 (2010-07-12)
|
13
|
+
|
14
|
+
=== Bugfixes
|
15
|
+
* Fix "Errno::EADDRNOTAVAIL" errors that may be received with spork on Snow Leopard. (Lucas Mundim)
|
16
|
+
|
17
|
+
=== New features
|
18
|
+
* Detect limit for negative tags (#636 Aslak Hellesøy)
|
19
|
+
* Support for RSpec 2 doubles (mocks and stubs) (Aslak Hellesøy)
|
20
|
+
|
21
|
+
== 0.8.3 (2010-06-16)
|
22
|
+
|
23
|
+
Just a quick bugfix release.
|
24
|
+
|
25
|
+
=== Bugfixes
|
26
|
+
* Scenario outlines that fail with exception exit process (Aslak Hellesøy)
|
27
|
+
|
28
|
+
== 0.8.2 (2010-06-16)
|
29
|
+
|
30
|
+
Bugfix release which most importantly fixes an issue with the gem's gemspec.
|
31
|
+
|
32
|
+
=== Bufixes
|
33
|
+
* Fix v8 support which broke in 0.8.1 because of new gherkin API (Aslak Hellesøy)
|
34
|
+
* Call Around hooks for each example in scenario outlines. (John Firebaugh)
|
35
|
+
* Remove extraneous tmp file from the gemspec, which broke installation in some environments. (Fernando Brito, Aslak Hellesøy)
|
36
|
+
* 0.8.1 fails on JRuby (#627 Aslak Hellesøy)
|
37
|
+
|
38
|
+
=== New Features
|
39
|
+
* JavaScript to Hide/Expand Scenarios in HTML report (#621 stkenned)
|
40
|
+
|
41
|
+
== 0.8.1 (2010-06-15)
|
42
|
+
|
43
|
+
=== Bufixes
|
44
|
+
* generate test report fails: ast/outline_table.rb fails in status() (#615 Aslak Hellesøy)
|
45
|
+
|
46
|
+
=== New Features
|
47
|
+
* Undefined steps with integers (Given 3 cukes) will generate snippets like (Given /(\d+) cukes/). (Aslak Hellesøy)
|
48
|
+
|
49
|
+
== 0.8.0 (2010-06-06)
|
50
|
+
|
51
|
+
=== Bugfixes
|
52
|
+
* Require profile option causes a NoMethodError for Cucumber with JRuby (#601 John Firebaugh)
|
53
|
+
* Deprecations warnings with Spork + Cucumber + RSpec 2.0. (#619 Brian Cardarella)
|
54
|
+
* Fixed edge case compatibility problem with Gherkin 1.0.30. (#618 Aslak Hellesøy)
|
55
|
+
|
56
|
+
=== New features
|
57
|
+
* Better table support in the V8 Javascript support (Joseph Wilk)
|
58
|
+
* JSON formatters (json and json_pretty). (Jari Bakken)
|
59
|
+
|
60
|
+
=== Removed features
|
61
|
+
* The --no-diff option is removed. If you're using RSpec you will *always* get diffs. (Aslak Hellesøy)
|
62
|
+
|
63
|
+
=== Changed Features
|
64
|
+
* Upgraded to be compatible with rspec 2.0.0.beta.10 (Aslak Hellesøy)
|
65
|
+
* Ruby snippets will use "([^"]*)" instead of "([^\"]*)"$/ - wasn't properly fixed in 0.7.1. (Aslak Hellesøy)
|
66
|
+
* Preserve the order features files are passed and use this for execution order (#617 Joseph Wilk)
|
67
|
+
|
68
|
+
== 0.7.3 (2010-05-17)
|
69
|
+
|
70
|
+
=== New Features
|
71
|
+
* Table cells can now contain escaped bars - \| and escaped backslashes - \\. (Gregory Hnatiuk, Aslak Hellesøy)
|
72
|
+
* Added support for Around hooks. (#605 John Firebaugh)
|
73
|
+
|
74
|
+
== 0.7.2 (2010-05-03)
|
75
|
+
|
76
|
+
=== Bugfixes
|
77
|
+
* REALLY add backwards compatibility fix (with deprecation warning) for legacy 0.6.4 formatters. (Aslak Hellesøy)
|
78
|
+
|
79
|
+
== 0.7.1 (2010-05-03)
|
80
|
+
|
81
|
+
=== Bugfixes
|
82
|
+
* Add backwards compatibility fix (with deprecation warning) for legacy 0.6.4 formatters. (Aslak Hellesøy)
|
83
|
+
|
84
|
+
=== Changed Features
|
85
|
+
* Ruby and Javascript snippets will use "([^"]*)" instead of "([^\"]*)"$/ (Aslak Hellesøy)
|
86
|
+
|
87
|
+
== 0.7.0 (2010-05-02)
|
88
|
+
|
89
|
+
This release is an important milestone for Cucumber. A new parser (the gherkin gem) parses feature
|
90
|
+
files 50-100 times faster than with 0.6.x and previous releases. Make sure you read the upgrade
|
91
|
+
instructions! http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
92
|
+
|
93
|
+
== 0.7.0.beta.8 (2010-04-29)
|
94
|
+
|
95
|
+
=== Bugfixes
|
96
|
+
* Inconsistent order of execution Background and Before in 0.7.0.beta.2 (#600 Mike Sassak)
|
97
|
+
* Make sure both lexing and parsing errors are captured and reported with line number (Gregory Hnatiuk)
|
98
|
+
|
99
|
+
== 0.7.0.beta.7 (2010-04-28)
|
100
|
+
|
101
|
+
=== Bugfixes
|
102
|
+
* Depend on gherkin-1.0.22, which should now make things work on Windows and Ruby 1.8.x-1.9.x. (Aslak Hellesøy)
|
103
|
+
|
104
|
+
== 0.7.0.beta.6 (2010-04-28)
|
105
|
+
|
106
|
+
=== Bugfixes
|
107
|
+
* Fixed a small regression with pystrings and calling steps from stepdefs, introduced in a previous beta. (Aslak Hellesøy)
|
108
|
+
|
109
|
+
== 0.7.0.beta.5 (2010-04-27)
|
110
|
+
|
111
|
+
=== New Features
|
112
|
+
* Support RSpec 2. (RSpec >= 1.2.4 is still supported). (Aslak Hellesøy, Ryan Bigg)
|
113
|
+
|
114
|
+
=== Removed features
|
115
|
+
* No more support for RSpec <= 1.2.3. (Aslak Hellesøy)
|
116
|
+
|
117
|
+
== 0.7.0.beta.4 (2010-04-24)
|
118
|
+
|
119
|
+
=== New Features
|
120
|
+
* New, experimental V8 javascript support - step definitions in Javascript! (Joseph Wilk)
|
121
|
+
|
122
|
+
=== Bugfixes
|
123
|
+
* Gherkin is loaded via rubygems if it can't be found on the $LOAD_PATH. (Aslak Hellesøy)
|
124
|
+
|
125
|
+
== 0.7.0.beta.3 (2010-04-23)
|
126
|
+
|
127
|
+
=== Changed Features
|
128
|
+
* Step Definitions and calling steps from step definitions can again use And and But (was removed in 0.7.0.beta.2) (Aslak Hellesøy)
|
129
|
+
|
130
|
+
== 0.7.0.beta.2 (2010-04-21)
|
131
|
+
|
132
|
+
=== New Features
|
133
|
+
* Depend on Gherkin 1.0.18, which has some bugfixes. (Aslak Hellesøy)
|
134
|
+
|
135
|
+
== 0.7.0.beta.1 (2010-04-20)
|
136
|
+
|
137
|
+
Treetop is gone and replaced with Ragel. The new Ragel parser lives in the gherkin gem.
|
138
|
+
Parse times are up to 100 times faster.
|
139
|
+
|
140
|
+
=== New Features
|
141
|
+
* Upgraded Sinatra example to use Sinatra 1.0 and Capybara. (Aslak Hellesøy)
|
142
|
+
|
143
|
+
=== Changed Features
|
144
|
+
* New i18n translations now have to be contributed to the gherkin project.
|
145
|
+
|
146
|
+
== 0.6.4 2010-03-30
|
147
|
+
|
148
|
+
=== Bugfixes
|
149
|
+
* Better handling of --guess with optional capture groups (Tim Felgentreff)
|
150
|
+
* Parsing of rerun.txt can't use Shellwords on Windows (#581 David Esposito)
|
151
|
+
* #announce can now take non-String arguments just like Kernel#puts - #to_s is done implicitly. (Aslak Hellesøy)
|
152
|
+
* Attempt to fix Cucumber::CODEPAGE error again for Windows (#561 Aslak Hellesøy)
|
153
|
+
* Tab indentation causes multiline step arguments to fail (#585 Aslak Hellesøy)
|
154
|
+
* Properly pass tags over the wire protocol (Matt Wynne)
|
155
|
+
* Profile loading should honour the --strict option (#580 Rob Holland)
|
156
|
+
* Snippets are properly printed when using '*' as step keyword. (Used to cause infinite recursion). (Aslak Hellesøy)
|
157
|
+
|
158
|
+
=== New features
|
159
|
+
* Added #announce_world method, printing the World class and all included modules (Ruby only). (Aslak Hellesøy)
|
160
|
+
* Added #announce to the PDF formatter (Nicolas Bessi)
|
161
|
+
* Show fails for After/Before hooks in the progress formatter (#584 Joseph Wilk)
|
162
|
+
|
163
|
+
== Changed features
|
164
|
+
* Switced to ISO 639-1 (language) and ISO 3166 alpha-2 (region - if applicable). Applies to Catalan,
|
165
|
+
Swedish, Welsh, Romanian and Serbian. (Aslak Hellesøy)
|
166
|
+
|
167
|
+
== 0.6.3 2010-03-02
|
168
|
+
|
169
|
+
=== Bugfixes
|
170
|
+
* Split arguments in cucumber.yml with shellwords. Example: myprofile: --out="Features report.html" (Nathaniel Haas)
|
171
|
+
* Breakage in Rails 2-3-stable after html_safe is added to the repo. (#577 Aslak Hellesøy)
|
172
|
+
* uninitialized constant Cucumber::CODEPAGE (NameError) (#561 Aslak Hellesøy)
|
173
|
+
* HTML Formatter is broken in cucumber 0.6.2 and cuke4duke 0.2.3 (#567 Dan Fitch)
|
174
|
+
* Ensure consistent load order of support files (#564 Mike Sassak)
|
175
|
+
* Fix various places in PDF formatter where HTML entities could break prawn (Matt Wynne)
|
176
|
+
* The rerun formatter outputs failed, pending and undefined scenarios (before: only failing) (Aslak Hellesøy)
|
177
|
+
|
178
|
+
=== New features
|
179
|
+
* Added "Angenommen" as German synonym for Given (Sven Fuchs, Aslak Hellesøy)
|
180
|
+
* New #ask(question, timeout_seconds=60) method available to stepdefs. Asks for input and #announce-s question and answer. (Aslak Hellesøy)
|
181
|
+
* Links to step definitions are now clickable in TextMate's HTML report (Rob Aldred)
|
182
|
+
* Add diff! message to wire protocol to allow for immediate diff response to invokes (Matt Wynne)
|
183
|
+
* Add tags to begin/end scenario messages on wire protocol to support tagged hooks (#571 Matt Wynne)
|
184
|
+
* Default timeouts to 120s for invoke, begin_scenario and end_scenario messages in wire protocol (#572 Matt Wynne)
|
185
|
+
|
186
|
+
== 0.6.2 2010-01-18
|
187
|
+
|
188
|
+
=== Bugfixes
|
189
|
+
* Update --help for --tags which was out of date. (Aslak Hellesøy)
|
190
|
+
* Explicitly use Prawn 0.6.3 for pdf formatter since 0.7.1 is broken (Aslak Hellesøy)
|
191
|
+
* PDF formatter renders tables incorrectly (#553 Andy Waite)
|
192
|
+
* Better colouring in HTML report (Rob Aldred)
|
193
|
+
* Detect output encoding properly on JRuby+Windows (Aslak Hellesøy)
|
194
|
+
* Added option to override output encoding on Windows with an CUCUMBER_OUTPUT_ENCODING env var (Aslak Hellesøy)
|
195
|
+
* PDF generation requires 'prawn-format' (#558 Aslak Hellesøy)
|
196
|
+
|
197
|
+
=== New features
|
198
|
+
* Show profiles in error scenario summary. (#550 Joseph Wilk)
|
199
|
+
|
200
|
+
=== Removed features
|
201
|
+
* element_at and table_at have been removed. Use tableish in cucumber-rails instead. (Aslak Hellesœy)
|
202
|
+
|
203
|
+
== 0.6.1 2010-01-03
|
204
|
+
|
205
|
+
=== Bugfixes
|
206
|
+
* Fixed broken console handling on Windows/JRuby that was introduced in 0.6.0. (Aslak Hellesøy)
|
207
|
+
|
208
|
+
== 0.6.0 2010-01-03
|
209
|
+
|
210
|
+
Bumping to 0.6.0 for this release since we're breaking backwards compatibility with tags.
|
211
|
+
|
212
|
+
=== Changed Features
|
213
|
+
* Tag boolean logic is inverted. What was ORed before is now ANDed and vice versa. (#504 Aslak Hellesøy)
|
214
|
+
This makes it more practical in most cases to mix tags from profiles and the command line
|
215
|
+
|
216
|
+
In previous versions the following command line:
|
217
|
+
|
218
|
+
--tags @foo,~@bar --tags @zap (on the command line)
|
219
|
+
|
220
|
+
or the following Hook:
|
221
|
+
|
222
|
+
Before("@foo,~@bar", "@zap") (for Hooks)
|
223
|
+
|
224
|
+
would be equivalent to the boolean expression: (@foo && !@bar) || @zap
|
225
|
+
Starting with this release it will be equivalent to: (@foo || !@bar) && @zap
|
226
|
+
|
227
|
+
=== Bugfixes
|
228
|
+
* Cucumber not loading the correct settings using autospec (#496, #523 Aslak Hellesøy, Andrzej Śliwa)
|
229
|
+
* Ruby 1.9.2 fails to load features/support/env.rb (#549 Aslak Hellesøy)
|
230
|
+
* All features (except 4) pass on 1.9.2 (but not on 1.9.1) (Aslak Hellesøy)
|
231
|
+
* Add missing require statement in rerun formatter which broke RubyMine (Noah Sussman)
|
232
|
+
|
233
|
+
== 0.5.3 2009-12-22
|
234
|
+
|
235
|
+
Another small release today to please a sister project. This time Cuke4Nuke.
|
236
|
+
|
237
|
+
=== New Features
|
238
|
+
* Simplified wire protocol to mostly use success / fail responses (Matt Wynne)
|
239
|
+
|
240
|
+
== 0.5.2 2009-12-22
|
241
|
+
|
242
|
+
=== New Features
|
243
|
+
* On JRuby/Cuke4Duke, --require DIR will put DIR on the $CLASSPATH, making it easier to load step def classes (Aslak Hellesøy)
|
244
|
+
* New --jars option that will load jar files. Only available on JRuby. Practical for Cuke4Duke. (Aslak Hellesøy)
|
245
|
+
|
246
|
+
=== Bugfixes
|
247
|
+
* Add #embed back to html formatter (#547 Brandon Faloona)
|
248
|
+
* Refactored wire protocol code and added configurable timeout to allow for long running step definitions. (#546 Matt Wynne)
|
249
|
+
|
250
|
+
== 0.5.1 2009-12-16
|
251
|
+
|
252
|
+
Small bugfix release.
|
253
|
+
|
254
|
+
=== Bugfixes
|
255
|
+
* Replaced dependency on json gem with an error message, so that the cucumber gem installs on JRuby. (Aslak Hellesøy)
|
256
|
+
|
257
|
+
== 0.5.0 2009-12-15
|
258
|
+
|
259
|
+
We're bumping to 0.5.0 for this release since all of the Rails code has now moved to a new gem - cucumber-rails.
|
260
|
+
Please see History.txt in cucumber-rails for details about what's new on the Rails side.
|
261
|
+
|
262
|
+
=== New features
|
263
|
+
* "Given" in Dutch is now aliased to "Gegeven" or "Stel". (Iain Hecker)
|
264
|
+
* New --i18n option to list keywords in various languages. (Aslak Hellesøy)
|
265
|
+
* Added a Tcl example using Sam Stephenson's ruby-tcl (Aslak Hellesøy)
|
266
|
+
* Added * as a synonym for Given/When/Then/And/But (for all i18n languages). (#462 Aslak Hellesøy)
|
267
|
+
* The HTML formatter produces a much nicer report, with TextMate link integration. (Rob Aldred)
|
268
|
+
* Wire protocol now supports table arguments, step definition source & regexp, snippets, pending, table diffing (Matt Wynne)
|
269
|
+
|
270
|
+
=== Changed Features
|
271
|
+
* Per-word trailing-space setting for step keywords using '<'. See 'fr' in languages.yml for example. (#525 Gregory Hnatiuk)
|
272
|
+
* Formatters will no longer be passed File objects. They must use ensure_io, ensure_file or ensure_dir. (Aslak Hellesøy)
|
273
|
+
|
274
|
+
=== Bugfixes
|
275
|
+
* Exception messages are properly escaped in the HTML report. (Aslak Hellesøy)
|
276
|
+
* Improved UTF-8 support for Windows. (Aslak Hellesøy)
|
277
|
+
* Make #element_at / #table_at work on Webrat 0.6.0. This is now deprecated it in favour of #tableish from the cucumber-rails gem. (Aslak Hellesøy)
|
278
|
+
* JUnit formatter not handling multiline table steps inside Scenario Outlines (#538 Matt Wynne)
|
279
|
+
* Pending in scenario outline is red (#399 Matt Wynne)
|
280
|
+
* Allow optional step arguments to play happily with step transforms (Rob Holland)
|
281
|
+
* Regex escape the path when filtering the backtrace (Corey Donohoe & Simon Rozet)
|
282
|
+
* Add gem dependency on JSON gem, required by wire protocol (#533 Matt Wynne)
|
283
|
+
|
284
|
+
=== Removed Features
|
285
|
+
* All Rails-related code is in a separate gem: cucumber-rails. Install that if you're working with Rails. (#483 Aslak Hellesøy)
|
286
|
+
* --language is removed: http://wiki.github.com/aslakhellesoy/cucumber/spoken-languages (Aslak Hellesøy)
|
287
|
+
|
288
|
+
== 0.4.4 2009-11-13
|
289
|
+
|
290
|
+
What a bad day to make a release, but here goes.
|
291
|
+
|
292
|
+
=== New features
|
293
|
+
* Cucumber should use ActiveSupport::Callbacks for fixtures (#516 Adam Salter)
|
294
|
+
* Make 'I' optional in all webrat steps. (Gavin Hughes)
|
295
|
+
* Make generated cucumber.rake work with a vendored gem (Alex Rothenberg)
|
296
|
+
* Native support for ANSIColor on IronRuby via the iron-term-ansicolor gem (Will Green)
|
297
|
+
* Call a bunch of steps from step definitions - also with tables or pystrings. Copy-paste friendly (Bodaniel Jeanes, Jack Chen, Aslak Hellesøy)
|
298
|
+
|
299
|
+
=== Bugfixes
|
300
|
+
* Pretty printer fails when expanding scenario outlines with -x when the background includes a table (#515 Mike Sassak)
|
301
|
+
* Ensure tags used with Before/After hooks always get parsed (#520 Joseph Wilk)
|
302
|
+
* Define IRONRUBY correctly on Ruby 1.9 (Joe Van Dyk)
|
303
|
+
* RbStepDefinition#invoke calls #backtrace_line on self rather than @proc (#503 Mike Sassak)
|
304
|
+
* Avoid duplicate cucumber entries in database.yml (Daniel Hofstetter)
|
305
|
+
* Added respond_to? when checking config.cache_classes for older Rails versions (Jeremy Durham)
|
306
|
+
|
307
|
+
=== Changed Features
|
308
|
+
* Rails support has been moved to the cucumber-rails gem (Dennis Blöte, Aslak Hellesøy) TODO - WIKI DOCUMENTATION BEFORE RELEASE
|
309
|
+
* The code for Czech has changed from cz to cs. (deepj)
|
310
|
+
* $cucumber_interrupted is now Cucumber.wants_to_quit - avoid global variable, which gives warnings. (Aslak Hellesøy)
|
311
|
+
* Examples keyword without a colon is deprecated loudly. Gherkin will not recognize it at all. (Gherkin #30 Mike Sassak)
|
312
|
+
|
313
|
+
== 0.4.3 2009-10-28
|
314
|
+
|
315
|
+
The exciting thing about this release is that the wire protocol is starting to take shape. This means you can
|
316
|
+
now use Cucumber with .NET - writing step definitions in C#. And this is without having to use IronRuby at all!
|
317
|
+
See Cuke4Nuke (http://wiki.github.com/richardlawrence/Cuke4Nuke) for more information.
|
318
|
+
|
319
|
+
As usual there are several small features and bug fixes.
|
320
|
+
|
321
|
+
=== New Features
|
322
|
+
* Add support for ORing tags which are passed in with seperate --tag arguments. Make comma seperated tags use AND (#368 Joseph Wilk)
|
323
|
+
* New Wire Protocol - allowing out of process execution of Cucumber scenarios. (#428 Matt Wynne)
|
324
|
+
* Added an example illustrating how to get screenshots in HTML reports (examples/watir) (Aslak Hellesøy)
|
325
|
+
* Added new #embed(file, mime_type) method to visitors and Ruby Worlds to make it easier to embed screenshots (Aslak Hellesøy)
|
326
|
+
* The #announce method available from Ruby Step Definitions will print *after* the step is executed. (#487 Zoltan Penzeli)
|
327
|
+
* Add support for rolling back transaction for all open database connections. (John Ferlito)
|
328
|
+
* Show scenario and step summary in HTML formatter (#285 Joseph Wilk)
|
329
|
+
* Ast::Table can now be constructed with an Array of Hash. (Aslak Hellesøy)
|
330
|
+
|
331
|
+
=== Changed features
|
332
|
+
* The #announce method will no longer escape HTML if the html formatter is used. Escaping must be done manually. (Aslak Hellesøy)
|
333
|
+
|
334
|
+
=== Bugfixes
|
335
|
+
* Fixed incorrect rendering of step arguments with UTF8 characters (Aslak Hellesøy)
|
336
|
+
* "--format rerun", with a Scenario Outline, kills cucumber (#492 Aslak Hellesøy)
|
337
|
+
* Usage formatter is not reporting time correctly. (Elliot Crosby-McCullough)
|
338
|
+
* JUnit formatter raises a more helpful error when run on a feature with no name. (#493 Matt Wynne)
|
339
|
+
* Better Danish translation (Thorbjørn Ravn Andersen)
|
340
|
+
|
341
|
+
|
342
|
+
== 0.4.2 2009-10-14
|
343
|
+
|
344
|
+
Bugfix release. The 0.4.1 release was hosed when switching from Hoe to Jeweler.
|
345
|
+
|
346
|
+
== 0.4.1 2009-10-14
|
347
|
+
|
348
|
+
This is mostly a bugfix release. Some of Cucumber's own features have been fixed so they pass on more platforms,
|
349
|
+
making it easier for people to contribute. The README.txt also describes how to get up and running with the
|
350
|
+
development environment.
|
351
|
+
|
352
|
+
=== Bugfixes
|
353
|
+
* Cucumber's features verified passing on MRI 1.8.6 (OSX), 1.8.7 (OSX), 1.9.1 (OSX/Win) and JRuby 1.4.0RC1 (OSX). (Aslak Hellesøy)
|
354
|
+
* Ensure no errors are raised when limiting with tags which are not in the feature set (#464 Joseph Wilk)
|
355
|
+
* Missing Romanian keywords added for Examples, Scenario Outline and Background (to my best google translate knowledge) (Aslak Hellesøy)
|
356
|
+
* Make rerun and --drb work together again after formatter API changes (#485 Erik Hansson, John Ferlito)
|
357
|
+
|
358
|
+
=== New Features
|
359
|
+
* The Rails cucumber generator will only default to RSpec if installed. And print better help. (Aslak Hellesøy)
|
360
|
+
* Added 'but' variants to Japanese. (Kakutani Shintaro)
|
361
|
+
* README.txt explains people how to run all tests. Install gems with geminstaller. (Aslak Hellesøy)
|
362
|
+
* Added support for Serbian language, both Cyrillic and Latin with usage examples. (Dejan Dimic)
|
363
|
+
* Add new 'debug' formatter for debugging and visualising the calls to listeners. (Matt Wynne)
|
364
|
+
|
365
|
+
=== Changed features
|
366
|
+
* Use http://github.com/aslakhellesoy/wac instead of http://github.com/aslakhellesoy/ansicolor on Windows/JRuby (#456 Aslak Hellesøy)
|
367
|
+
|
368
|
+
=== Internal changes
|
369
|
+
* Ditched Hoe for Jeweler (Aslak Hellesøy)
|
370
|
+
* Added StepMother#invoke(step_name, multiline_argument=nil) - needed by cuke4duke ticket #26 (Aslak Hellesøy)
|
371
|
+
* StepDefinitionMethods is gone.
|
372
|
+
|
373
|
+
== 0.4.0 2009-10-09
|
374
|
+
|
375
|
+
The back to stable release. When we went from 0.3.11 to 0.3.90 we thought we were close to a 0.4.0 release. Then the community
|
376
|
+
went nuts and a lot of great contributions came in. Some of those broke backwards compatibility, and we decided it would be
|
377
|
+
better to do this while still on 0.3.x.
|
378
|
+
|
379
|
+
Rails users: you *must* run script/generate cucumber after installing this version.
|
380
|
+
|
381
|
+
If something breaks for you, please please please read this file carefully. It's most likely something referenced here, and
|
382
|
+
that will give you more information so you can solve any problems. If not, just get in touch on IRC or the Google Group.
|
383
|
+
|
384
|
+
=== New Features
|
385
|
+
* Total feature parsing time is shown when run with --verbose. Useful for benchmarking with future Ragel parser (Aslak Hellesøy)
|
386
|
+
* Tables yielded to step definitions are no longer frozen, so you can edit their data without #dup'ing (Aslak Hellesøy)
|
387
|
+
* Transform can now transform tables, using /table:col1,col2,col3/ (#478 Corey Haines)
|
388
|
+
* cucumber.yml can also end in .yaml and be located in .config/ or config/ dirs (#447 trans)
|
389
|
+
* Turkish support. (Hakan Şenol Ensari)
|
390
|
+
* Upgrade Rails generator to set a dependency to Spork 0.7.3. (Aslak Hellesøy)
|
391
|
+
* Installation via rubygems will print a message telling people to read this file. (Aslak Hellesøy)
|
392
|
+
* Files generated by the Rails cucumber generator have information about the risks of editing. (Aslak Hellesøy)
|
393
|
+
* Rotten Cucumber alert on Rails if you upgrade your gem without regenerating with script/generate cucumber. (Aslak Hellesøy)
|
394
|
+
* Stop the confusion between "homepage" and "home page" by allowing both (Ryan Bigg & Bodaniel Jeanes)
|
395
|
+
* Make script/cucumber file generated by the Rails cucumber generator look for cucumber in vendored gems as well. (Tom ten Thij)
|
396
|
+
|
397
|
+
=== Changed Features
|
398
|
+
* Step tables now default empty table cells to empty strings and not nil (#470 Joseph Wilk)
|
399
|
+
|
400
|
+
=== Removed Features
|
401
|
+
* The feature_list, feature_pattern, step_list and step_pattern properties are removed from the Rake task. Use profiles instead. (Aslak Hellesøy)
|
402
|
+
* The FeatureTask is removed. Use profiles instead.
|
403
|
+
|
404
|
+
=== Bugfixes
|
405
|
+
* instance_exec get declared private (#477 Tim Galeckas)
|
406
|
+
* Transforms can return nil. (Thomas Marek)
|
407
|
+
* Generated rails rake tasks doesn't use the vendored version cucumber binary (#468 Josh Nichols)
|
408
|
+
* Incorrect diagnostics in case when Before raises in presence of Background (#465 Fedor Kocherga)
|
409
|
+
* Error on pystring in scenario outline with pretty formatter (#475 Aslak Hellesøy)
|
410
|
+
* Adding After('@allow-rescue') to set allow_rescue back to its former value. (Alf Mikula)
|
411
|
+
* Feature files are now sorted before they are executed, because different operating systems may list files differently. (Aslak Hellesøy)
|
412
|
+
* Fixed image loading for Windows in PDF formatter. Allow use of both png and jpg. (#461 Declan Whelan)
|
413
|
+
* Before('~@no-txn') is run on all scenarios without @no-txn causing Cucumber::Rails::World.use_transactional_fixtures to always be true. (#457 Aslak Hellesøy)
|
414
|
+
* JUnit formatter not handling scenario outline tables (#472 Matt Wynne)
|
415
|
+
* Language help broken (#467 Matt Wynne)
|
416
|
+
* Language help formatter aligns output better on Ruby 1.8.6 (Aslak Hellesøy)
|
417
|
+
* Better backtraces for Ruby 1.8.7. (Jakob Skov-Pedersen)
|
418
|
+
* String step definitions ( Given 'I have $number cucumbers' ) are escaped before being turned into regular expressions. (David Waite)
|
419
|
+
|
420
|
+
== 0.3.104 2009-09-27
|
421
|
+
|
422
|
+
This release has some minor changes to the command line and formatters. The biggest change is internally, paving
|
423
|
+
the way for more programming language support in Cuke4Duke, which now supports step definitions written in Java, Scala,
|
424
|
+
Groovy, Clojure and Javascript!
|
425
|
+
|
426
|
+
=== New Features
|
427
|
+
* "usage" formatter should display progress (#437 Aslak Hellesøy)
|
428
|
+
* Added example for Ramaze. (Yutaka HARA)
|
429
|
+
|
430
|
+
=== Bugfixes
|
431
|
+
* Fixed regression in profile formatter from 0.3.102. (Aslak Hellesøy)
|
432
|
+
* Raise a proper error message if someone forgets @ for tags, example: --tags ~foo or --tags bar. (Aslak Hellesøy)
|
433
|
+
* lib/cucumber/formatter/html.rb requires xml (#458 Brent Snook)
|
434
|
+
* lib/cucumber/formatter/html.rb requires ruby-debug (#455 Assaf Arkin)
|
435
|
+
* Allow for STDOUT formatters to be defined in profiles. Addresses an Autotest plugin issue. (#375 Gabriel Medina)
|
436
|
+
|
437
|
+
=== Removed features
|
438
|
+
* The --dry-run option no longer implies --no-source and --no-snippets. It only implies --no-snippets. (Aslak Hellesøy)
|
439
|
+
|
440
|
+
=== Changed features
|
441
|
+
* The profile and usage formatters have been combined to the usage formatter. Use it eith or without --dry-run. See --help for more. (Aslak Hellesøy)
|
442
|
+
* The steps formatter has been renamed to stepdefs formatter. (Aslak Hellesøy)
|
443
|
+
* The internal programming language API has changed, giving more power to the implementation. See #428. (Aslak Hellesøy)
|
444
|
+
|
445
|
+
== 0.3.103 2009-09-24
|
446
|
+
|
447
|
+
This release gives you back some of the control over the Rails environment that was accidentally taken away from you in the
|
448
|
+
previous release.
|
449
|
+
|
450
|
+
Using this release on a Rails project requires a rerun of script/generate cucumber.
|
451
|
+
|
452
|
+
=== New Features
|
453
|
+
* Added a new @no-txn tag to selectively turn off transactions for a particlular scenario.
|
454
|
+
* Added back a way to globally turn off transactions.
|
455
|
+
* Renamed @allow_rescue tag to @allow-rescue.
|
456
|
+
|
457
|
+
=== Bugfixes
|
458
|
+
* Gracefully handle cases when optional regexp groups are not matched. Ex: /should( not)? be flashed '([^']*?)'$/ (Aslak Hellesøy)
|
459
|
+
|
460
|
+
=== Changed Features
|
461
|
+
* The Formatter API has completely changed. Formatters are no longer a double-dispacth visitor - just a single-dispatch listener (#438 Matt Wynne)
|
462
|
+
|
463
|
+
== 0.3.102 2009-09-22
|
464
|
+
|
465
|
+
This release has some changes in the Rails support, so make sure you run "script/generate cucumber" after you upgrade.
|
466
|
+
Other noteworthy new features are improved Hook, tags and Transform support, and as always - several smaller bug fixes.
|
467
|
+
|
468
|
+
=== New Features
|
469
|
+
* Added new internal API for Regexp and groups, allowing other programming languages to leverage native regexps. (Aslak Hellesøy)
|
470
|
+
* New @allow_rescue tag for Rails scenarios. Causes exceptions raised in actions to be caught by rails and not bubble up to Cucumber (Aslak Hellesøy)
|
471
|
+
* Negative tags can now be used in hooks, just like the command line's --tags option: Before('~@yarr') - will run for all scenarios that *don't* have the @yarr tag. (Aslak Hellesøy)
|
472
|
+
* Transform has current "World" scope (Larry Diehl)
|
473
|
+
* Other Transforms can be reused by calling Transform with a string inside of another Transform definition (Larry Diehl)
|
474
|
+
* Execute "After" hooks in reverse order of declaration for better behavior with dependent blocks and to mimic the behavior of at_exit (David Waite)
|
475
|
+
|
476
|
+
=== Bugfixes
|
477
|
+
* features/support/env.rb runs commands twice (bugfix cuts total time by almost 50% w00t) (#452 Jim Meyer)
|
478
|
+
* Problems adding custom formatters to features/support. (features/support is added to $LOAD_PATH) (#449 Aslak Hellesøy)
|
479
|
+
* Some options set in cucumber.yml profiles are ignored (#446 Leonard CHIN)
|
480
|
+
* Missing step_definition snippets not properly displayed (#433 Aslak Hellesøy)
|
481
|
+
* rspec-rails, :lib => false (#447 David Chelimsky)
|
482
|
+
* Cucumber with Spork breaks on OS X Snow Leopard (#431 David Chelimsky)
|
483
|
+
|
484
|
+
=== Changed Features
|
485
|
+
* Tag names passed on the command line *always* have to use the @ sign. --tags foo or --tags ~bar won't work. Use --tags @foo or --tags ~@bar (Aslak Hellesøy)
|
486
|
+
|
487
|
+
=== Removed features
|
488
|
+
* The Cucumber::Rails.bypass_rescue no longer exists. Errors will always bubble up, unless you use the new @allow_rescue tag. (Aslak Hellesøy)
|
489
|
+
* The Cucumber::Rails.use_transactional_fixtures no longer exists. Transactional fixtures are always enabled for the cucumber environment. (Aslak Hellesøy)
|
490
|
+
|
491
|
+
== 0.3.101 2009-09-15
|
492
|
+
|
493
|
+
Two exciting things in this release. Step Argument Transforms and a PDF formatter you can use to send
|
494
|
+
your features to your customer for review!
|
495
|
+
|
496
|
+
=== New Features
|
497
|
+
* New pdf formatter (#425 Mads Buus)
|
498
|
+
* Step Argument Transforms: These let you use the Transform method to register regular expressions
|
499
|
+
to catch and transform/coerce arguments before they are yielded to step definitions:
|
500
|
+
http://wiki.github.com/aslakhellesoy/cucumber/step-argument-transforms (Larry Diehl & Dave Astels)
|
501
|
+
* Adding webrat steps for asserting content does or does not exist within a particular element
|
502
|
+
(using webrat's within method) (Kieran Pilkington)
|
503
|
+
|
504
|
+
== 0.3.100 2009-09-09
|
505
|
+
|
506
|
+
The JavaZone release!
|
507
|
+
|
508
|
+
=== New Features
|
509
|
+
* Added support for Uzbek (msarvar)
|
510
|
+
* The file argument on the cucumber command line will replace contents of file on cli if file is prefixed with @ (Tero Tilus)
|
511
|
+
|
512
|
+
=== Bugfixes
|
513
|
+
* Backtraces on JRuby are handled in a cleaner way when the exception comes from Java (NativeException). (Aslak Hellesøy)
|
514
|
+
* When exceptions occur in a Before block the rest of the scenario is now skipped (#331 Matt Wynne)
|
515
|
+
|
516
|
+
== 0.3.99 2009-09-03
|
517
|
+
|
518
|
+
=== New Features
|
519
|
+
* Support for Croatian (Bkrsta)
|
520
|
+
* Make #feature available from scenario so you can do: Before{|scenario| scenario.feature}. (Aslak Hellesøy)
|
521
|
+
* cucumber.yml parsing supports ERB syntax (#427 Gregory Hnatiuk)
|
522
|
+
* New AfterConfiguration hook added; a block can be specified that takes Cucumber::Cli::Configuration (#423 Brent Snook)
|
523
|
+
* Cucumber::Cli::Configuration#feature_dirs and #out_stream exposed as public attributes so that they may be used in AfterConfiguration hook (#423 Brent Snook)
|
524
|
+
|
525
|
+
== 0.3.98 2009-08-25
|
526
|
+
|
527
|
+
Just a small release to help Cuke4Duke, which will be presented at Agile2009
|
528
|
+
in 2 days.
|
529
|
+
|
530
|
+
=== New Features
|
531
|
+
* Backtrace filtering now happens in StepInvocation class, meaning other languages (Cuke4Duke) can get backtraces stripped. (Aslak Hellesøy)
|
532
|
+
* Cucumber::Ast::Table#map_headers now allows for a block that will convert all the headers. See docs for details. (Ben Mabey)
|
533
|
+
|
534
|
+
== 0.3.97 2009-08-23
|
535
|
+
|
536
|
+
The AA-FTT release. Creating a release for the AA-FTT meeting in Chicago so that we can play
|
537
|
+
with the new language API and maybe knock out some better .NET support.
|
538
|
+
|
539
|
+
=== Bugfixes
|
540
|
+
* Allow comments on examples sections underneath scenario outlines (#420 Mike Sassak)
|
541
|
+
* Table.map_headers! will fail with a decent error message when 0 or 2+ headers are matched. (Aslak Hellesøy)
|
542
|
+
* Fixed an issue with comments with preceding spaces after a background causing a parse error (#401 Joseph Wilk)
|
543
|
+
|
544
|
+
=== New Features
|
545
|
+
* The public API is documented and there is a new :sdoc task to generate nice searchable API docs.
|
546
|
+
* Add :default => :cucumber when setting up Rake tasks for Cucumber in Rails (Aslak Hellesøy)
|
547
|
+
* New When /^I fill in "([^\"]*)" for "([^\"]*)"$/ Webrat step for Rails (Aslak Hellesøy)
|
548
|
+
|
549
|
+
=== Changed Features
|
550
|
+
* Changed the Programming Language API to support languages without "bleed through" (e.g. rubypython can't invoke ruby objs) (Aslak Hellesøy)
|
551
|
+
* The Programming Language API manages hooks on the language level instead of on the step mother level (Aslak Hellesøy)
|
552
|
+
|
553
|
+
== 0.3.96 2009-08-15
|
554
|
+
|
555
|
+
This release doesn't have any significant new features or bug fixes, but there are big
|
556
|
+
internal changes. This release has a new API for plugging in other programming languages.
|
557
|
+
You can read more about that here: http://groups.google.com/group/cukes/browse_thread/thread/b9db8bf1f3ec9708
|
558
|
+
|
559
|
+
This might break other tools that are using Cucumber's internal APIs. For example Spork broke and had to
|
560
|
+
be patched. Please upgrade to Spork 0.5.9 if you are using Spork.
|
561
|
+
|
562
|
+
=== New Features
|
563
|
+
* Ability to preload natural language in Spork's prefork. Rerun script/generate cucumber --spork to see how. (Aslak Hellesøy)
|
564
|
+
* Ability to control which DRb port is used via the --port flag or by setting CUCUMBER_DRB environment variable. (Chris Flipse)
|
565
|
+
* Upgrade Rails generator to use webrat 0.5.0. (Aslak Hellesøy)
|
566
|
+
* Upgrade Sinatra example to work with rack-test 0.4.1 and webrat 0.5.0. (Aslak Hellesøy)
|
567
|
+
|
568
|
+
=== Changed Features
|
569
|
+
* --strict will cause an exit code 1 for missing and pending (used to be for missing only). (Mads Buus)
|
570
|
+
* junit formatter doesn't report pending steps unless --strict is used. (Mads Buus)
|
571
|
+
|
572
|
+
== 0.3.95 2009-08-13
|
573
|
+
|
574
|
+
This release improves Webrat support for table-like HTML markup. Now you can easily turn the HTML
|
575
|
+
elements table, dl, ol and ul elements into a 2D array. This is particularly useful for comparing
|
576
|
+
data in your HTML with a Cucumber table using Cucumber::Ast::Table#diff!
|
577
|
+
|
578
|
+
This release also fixes several bugs related to --drb (Spork) and profiles (cucumber.yml)
|
579
|
+
|
580
|
+
=== Bug Fixes
|
581
|
+
* --guess will always prefer the longest regexp with no groups if they exist.
|
582
|
+
* Prevent delays if a NoMethodError is raise in a step definition. Define a light #inspect in World. (#374 Aslak Hellesøy)
|
583
|
+
* Restore 'features' as the default feature running path. (#412 Ben Mabey)
|
584
|
+
* --drb degrades gracefully when no drb server is running and no formatter is provided. (#410 Ben Mabey)
|
585
|
+
* --language picked up from profiles again. (#409 Ben Mabey)
|
586
|
+
* Resolved infinite loop problem when --drb was defined in a profile. (#408 Ben Mabey)
|
587
|
+
|
588
|
+
=== New Features
|
589
|
+
* Cucumber::World#table has been overloaded to work with 2D Array in addition to a table String to be parsed.
|
590
|
+
* New When /^I fill in the following:$/ step definition for Webrat. Useful for filling out a form with a Table. (Aslak Hellesøy)
|
591
|
+
* The object returned by element_at (Webrat::Element) has a #to_table that works for table, dl, ol and ul. (Aslak Hellesøy)
|
592
|
+
* An explanation of why failures are ok is printed when --wip is used. (Aslak Hellesøy)
|
593
|
+
* Added cucumber alias for cucumber:ok in Rails Rake tasks. (Aslak Hellesøy)
|
594
|
+
|
595
|
+
=== Changed features
|
596
|
+
* element_at('table').to_table should be used instead of table_at('table').to_a. The old way is deprecated but still works. (Aslak Hellesøy)
|
597
|
+
* element_at (and the depracated table_at) no longer takes a DOM id, only CSS selectors. Change "my_id" to "#my_id". (Aslak Hellesøy)
|
598
|
+
|
599
|
+
== 0.3.94 2009-08-06
|
600
|
+
|
601
|
+
Kanban take II.
|
602
|
+
|
603
|
+
Release 0.3.6 introduced a new --wip switch that can be used to limit work in progress
|
604
|
+
(WIP). Limiting WIP is central for Kanban Software Development (http://www.infoq.com/articles/hiranabe-lean-agile-kanban).
|
605
|
+
|
606
|
+
However, this feature went mostly unnoticed, and because we think it's so great we have decided
|
607
|
+
to make it the default for Rails projects. When you bootstrap your Rails project for Cucumber
|
608
|
+
you will now get 2 Cucumber Rake tasks for Kanban development:
|
609
|
+
|
610
|
+
cucumber:ok : Run features that should pass. This runs your "good,old" features
|
611
|
+
cucumber:wip : Run the features you're working on that don't pass yet. Tag them with @wip. Max 2!
|
612
|
+
|
613
|
+
So upgrade today and get into the habit of tagging new features with @wip (or invent your own tags).
|
614
|
+
You'll achieve better flow this way.
|
615
|
+
|
616
|
+
=== New features
|
617
|
+
* Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
|
618
|
+
* script/generate cucumber sets up 'cucumber:ok' and 'cucumber:wip' tasks and deprecates 'features'. More Kanban love. (#344 Aslak Hellesøy)
|
619
|
+
* Better JUnit formatter: feature->testsuite, scenario->testcase. Better timing and support for background and scenario outline. (Mads Buus Westmark)
|
620
|
+
* Added examples/python that uses rubypython. (Aslak Hellesøy)
|
621
|
+
* Checks the number of available colors on the terminal with ruby-terminfo if ruby-terminfo is installed.
|
622
|
+
This prevents Apple's Terminal.app from stalling (Yugui - Yuki Sonoda).
|
623
|
+
* Set 'xterm-256color' to TERM if your terminal supports grey.
|
624
|
+
* ruby-terminfo is available as genki-ruby-terminfo gem from github.
|
625
|
+
* Document builtin formatters with --help. (#406 Aslak Hellesøy)
|
626
|
+
* Added support for using regular expressions when mapping table headers. (Peter Williams)
|
627
|
+
|
628
|
+
== 0.3.93 2009-08-03
|
629
|
+
|
630
|
+
Highlights in this release: Improved profile handling (cucumber.yml) and a fix for cucumber hanging.
|
631
|
+
|
632
|
+
=== New features
|
633
|
+
* script/generate cucumber --spork now sets up a spork gem dependency in the cucumber.rb environment. (Aslak Hellesøy)
|
634
|
+
* Feature files defined on the command line override any that are present in profiles. (#344 Ben Mabey)
|
635
|
+
* Default (STDOUT) formatter defined in profile can be overridden from the command line. (#344 Ben Mabey)
|
636
|
+
* Displays which profile, if any, is being used. (Ben Mabey)
|
637
|
+
* click_link_within(parent, link) webrat step (Joakim Kolsjö)
|
638
|
+
|
639
|
+
=== Bugfixes
|
640
|
+
* script/cucumber correctly loads the gem's binary if the plugin isn't installed.
|
641
|
+
* Cucumber hangs waiting for Ctrl+C if an Error is raised. (#374 Aslak Hellesøy)
|
642
|
+
|
643
|
+
== 0.3.92 2009-07-29
|
644
|
+
|
645
|
+
This release has some minor improvements to the new Table.diff! functionality. For example,
|
646
|
+
if you're using Webrat and you want to compare a feature table with a HTML table containing
|
647
|
+
links in one of the columns, you can do:
|
648
|
+
|
649
|
+
actual = Cucumber::Ast::Table.new(table_at('table').to_a)
|
650
|
+
actual.map_column!('Name') { |text| text.strip.match(/>(.*)</)[1] }
|
651
|
+
table.diff!(actual)
|
652
|
+
|
653
|
+
=== New features
|
654
|
+
* Allow Step Definitions to accept mix of required & optional args (Niels Ganser)
|
655
|
+
* table_a.diff!(table_b) now uses column conversions from both tables (Table#map_column!) (Aslak Hellesøy)
|
656
|
+
|
657
|
+
=== Bugfixes
|
658
|
+
* Upgrade Sinatra example to work with rack-test 0.3.0 and aslakhellesoy-webrat 0.4.4.1 (Aslak Hellesøy)
|
659
|
+
* require 'cucumber/webrat/table_locator' added to Spork environment for Rails (Anders Furseth)
|
660
|
+
|
661
|
+
=== Changed Features
|
662
|
+
* The 'default' profile is now ALWAYS used unless you specify another profile or use the -P or --no-profile flag. (#344 Ben Mabey)
|
663
|
+
|
664
|
+
== 0.3.91 2009-07-27
|
665
|
+
|
666
|
+
=== New Features
|
667
|
+
* CTRL-C will exit immediately instead of carrying on until all features are run. (Aslak Hellesøy)
|
668
|
+
* Run can be stopped programmatically by setting $cucumber_interrupted = true, for example in an After block. (Aslak Hellesøy)
|
669
|
+
* Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
|
670
|
+
* Table support for cuke4duke
|
671
|
+
|
672
|
+
== 0.3.90 2009-07-22
|
673
|
+
|
674
|
+
The Hot summer release
|
675
|
+
|
676
|
+
This is a hot summer in Norway, and Cucumbers are growing in abundance. To celebrate this we give you
|
677
|
+
a new release with lots of new features and bugfixes. This is also one of the last releases in the 0.3 series
|
678
|
+
(hence the 0.3.90 number), so 0.4 (or maybe 1.0!) will be coming up soon. The highlights of this release are:
|
679
|
+
|
680
|
+
=== Egality
|
681
|
+
|
682
|
+
English is not the world's most spoken language, so why should Cucumber force non-English speakers to use the
|
683
|
+
--language flag? As of this release you're no longer forced to do that. Instead, you can add a comment header
|
684
|
+
to your .feature files:
|
685
|
+
|
686
|
+
# language: fr
|
687
|
+
# Cucumber understands that this is French
|
688
|
+
Fonctionnalité: Trou de boulette
|
689
|
+
|
690
|
+
If you don't have that header, Cucumber will work as before - using whatever you specified with --language,
|
691
|
+
or default to English if no --language option was specified. A nice side effect of this is that you can now
|
692
|
+
have features in several languages side by side and run them in the same cucumber. (Not recommended unless
|
693
|
+
you want to take polyglot programming to an extreme level).
|
694
|
+
|
695
|
+
=== Table diffing (experimental)
|
696
|
+
|
697
|
+
When you pass a table as an argument to your Then steps you often want to compare that table
|
698
|
+
to some actual values. In previous releases you had to iterate over the table's values and manually
|
699
|
+
compare each row using cell.should equal('foo') or assert_equal('foo', cell). If a discrepancy was found
|
700
|
+
you'd get an error, but it was hard to see how the entire expected data set was different from the actual one.
|
701
|
+
|
702
|
+
With this release you have a much more powerful way to compare expected tables with actual data. An
|
703
|
+
Ast::Table object now has a new #diff!(table) method that you can invoke in your step definitions
|
704
|
+
that take table arguments. If the table you pass in is different from the expected table (from your
|
705
|
+
plain text step), Cucumber will print the difference for each of the row or column and fail your step.
|
706
|
+
|
707
|
+
The Table#diff! method expects an Array of Array, Array of Hash (similar to what you'd get from table#hashes)
|
708
|
+
or simply another Ast::Table object. Here is a simple example:
|
709
|
+
|
710
|
+
Then /^I should see the following cukes:$/ do |expected_cukes_table|
|
711
|
+
actual_table = ... # For example [['Latin', 'English'], ['Cucumis sativus', 'Cucumber'], ['Cucumis anguria', 'Burr Gherkin']]
|
712
|
+
expected_cukes_table.diff!(actual_table)
|
713
|
+
end
|
714
|
+
|
715
|
+
As an extra bonus we provide Webrat users with a new #table_at(selector) method that you can use to transform
|
716
|
+
an HTML table into an Array of Array, so that you can easily compare the contents of your HTML table to
|
717
|
+
expected data passed to a step. Here is an example:
|
718
|
+
|
719
|
+
Then /^I should see the following cukes:$/ do |expected_cukes_table|
|
720
|
+
expected_cukes_table.diff!(table_at('#cuke_table').to_a)
|
721
|
+
end
|
722
|
+
|
723
|
+
You can do the same trick to compare data from a Rails ActiveRecord table (although this is not a
|
724
|
+
recommended practice - your Then steps should compare against what users *see*, not what's in the
|
725
|
+
database):
|
726
|
+
|
727
|
+
# This requires that you use the column names in the header of the plain text expected table
|
728
|
+
Then /^I should have the following cukes in the database:$/ do |expected_cukes_table|
|
729
|
+
expected_cukes_table.diff!(Cuke.find(:all).map(&attributes))
|
730
|
+
end
|
731
|
+
|
732
|
+
=== Environment variables
|
733
|
+
|
734
|
+
Another useful new feature is the ability to define environment variables on Cucumber's command line (just
|
735
|
+
like you can with Rake). Example:
|
736
|
+
|
737
|
+
cucumber FOO=BAR --format progress features
|
738
|
+
|
739
|
+
You can now pick up ENV['FOO'] in ruby (for example in env.rb) and take actions according to the value,
|
740
|
+
for example enabling your super hack that validates all HTTP responses for XHTML validity.
|
741
|
+
|
742
|
+
This release also has several bugfixes related to --format and Before/After hooks.
|
743
|
+
|
744
|
+
=== Bugfixes
|
745
|
+
* Fix some misspellings which affect test fail for Korean example (#373 Dongju Kim)
|
746
|
+
* Make it possible to write non-localized step definitions (#377 Aslak Hellesøy)
|
747
|
+
* Table cells containing unicode are rendered incorrectly (#386 Stefan Kanev)
|
748
|
+
* Before and After hooks run after everything is finished when there are 2+ --format options (#371 Aslak Hellesøy)
|
749
|
+
* When using --out and two --format the first is not delivered inline with execution of features (#361 Aslak Hellesøy)
|
750
|
+
* Profile Formatter broken (#370 Aslak Hellesøy)
|
751
|
+
* Default profile usage with --drb flag degrades gracefully with no server. (#367 Ben Mabey)
|
752
|
+
* JUnit formatter uses original file name instead of narrative to avoid accidental duplicate XML files (Aslak Hellesøy)
|
753
|
+
* rake gems no longer lists cucumber as a [F]ramework gem (David Chelimsky)
|
754
|
+
* CLI issues correct exit code when using --drb. Requires Spork version >= 0.5.1. (#355 Ben Mabey)
|
755
|
+
* Make sure script/generate cucumber --spork uses the cucumber Rails environment (Philippe Lafoucrière)
|
756
|
+
* Fixed bug with rake task raising errors with feature files with spaces (#380 Joseph Wilk)
|
757
|
+
|
758
|
+
=== New Features
|
759
|
+
* I should see should support regexes (#382 John Ferlito)
|
760
|
+
* Access to scenario outline name from After hook scenario parameter (#342 Aslak Hellesøy)
|
761
|
+
* Allow multiple --tags switches to be passed
|
762
|
+
* Load step definitions from vendored gems and plugins (#388 Mike Burns)
|
763
|
+
* New --format steps formatter. Variant of the usage formatter that lists available step definitions (Demetrius Nunes)
|
764
|
+
* Possibility to specify scenario language as part of the .feature file (#345 Aslak Hellesøy)
|
765
|
+
* Support specifying environment variables using foo=bar syntax on command line or in profiles (#362 Bryan Helmkamp)
|
766
|
+
* Display failing scenarios at the end of pretty format to make it easier for people to play them back (#360 Ryan Bigg)
|
767
|
+
|
768
|
+
=== Changed Features
|
769
|
+
* When using --tags, positive tags are &&'ed while negative tags are ||'ed (John Wilger)
|
770
|
+
* The data returned from Table#hashes and similar methods are frozen. Dup if you need to modify. (Aslak Hellesøy)
|
771
|
+
* Visitor.visit_table_cell_value(value, col_width, status) is now visitor.visit_table_cell_value(value, status)
|
772
|
+
|
773
|
+
== 0.3.11 2009-06-05
|
774
|
+
|
775
|
+
This release just fixes a tiny bug in the formatter to fix an incompatibility
|
776
|
+
with the latest RedMine release. It should have been included in 0.3.10, but
|
777
|
+
was forgotten.
|
778
|
+
|
779
|
+
=== Bugfixes
|
780
|
+
* Formatter API was broken in 0.3.9 (Roman Chernyatchik)
|
781
|
+
|
782
|
+
== 0.3.10 2009-06-05
|
783
|
+
|
784
|
+
The Spork Release!
|
785
|
+
|
786
|
+
This release has an exciting new feature - a new --drb switch! This magic switch lets you run your
|
787
|
+
features much faster than before, because you can eliminate the startup time for your code. This is
|
788
|
+
thanks to a brand new gem called Spork by Tim Harper and Ben Mabey. (You can find out more about Spork
|
789
|
+
here: http://github.com/timcharper/spork/tree/master). You can start Spork and have it preload your
|
790
|
+
application in a separate process. Spork listens for DRb connections, and when you run cucumber with
|
791
|
+
--drb the features will run inside the Spork server instead. Spork provides two simple hooks for preloading
|
792
|
+
your application - one for framework/stable code (Spork.prefork) and one for the code that *you* write and
|
793
|
+
change often (Spork.each_run). Keep in mind that all World, Before, and other Cucumber hooks need to be
|
794
|
+
in the Spork.each_run block. Using Spork works great for Ruby on Rails, which can take a while to load,
|
795
|
+
but --drb and Spork aren't tied to Rails at all. The new --drb switch also works great alongside autotest
|
796
|
+
(just add --drb to your autotest profile in cucumber.yml), so now you can get even faster feedback.
|
797
|
+
|
798
|
+
Cucumber's built-in cucumber generator now has a new --spork switch, so when you bootstrap your Rails
|
799
|
+
application for cucumber, you can have spork configuration set up out of the box. (It's just a
|
800
|
+
slightly different env.rb.)
|
801
|
+
|
802
|
+
Although Spork was in mind when the --drb switch was added it is important to realize that all that was added
|
803
|
+
to Cucumber was a DRb client. Any DRb server that adheres to this protocol can be used with Cucumber's --drb
|
804
|
+
switch. While Spork is geared towards removing the load time to give you a faster feedback loop you could
|
805
|
+
just as easily use this client with a server that distributes your features to run in parallel. Someone just
|
806
|
+
needs to write such a server. ;)
|
807
|
+
|
808
|
+
This release also has some minor bugfixes related to RSpec and Rails interop.
|
809
|
+
|
810
|
+
=== Bugfixes
|
811
|
+
* RSpec's be_* matchers did not work in 0.3.9 and probably earlier versions. Now they do. (Aslak Hellesøy)
|
812
|
+
* The Rails cucumber environment won't declare gem dependencies if the plugin exists. (Aslak Hellesøy)
|
813
|
+
* The Rails cucumber generator will no longer declare gem dependencies on rspec if you use --testunit. (Aslak Hellesøy)
|
814
|
+
|
815
|
+
=== New features
|
816
|
+
* Spork support via --drb. (Ben Mabey)
|
817
|
+
* Added a Ast::Feature#name method for convenience. (Aslak Hellesøy)
|
818
|
+
|
819
|
+
=== Changed features
|
820
|
+
* The HTML formatter wraps examples in a div, and distinguishes between Scenario and Scenario Outline. (Aslak Hellesøy)
|
821
|
+
|
822
|
+
== 0.3.9 2009-05-27
|
823
|
+
|
824
|
+
Bugfix release for 0.3.8 released earlier today. 0.3.8 had a bug in the Rails cucumber
|
825
|
+
generator which is fixed in 0.3.9.
|
826
|
+
|
827
|
+
=== Bugfixes
|
828
|
+
* Fix broken Rails cucumber generator (Tim Glen)
|
829
|
+
* The Cucumber Rake task in non-fork mode will properly cause Rake to exit with 1 when Cucumber fails. (Aslak Hellesøy)
|
830
|
+
|
831
|
+
== 0.3.8 2009-05-27
|
832
|
+
|
833
|
+
This Cucumber version fixes several bugs related to Ruby on Rails and RSpec. If you
|
834
|
+
use Cucumber with a Rails app we *strongly* recommend you bootstrap Cucumber again:
|
835
|
+
|
836
|
+
ruby script/generate cucumber
|
837
|
+
|
838
|
+
=== New Features
|
839
|
+
* Rails cucumber generator sets up default gem dependencies in cucumber environment.
|
840
|
+
* The duration of a run is reported by formatters - same format as the Linux time command (#228 Aslak Hellesøy)
|
841
|
+
* Scenario and ExampleRow objects (passed to Before and After hooks) have #name and #line methods (#316 Aslak Hellesøy)
|
842
|
+
* Rails generator creates a cucumber environment file to avoid potential cache_classes conflicts in test.rb (#165, Ben Mabey)
|
843
|
+
* HTML formatter renders @tags (but the CSS is still ugly)
|
844
|
+
|
845
|
+
=== Removed/changed features
|
846
|
+
* The Cucumber Rake task will again fork by default (as 0.3.3 and earlier). Forking must be turned off explicitly. (Aslak Hellesøy)
|
847
|
+
|
848
|
+
=== Bugfixes
|
849
|
+
* Better coexistence with RSpec - Cucumber now *neuters* the part of RSpec that tries to parse ARGV.
|
850
|
+
* The differ= exception is gone (#325, #340 Aslak Hellesøy)
|
851
|
+
|
852
|
+
== 0.3.7 2009-05-22
|
853
|
+
|
854
|
+
This is the "Help JetBrains RubyMine" release!
|
855
|
+
|
856
|
+
=== New Features
|
857
|
+
* Added new Given alias for Catalan: Donat|Donada (Lleïr Borràs Metje)
|
858
|
+
* New --expand option. This will print Scenario Outlines once for each Example row - with values expanded. (#327 Aslak Hellesøy)
|
859
|
+
* You can override the formatter in Rails-generated rake tasks with the CUCUMBER_FORMAT environment variable (#335 Aslak Hellesøy)
|
860
|
+
|
861
|
+
=== Bugfixes
|
862
|
+
* 'specs' folder needs to be renamed back to 'spec' (#339 Aslak Hellesøy)
|
863
|
+
* CUCUMBER_OPTS doesn't work for cucumber rake tasks (#336 Aslak Hellesøy)
|
864
|
+
|
865
|
+
== 0.3.6 2009-05-20
|
866
|
+
|
867
|
+
Kanban! With this release you can tag features or scenarios that are work in progress
|
868
|
+
with a tag and use the new --wip switch.
|
869
|
+
|
870
|
+
Another handy feature in this release is that you can package your own formatters in RubyGems.
|
871
|
+
|
872
|
+
=== New features
|
873
|
+
* New --wip switch. See http://www.jroller.com/perryn/entry/bdd_on_a_multi_disciplined (Perryn Fowler)
|
874
|
+
* Added a AfterStep hook (Luke Melia)
|
875
|
+
* New aliases for Vietnamese (Ngoc Dao)
|
876
|
+
* Automatic require of custom formatters. --require is no longer needed to load them, and they can be in Ruby gems. (Aslak Hellesøy)
|
877
|
+
* Lazy loading of built-in formatters. Should improve startup time a little bit.
|
878
|
+
|
879
|
+
=== Bugfixes
|
880
|
+
* Gracefully handle exceptions in After block (#330 Matt Wynne)
|
881
|
+
* Feature with only Background doesn't run hooks (#314, #329 Aslak Hellesøy)
|
882
|
+
|
883
|
+
== 0.3.5 2009-05-14
|
884
|
+
|
885
|
+
Let's make a new release today because two annoying bugs are fixed.
|
886
|
+
|
887
|
+
=== Bugfixes
|
888
|
+
* Allow feature element names to contain Gherkin keywords as long as they are not the first word on a newline (#319, #307 Joseph Wilk)
|
889
|
+
|
890
|
+
== 0.3.4 2009-05-14
|
891
|
+
|
892
|
+
A couple of great new features in this release. Running with Rake is faster than before,
|
893
|
+
and there is a brand new JUnit formatter - great for Continuous Integration reports!
|
894
|
+
|
895
|
+
This release was made especially for the Oslo XP Meetup today.
|
896
|
+
|
897
|
+
** IMPORTANT UPGRADE NOTES FOR RAILS USERS **
|
898
|
+
|
899
|
+
Running Cucumber features in the same Ruby interpreter as Rake doesn't seem to work,
|
900
|
+
so you have to explicitly tell the task to fork (like it was doing by default in prior
|
901
|
+
versions). In lib/tasks/cucumber.rake:
|
902
|
+
|
903
|
+
Cucumber::Rake::Task.new(:features) do |t|
|
904
|
+
t.fork = true # Explicitly fork
|
905
|
+
t.cucumber_opts = %w{--format pretty}
|
906
|
+
end
|
907
|
+
|
908
|
+
(If you run script/generate cucumber this will be done for you).
|
909
|
+
Alternatively you can omit forking and run features like this:
|
910
|
+
|
911
|
+
RAILS_ENV=test rake cucumber
|
912
|
+
|
913
|
+
However, setting the RAILS_ENV is easy to forget, so I don't recommend relying on this.
|
914
|
+
|
915
|
+
=== Bugfixes
|
916
|
+
* Hooks (World, Before, After) are no longer executed when --dry-run (Aslak Hellesøy)
|
917
|
+
* Proper UTF8 use in HTML formatter (Herminio Torres)
|
918
|
+
* Problem with multiple terms in languages.yml (#321 Aslak Hellesøy)
|
919
|
+
|
920
|
+
=== New features
|
921
|
+
* New JUnit formatter (Gareth Jones)
|
922
|
+
* Support for Vietnamese (Ngoc Dao)
|
923
|
+
* Added aliases for Feature and But in Japanese (Leonard Chin)
|
924
|
+
* Support for Catalan (Francesc Esplugas)
|
925
|
+
|
926
|
+
=== Changed features
|
927
|
+
* --exclude flag now works on ruby files in addition to feature files (#312 Ben Mabey)
|
928
|
+
* The Java example under examples/java uses Ant instead of Rake - and the new JUnit formatter.
|
929
|
+
* Rake task should not shell out (#297 Aslak Hellesøy)
|
930
|
+
The Cucumber Rake task will run Cucumber in the same Ruby interpreter as Rake itself
|
931
|
+
unless explicitly told to fork a new interpreter. This is to increase speed. You can
|
932
|
+
force a new interpreter by setting fork=true or rcov=true in the task.
|
933
|
+
|
934
|
+
== 0.3.3 2009-05-10
|
935
|
+
|
936
|
+
Minor bugfix release, made specially for EuRuKo!
|
937
|
+
|
938
|
+
=== Bugfixes
|
939
|
+
* Summaries are no longer printed in an empty () if there are no scenarios/steps (Aslak Hellesøy)
|
940
|
+
* Background, Scenario Outline, Before Hook interaction (#309 Aslak Hellesøy)
|
941
|
+
* Multiline String snippets no longer give misleading info. It's a String, not a PyString that's sent to step def.
|
942
|
+
|
943
|
+
=== Removed/changed features
|
944
|
+
* New aliases: --no-source/-s, --name/-n (#317 Lonnon Foster)
|
945
|
+
|
946
|
+
== 0.3.2 2009-05-05
|
947
|
+
|
948
|
+
This release has some minor bug fixes and new features.
|
949
|
+
Nothing major, but we need a release for RailsConf'09 in Las Vegas!
|
950
|
+
|
951
|
+
=== Bugfixes
|
952
|
+
* rake tasks with profiles not respecting --require flags (#311 Ben Mabey)
|
953
|
+
* Step table with blank cell fails (#308 JohnnyT)
|
954
|
+
* Fixed error where unused table cells in Examples where raising exceptions due to having no status (#302 Joseph Wilk)
|
955
|
+
|
956
|
+
=== New features
|
957
|
+
* Support for Hebrew (Ido Kanner)
|
958
|
+
* Summary should report scenarios (#32 Aslak Hellesøy)
|
959
|
+
* Examples and the associated tables are indented one level deeper than Scenario Outline. (Aslak Hellesøy)
|
960
|
+
* Added support for Examples selection when using --name. (#295 Joseph Wilk)
|
961
|
+
|
962
|
+
== 0.3.1 2009-04-26
|
963
|
+
|
964
|
+
This release has several minor bug fixes and new features. With the addition of Latvian and Hungarian Cucumber
|
965
|
+
now supports 32(!!) languages.
|
966
|
+
|
967
|
+
=== New features
|
968
|
+
* Support multiline names for Scenarios, Scenario Outlines, Backgrounds, Examples (#231 Joseph Wilk)
|
969
|
+
* Added #headers to Cucumber::Ast::Table (Ben Mabey)
|
970
|
+
* New translation for Latvian (Vitauts Stočka)
|
971
|
+
* New translation for Hungarian (#287 Bence Golda)
|
972
|
+
* Pick up failure on after hook (#272 Aslak Hellesøy)
|
973
|
+
|
974
|
+
=== Bugfixes
|
975
|
+
* Pretty formatter not colouring Examples tables correctly (#304 Aslak Hellesøy)
|
976
|
+
* Problem using --scenario and Scenario Outline (#298 Aslak Hellesøy)
|
977
|
+
* Tag Hook gets executed always there is a background (#301 Aslak Hellesøy)
|
978
|
+
* Feature which only has a Background with steps causes an exception (#306 Aslak Hellesøy)
|
979
|
+
* Gem no longer depends on Hoe (Aslak Hellesøy)
|
980
|
+
* Span html tags appear on HTML results with 0.3.0 (#299 Aslak Hellesøy)
|
981
|
+
* Fixed incorrect colours in pretty formatter's table headers for outline tables (Aslak Hellesøy)
|
982
|
+
* Exceptions from steps called within hooks are now reraised. (#294 Ben Mabey)
|
983
|
+
|
984
|
+
=== Removed/changed features
|
985
|
+
* --scenario handle has been removed and replaced with --name which supports partial matches, regexp special characters, running named backgrounds (#295 Joseph Wilk)
|
986
|
+
|
987
|
+
== 0.3.0 2009-04-14
|
988
|
+
|
989
|
+
This release has some minor changes to the APIs, but big enough that a new major release is in order.
|
990
|
+
The biggest change is the new semantics of the #World method. Previously you would call this method
|
991
|
+
several times, passing a Proc and extending the world object of the previous one with a Ruby module.
|
992
|
+
The problem was that there was no nice way to ensure the order in which these procs were called, which
|
993
|
+
led to some unexpected situations. In this release you can only register a single World proc. If you
|
994
|
+
want to extend a world with certain modules, you simply call the #World method with the module(s)
|
995
|
+
you wish to extend the World with. The Sinatra example illustrates how to do this. Also check out
|
996
|
+
the RDoc for Cucumber::StepMother#World.
|
997
|
+
|
998
|
+
The Visitor API (which is used for formatters) has also changed slightly. However, we have tried to
|
999
|
+
do this in a backwards compatible way, so if you have custom formatters for Cucumber 0.2 they should
|
1000
|
+
still work.
|
1001
|
+
|
1002
|
+
One of the most significant new features is Tagged Hooks: http://wiki.github.com/aslakhellesoy/cucumber/hooks
|
1003
|
+
This lets you associate Before and After blocks with specific scenarios.
|
1004
|
+
|
1005
|
+
We are also deprecating the step_list, step_pattern, feature_list, and feature_pattern accessors on
|
1006
|
+
Cucumber::Rake::Task. These accessors will be completely removed in version 0.4. For complex settings
|
1007
|
+
please rely on cucumber profiles in your rake tasks:
|
1008
|
+
http://wiki.github.com/aslakhellesoy/cucumber/using-rake#profiles
|
1009
|
+
|
1010
|
+
=== New features
|
1011
|
+
* Use Hooks with @tags (#229 Aslak Hellesøy)
|
1012
|
+
* Rake task supports cucumber.yml profiles (#187 Ben Mabey)
|
1013
|
+
* Field value steps for Webrat (Jack Chen)
|
1014
|
+
* Added translation for Bulgarian (Krasimir Angelov)
|
1015
|
+
* Updated translation for Polish (#273 Grzegorz Marszałek)
|
1016
|
+
* Only a single World proc can be registered. World extension now happens by calling #World with ruby modules.
|
1017
|
+
* Portuguese uses Funcionalidade in stead of Característica and accented words are aliased with unaccented ones (Alexandre da Silva and Felipe Coury).
|
1018
|
+
* The usage formatter also prints unused step definitions (Aslak Hellesøy)
|
1019
|
+
* Better exception if a World proc returns nil. (Aslak Hellesøy)
|
1020
|
+
* Allow Step Definitions to use |*varargs|, but only on Ruby 1.9. (Aslak Hellesøy)
|
1021
|
+
* Snippets for steps that use Step Tables or PyStrings include block param and object type hint comment (#247 Joseph Wilk)
|
1022
|
+
* Support description string for Backgrounds (#271 Joseph Wilk)
|
1023
|
+
|
1024
|
+
=== Bugfixes
|
1025
|
+
* After methods not being executed when Background fails (#288 Luismi Cavallé)
|
1026
|
+
* Fixed dependency on internal files in rspec breaks cucumber w/ rspec-1.2.4 (#291 Aslak Hellesøy)
|
1027
|
+
* Fix color use when using autotest on Linux. (Hans de Graaff)
|
1028
|
+
* Fixed incorrect calculation of pystring indentation (#279 Eugene Naydanov)
|
1029
|
+
* Fixed --format html leads to an error (#252 Aslak Hellesøy)
|
1030
|
+
* Fixed Background runs twice (#255 Aslak Hellesøy)
|
1031
|
+
* Fixed Background Transactions and :xx (#270 Aslak Hellesøy)
|
1032
|
+
* Fixed Autospec failing with cucumber 0.2 (#254 Aslak Hellesøy)
|
1033
|
+
* Sibling file detecting not working (#278 Aslak Hellesøy)
|
1034
|
+
|
1035
|
+
=== Removed/changed features
|
1036
|
+
* The visitor API has changed slightly:
|
1037
|
+
** #visit_step_name, #visit_multiline_arg and #visit_exception are no longer official API methods.
|
1038
|
+
** #visit_step_result replaces those 3 methods.
|
1039
|
+
** Table and PyString no longer hold status information. Each visitor subclass should store state in @state if needed.
|
1040
|
+
** #visit_py_string no longer takes a status argument.
|
1041
|
+
|
1042
|
+
== 0.2.3 2009-03-30
|
1043
|
+
|
1044
|
+
This release sports 4 updated languages, slightly better help with snippets if you "quote" arguments
|
1045
|
+
in your steps. Windows/JRuby users can enjoy colours and you get some more sugar with Tables.
|
1046
|
+
|
1047
|
+
=== New features
|
1048
|
+
* Added new Then /^I should be on (.+)$/ do |page_name| step (Grant Hollingworth)
|
1049
|
+
* Use skipped_param color for examples table header (#266 Eugene Naydanov)
|
1050
|
+
* Added new Cucumber::Ast::Table#rows_hash method (Torbjørn Vatn)
|
1051
|
+
* Windows/JRuby users can now enjoy colourful output (via http://github.com/aslakhellesoy/ansicolor) (#166 Aslak Hellesøy)
|
1052
|
+
* Ambiguous step errors hint about --guess (unless --guess already on) (Aslak Hellesøy)
|
1053
|
+
* Added translation for Slovak (Ahmed Al Hafoudh)
|
1054
|
+
* Updated translation for Dutch (Bart Zonneveld)
|
1055
|
+
* Updated translation for Italian (Alessandro Baroni)
|
1056
|
+
* Updated translation for Japanese (KAKUTANI Shintaro)
|
1057
|
+
|
1058
|
+
=== Bugfixes
|
1059
|
+
* Fixed step name after step keyword without space (#265 Aslak Hellesøy)
|
1060
|
+
* Backtrace is back in HTML reports (Aslak Hellesøy)
|
1061
|
+
|
1062
|
+
== 0.2.2 2009-03-25
|
1063
|
+
|
1064
|
+
This release includes some minor changes to make Cucumber work with pure Java. Cucumber
|
1065
|
+
has already worked with Java for a while (using JRuby and step definitions in Ruby),
|
1066
|
+
but now you can write step definitions in pure Java!
|
1067
|
+
|
1068
|
+
Check out the Cucumber Java project for more details:
|
1069
|
+
http://github.com/aslakhellesoy/cucumber_java/tree/master
|
1070
|
+
|
1071
|
+
== 0.2.1 2009-03-25
|
1072
|
+
|
1073
|
+
This release fixes a few minor bugs and adds a couple of new features.
|
1074
|
+
|
1075
|
+
== Bugfixes
|
1076
|
+
* Fixed Cucumber, and rails controller error handling (#49 Matt Patterson)
|
1077
|
+
* HTML Formatter doesn't work correctly with scenario Outlines. (#260 Aslak Hellesøy)
|
1078
|
+
* After blocks are run in reverse order of registration. (#113 Aslak Hellesøy)
|
1079
|
+
* Snippets are showing 'Ands' (#249 Aslak Hellesøy)
|
1080
|
+
|
1081
|
+
=== New features
|
1082
|
+
* Snippets use a regexp and block arguments if the step name has "quoted" arguments. (Aslak Hellesøy)
|
1083
|
+
* Cucumber::Ast::Feature#to_sexp includes the file name. (Aslak Hellesøy)
|
1084
|
+
* support/env.rb is not loaded when --dry-run is specified. This is to increase performance. (Aslak Hellesøy)
|
1085
|
+
* New usage formatter. This is the foundation for editor autocompletion and navigation between steps and step definitions. (#209 Aslak Hellesøy)
|
1086
|
+
|
1087
|
+
=== Removed features
|
1088
|
+
* -S/--step-definitions option introduced in 0.2.0 is removed. Use --format usage [--dry-run] [--no-color].
|
1089
|
+
|
1090
|
+
== 0.2.0 2009-03-18
|
1091
|
+
|
1092
|
+
This release sports a bunch of new and exciting features, as well a major rewrite of Cucumber's internals.
|
1093
|
+
The rewrite was done to address technical debt and to have a code base that is easier to evolve and maintain.
|
1094
|
+
|
1095
|
+
There are some changes to the Gherkin language that breaks backwards compatible with the 0.1.x series.
|
1096
|
+
Most importantly, "GivenScenario" and "More Examples" no longer exist. See the "Removed features" section
|
1097
|
+
below for more details on how to use alternatives.
|
1098
|
+
|
1099
|
+
Since the grammar has changed, there are some new keywords. We have to rely on the community
|
1100
|
+
to provide updated translations. This is much easier than before - just update languages.yml.
|
1101
|
+
There is no static code generation anymore. To list all languages:
|
1102
|
+
|
1103
|
+
cucumber --lang help
|
1104
|
+
|
1105
|
+
And to list the keywords for a particular language:
|
1106
|
+
|
1107
|
+
cucumber --lang en-lol help
|
1108
|
+
|
1109
|
+
There are some really awesome new features in this release: Tagging, Autoformatting, automatic
|
1110
|
+
aliasing of keywords in all languages, full Ruby 1.9 support and improved output
|
1111
|
+
for multiline arguments are some of the highlights.
|
1112
|
+
|
1113
|
+
== Bugfixes
|
1114
|
+
* New StepInvocation breaks console formatter for pending steps. (#241 Jacob Radford)
|
1115
|
+
* Within Scenario Outlines when replacing with a nil in a step name use empty string instead. (#237 Joseph Wilk)
|
1116
|
+
* Fixed bug with Scenario Outlines incorrectly replacing values in step tables with nil. (#237 Joseph Wilk)
|
1117
|
+
* Within Scenario Outlines when replacing with a nil in multiline strings use empty string instead. (#238 Joseph Wilk)
|
1118
|
+
* Re-structure the ast: Feature -> Background -> (Scenario|ScenarioOutline)*. Fixes bug with background being called outside transactions. (#181 Joseph Wilk)
|
1119
|
+
* --strict always exits with status 1 (#230 Tim Cuthbertson)
|
1120
|
+
* Fix error with nil values in tables raising an exception (#227 Joseph Wilk)
|
1121
|
+
* Add support for using << in formatters to ensure the html formatter works (#210 Joseph Wilk)
|
1122
|
+
* Explicitly require env.rb files first to avoid potential load order problems. (#213, Ben Mabey, Randy Harmon)
|
1123
|
+
* Depend on polyglot version (0.2.4) to avoid masking require errors. (Aslak Hellesøy).
|
1124
|
+
* -n option does not suppress the line info for a Scenario Outline (#175 Aslak Hellesøy)
|
1125
|
+
* Errors with rspec-rails matchers in cucumber 0.1.99 (#173 David Chelimsky)
|
1126
|
+
* Can't use an empty string as a table value in a scenario outline (#172 Aslak Hellesøy)
|
1127
|
+
* Really skip skipped steps (#90 Aslak Hellesøy)
|
1128
|
+
* No output for multi-line strings (#71 Aslak Hellesøy)
|
1129
|
+
* Fix cucumber/formatter/unicode flaws on Windows (#145 Michael)
|
1130
|
+
* Autotest-related Bugs: YAML missing (#136 Tobias Pape)
|
1131
|
+
* Overeager "rescue LoadError" hides lots of errors (#137 Jonathan del Strother)
|
1132
|
+
* Nested steps don't show mismatch (#116 Aslak Hellesøy)
|
1133
|
+
* Pending steps in > steps called from steps (#65 Aslak Hellesøy)
|
1134
|
+
|
1135
|
+
=== New features
|
1136
|
+
* Australian translation (Josh Graham)
|
1137
|
+
* Added World#announce(announcment) which lets you output text to the formatted output (#222 Rob Kaufmann)
|
1138
|
+
* Added Table#transpose to to allow use of vertically aligned table keys (Torbjørn Vatn, Aslak Hellesøy)
|
1139
|
+
* Added Table#map_headers to to allow use of more readable headers (Rob Holland)
|
1140
|
+
* New -S/--step-definitions option. Useful (among other things) for tools that implement automcompletion. (#208 Aslak Hellesøy).
|
1141
|
+
* The cucumber.rake file defines a dummy :features task if Cucumber is not installed (#225 Josh Nichols)
|
1142
|
+
* Added Table#map_column! to ease casting of cell values into relevant types (#223 Rob Holland)
|
1143
|
+
* New --no-diff option (#218 Bryan Ash)
|
1144
|
+
* Rails generators supports testunit and rspec option, defaulting to rspec (#217 Josh Nichols)
|
1145
|
+
* Sinatra Example (#204 Rob Holland)
|
1146
|
+
* Keywords can be aliased in languages.yml. See English for an example (examples: Examples|Scenarios)
|
1147
|
+
* Adding support for Background (#153 Joseph Wilk)
|
1148
|
+
* Added Česky/Czech (Vojtech Salbaba)
|
1149
|
+
* New --no-multiline option to reduce noise in output. Useful if lots of features are failing. (Aslak Hellesøy)
|
1150
|
+
* Added ability to pass URIs to cucumber in addition to files and directories. Useful for troubleshooting! (Aslak Hellesøy)
|
1151
|
+
* Groups of tabular scenarios (#57 Aslak Hellesøy)
|
1152
|
+
* Tagging scenarios and features. Pick the ones to run with --tags (#54 Aslak Hellesøy)
|
1153
|
+
* Make the current scenario available to the steps. (#44 Aslak Hellesøy)
|
1154
|
+
* Step definition snippets contain a 'pending' call (#84 Aslak Hellesøy)
|
1155
|
+
* Call multiline steps from other steps (#144 Aslak Hellesøy)
|
1156
|
+
* Run cucumber with --autoformat DIR to reformat (pretty print) all of your feature files. (Aslak Hellesøy)
|
1157
|
+
* New --strict option exits with an error code if there are undefined steps. (#52 Aslak Hellesøy)
|
1158
|
+
* Given, When, Then methods (used in step definitions) are automatically aliased to current language. Use $KCODE='u' in env.rb if needed.
|
1159
|
+
* Run cucumber --language help to see all supported languages. (Aslak Hellesøy)
|
1160
|
+
* Run cucumber --language LANG help to see keywords for a given language. (Aslak Hellesøy)
|
1161
|
+
* Multiline arguments (tables and """ strings) are printed in the output. (Aslak Hellesøy)
|
1162
|
+
* It's no longer necessary to compile the Treetop grammar when adding a new language. Localised parser is generated at runtime. (Aslak Hellesøy)
|
1163
|
+
* New --guess option tries to guess the best step definition match instead of raising Cucumber::Multiple. (Jake Howerton)
|
1164
|
+
|
1165
|
+
=== Removed features
|
1166
|
+
* "GivenScenario" is gone. Instead you can call Steps from Step Definitions, or use the new Background feature (#153)
|
1167
|
+
* "More Examples" is gone. "Scenario" + "More Examples" is no longer supported. Use "Scenario Outline" + "Examples" instead.
|
1168
|
+
* Pure Ruby features are no longer supported.
|
1169
|
+
* Remove --color option in autotest. Can be added manually in cucumber.yml (#215 Jean-Michel Garnier)
|
1170
|
+
|
1171
|
+
== (0.1.16.4 aslakhellesoy-cucumber gem on GitHub)
|
1172
|
+
|
1173
|
+
Bugfix release.
|
1174
|
+
|
1175
|
+
IMPORTANT NOTE FOR RAILS USERS.
|
1176
|
+
The template used to generate your features/support/env.rb has changed. You have to apply a minor change
|
1177
|
+
manually for existing Rails projects when you upgrade to this version. Change this:
|
1178
|
+
|
1179
|
+
require 'webrat/rspec-rails'
|
1180
|
+
|
1181
|
+
to this:
|
1182
|
+
|
1183
|
+
require 'webrat/core/matchers'
|
1184
|
+
|
1185
|
+
=== New features
|
1186
|
+
* Finnish translation (Tero Tilus)
|
1187
|
+
* Use Webrat's #contain matcher in generated "I should (not) see" step definitions (Bryan Helmkamp)
|
1188
|
+
|
1189
|
+
== Bugfixes
|
1190
|
+
* Escaped quotes - \" - inside multiline strings will be unescaped.
|
1191
|
+
* Flush output in HTML formatter since JRuby doesnt do it automatically (Diego Carrion)
|
1192
|
+
* Better handling of ARGV (#169 David Chelimsky, Ben Mabey)
|
1193
|
+
* Compatibility with ruby-debug (do ARGV.dup in bin/cucumber so it can restart ruby with same args) (Aslak Hellesøy)
|
1194
|
+
|
1195
|
+
== 0.1.16 2009-01-19
|
1196
|
+
|
1197
|
+
This is a small bugfix release. The most notable improvement is compatibility with Webrat 0.4. Rails/Webrat users should
|
1198
|
+
upgrade both Cucumber and Webrat gems.
|
1199
|
+
|
1200
|
+
=== New features
|
1201
|
+
* Allow argument placeholders in step tables and multiline comments (#121 Joseph Wilk)
|
1202
|
+
* Scenario Outline can be followed by several named Examples sections (#123 Aslak Hellesøy)
|
1203
|
+
* Add the #binary= method back to the Rake task. It is needed by merb_cucumber for running the features of a merb app with it's bundled gems. (Thomas Marek)
|
1204
|
+
* Added a /^When I go to (.+)$/ step definition to webrat_steps.rb and a simple page name to path mapping method (Bryan Helmkamp)
|
1205
|
+
|
1206
|
+
=== Bugfixes
|
1207
|
+
* Fix to run single scenarios when the line number specified doesn't correspond to a step (i.e. blank lines or rows) (#160 Luismi Cavallé)
|
1208
|
+
|
1209
|
+
=== Removed features
|
1210
|
+
|
1211
|
+
== 0.1.15 2009-01-08
|
1212
|
+
|
1213
|
+
Bugfix release
|
1214
|
+
|
1215
|
+
=== New features
|
1216
|
+
* 한국어! (Korean!) (John Hwang)
|
1217
|
+
|
1218
|
+
=== Bugfixes
|
1219
|
+
* --dry-run skips running before/after/steps (#147 Ian Dees)
|
1220
|
+
* Fix a minor bug in the console formatter's summary (David Chelimsky)
|
1221
|
+
* Better quoting of Scenario names in Autotest (Peter Jaros)
|
1222
|
+
* Added some small workarounds for unicode handling on Windows (Aslak Hellesøy)
|
1223
|
+
|
1224
|
+
== 0.1.14 2009-01-04
|
1225
|
+
|
1226
|
+
This is the first release of Cucumber that runs on Ruby 1.9. There are still some encoding-related issues
|
1227
|
+
with Arabic (ar), Japanese (ja) and Simplified Chinese (zh-CN). Patches are welcome. Other than that -
|
1228
|
+
a couple of minor bug fixes and polishing.
|
1229
|
+
|
1230
|
+
=== New features
|
1231
|
+
* Pretty formatter shows number of scenarios (#139 Joseph Wilk)
|
1232
|
+
* Rudimentary support for Ruby 1.9. Now it's ok to file Ruby 1.9-related bugs.
|
1233
|
+
|
1234
|
+
=== Bugfixes
|
1235
|
+
* Fixed "No such file or directory -- cucumber (LoadError)" bug with AutoTest (Aslak Hellesøy)
|
1236
|
+
* Fixed `load_missing_constant': uninitialized constant Dispatcher error with Rails (Aslak Hellesøy)
|
1237
|
+
|
1238
|
+
=== Removed features
|
1239
|
+
* The #binary= method is gone from the Rake task. It will always point to the binary in the current gem. (Aslak Hellesøy)
|
1240
|
+
|
1241
|
+
== 0.1.13 2008-12-20
|
1242
|
+
|
1243
|
+
It's time for some new features again. Output is now much better since you can use diffing, tweak
|
1244
|
+
the output colours and get the full --backtrace if you want. Managing your support/* files became
|
1245
|
+
a little easier since they are now always loaded before the step definitions. Life became easier
|
1246
|
+
for Windows users in Norway (and other countries using unicode in the features). Plus several other
|
1247
|
+
bug fixes.
|
1248
|
+
|
1249
|
+
Enjoy!
|
1250
|
+
|
1251
|
+
=== New features
|
1252
|
+
* Console output is no longer bold, but regular. Step arguments are bold instead of blold+underlined. (Aslak Hellesøy)
|
1253
|
+
* Console output can be configured with CUCUMBER_COLORS in your shell. (Aslak Hellesøy)
|
1254
|
+
* Added new --backtrace option to show full backtrace (Aslak Hellesøy)
|
1255
|
+
* Enable RSpec's diffing automatically if RSpec is loaded (Aslak Hellesøy)
|
1256
|
+
* Files in support directories are loaded before any other file (i.e. step definitions.) (#120, Ben Mabey)
|
1257
|
+
* The Rails features generator got some love and is now tested: http://github.com/aslakhellesoy/cucumber_rails (Aslak Hellesøy)
|
1258
|
+
* --language is aliased to -l instead of -a (-l became available when --line was refactored) (Aslak Hellesøy)
|
1259
|
+
* Scenario Outlines which through placeholders in the steps allow control of how scenario table values are used. (#57 Joseph Wilk)
|
1260
|
+
* Scenario Outlines are now usable in pure ruby (Joseph Wilk)
|
1261
|
+
* Add support for calling 'pending' from step definitions. (#112 Joseph Wilk)
|
1262
|
+
|
1263
|
+
=== Bugfixes
|
1264
|
+
* Make rails before filters work correctly (#122, #129 Guillermo Álvarez Fernández)
|
1265
|
+
* Proper Unicode support for Windows command shells: Just require cucumber/formatter/unicode in env.rb (Aslak Hellesøy)
|
1266
|
+
* Fixed disappearing "a" on Windows (#81 Aslak Hellesøy)
|
1267
|
+
* Fixed a bug where row step outlines were loosing step tables. (#121 Joseph Wilk, Ben Mabey)
|
1268
|
+
* The Cucumber Autotest plugin now launches JRuby if autotest is run with JRuby (Aslak Hellesøy)
|
1269
|
+
* Provide helpful and non-confusing error message when specified profile is blank. (#118, Ben Mabey)
|
1270
|
+
* Improve handling and error messages for malformed cucumber.yml files. (#117, Ben Mabey)
|
1271
|
+
* document :x run option in command line help (#114, Aslak Hellesøy)
|
1272
|
+
* Change 'visits' to 'visit' in features generator to comply with new Webrat API (Darius Roberts)
|
1273
|
+
|
1274
|
+
=== Removed features
|
1275
|
+
|
1276
|
+
== 0.1.12 2008-12-04
|
1277
|
+
|
1278
|
+
This is the "getting serious with IronRuby release" - largely based on
|
1279
|
+
"Patrick Gannon":http://www.patrickgannon.net/archive/2008/10/23/bdd-style-feature-tests-using-ironruby-and-rspeccucumber.aspx's
|
1280
|
+
blog entry.
|
1281
|
+
|
1282
|
+
== New features
|
1283
|
+
* Cucumber works with IronRuby/.NET - http://github.com/aslakhellesoy/cucumber/wikis/ironruby-and-net (Aslak Hellesøy)
|
1284
|
+
|
1285
|
+
== Bugfixes
|
1286
|
+
* Fixed bug which was preventing coloring under Autotest (#111, Alan Larkin)
|
1287
|
+
|
1288
|
+
== Removed features
|
1289
|
+
None
|
1290
|
+
|
1291
|
+
== 0.1.11 2008-12-02
|
1292
|
+
|
1293
|
+
Bugfix release with a couple of minor additional features to the command line options.
|
1294
|
+
|
1295
|
+
=== New features
|
1296
|
+
* Capture output from cucumber in Autotest (Alan Larkin)
|
1297
|
+
* Update cucumber generator to work with latest Webrat (Bryan Helkamp)
|
1298
|
+
* CUCUMBR LIKEZ 2 SPEEK WIF KATS. KTHXBAI (Aimee Daniells)
|
1299
|
+
* Support for dynamically pluggable formatters (#99 Joseph Wilk)
|
1300
|
+
* --verbose mode to see ruby files and feature files loaded by Cucumber (#106 Joseph Wilk)
|
1301
|
+
|
1302
|
+
=== Bugfixes
|
1303
|
+
* The jcode library is not loaded on JRuby/Rails. Workaround for http://tinyurl.com/55uu3u. (Aslak Hellesøy)
|
1304
|
+
* Support including modules for class passed to --format (#109 Joseph Wilk)
|
1305
|
+
|
1306
|
+
=== Removed features
|
1307
|
+
* The cucumber gem no longer depends on the rspec gem. It must be downloaded manually if RSpec is used. (Jeff Rafter)
|
1308
|
+
|
1309
|
+
== 0.1.10 2008-11-25
|
1310
|
+
|
1311
|
+
This release mostly has smaller bugfixes. The most significant new feature is how
|
1312
|
+
line numbers are specified. You can now run multiple features at specific lines numbers like this:
|
1313
|
+
|
1314
|
+
cucumber foo.feature:15 bar.feature:6:45:111
|
1315
|
+
|
1316
|
+
This will run foo.feature at line 15 and bar.feature at line 6, 45 and 111.
|
1317
|
+
|
1318
|
+
=== New features
|
1319
|
+
* Added example showing how to use Cucumber with Test::Unit + Matchy instead of RSpec (Aslak Hellesøy)
|
1320
|
+
* Yield existing world object to World block (#87 Aslak Hellesøy)
|
1321
|
+
* AUTOFEATURE=tRue works (case insensitive) (Aslak Hellesøy)
|
1322
|
+
* Initial support for .NET via IronRuby. (Aslak Hellesøy)
|
1323
|
+
* Lithuanian translation (sauliusgrigaitis)
|
1324
|
+
* New webrat step defintions to wrap the new selects_time, selects_date, and selects_datetime methods. (Ben Mabey)
|
1325
|
+
* Try to load webrat gem if it's not installed as a plugin (Aslak Hellesøy)
|
1326
|
+
* Support example.feature:20 or example.feature:10:20:30 syntax for running features at specific line number(s). (#88 Joseph Wilk)
|
1327
|
+
|
1328
|
+
=== Bugfixes
|
1329
|
+
* Windows - all the 'a' characters in the output have gone on strike (#81 Luis Lavena, Joseph Wilk, Aslak Hellesøy)
|
1330
|
+
* Raise a nice error when encountering step definition without block (#95 Aslak Hellesøy)
|
1331
|
+
* Features written using Ruby where breaking due to missing a line number (#91 Joseph Wilk)
|
1332
|
+
* Directly creating a Table meant the scenario table header was never set which was causing a formatter error (#91 Joseph Wilk)
|
1333
|
+
|
1334
|
+
=== Removed features
|
1335
|
+
* $KCODE='u' is no longer done automatically. Developers should do that explicitly when needed in step definitions or env.rb.
|
1336
|
+
* Step definition without a block being treated as pending (#64 Joseph Wilk)
|
1337
|
+
* The --line option has been removed. Use the new file.feature:line format instead.
|
1338
|
+
|
1339
|
+
== 0.1.9 2008-11-12
|
1340
|
+
|
1341
|
+
With this release Cucumber supports 19 (!) natural languages:
|
1342
|
+
|
1343
|
+
* Arabic
|
1344
|
+
* Chinese Simplified
|
1345
|
+
* Danish
|
1346
|
+
* Dutch
|
1347
|
+
* Estonian
|
1348
|
+
* French
|
1349
|
+
* German
|
1350
|
+
* Italian
|
1351
|
+
* Japanese
|
1352
|
+
* Malay
|
1353
|
+
* Norwegian
|
1354
|
+
* Polish
|
1355
|
+
* Portuguese
|
1356
|
+
* Romanian
|
1357
|
+
* Russian
|
1358
|
+
* Spanish
|
1359
|
+
* Swedish
|
1360
|
+
* Texan
|
1361
|
+
* Welsh
|
1362
|
+
|
1363
|
+
Thanks a lot to everyone who has contributed translations. If you don't see your language here, please
|
1364
|
+
add it: http://github.com/aslakhellesoy/cucumber/wikis/spoken-languages
|
1365
|
+
|
1366
|
+
Main functional changes in this release is "Autotest":http://github.com/aslakhellesoy/cucumber/wikis/autotest-integration
|
1367
|
+
support and how multiline strings work in feature files:
|
1368
|
+
|
1369
|
+
# In your .feature file
|
1370
|
+
Then I should see
|
1371
|
+
"""
|
1372
|
+
A string
|
1373
|
+
that "indents"
|
1374
|
+
and spans
|
1375
|
+
several lines
|
1376
|
+
|
1377
|
+
"""
|
1378
|
+
|
1379
|
+
# In your steps.rb file
|
1380
|
+
Then 'I should see' do |text|
|
1381
|
+
text.should == "A string\n that \"indents\"\nand spans\nseveral lines\n"
|
1382
|
+
end
|
1383
|
+
|
1384
|
+
The triple quotes are used to define the start and end of a string, and it also defines what gets stripped away
|
1385
|
+
in the inside string. If the triple quotes are indented 4 spaces, then the text within will have the 4 first
|
1386
|
+
spaces removed too.
|
1387
|
+
|
1388
|
+
=== New features
|
1389
|
+
* Added --[no-]color option to force color on or off (Peter Jaros)
|
1390
|
+
* Step definition without a block will be treated as pending (#64 Joseph Wilk)
|
1391
|
+
* Added support for Welsh (improvements welcome) (Joseph Wilk)
|
1392
|
+
* Added --quiet option to hide all development aid output when using Pretty formatter (#69 Joseph Wilk)
|
1393
|
+
* Added --no-snippets option to hide snippets for pending steps when using Pretty formatter (#69 Joseph Wilk)
|
1394
|
+
* Added error messages concerning cucumber.yml. (#70 Ben Mabey)
|
1395
|
+
* Added Autotest support - work in progress... (Peter Jaros)
|
1396
|
+
* Added new --exclude option (Bryan Helkamp)
|
1397
|
+
* Added new --scenario option (Peter Jaros)
|
1398
|
+
* Renamed common_webrat.rb to webrat_steps.rb (Ben Mabey, Aslak Hellesøy)
|
1399
|
+
* Added new feature[:feature_path] task (Roman Gonzalez)
|
1400
|
+
* Added support for Polish (Joseph Wilk)
|
1401
|
+
* Support specifying multiple formatters and multiple outputs (#47 Joseph Wilk)
|
1402
|
+
* Added support for Japanese. (Kakutani Shintaro)
|
1403
|
+
* Added support for Texan (improvements welcome). (Aslak Hellesøy)
|
1404
|
+
|
1405
|
+
=== Bugfixes
|
1406
|
+
* Pending step snippets should escape special Regexp characters (#82 Joseph Wilk)
|
1407
|
+
* Scenario without a body shouldn't show up as complete (#63 Josh Knowles)
|
1408
|
+
* Fixed bug where utf-8 strings where breaking comment alighments. (#79 Joseph Wilk)
|
1409
|
+
* Fixed next_column_index not resetting after large tables (#60, Barry Mitchelson)
|
1410
|
+
* The HTML formatter was rendering everything twice. Cannot invoke visit_feature on formatters in executor (#72 Joseph Wilk)
|
1411
|
+
* Row Scenarios need to support pending? in order for the Profile formatter to work (Joseph Wilk)
|
1412
|
+
* Snippets are not shown for steps which already have a step definition (#65 Joseph Wilk)
|
1413
|
+
* Prevent feature/scenario/pending step comments from containing '//' when running features by specifying a directory with a trailing '/' (Joseph Wilk)
|
1414
|
+
* Scenario tables need spacing after them (#59 Joseph Wilk)
|
1415
|
+
* Support running scenario table rows when using --line argument (#55 Joseph Wilk)
|
1416
|
+
* Don't load cucumber.yml unless it exists (Aslak Hellesøy)
|
1417
|
+
* Fixing bug where specifying line number 1 in a feature which starts with a scenario with a scenario table was raising an error (#56 Joseph Wilk)
|
1418
|
+
|
1419
|
+
=== Removed features
|
1420
|
+
|
1421
|
+
|
1422
|
+
== 0.1.8 2008-10-18
|
1423
|
+
|
1424
|
+
This release extends the support for tables. PLEASE NOTE THAT TABLES ARE STILL EXPERIMENTAL.
|
1425
|
+
In previous releases it has been possible to use tables to define "more examples" of a scenario in
|
1426
|
+
a FIT-style column fixture kind of way. Now you can also use tables as arguments to steps.
|
1427
|
+
|
1428
|
+
Tables used to define more examples after a scenario must now be prefixed. In English it looks like this:
|
1429
|
+
|
1430
|
+
Feature: Addition
|
1431
|
+
In order to avoid silly mistakes
|
1432
|
+
As a math idiot
|
1433
|
+
I want to be told the sum of two numbers
|
1434
|
+
|
1435
|
+
Scenario: Add two numbers
|
1436
|
+
Given I have entered 50 into the calculator
|
1437
|
+
And I have entered 70 into the calculator
|
1438
|
+
When I press add
|
1439
|
+
Then the result should be 120 on the screen
|
1440
|
+
|
1441
|
+
More Examples:
|
1442
|
+
| input_1 | input_2 | button | output |
|
1443
|
+
| 20 | 30 | add | 50 |
|
1444
|
+
| 2 | 5 | add | 7 |
|
1445
|
+
| 0 | 40 | add | 40 |
|
1446
|
+
|
1447
|
+
Languages that are not updated yet will have to use "More Examples" until we get the translations.
|
1448
|
+
|
1449
|
+
Tables can also be used as arguments to individual steps. In fact, steps now support a single argument
|
1450
|
+
that can span several lines. This can be a table or a string.
|
1451
|
+
|
1452
|
+
Example:
|
1453
|
+
|
1454
|
+
Given the following people exist:
|
1455
|
+
| name | email | phone |
|
1456
|
+
| Aslak | aslak@email.com | 123 |
|
1457
|
+
| Joe | joe@email.com | 234 |
|
1458
|
+
| Bryan | bryan@email.org | 456 |
|
1459
|
+
When I search for email.com
|
1460
|
+
Then I should see:
|
1461
|
+
| name | email | phone |
|
1462
|
+
| Aslak | aslak@email.com | 123 |
|
1463
|
+
| Joe | joe@email.com | 234 |
|
1464
|
+
And I should see:
|
1465
|
+
"Some text
|
1466
|
+
on several lines"
|
1467
|
+
|
1468
|
+
The step definitions for such multiline steps must define an extra block argument for the argument:
|
1469
|
+
|
1470
|
+
Given /the following people exist:/ do |people_table|
|
1471
|
+
# people_table is of type Cucumber::Model::Table
|
1472
|
+
# See RDoc for more info
|
1473
|
+
end
|
1474
|
+
|
1475
|
+
Then /I should see:/ do |string|
|
1476
|
+
# string is a plain old ruby String with leading spaces on each line removed
|
1477
|
+
end
|
1478
|
+
|
1479
|
+
=== New features
|
1480
|
+
* Added profile formatter. (#35, Joseph Wilk)
|
1481
|
+
* Added support for Chinese Simplified. (Liming Lian)
|
1482
|
+
* Added support for Dutch. (Sjoerd Tieleman)
|
1483
|
+
* Multiline steps are now supported. (#4, Aslak Hellesøy)
|
1484
|
+
* Tables used to define more examples for a scenario must be prefixed "More Examples" (see languages.yml for other languages)
|
1485
|
+
* Show the file and line number for scenarios as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
|
1486
|
+
* Show the file for the feature as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
|
1487
|
+
* Show the feature file and line for pending steps as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
|
1488
|
+
|
1489
|
+
=== Bugfixes
|
1490
|
+
* Fixed speling errors in Spanish (Daniel Cadenas)
|
1491
|
+
* ActionMailer delivery_method should not be set to test (#41, Luke Melia)
|
1492
|
+
* Reverse incorrectly ordered args in webrat select step (#43, David Chelimsky)
|
1493
|
+
* Support comments above the first scenario (#31, Aslak Hellesøy)
|
1494
|
+
* Fixed the HTML Formatter to use actual values for FIT table headers (#30, Joseph Wilk)
|
1495
|
+
|
1496
|
+
=== Removed features
|
1497
|
+
* Removed the /^I go to (.*)$/ step from common_webrat.rb - it's not language agnostic and provides little value.
|
1498
|
+
|
1499
|
+
=== New features
|
1500
|
+
* Added new --out option to make it easier to specify output from Rake and cucumber.yml
|
1501
|
+
|
1502
|
+
== 0.1.7 2008-10-05
|
1503
|
+
|
1504
|
+
This release fixes a few bugs and adds some new features. The most notable features are:
|
1505
|
+
|
1506
|
+
=== Calling steps from steps
|
1507
|
+
|
1508
|
+
Step definitions are a little bit closer to having regular method semantics.
|
1509
|
+
You define them, but now you can also call them from other steps. Here is an
|
1510
|
+
example:
|
1511
|
+
|
1512
|
+
Given /I am logged in as an (.*) named (.*)$/ do |role, name|
|
1513
|
+
Given "I am registered as #{role}, #{name}, secret"
|
1514
|
+
When "I log in with #{name}, secret"
|
1515
|
+
end
|
1516
|
+
|
1517
|
+
Given /I am registered as (.*), (.*), (.*)/ do |role, name, password|
|
1518
|
+
# (Code removed for brevity)
|
1519
|
+
end
|
1520
|
+
|
1521
|
+
When /I log in with (.*), (.*)/ do |name, password|
|
1522
|
+
# (Code removed for brevity)
|
1523
|
+
end
|
1524
|
+
|
1525
|
+
This means that steps can be reused in other steps. The GivenScenario feature achieves a similar
|
1526
|
+
effect (on the scenario level), but this feature is something we're not very happy with, mostly
|
1527
|
+
because it's not parameterisable. Calling steps from steps is.
|
1528
|
+
|
1529
|
+
GivenScenario will still be working several releases, but the plan is to remove it completely in
|
1530
|
+
the 0.3.0 release.
|
1531
|
+
|
1532
|
+
=== Seeing where a step is defined
|
1533
|
+
|
1534
|
+
Prior to this release it could be hard to find out where the ruby step definition matching
|
1535
|
+
a plain text step is defined. Not anymore! Cucumber will now output this:
|
1536
|
+
|
1537
|
+
Scenario: Regular numbers
|
1538
|
+
Given I have entered 3 into the calculator # features/steps/calculator_steps.rb:12
|
1539
|
+
And I have entered 2 into the calculator # features/steps/calculator_steps.rb:12
|
1540
|
+
When I press divide # features/steps/calculator_steps.rb:16
|
1541
|
+
Then the result should be 1.5 on the screen # features/steps/calculator_steps.rb:20
|
1542
|
+
And the result class should be Float # features/steps/calculator_steps.rb:24
|
1543
|
+
|
1544
|
+
=== Bugfixes
|
1545
|
+
* Fixed a bug in the command line args being lost when using --profile (#27, Joseph Wilk)
|
1546
|
+
* Fixed a bug in Webrat selects (Tim Glen)
|
1547
|
+
* Fixed parsing of DOS line endings (#2, #28, Aslak Hellesøy)
|
1548
|
+
|
1549
|
+
=== New features
|
1550
|
+
* Steps can be called from other steps (#3, Bryan Helmkamp, Aslak Hellesøy)
|
1551
|
+
* Added But keyword to all languages (#21, Aslak Hellesøy)
|
1552
|
+
* Added --no-source option to display step definition location next to step text (#26, Joseph Wilk, Aslak Hellesøy)
|
1553
|
+
* Added more Webrat steps (#25, Tim Glen)
|
1554
|
+
|
1555
|
+
== 0.1.6 2008-10-01
|
1556
|
+
|
1557
|
+
First gem release!
|