cucumber 0.8.5 → 0.8.6

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