slimkeyfy 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +34 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +22 -0
  6. data/LICENSE +21 -0
  7. data/README.md +172 -0
  8. data/bin/slimkeyfy +5 -0
  9. data/lib/.DS_Store +0 -0
  10. data/lib/slimkeyfy/console/command_line.rb +90 -0
  11. data/lib/slimkeyfy/console/io_action.rb +30 -0
  12. data/lib/slimkeyfy/console/printer.rb +50 -0
  13. data/lib/slimkeyfy/console/translate.rb +101 -0
  14. data/lib/slimkeyfy/console.rb +8 -0
  15. data/lib/slimkeyfy/slimutils/file_utils.rb +61 -0
  16. data/lib/slimkeyfy/slimutils/hash_merging.rb +84 -0
  17. data/lib/slimkeyfy/slimutils/key_generator.rb +70 -0
  18. data/lib/slimkeyfy/slimutils/yaml_processor.rb +56 -0
  19. data/lib/slimkeyfy/slimutils.rb +8 -0
  20. data/lib/slimkeyfy/transformer/base_transformer.rb +42 -0
  21. data/lib/slimkeyfy/transformer/controller_transformer.rb +20 -0
  22. data/lib/slimkeyfy/transformer/slim_transformer.rb +92 -0
  23. data/lib/slimkeyfy/transformer/whitespacer.rb +48 -0
  24. data/lib/slimkeyfy/transformer/word.rb +49 -0
  25. data/lib/slimkeyfy/transformer.rb +9 -0
  26. data/lib/slimkeyfy/version.rb +3 -0
  27. data/lib/slimkeyfy.rb +12 -0
  28. data/slimkeyfy.gemspec +21 -0
  29. data/vendor/bundle/bin/htmldiff +25 -0
  30. data/vendor/bundle/bin/ldiff +25 -0
  31. data/vendor/bundle/bin/rspec +23 -0
  32. data/vendor/bundle/build_info/diff-lcs-1.2.5.info +1 -0
  33. data/vendor/bundle/build_info/rspec-3.0.0.info +1 -0
  34. data/vendor/bundle/build_info/rspec-core-3.0.2.info +1 -0
  35. data/vendor/bundle/build_info/rspec-expectations-3.0.2.info +1 -0
  36. data/vendor/bundle/build_info/rspec-mocks-3.0.2.info +1 -0
  37. data/vendor/bundle/build_info/rspec-support-3.0.2.info +1 -0
  38. data/vendor/bundle/gems/diff-lcs-1.2.5/.autotest +3 -0
  39. data/vendor/bundle/gems/diff-lcs-1.2.5/.gemtest +0 -0
  40. data/vendor/bundle/gems/diff-lcs-1.2.5/.hoerc +2 -0
  41. data/vendor/bundle/gems/diff-lcs-1.2.5/.rspec +2 -0
  42. data/vendor/bundle/gems/diff-lcs-1.2.5/.travis.yml +22 -0
  43. data/vendor/bundle/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
  44. data/vendor/bundle/gems/diff-lcs-1.2.5/Gemfile +20 -0
  45. data/vendor/bundle/gems/diff-lcs-1.2.5/History.rdoc +152 -0
  46. data/vendor/bundle/gems/diff-lcs-1.2.5/License.rdoc +39 -0
  47. data/vendor/bundle/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
  48. data/vendor/bundle/gems/diff-lcs-1.2.5/README.rdoc +85 -0
  49. data/vendor/bundle/gems/diff-lcs-1.2.5/Rakefile +41 -0
  50. data/vendor/bundle/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
  51. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
  52. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
  53. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
  54. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
  55. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
  56. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
  57. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
  58. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
  59. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
  60. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
  61. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
  62. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
  63. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
  64. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
  65. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
  66. data/vendor/bundle/gems/rspec-3.0.0/License.txt +24 -0
  67. data/vendor/bundle/gems/rspec-3.0.0/README.md +47 -0
  68. data/vendor/bundle/gems/rspec-3.0.0/lib/rspec.rb +3 -0
  69. data/vendor/bundle/gems/rspec-core-3.0.2/.document +5 -0
  70. data/vendor/bundle/gems/rspec-core-3.0.2/.yardopts +7 -0
  71. data/vendor/bundle/gems/rspec-core-3.0.2/Changelog.md +1466 -0
  72. data/vendor/bundle/gems/rspec-core-3.0.2/License.txt +25 -0
  73. data/vendor/bundle/gems/rspec-core-3.0.2/README.md +243 -0
  74. data/vendor/bundle/gems/rspec-core-3.0.2/exe/rspec +4 -0
  75. data/vendor/bundle/gems/rspec-expectations-3.0.2/.document +5 -0
  76. data/vendor/bundle/gems/rspec-expectations-3.0.2/.yardopts +6 -0
  77. data/vendor/bundle/gems/rspec-expectations-3.0.2/Changelog.md +749 -0
  78. data/vendor/bundle/gems/rspec-expectations-3.0.2/License.txt +24 -0
  79. data/vendor/bundle/gems/rspec-expectations-3.0.2/README.md +278 -0
  80. data/vendor/bundle/gems/rspec-mocks-3.0.2/.document +5 -0
  81. data/vendor/bundle/gems/rspec-mocks-3.0.2/.yardopts +6 -0
  82. data/vendor/bundle/gems/rspec-mocks-3.0.2/Changelog.md +733 -0
  83. data/vendor/bundle/gems/rspec-mocks-3.0.2/License.txt +24 -0
  84. data/vendor/bundle/gems/rspec-mocks-3.0.2/README.md +380 -0
  85. data/vendor/bundle/gems/rspec-support-3.0.2/Changelog.md +30 -0
  86. data/vendor/bundle/gems/rspec-support-3.0.2/LICENSE.txt +22 -0
  87. data/vendor/bundle/gems/rspec-support-3.0.2/README.md +17 -0
  88. data/vendor/bundle/specifications/diff-lcs-1.2.5.gemspec +68 -0
  89. data/vendor/bundle/specifications/rspec-3.0.0.gemspec +43 -0
  90. data/vendor/bundle/specifications/rspec-core-3.0.2.gemspec +66 -0
  91. data/vendor/bundle/specifications/rspec-expectations-3.0.2.gemspec +51 -0
  92. data/vendor/bundle/specifications/rspec-mocks-3.0.2.gemspec +48 -0
  93. data/vendor/bundle/specifications/rspec-support-3.0.2.gemspec +42 -0
  94. metadata +153 -0
@@ -0,0 +1,1466 @@
1
+ ### 3.0.2 / 2014-06-19
2
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.1...v3.0.2)
3
+
4
+ Bug Fixes:
5
+
6
+ * Fix regression in CLI option handling that prevented `--tag slow`
7
+ passed at the command line from overriding `--tag ~slow` in `.rspec`.
8
+ (Colin Jones, #1602)
9
+ * Fix metadata `:example_group` deprecation warning so that it gets
10
+ issued at the call site of the configuration that specified it as
11
+ a filter rather than later when an example group is defined.
12
+ (Myron Marston, #1562)
13
+ * Make the line that is printed when a shared example group fails indicating
14
+ where the concrete example group is white, separating it from the stack trace
15
+ that is produced for the failure. (Sam Phippen, Jon Rowe, #1606)
16
+
17
+ ### 3.0.1 / 2014-06-12
18
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0...v3.0.1)
19
+
20
+ Bug Fixes:
21
+
22
+ * Fix a couple ruby warnings caused by rspec-core when loaded.
23
+ (Prem Sichanugrist, #1584)
24
+ * Example groups named `Config` will no longer cause a Ruby warning to be
25
+ issued. (Jimmy Cuadra, #1580)
26
+
27
+ ### 3.0.0 / 2014-06-01
28
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.rc1...v3.0.0)
29
+
30
+ Bug Fixes:
31
+
32
+ * Fix `BaseTextFormatter` so that it does not re-close a closed output
33
+ stream. (Myron Marston)
34
+ * Fix regression in metadata that caused the metadata hash of a top-level
35
+ example group to have a `:parent_example_group` key even though it has
36
+ no parent example group. (Myron Marston)
37
+
38
+ Enhancements:
39
+
40
+ * Alter the default `spec_helper.rb` to no longer recommend
41
+ `config.full_backtrace = true` see #1536 for discussion. (Jon Rowe)
42
+
43
+ ### 3.0.0.rc1 / 2014-05-18
44
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.beta2...v3.0.0.rc1)
45
+
46
+ Breaking Changes for 3.0.0:
47
+
48
+ * Change `described_class` so that in a nested group like `describe
49
+ MyClass`, it returns `MyClass` rather than the outer group's described
50
+ class. (Myron Marston)
51
+ * Refactor filter manager so that it no longer subclasses Hash and has a
52
+ tighter, more domain-specific interface. (Sergey Pchelincev)
53
+ * Remove legacy colours definitions from `BaseTextFormatter`. (Jon Rowe)
54
+ * Remove console color definitions from `BaseTextFormatter`. (Jon Rowe)
55
+ * Restructure example group metadata so that the computed keys are
56
+ exposed directly off of the metadata hash rather than being on
57
+ a nested `:example_group` subhash. In addition, the parent example
58
+ group metadata is now available as `[:parent_example_group]` rather
59
+ than `[:example_group][:example_group]`. Deprecated access via the
60
+ old key structure is still provided. (Myron Marston)
61
+ * Remove `:describes` metadata key. It duplicates `:described_class`
62
+ for no good reason. Deprecated access via `:describes` is still
63
+ provided. (Myron Marston)
64
+ * Rename `:example_group_block` metadata key to `:block`.
65
+ (Myron Marston)
66
+ * Remove deprecated `RSpec::Core::Example#options`. (Myron Marston)
67
+ * Move `BaseTextFormatter#colorize_summary` to `SummaryNotification#colorize_with`
68
+ (Jon Rowe).
69
+ * `describe some_hash` treated `some_hash` as metadata in RSpec 2.x but
70
+ will treat it as the described object in RSpec 3.0. Metadata must
71
+ always come after the description args. (Myron Marston)
72
+ * Remove deprecated `display_name` alias of `ExampleGroup.description`.
73
+ (Myron Marston)
74
+ * Remove deprecated `describes` alias of `ExampleGroup.described_class`.
75
+ (Myron Marston)
76
+ * Remove deprecated `RSpec::Core::ExampleGroup.alias_it_behaves_like_to`.
77
+ Use `RSpec::Core::Configuration#alias_it_behaves_like_to` instead.
78
+ (Myron Marston)
79
+ * Remove deprecated `RSpec::Core::ExampleGroup.alias_example_to`.
80
+ Use `RSpec::Core::Configuration#alias_example_to` instead.
81
+ (Myron Marston)
82
+ * Removed `focused` example alias and change example/group aliases
83
+ `fit`, `focus`, `fcontext` and `fdescribe` to no longer include
84
+ `:focused => true` metadata. They only contain `:focus => true`
85
+ metadata now. This means that you will need to filter them with
86
+ `filter_run :focus`, not `filter_run :focused`. (Myron Marston)
87
+ * Remove `--line-number` filtering. It's semantically dubious since it's
88
+ a global filter (potentially applied to multiple files) but there's no
89
+ meaningful connection between the same line number in multiple files.
90
+ Instead use the `rspec path/to/spec.rb:23:46` form, which is terser
91
+ and makes more sense as it is scoped to a file. (Myron Marston)
92
+ * Remove `--default_path` as an alias for `--default-path`. (Jon Rowe)
93
+ * Remove deprecated `share_examples_for`. There's still
94
+ `shared_examples` and `shared_examples_for`. (Myron Marston)
95
+ * Rename `RSpec::Core::Configuration#warnings` to
96
+ `RSpec::Core::Configuration#warnings?` since it's a boolean flag.
97
+ (Myron Marston)
98
+ * RSpec's global state is no longer reset after a spec run. This gives
99
+ more flexibility to alternate runners to decide when and if they
100
+ want the state reset. Alternate runners are now responsible for
101
+ calling this (or doing a similar reset) if they are going to run
102
+ the spec suite multiple times in the same process. (Sam Phippen)
103
+ * Merge `RSpec::Core::CommandLine` (never formally declared public)
104
+ into `RSpec::Core::Runner`. (Myron Marston)
105
+ * Remove `color_enabled` as an alias of `color`. (Jon Rowe)
106
+ * Remove `backtrace_cleaner` as an alias of `backtrace_formatter`. (Jon Rowe)
107
+ * Remove `filename_pattern` as an alias of `pattern`. (Jon Rowe)
108
+ * Extract support for legacy formatters to `rspec-legacy_formatters`. (Jon Rowe)
109
+ * `RSpec::Configuration#formatters` now returns a dup to prevent mutation. (Jon Rowe)
110
+ * Replace `stdlib` as an available expectation framework with `test_unit` and
111
+ `minitest`. (Aaron Kromer)
112
+ * Remove backtrace formatting helpers from `BaseTextFormatter`. (Jon Rowe)
113
+ * Extract profiler support to `ProfileFormatter` and `ProfileNotification`.
114
+ Formatters should implement `dump_profile` if they wish to respond to `--profile`.
115
+ (Jon Rowe)
116
+ * Extract remaining formatter state to reporter and notifications. Introduce
117
+ `ExamplesNotification` to share information about examples that was previously
118
+ held in `BaseFormatter`. (Jon Rowe)
119
+
120
+ Enhancements:
121
+
122
+ * Add `config.default_formatter` attribute, which can be used to set a
123
+ formatter which will only be used if no other formatter is set
124
+ (e.g. via `--formatter`). (Myron Marston)
125
+ * Support legacy colour definitions in `LegacyFormatterAdaptor`. (Jon Rowe)
126
+ * Migrate `execution_result` (exposed by metadata) from a hash to a
127
+ first-class object with appropriate attributes. `status` is now
128
+ stored and returned as a symbol rather than a string. It retains
129
+ deprecated hash behavior for backwards compatibility. (Myron Marston)
130
+ * Provide console code helper for formatters. (Jon Rowe)
131
+ * Use raw ruby hashes for the metadata hashes rather than a subclass of
132
+ a hash. Computed metadata entries are now computed in advance rather
133
+ than being done lazily on first access. (Myron Marston)
134
+ * Add `:block` metadata entry to the example metadata, bringing
135
+ parity with `:block` in the example group metadata. (Myron Marston)
136
+ * Add `fspecify` and `fexample` as aliases of `specify` and `example`
137
+ with `:focus => true` metadata for parity with `fit`. (Myron Marston)
138
+ * Add legacy support for `colorize_summary`. (Jon Rowe)
139
+ * Restructure runner so it can be more easily customized in a subclass
140
+ for an alternate runner. (Ben Hoskings)
141
+ * Document `RSpec::Core::ConfigurationOptions` as an officially
142
+ supported public API. (Myron Marston)
143
+ * Add `--deprecation-out` CLI option which directs deprecation warnings
144
+ to the named file. (Myron Marston)
145
+ * Minitest 5 compatability for `expect_with :stdlib` (now available as
146
+ `expect_with :minitest`). (Xavier Shay)
147
+ * Reporter now notifies formatters of the load time of RSpec and your
148
+ specs via `StartNotification` and `SummaryNotification`. (Jon Rowe)
149
+ * Add `disable_monkey_patching!` config option that disables all monkey
150
+ patching from whatever pieces of RSpec you use. (Alexey Fedorov)
151
+ * Add `Pathname` support for setting all output streams. (Aaron Kromer)
152
+ * Add `config.define_derived_metadata`, which can be used to apply
153
+ additional metadata to all groups or examples that match a given
154
+ filter. (Myron Marston)
155
+ * Provide formatted and colorized backtraces via `FailedExampleNotification`
156
+ and send `PendingExampleFixedNotifications` when the error is due to a
157
+ passing spec you expect to fail. (Jon Rowe)
158
+ * Add `dump_profile` to formatter API to allow formatters to implement
159
+ support for `--profile`. (Jon Rowe)
160
+ * Allow colourising text via `ConsoleCodes` with RSpec 'states'
161
+ (e.g. `:success`, `:failure`) rather than direct colour codes. (Jon Rowe)
162
+ * Expose `fully_formatted` methods off the formatter notification objects
163
+ that make it easy for a custom formatter to produce formatted output
164
+ like rspec-core's. (Myron Marston)
165
+
166
+ Bug Fixes:
167
+
168
+ * Fix `spec_helper.rb` file generated by `rspec --init` so that the
169
+ recommended settings correctly use the documentation formatter
170
+ when running one file. (Myron Marston)
171
+ * Fix ordering problem where descriptions were generated after
172
+ tearing down mocks, which resulted in unexpected exceptions.
173
+ (Bradley Schaefer, Aaron Kromer, Andrey Savchenko)
174
+ * Allow a symbol to be used as an implicit subject (e.g. `describe
175
+ :foo`). (Myron Marston)
176
+ * Prevent creating an isolated context (i.e. using `RSpec.describe`) when
177
+ already inside a context. There is no reason to do this, and it could
178
+ potentially cause unexpected bugs. (Xavier Shay)
179
+ * Fix shared example group scoping so that when two shared example
180
+ groups share the same name at different levels of nested contexts,
181
+ the one in the nearest context is used. (Myron Marston)
182
+ * Fix `--warnings` option so that it enables warnings immediately so
183
+ that it applies to files loaded by `--require`. (Myron Marston)
184
+ * Issue a warning when you set `config.deprecation_stream` too late for
185
+ it to take effect because the reporter has already been setup. (Myron Marston)
186
+ * Add the full `RSpec::Core::Example` interface to the argument yielded
187
+ to `around` hooks. (Myron Marston)
188
+ * Line number always takes precendence when running specs with filters.
189
+ (Xavier Shay)
190
+ * Ensure :if and :unless metadata filters are treated as a special case
191
+ and are always in-effect. (Bradley Schaefer)
192
+ * Ensure the currently running installation of RSpec is used when
193
+ the rake task shells out to `rspec`, even if a newer version is also
194
+ installed. (Postmodern)
195
+ * Using a legacy formatter as default no longer causes an infinite loop.
196
+ (Xavier Shay)
197
+
198
+ ### 3.0.0.beta2 / 2014-02-17
199
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.beta1...v3.0.0.beta2)
200
+
201
+ Breaking Changes for 3.0.0:
202
+
203
+ * Make `mock_with` option more strict. Strings are no longer supported
204
+ (e.g. `mock_with "mocha"`) -- use a symbol instead. Also, unrecognized
205
+ values will now result in an error rather than falling back to the
206
+ null mocking adapter. If you want to use the null mocking adapter,
207
+ use `mock_with :nothing` (as has been documented for a long time).
208
+ (Myron Marston)
209
+ * Remove support for overriding RSpec's built-in `:if` and `:unless`
210
+ filters. (Ashish Dixit)
211
+ * Custom formatters are now required to call
212
+ `RSpec::Core::Formatters.register(formatter_class, *notifications)`
213
+ where `notifications` is the list of events the formatter wishes to
214
+ be notified about. Notifications are handled by methods matching the
215
+ names on formatters. This allows us to add or remove notifications
216
+ without breaking existing formatters. (Jon Rowe)
217
+ * Change arguments passed to formatters. Rather than passing multiple
218
+ arguments (which limits are ability to add additional arguments as
219
+ doing so would break existing formatters), we now pass a notification
220
+ value object that exposes the same data via attributes. This will
221
+ allow us to add new bits of data to a notification event without
222
+ breaking existing formatters. (Jon Rowe)
223
+ * Remove support for deprecated `:alias` option for
224
+ `RSpec.configuration.add_setting`. (Myron Marston)
225
+ * Remove support for deprecated `RSpec.configuration.requires = [...]`.
226
+ (Myron Marston)
227
+ * Remove support for deprecated `--formatter` CLI option. (Myron Marston)
228
+ * Remove support for deprecated `--configure` CLI option. (Myron Marston)
229
+ * Remove support for deprecated `RSpec::Core::RakeTask#spec_opts=`.
230
+ (Myron Marston)
231
+ * An example group level `pending` block or `:pending` metadata now executes
232
+ the example and cause a failure if it passes, otherwise it will be pending if
233
+ it fails. The old "never run" behaviour is still used for `xexample`, `xit`,
234
+ and `xspecify`, or via a new `skip` method or `:skip` metadata option.
235
+ (Xavier Shay)
236
+ * After calling `pending` inside an example, the remainder of the example will
237
+ now be run. If it passes a failure is raised, otherwise the example is marked
238
+ pending. The old "never run" behaviour is provided a by a new `skip` method.
239
+ (Xavier Shay)
240
+ * Pending blocks inside an example have been removed as a feature with no
241
+ direct replacement. Use `skip` or `pending` without a block. (Xavier Shay)
242
+ * Pending statement is no longer allowed in `before(:all)` hooks. Use `skip`
243
+ instead. (Xavier Shay)
244
+ * Remove `show_failures_in_pending_blocks` configuration option. (Xavier Shay)
245
+ * Remove support for specifying the documentation formatter using
246
+ 's', 'n', 'spec' or 'nested'. (Jon Rowe)
247
+
248
+ Enhancements:
249
+
250
+ * Add example run time to JSON formatter output. (Karthik Kastury)
251
+ * Add more suggested settings to the files generated by
252
+ `rspec --init`. (Myron Marston)
253
+ * Add `config.alias_example_group_to`, which can be used to define a
254
+ new method that defines an example group with the provided metadata.
255
+ (Michi Huber)
256
+ * Add `xdescribe` and `xcontext` as shortcuts to skip an example group.
257
+ (Myron Marston)
258
+ * Add `fdescribe` and `fcontext` as shortcuts to focus an example group.
259
+ (Myron Marston)
260
+ * Don't autorun specs via `#at_exit` by default. `require 'rspec/autorun'`
261
+ is only needed when running specs via `ruby`, as it always has been.
262
+ Running specs via `rake` or `rspec` are both unaffected. (Ben Hoskings)
263
+ * Add `expose_dsl_globally` config option, defaulting to true. When disabled
264
+ it will remove the monkey patches rspec-core adds to `main` and `Module`
265
+ (e.g. `describe`, `shared_examples_for`, etc). (Jon Rowe)
266
+ * Expose RSpec DSL entry point methods (`describe`,
267
+ `shared_examples_for`, etc) on the `RSpec` constant. Intended for use
268
+ when `expose_dsl_globally` is set to `false`. (Jon Rowe)
269
+ * For consistency, expose all example group aliases (including
270
+ `context`) on the `RSpec` constant. If `expose_dsl_globally` is set to
271
+ `true`, also expose them on `main` and `Module`. Historically, only `describe`
272
+ was exposed. (Jon Rowe, Michi Huber)
273
+ * Add hook scope `:example` as an alias for `:each`, and `:context` as an alias
274
+ for `:all`. (John Feminella)
275
+
276
+ Bug Fixes:
277
+
278
+ * Fix failure (undefined method `path`) in end-of-run summary
279
+ when `raise_errors_for_deprecations!` is configured. (Myron Marston)
280
+ * Issue error when attempting to use `-i` or `--I` on command line,
281
+ too close to `-I` to be considered short hand for `--init`. (Jon Rowe)
282
+ * Prevent adding formatters to an output target if the same
283
+ formatter has already been added to that output. (Alex Peattie)
284
+ * Allow a matcher-generated example description to be used when
285
+ the example is pending. (Myron Marston)
286
+ * Ensure the configured `failure_exit_code` is used by the rake
287
+ task when there is a failure. (Jon Rowe)
288
+ * Restore behaviour whereby system exclusion filters take priority over working
289
+ directory (was broken in beta1). (Jon Rowe)
290
+ * Prevent RSpec mangling file names that have substrings containing `line_number`
291
+ or `default_path`. (Matijs van Zuijlen)
292
+
293
+ ### 3.0.0.beta1 / 2013-11-07
294
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.1...v3.0.0.beta1)
295
+
296
+ Breaking Changes for 3.0.0:
297
+
298
+ * Remove explicit support for 1.8.6. (Jon Rowe)
299
+ * Remove `RSpec::Core::ExampleGroup#example` and
300
+ `RSpec::Core::ExampleGroup#running_example` methods. If you need
301
+ access to the example (e.g. to get its metadata), use a block arg
302
+ instead. (David Chelimsky)
303
+ * Remove `TextMateFormatter`, it has been moved to `rspec-tmbundle`.
304
+ (Aaron Kromer)
305
+ * Remove RCov integration. (Jon Rowe)
306
+ * Remove deprecated support for RSpec 1 constructs (Myron Marston):
307
+ * The `Spec` and `Rspec` constants (rather than `RSpec`).
308
+ * `Spec::Runner.configure` rather than `RSpec.configure`.
309
+ * `Rake::SpecTask` rather than `RSpec::Core::RakeTask`.
310
+ * Remove deprecated support for `share_as`. (Myron Marston)
311
+ * Remove `--debug` option (and corresponding option on
312
+ `RSpec::Core::Configuration`). Instead, use `-r<debugger gem name>` to
313
+ load whichever debugger gem you wish to use (e.g. `ruby-debug`,
314
+ `debugger`, or `pry`). (Myron Marston)
315
+ * Extract Autotest support to a seperate gem. (Jon Rowe)
316
+ * Raise an error when a `let` or `subject` declaration is
317
+ accessed in a `before(:all)` or `after(:all)` hook. (Myron Marston)
318
+ * Extract `its` support to a separate gem. (Peter Alfvin)
319
+ * Disallow use of a shared example group from sibling contexts, making them
320
+ fully isolated. 2.14 and 2.99 allowed this but printed a deprecation warning.
321
+ (Jon Rowe)
322
+ * Remove `RSpec::Core::Configuration#output` and
323
+ `RSpec::Core::Configuration#out` aliases of
324
+ `RSpec::Core::Configuration#output_stream`. (Myron Marston)
325
+ * Remove legacy ordering APIs deprecated in 2.99.0.beta1. (Myron
326
+ Marston)
327
+
328
+ Enhancements:
329
+
330
+ * Replace unmaintained syntax gem with coderay gem. (Xavier Shay)
331
+ * Times in profile output are now bold instead of `failure_color`.
332
+ (Matthew Boedicker)
333
+ * Add `--no-fail-fast` command line option. (Gonzalo Rodríguez-Baltanás Díaz)
334
+ * Runner now considers the local system ip address when running under Drb.
335
+ (Adrian CB)
336
+ * JsonFormatter now includes `--profile` information. (Alex / @MasterLambaster)
337
+ * Always treat symbols passed as metadata args as hash
338
+ keys with true values. RSpec 2 supported this with the
339
+ `treat_symbols_as_metadata_keys_with_true_values` but
340
+ now this behavior is always enabled. (Myron Marston)
341
+ * Add `--dry-run` option, which prints the formatter output
342
+ of your suite without running any examples or hooks.
343
+ (Thomas Stratmann, Myron Marston)
344
+ * Document the configuration options and default values in the `spec_helper.rb`
345
+ file that is generated by RSpec. (Parker Selbert)
346
+ * Give generated example group classes a friendly name derived
347
+ from the docstring, rather than something like "Nested_2".
348
+ (Myron Marston)
349
+ * Avoid affecting randomization of user code when shuffling
350
+ examples so that users can count on their own seeds
351
+ working. (Travis Herrick)
352
+ * Ordering is no longer a single global property of the test suite.
353
+ Each group can pick an ordering using `:order` metadata. (Andy
354
+ Lindeman, Sam Phippen, Myron Marston)
355
+ * Allow named custom ordering strategies to be registered, which can
356
+ then be used on individual example groups. (Andy Lindeman, Sam
357
+ Phippen, Myron Marston)
358
+
359
+ Deprecations:
360
+
361
+ * `treat_symbols_as_metadata_keys_with_true_values` is deprecated and no
362
+ longer has an affect now that the behavior it enabled is always
363
+ enabled. (Myron Marston)
364
+
365
+ ### 2.99.1 / 2014-06-19
366
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0...v2.99.1)
367
+
368
+ Bug Fixes:
369
+
370
+ * Add missing deprecation warning for when `RSpec::Core::Runner` is used
371
+ multiple times in the same process. In 2.x RSpec's global state was
372
+ automatically cleared between runs but in 3.0 you need to call `RSpec.reset`
373
+ manually in these situations. (Sam Phippen, #1587)
374
+ * Prevent deprecation being accidentally issues when doubles used with `be_`
375
+ matchers due to automatically generated descriptions. (Jon Rowe, #1573)
376
+ * Load `rspec/core` when loading `rspec/core/rake_task` to ensure we can
377
+ issue deprecations correctly. (Jon Rowe, #1612)
378
+
379
+ ### 2.99.0 / 2014-06-01
380
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.rc1...v2.99.0)
381
+
382
+ Bug Fixes:
383
+
384
+ * Fix `BaseTextFormatter` so that it does not re-close a closed output
385
+ stream. (Myron Marston)
386
+ * Use `RSpec::Configuration#backtrace_exclusion_patterns` rather than the
387
+ deprecated `RSpec::Configuration#backtrace_clean_patterns` when mocking
388
+ with rr. (David Dollar)
389
+
390
+ ### 2.99.0.rc1 / 2014-05-18
391
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.beta2...v2.99.0.rc1)
392
+
393
+ Enhancements:
394
+
395
+ * Add `--deprecation-out` CLI option which directs deprecation warnings
396
+ to the named file. (Myron Marston)
397
+ * Backport support for `skip` in metadata to skip execution of an example.
398
+ (Xavier Shay, #1472)
399
+ * Add `Pathname` support for setting all output streams. (Aaron Kromer)
400
+ * Add `test_unit` and `minitest` expectation frameworks. (Aaron Kromer)
401
+
402
+ Deprecations:
403
+
404
+ * Deprecate `RSpec::Core::Pending::PendingDeclaredInExample`, use
405
+ `SkipDeclaredInExample` instead. (Xavier Shay)
406
+ * Issue a deprecation when `described_class` is accessed from within
407
+ a nested `describe <SomeClass>` example group, since `described_class`
408
+ will return the innermost described class in RSpec 3 rather than the
409
+ outermost described class, as it behaved in RSpec 2. (Myron Marston)
410
+ * Deprecate `RSpec::Core::FilterManager::DEFAULT_EXCLUSIONS`,
411
+ `RSpec::Core::FilterManager::STANDALONE_FILTERS` and use of
412
+ `#empty_without_conditional_filters?` on those filters. (Sergey Pchelincev)
413
+ * Deprecate `RSpec::Core::Example#options` in favor of
414
+ `RSpec::Core::Example#metadata`. (Myron Marston)
415
+ * Issue warning when passing a symbol or hash to `describe` or `context`
416
+ as the first argument. In RSpec 2.x this would be treated as metadata
417
+ but in RSpec 3 it'll be treated as the described object. To continue
418
+ having it treated as metadata, pass a description before the symbol or
419
+ hash. (Myron Marston)
420
+ * Deprecate `RSpec::Core::BaseTextFormatter::VT100_COLORS` and
421
+ `RSpec::Core::BaseTextFormatter::VT100_COLOR_CODES` in favour
422
+ of `RSpec::Core::BaseTextFormatter::ConsoleCodes::VT100_CODES` and
423
+ `RSpec::Core::BaseTextFormatter::ConsoleCodes::VT100_CODE_VALUES`.
424
+ (Jon Rowe)
425
+ * Deprecate `RSpec::Core::ExampleGroup.display_name` in favor of
426
+ `RSpec::Core::ExampleGroup.description`. (Myron Marston)
427
+ * Deprecate `RSpec::Core::ExampleGroup.describes` in favor of
428
+ `RSpec::Core::ExampleGroup.described_class`. (Myron Marston)
429
+ * Deprecate `RSpec::Core::ExampleGroup.alias_example_to` in favor of
430
+ `RSpec::Core::Configuration#alias_example_to`. (Myron Marston)
431
+ * Deprecate `RSpec::Core::ExampleGroup.alias_it_behaves_like_to` in favor
432
+ of `RSpec::Core::Configuration#alias_it_behaves_like_to`. (Myron Marston)
433
+ * Deprecate `RSpec::Core::ExampleGroup.focused` in favor of
434
+ `RSpec::Core::ExampleGroup.focus`. (Myron Marston)
435
+ * Add deprecation warning for `config.filter_run :focused` since
436
+ example aliases `fit` and `focus` will no longer include
437
+ `:focused` metadata but will continue to include `:focus`. (Myron Marston)
438
+ * Deprecate filtering by `:line_number` (e.g. `--line-number` from the
439
+ CLI). Use location filtering instead. (Myron Marston)
440
+ * Deprecate `--default_path` as an alternative to `--default-path`. (Jon Rowe)
441
+ * Deprecate `RSpec::Core::Configuration#warnings` in favor of
442
+ `RSpec::Core::Configuration#warnings?`. (Myron Marston)
443
+ * Deprecate `share_examples_for` in favor of `shared_examples_for` or
444
+ just `shared_examples`. (Myron Marston)
445
+ * Deprecate `RSpec::Core::CommandLine` in favor of
446
+ `RSpec::Core::Runner`. (Myron Marston)
447
+ * Deprecate `#color_enabled`, `#color_enabled=` and `#color?` in favour of
448
+ `#color`, `#color=` and `#color_enabled? output`. (Jon Rowe)
449
+ * Deprecate `#filename_pattern` in favour of `#pattern`. (Jon Rowe)
450
+ * Deprecate `#backtrace_cleaner` in favour of `#backtrace_formatter`. (Jon Rowe)
451
+ * Deprecate mutating `RSpec::Configuration#formatters`. (Jon Rowe)
452
+ * Deprecate `stdlib` as an available expectation framework in favour of
453
+ `test_unit` and `minitest`. (Aaron Kromer)
454
+
455
+ Bug Fixes:
456
+
457
+ * Issue a warning when you set `config.deprecation_stream` too late for
458
+ it to take effect because the reporter has already been setup. (Myron Marston)
459
+ * `skip` with a block should not execute the block. (Xavier Shay)
460
+
461
+ ### 2.99.0.beta2 / 2014-02-17
462
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.beta1...v2.99.0.beta2)
463
+
464
+ Enhancements:
465
+
466
+ * Add `is_expected` for one-liners that read well with the
467
+ `expect`-based syntax. `is_expected` is simply defined as
468
+ `expect(subject)` and can be used in an expression like:
469
+ `it { is_expected.to read_well }`. (Myron Marston)
470
+ * Backport `skip` from RSpec 3, which acts like `pending` did in RSpec 2
471
+ when not given a block, since the behavior of `pending` is changing in
472
+ RSpec 3. (Xavier Shay)
473
+
474
+ Deprecations:
475
+
476
+ * Deprecate inexact `mock_with` config options. RSpec 3 will only support
477
+ the exact symbols `:rspec`, `:mocha`, `:flexmock`, `:rr` or `:nothing`
478
+ (or any module that implements the adapter interface). RSpec 2 did
479
+ fuzzy matching but this will not be supported going forward.
480
+ (Myron Marston)
481
+ * Deprecate `show_failures_in_pending_blocks` config option. To achieve
482
+ the same behavior as the option enabled, you can use a custom
483
+ formatter instead. (Xavier Shay)
484
+ * Add a deprecation warning for the fact that the behavior of `pending`
485
+ is changing in RSpec 3 -- rather than skipping the example (as it did
486
+ in 2.x when no block was provided), it will run the example and mark
487
+ it as failed if no exception is raised. Use `skip` instead to preserve
488
+ the old behavior. (Xavier Shay)
489
+ * Deprecate 's', 'n', 'spec' and 'nested' as aliases for documentation
490
+ formatter. (Jon Rowe)
491
+ * Deprecate `RSpec::Core::Reporter#abort` in favor of
492
+ `RSpec::Core::Reporter#finish`. (Jon Rowe)
493
+
494
+ Bug Fixes:
495
+
496
+ * Fix failure (undefined method `path`) in end-of-run summary
497
+ when `raise_errors_for_deprecations!` is configured. (Myron Marston)
498
+ * Fix issue were overridding spec ordering from the command line wasn't
499
+ fully recognised interally. (Jon Rowe)
500
+
501
+ ### 2.99.0.beta1 / 2013-11-07
502
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.7...v2.99.0.beta1)
503
+
504
+ Enhancements
505
+
506
+ * Block-based DSL methods that run in the context of an example
507
+ (`it`, `before(:each)`, `after(:each)`, `let` and `subject`)
508
+ now yield the example as a block argument. (David Chelimsky)
509
+ * Warn when the name of more than one example group is submitted to
510
+ `include_examples` and it's aliases. (David Chelimsky)
511
+ * Add `expose_current_running_example_as` config option for
512
+ use during the upgrade process when external gems use the
513
+ deprecated `RSpec::Core::ExampleGroup#example` and
514
+ `RSpec::Core::ExampleGroup#running_example` methods. (Myron Marston)
515
+ * Limit spamminess of deprecation messages. (Bradley Schaefer, Loren Segal)
516
+ * Add `config.raise_errors_for_deprecations!` option, which turns
517
+ deprecations warnings into errors to surface the full backtrace
518
+ of the call site. (Myron Marston)
519
+
520
+ Deprecations
521
+
522
+ * Deprecate `RSpec::Core::ExampleGroup#example` and
523
+ `RSpec::Core::ExampleGroup#running_example` methods. If you need
524
+ access to the example (e.g. to get its metadata), use a block argument
525
+ instead. (David Chelimsky)
526
+ * Deprecate use of `autotest/rspec2` in favour of `rspec-autotest`. (Jon Rowe)
527
+ * Deprecate RSpec's built-in debugger support. Use a CLI option like
528
+ `-rruby-debug` (for the ruby-debug gem) or `-rdebugger` (for the
529
+ debugger gem) instead. (Myron Marston)
530
+ * Deprecate `RSpec.configuration.treat_symbols_as_metadata_keys_with_true_values = false`.
531
+ RSpec 3 will not support having this option set to `false`. (Myron Marston)
532
+ * Deprecate accessing a `let` or `subject` declaration in
533
+ a `after(:all)` hook. (Myron Marston, Jon Rowe)
534
+ * Deprecate built-in `its` usage in favor of `rspec-its` gem due to planned
535
+ removal in RSpec 3. (Peter Alfvin)
536
+ * Deprecate `RSpec::Core::PendingExampleFixedError` in favor of
537
+ `RSpec::Core::Pending::PendingExampleFixedError`. (Myron Marston)
538
+ * Deprecate `RSpec::Core::Configuration#out` and
539
+ `RSpec::Core::Configuration#output` in favor of
540
+ `RSpec::Core::Configuration#output_stream`. (Myron Marston)
541
+ * Deprecate legacy ordering APIs.
542
+ * You should use `register_ordering(:global)` instead of these:
543
+ * `RSpec::Core::Configuration#order_examples`
544
+ * `RSpec::Core::Configuration#order_groups`
545
+ * `RSpec::Core::Configuration#order_groups_and_examples`
546
+ * These are deprecated with no replacement because in RSpec 3
547
+ ordering is a property of individual example groups rather than
548
+ just a global property of the entire test suite:
549
+ * `RSpec::Core::Configuration#order`
550
+ * `RSpec::Core::Configuration#randomize?`
551
+ * `--order default` is deprecated in favor of `--order defined`
552
+ (Myron Marston)
553
+
554
+ ### 2.14.8 / 2014-02-27
555
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.7...v2.14.8)
556
+
557
+ Bug fixes:
558
+
559
+ * Fix regression with the `textmateformatter` that prevented backtrace links
560
+ from being clickable. (Stefan Daschek)
561
+
562
+ ### 2.14.7 / 2013-10-29
563
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.6...v2.14.7)
564
+
565
+ Bug fixes:
566
+
567
+ * Fix regression in 2.14.6 that broke the Fivemat formatter.
568
+ It depended upon either
569
+ `example.execution_result[:exception].pending_fixed?` (which
570
+ was removed in 2.14.6 to fix an issue with frozen error objects)
571
+ or `RSpec::Core::PendingExampleFixedError` (which was renamed
572
+ to `RSpec::Core::Pending::PendingExampleFixedError` in 2.8.
573
+ This fix makes a constant alias for the old error name.
574
+ (Myron Marston)
575
+
576
+ ### 2.14.6 / 2013-10-15
577
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.5...v2.14.6)
578
+
579
+ Bug fixes:
580
+
581
+ * Format stringified numbers correctly when mathn library is loaded.
582
+ (Jay Hayes)
583
+ * Fix an issue that prevented the use of frozen error objects. (Lars
584
+ Gierth)
585
+
586
+ ### 2.14.5 / 2013-08-13
587
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.4...v2.14.5)
588
+
589
+ Bug fixes:
590
+
591
+ * Fix a `NoMethodError` that was being raised when there were no shared
592
+ examples or contexts declared and `RSpec.world.reset` is invoked.
593
+ (thepoho, Jon Rowe, Myron Marston)
594
+ * Fix a deprecation warning that was being incorrectly displayed when
595
+ `shared_examples` are declared at top level in a `module` scope.
596
+ (Jon Rowe)
597
+ * Fix after(:all) hooks so consecutive (same context) scopes will run even if
598
+ one raises an error. (Jon Rowe, Trejkaz)
599
+ * JsonFormatter no longer dies if `dump_profile` isn't defined (Alex / @MasterLambaster, Jon Rowe)
600
+
601
+ ### 2.14.4 / 2013-07-21
602
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.3...v2.14.4)
603
+
604
+ Bug fixes
605
+
606
+ * Fix regression in 2.14: ensure configured requires (via `-r` option)
607
+ are loaded before spec files are loaded. This allows the spec files
608
+ to programatically change the file pattern (Jon Rowe).
609
+ * Autoload `RSpec::Mocks` and `RSpec::Expectations` when referenced if
610
+ they are not already loaded (`RSpec::Matches` has been autoloaded
611
+ for a while). In the `rspec` gem, we changed it recently to stop
612
+ loading `rspec/mocks` and `rspec/expectations` by default, as some
613
+ users reported problems where they were intending to use mocha,
614
+ not rspec-mocks, but rspec-mocks was loaded and causing a conflict.
615
+ rspec-core loads mocks and expectations at the appropriate time, so
616
+ it seemed like a safe change -- but caused a problem for some authors
617
+ of libraries that integrate with RSpec. This fixes that problem.
618
+ (Myron Marston)
619
+ * Gracefully handle a command like `rspec --profile path/to/spec.rb`:
620
+ the `path/to/spec.rb` arg was being wrongly treated as the `profile`
621
+ integer arg, which got cast `0` using `to_i`, causing no profiled
622
+ examples to be printed. (Jon Rowe)
623
+
624
+ ### 2.14.3 / 2013-07-13
625
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.2...v2.14.3)
626
+
627
+ Bug fixes
628
+
629
+ * Fix deprecation notices issued from `RSpec::Core::RakeTask` so
630
+ that they work properly when all of rspec-core is not loaded.
631
+ (This was a regression in 2.14) (Jon Rowe)
632
+
633
+ ### 2.14.2 / 2013-07-09
634
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.1...v2.14.2)
635
+
636
+ Bug fixes
637
+
638
+ * Fix regression caused by 2.14.1 release: formatters that
639
+ report that they `respond_to?` a notification, but had
640
+ no corresponding method would raise an error when registered.
641
+ The new fix is to just implement `start` on the deprecation
642
+ formatter to fix the original JRuby/ruby-debug issue.
643
+ (Jon Rowe)
644
+
645
+ ### 2.14.1 / 2013-07-08
646
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.0...v2.14.1)
647
+
648
+ Bug fixes
649
+
650
+ * Address deprecation formatter failure when using `ruby-debug` on
651
+ JRuby: fix `RSpec::Core::Reporter` to not send a notification
652
+ when the formatter's implementation of the notification method
653
+ comes from `Kernel` (Alex Portnov, Jon Rowe).
654
+
655
+ ### 2.14.0 / 2013-07-06
656
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.0.rc1...v2.14.0)
657
+
658
+ Enhancements
659
+
660
+ * Apply focus to examples defined with `fit` (equivalent of
661
+ `it "description", focus: true`) (Michael de Silva)
662
+
663
+ Bug fix
664
+
665
+ * Ensure methods defined by `let` take precedence over others
666
+ when there is a name collision (e.g. from an included module).
667
+ (Jon Rowe, Andy Lindeman and Myron Marston)
668
+
669
+ ### 2.14.0.rc1 / 2013-05-27
670
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.13.1...v2.14.0.rc1)
671
+
672
+ Enhancements
673
+
674
+ * Improved Windows detection inside Git Bash, for better `--color` handling.
675
+ * Add profiling of the slowest example groups to `--profile` option.
676
+ The output is sorted by the slowest average example groups.
677
+ * Don't show slow examples if there's a failure and both `--fail-fast`
678
+ and `--profile` options are used (Paweł Gościcki).
679
+ * Rather than always adding `spec` to the load path, add the configured
680
+ `--default-path` to the load path (which defaults to `spec`). This
681
+ better supports folks who choose to put their specs in a different
682
+ directory (John Feminella).
683
+ * Add some logic to test time duration precision. Make it a
684
+ function of time, dropping precision as the time increases. (Aaron Kromer)
685
+ * Add new `backtrace_inclusion_patterns` config option. Backtrace lines
686
+ that match one of these patterns will _always_ be included in the
687
+ backtrace, even if they match an exclusion pattern, too (Sam Phippen).
688
+ * Support ERB trim mode using the `-` when parsing `.rspec` as ERB
689
+ (Gabor Garami).
690
+ * Give a better error message when let and subject are called without a block.
691
+ (Sam Phippen).
692
+ * List the precedence of `.rspec-local` in the configuration documentation
693
+ (Sam Phippen)
694
+ * Support `{a,b}` shell expansion syntax in `--pattern` option
695
+ (Konstantin Haase).
696
+ * Add cucumber documentation for --require command line option
697
+ (Bradley Schaefer)
698
+ * Expose configuration options via config:
699
+ * `config.libs` returns the libs configured to be added onto the load path
700
+ * `full_backtrace?` returns the state of the backtrace cleaner
701
+ * `debug?` returns true when the debugger is loaded
702
+ * `line_numbers` returns the line numbers we are filtering by (if any)
703
+ * `full_description` returns the RegExp used to filter descriptions
704
+ (Jon Rowe)
705
+ * Add setters for RSpec.world and RSpec.configuration (Alex Soulim)
706
+ * Configure ruby's warning behaviour with `--warnings` (Jon Rowe)
707
+ * Fix an obscure issue on old versions of `1.8.7` where `Time.dup` wouldn't
708
+ allow access to `Time.now` (Jon Rowe)
709
+ * Make `shared_examples_for` context aware, so that keys may be safely reused
710
+ in multiple contexts without colliding. (Jon Rowe)
711
+ * Add a configurable `deprecation_stream` (Jon Rowe)
712
+ * Publish deprecations through a formatter (David Chelimsky)
713
+
714
+ Bug fixes
715
+
716
+ * Make JSON formatter behave the same when it comes to `--profile` as
717
+ the text formatter (Paweł Gościcki).
718
+ * Fix named subjects so that if an inner group defines a method that
719
+ overrides the named method, `subject` still retains the originally
720
+ declared value (Myron Marston).
721
+ * Fix random ordering so that it does not cause `rand` in examples in
722
+ nested sibling contexts to return the same value (Max Shytikov).
723
+ * Use the new `backtrace_inclusion_patterns` config option to ensure
724
+ that folks who develop code in a directory matching one of the default
725
+ exclusion patterns (e.g. `gems`) still get the normal backtrace
726
+ filtering (Sam Phippen).
727
+ * Fix ordering of `before` hooks so that `before` hooks declared in
728
+ `RSpec.configure` run before `before` hooks declared in a shared
729
+ context (Michi Huber and Tejas Dinkar).
730
+ * Fix `Example#full_description` so that it gets filled in by the last
731
+ matcher description (as `Example#description` already did) when no
732
+ doc string has been provided (David Chelimsky).
733
+ * Fix the memoized methods (`let` and `subject`) leaking `define_method`
734
+ as a `public` method. (Thomas Holmes and Jon Rowe) (#873)
735
+ * Fix warnings coming from the test suite. (Pete Higgins)
736
+
737
+ Deprecations
738
+
739
+ * Deprecate `Configuration#backtrace_clean_patterns` in favor of
740
+ `Configuration#backtrace_exclusion_patterns` for greater consistency
741
+ and symmetry with new `backtrace_inclusion_patterns` config option
742
+ (Sam Phippen).
743
+ * Deprecate `Configuration#requires=` in favor of using ruby's
744
+ `require`. Requires specified by the command line can still be
745
+ accessed by the `Configuration#require` reader. (Bradley Schaefer)
746
+ * Deprecate calling `SharedExampleGroups` defined across sibling contexts
747
+ (Jon Rowe)
748
+
749
+ ### 2.13.1 / 2013-03-12
750
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.13.0...v2.13.1)
751
+
752
+ Bug fixes
753
+
754
+ * Use hook classes as proxies rather than extending hook blocks to support
755
+ lambdas for before/after/around hooks. (David Chelimsky)
756
+ * Fix regression in 2.13.0 that caused confusing behavior when overriding
757
+ a named subject with an unnamed subject in an inner group and then
758
+ referencing the outer group subject's name. The fix for this required
759
+ us to disallow using `super` in a named subject (which is confusing,
760
+ anyway -- named subjects create 2 methods, so which method on the
761
+ parent example group are you `super`ing to?) but `super` in an unnamed
762
+ subject continues to work (Myron Marston).
763
+ * Do not allow a referenced `let` or `subject` in `before(:all)` to cause
764
+ other `let` declarations to leak across examples (Myron Marston).
765
+ * Work around odd ruby 1.9 bug with `String#match` that was triggered
766
+ by passing it a regex from a `let` declaration. For more info, see
767
+ http://bugs.ruby-lang.org/issues/8059 (Aaron Kromer).
768
+ * Add missing `require 'set'` to `base_text_formatter.rb` (Tom
769
+ Anderson).
770
+
771
+ Deprecations
772
+
773
+ * Deprecate accessing `let` or `subject` declarations in `before(:all)`.
774
+ These were not intended to be called in a `before(:all)` hook, as
775
+ they exist to define state that is reset between each example, while
776
+ `before(:all)` exists to define state that is shared across examples
777
+ in an example group (Myron Marston).
778
+
779
+ ### 2.13.0 / 2013-02-23
780
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.2...v2.13.0)
781
+
782
+ Enhancements
783
+
784
+ * Allow `--profile` option to take a count argument that
785
+ determines the number of slow examples to dump
786
+ (Greggory Rothmeier).
787
+ * Add `subject!` that is the analog to `let!`. It defines an
788
+ explicit subject and sets a `before` hook that will invoke
789
+ the subject (Zubin Henner).
790
+ * Fix `let` and `subject` declaration so that `super`
791
+ and `return` can be used in them, just like in a normal
792
+ method. (Myron Marston)
793
+ * Allow output colors to be configured individually.
794
+ (Charlie Maffitt)
795
+ * Always dump slow examples when `--profile` option is given,
796
+ even when an example failed (Myron Marston).
797
+
798
+ Bug fixes
799
+
800
+ * Don't blow up when dumping error output for instances
801
+ of anonymous error classes (Myron Marston).
802
+ * Fix default backtrace filters so lines from projects
803
+ containing "gems" in the name are not filtered, but
804
+ lines from installed gems still are (Myron Marston).
805
+ * Fix autotest command so that is uses double quotes
806
+ rather than single quotes for windows compatibility
807
+ (Jonas Tingeborn).
808
+ * Fix `its` so that uses of `subject` in a `before` or `let`
809
+ declaration in the parent group continue to reference the
810
+ parent group's subject. (Olek Janiszewski)
811
+
812
+ ### 2.12.2 / 2012-12-13
813
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.1...v2.12.2)
814
+
815
+ Bug fixes
816
+
817
+ * Fix `RSpec::Core::RakeTask` so that it is compatible with rake 0.8.7
818
+ on ruby 1.8.7. We had accidentally broke it in the 2.12 release
819
+ (Myron Marston).
820
+ * Fix `RSpec::Core::RakeTask` so it is tolerant of the `Rspec` constant
821
+ for backwards compatibility (Patrick Van Stee)
822
+
823
+ ### 2.12.1 / 2012-12-01
824
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.0...v2.12.1)
825
+
826
+ Bug fixes
827
+
828
+ * Specs are run even if another at\_exit hook calls `exit`. This allows
829
+ Test::Unit and RSpec to run together. (Suraj N. Kurapati)
830
+ * Fix full doc string concatenation so that it handles the case of a
831
+ method string (e.g. "#foo") being nested under a context string
832
+ (e.g. "when it is tuesday"), so that we get "when it is tuesday #foo"
833
+ rather than "when it is tuesday#foo". (Myron Marston)
834
+ * Restore public API I unintentionally broke in 2.12.0:
835
+ `RSpec::Core::Formatters::BaseFormatter#format_backtrce(backtrace, example)`
836
+ (Myron Marston).
837
+
838
+ ### 2.12.0 / 2012-11-12
839
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.11.1...v2.12.0)
840
+
841
+ Enhancements
842
+
843
+ * Add support for custom ordering strategies for groups and examples.
844
+ (Myron Marston)
845
+ * JSON Formatter (Alex Chaffee)
846
+ * Refactor rake task internals (Sam Phippen)
847
+ * Refactor HtmlFormatter (Pete Hodgson)
848
+ * Autotest supports a path to Ruby that contains spaces (dsisnero)
849
+ * Provide a helpful warning when a shared example group is redefined.
850
+ (Mark Burns).
851
+ * `--default_path` can be specified as `--default-line`. `--line_number` can be
852
+ specified as `--line-number`. Hyphens are more idiomatic command line argument
853
+ separators (Sam Phippen).
854
+ * A more useful error message is shown when an invalid command line option is
855
+ used (Jordi Polo).
856
+ * Add `format_docstrings { |str| }` config option. It can be used to
857
+ apply formatting rules to example group and example docstrings.
858
+ (Alex Tan)
859
+ * Add support for an `.rspec-local` options file. This is intended to
860
+ allow individual developers to set options in a git-ignored file that
861
+ override the common project options in `.rspec`. (Sam Phippen)
862
+ * Support for mocha 0.13.0. (Andy Lindeman)
863
+
864
+ Bug fixes
865
+
866
+ * Remove override of `ExampleGroup#ancestors`. This is a core ruby method that
867
+ RSpec shouldn't override. Instead, define `ExampleGroup#parent_groups`. (Myron
868
+ Marston)
869
+ * Limit monkey patching of shared example/context declaration methods
870
+ (`shared_examples_for`, etc.) to just the objects that need it rather than
871
+ every object in the system (Myron Marston).
872
+ * Fix Metadata#fetch to support computed values (Sam Goldman).
873
+ * Named subject can now be referred to from within subject block in a nested
874
+ group (tomykaira).
875
+ * Fix `fail_fast` so that it properly exits when an error occurs in a
876
+ `before(:all) hook` (Bradley Schaefer).
877
+ * Make the order spec files are loaded consistent, regardless of the
878
+ order of the files returned by the OS or the order passed at
879
+ the command line (Jo Liss and Sam Phippen).
880
+ * Ensure instance variables from `before(:all)` are always exposed
881
+ from `after(:all)`, even if an error occurs in `before(:all)`
882
+ (Sam Phippen).
883
+ * `rspec --init` no longer generates an incorrect warning about `--configure`
884
+ being deprecated (Sam Phippen).
885
+ * Fix pluralization of `1 seconds` (Odin Dutton)
886
+ * Fix ANSICON url (Jarmo Pertman)
887
+ * Use dup of Time so reporting isn't clobbered by examples that modify Time
888
+ without properly restoring it. (David Chelimsky)
889
+
890
+ Deprecations
891
+
892
+ * `share_as` is no longer needed. `shared_context` and/or
893
+ `RSpec::SharedContext` provide better mechanisms (Sam Phippen).
894
+ * Deprecate `RSpec.configuration` with a block (use `RSpec.configure`).
895
+
896
+
897
+ ### 2.11.1 / 2012-07-18
898
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.11.0...v2.11.1)
899
+
900
+ Bug fixes
901
+
902
+ * Fix the way we autoload RSpec::Matchers so that custom matchers can be
903
+ defined before rspec-core has been configured to definitely use
904
+ rspec-expectations. (Myron Marston)
905
+ * Fix typo in --help message printed for -e option. (Jo Liss)
906
+ * Fix ruby warnings. (Myron Marston)
907
+ * Ignore mock expectation failures when the example has already failed.
908
+ Mock expectation failures have always been ignored in this situation,
909
+ but due to my changes in 27059bf1 it was printing a confusing message.
910
+ (Myron Marston).
911
+
912
+ ### 2.11.0 / 2012-07-07
913
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.10.1...v2.11.0)
914
+
915
+ Enhancements
916
+
917
+ * Support multiple `--example` options. (Daniel Doubrovkine @dblock)
918
+ * Named subject e.g. `subject(:article) { Article.new }`
919
+ * see [http://blog.davidchelimsky.net/2012/05/13/spec-smell-explicit-use-of-subject/](http://blog.davidchelimsky.net/2012/05/13/spec-smell-explicit-use-of-subject/)
920
+ for background.
921
+ * thanks to Bradley Schaefer for suggesting it and Avdi Grimm for almost
922
+ suggesting it.
923
+ * `config.mock_with` and `config.expect_with` yield custom config object to a
924
+ block if given
925
+ * aids decoupling from rspec-core's configuation
926
+ * `include_context` and `include_examples` support a block, which gets eval'd
927
+ in the current context (vs the nested context generated by `it_behaves_like`).
928
+ * Add `config.order = 'random'` to the `spec_helper.rb` generated by `rspec
929
+ --init`.
930
+ * Delay the loading of DRb (Myron Marston).
931
+ * Limit monkey patching of `describe` onto just the objects that need it rather
932
+ than every object in the system (Myron Marston).
933
+
934
+ Bug fixes
935
+
936
+ * Support alternative path separators. For example, on Windows, you can now do
937
+ this: `rspec spec\subdir`. (Jarmo Pertman @jarmo)
938
+ * When an example raises an error and an after or around hook does as
939
+ well, print out the hook error. Previously, the error was silenced and
940
+ the user got no feedback about what happened. (Myron Marston)
941
+ * `--require` and `-I` are merged among different configuration sources (Andy
942
+ Lindeman)
943
+ * Delegate to mocha methods instead of aliasing them in mocha adapter.
944
+
945
+ ### 2.10.1 / 2012-05-19
946
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.10.0...v2.10.1)
947
+
948
+ Bug fixes
949
+
950
+ * `RSpec.reset` properly reinits configuration and world
951
+ * Call `to_s` before `split` on exception messages that might not always be
952
+ Strings (slyphon)
953
+
954
+ ### 2.10.0 / 2012-05-03
955
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.9.0...v2.10.0)
956
+
957
+ Enhancements
958
+
959
+ * Add `prepend_before` and `append_after` hooks (preethiramdev)
960
+ * intended for extension libs
961
+ * restores rspec-1 behavior
962
+ * Reporting of profiled examples (moro)
963
+ * Report the total amount of time taken for the top slowest examples.
964
+ * Report what percentage the slowest examples took from the total runtime.
965
+
966
+ Bug fixes
967
+
968
+ * Properly parse `SPEC_OPTS` options.
969
+ * `example.description` returns the location of the example if there is no
970
+ explicit description or matcher-generated description.
971
+ * RDoc fixes (Grzegorz Świrski)
972
+ * Do not modify example ancestry when dumping errors (Michael Grosser)
973
+
974
+ ### 2.9.0 / 2012-03-17
975
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0...v2.9.0)
976
+
977
+ Enhancements
978
+
979
+ * Support for "X minutes X seconds" spec run duration in formatter. (uzzz)
980
+ * Strip whitespace from group and example names in doc formatter.
981
+ * Removed spork-0.9 shim. If you're using spork-0.8.x, you'll need to upgrade
982
+ to 0.9.0.
983
+
984
+ Bug fixes
985
+
986
+ * Restore `--full_backtrace` option
987
+ * Ensure that values passed to `config.filter_run` are respected when running
988
+ over DRb (using spork).
989
+ * Ensure shared example groups are reset after a run (as example groups are).
990
+ * Remove `rescue false` from calls to filters represented as Procs
991
+ * Ensure `described_class` gets the closest constant (pyromaniac)
992
+ * In "autorun", don't run the specs in the `at_exit` hook if there was an
993
+ exception (most likely due to a SyntaxError). (sunaku)
994
+ * Don't extend groups with modules already used to extend ancestor groups.
995
+ * `its` correctly memoizes nil or false values (Yamada Masaki)
996
+
997
+ ### 2.8.0 / 2012-01-04
998
+
999
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0.rc2...v2.8.0)
1000
+
1001
+ Bug fixes
1002
+
1003
+ * For metadata filtering, restore passing the entire array to the proc, rather
1004
+ than each item in the array (weidenfreak)
1005
+ * Ensure each spec file is loaded only once
1006
+ * Fixes a bug that caused all the examples in a file to be run when
1007
+ referenced twice with line numbers in a command, e.g.
1008
+ * `rspec path/to/file:37 path/to/file:42`
1009
+
1010
+ ### 2.8.0.rc2 / 2011-12-19
1011
+
1012
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0.rc1...v2.8.0.rc2)
1013
+
1014
+ Enhancments
1015
+
1016
+ * new `--init` command (Peter Schröder)
1017
+ * generates `spec/spec_helper.rb`
1018
+ * deletes obsolete files (on confirmation)
1019
+ * merged with and deprecates `--configure` command, which generated
1020
+ `.rspec`
1021
+ * use `require_relative` when available (Ian Leitch)
1022
+ * `include_context` and `include_examples` accept params (Calvin Bascom)
1023
+ * print the time for every example in the html formatter (Richie Vos)
1024
+ * several tasty refactoring niblets (Sasha)
1025
+ * `it "does something", :x => [:foo,'bar',/baz/] (Ivan Neverov)
1026
+ * supports matching n command line tag values with an example or group
1027
+
1028
+ ### 2.8.0.rc1 / 2011-11-06
1029
+
1030
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.7.1...v2.8.0.rc1)
1031
+
1032
+ Enhancements
1033
+
1034
+ * `--order` (Justin Ko)
1035
+ * run examples in random order: `--order rand`
1036
+ * specify the seed: `--order rand:123`
1037
+ * `--seed SEED`
1038
+ * equivalent of `--order rand:SEED`
1039
+ * SharedContext supports `let` (David Chelimsky)
1040
+ * Filter improvements (David Chelimsky)
1041
+ * override opposing tags from the command line
1042
+ * override RSpec.configure tags from the command line
1043
+ * `--line_number 37` overrides all other filters
1044
+ * `path/to/file.rb:37` overrides all other filters
1045
+ * refactor: consolidate filter management in a FilterManger object
1046
+ * Eliminate Ruby warnings (Matijs van Zuijlen)
1047
+ * Make reporter.report an API (David Chelimsky)
1048
+ * supports extension tools like interative_rspec
1049
+
1050
+ Changes
1051
+
1052
+ * change `config.color_enabled` (getter/setter/predicate) to `color` to align
1053
+ with `--[no]-color` CLI option.
1054
+ * `color_enabled` is still supported for now, but will likley be deprecated
1055
+ in a 2.x release so we can remove it in 3.0.
1056
+
1057
+ Bug fixes
1058
+
1059
+ * Make sure the `bar` in `--tag foo:bar` makes it to DRb (Aaron Gibralter)
1060
+ * Fix bug where full descriptions of groups nested 3 deep were repeated.
1061
+ * Restore report of time to run to start after files are loaded.
1062
+ * fixes bug where run times were cumalitive in spork
1063
+ * fixes compatibility with time-series metrics
1064
+ * Don't error out when `config.mock_with` or `expect_with` is re-specifying the
1065
+ current config (Myron Marston)
1066
+
1067
+ * Deprecations
1068
+ * :alias option on `configuration.add_setting`. Use `:alias_with` on the
1069
+ original setting declaration instead.
1070
+
1071
+ ### 2.7.1 / 2011-10-20
1072
+
1073
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.7.0...v2.7.1)
1074
+
1075
+ Bug fixes
1076
+
1077
+ * tell autotest the correct place to find the rspec executable
1078
+
1079
+ ### 2.7.0 / 2011-10-16
1080
+
1081
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.4...v2.7.0)
1082
+
1083
+ NOTE: RSpec's release policy dictates that there should not be any backward
1084
+ incompatible changes in minor releases, but we're making an exception to
1085
+ release a change to how RSpec interacts with other command line tools.
1086
+
1087
+ As of 2.7.0, you must explicity `require "rspec/autorun"` unless you use the
1088
+ `rspec` command (which already does this for you).
1089
+
1090
+ Enhancements
1091
+
1092
+ * Add `example.exception` (David Chelimsky)
1093
+ * `--default_path` command line option (Justin Ko)
1094
+ * support multiple `--line_number` options (David J. Hamilton)
1095
+ * also supports `path/to/file.rb:5:9` (runs examples on lines 5 and 9)
1096
+ * Allow classes/modules to be used as shared example group identifiers (Arthur
1097
+ Gunn)
1098
+ * Friendly error message when shared context cannot be found (Sławosz
1099
+ Sławiński)
1100
+ * Clear formatters when resetting config (John Bintz)
1101
+ * Add `xspecify` and xexample as temp-pending methods (David Chelimsky)
1102
+ * Add `--no-drb` option (Iain Hecker)
1103
+ * Provide more accurate run time by registering start time before code is
1104
+ loaded (David Chelimsky)
1105
+ * reverted in 2.8.0
1106
+ * Rake task default pattern finds specs in symlinked dirs (Kelly Felkins)
1107
+ * Rake task no longer does anything to invoke bundler since Bundler already
1108
+ handles it for us. Thanks to Andre Arko for the tip.
1109
+ * Add `--failure-exit-code` option (Chris Griego)
1110
+
1111
+ Bug fixes
1112
+
1113
+ * Include `Rake::DSL` to remove deprecation warnings in Rake > 0.8.7 (Pivotal
1114
+ Casebook)
1115
+ * Only eval `let` block once even if it returns `nil` (Adam Meehan)
1116
+ * Fix `--pattern` option (wasn't being recognized) (David Chelimsky)
1117
+ * Only implicitly `require "rspec/autorun"` with the `rspec` command (David
1118
+ Chelimsky)
1119
+ * Ensure that rspec's `at_exit` defines the exit code (Daniel Doubrovkine)
1120
+ * Show the correct snippet in the HTML and TextMate formatters (Brian Faherty)
1121
+
1122
+ ### 2.6.4 / 2011-06-06
1123
+
1124
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.3...v2.6.4)
1125
+
1126
+ NOTE: RSpec's release policy dictates that there should not be new
1127
+ functionality in patch releases, but this minor enhancement slipped in by
1128
+ accident. As it doesn't add a new API, we decided to leave it in rather than
1129
+ roll back this release.
1130
+
1131
+ Enhancements
1132
+
1133
+ * Add summary of commands to run individual failed examples.
1134
+
1135
+ Bug fixes
1136
+
1137
+ * Support exclusion filters in DRb. (Yann Lugrin)
1138
+ * Fix --example escaping when run over DRb. (Elliot Winkler)
1139
+ * Use standard ANSI codes for color formatting so colors work in a wider set of
1140
+ color schemes.
1141
+
1142
+ ### 2.6.3 / 2011-05-24
1143
+
1144
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.2...v2.6.3)
1145
+
1146
+ Bug fixes
1147
+
1148
+ * Explicitly convert exit code to integer, avoiding TypeError when return
1149
+ value of run is IO object proxied by `DRb::DRbObject` (Julian Scheid)
1150
+ * Clarify behavior of `--example` command line option
1151
+ * Build using a rubygems-1.6.2 to avoid downstream yaml parsing error
1152
+
1153
+ ### 2.6.2 / 2011-05-21
1154
+
1155
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.1...v2.6.2)
1156
+
1157
+ Bug fixes
1158
+
1159
+ * Warn rather than raise when HOME env var is not defined
1160
+ * Properly merge command-line exclusions with default :if and :unless (joshcooper)
1161
+
1162
+ ### 2.6.1 / 2011-05-19
1163
+
1164
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.0...v2.6.1)
1165
+
1166
+ Bug fixes
1167
+
1168
+ * Don't extend nil when filters are nil
1169
+ * `require 'rspec/autorun'` when running rcov.
1170
+
1171
+ ### 2.6.0 / 2011-05-12
1172
+
1173
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.5.1...v2.6.0)
1174
+
1175
+ Enhancements
1176
+
1177
+ * `shared_context` (Damian Nurzynski)
1178
+ * extend groups matching specific metadata with:
1179
+ * method definitions
1180
+ * subject declarations
1181
+ * let/let! declarations
1182
+ * etc (anything you can do in a group)
1183
+ * `its([:key])` works for any subject with #[]. (Peter Jaros)
1184
+ * `treat_symbols_as_metadata_keys_with_true_values` (Myron Marston)
1185
+ * Print a deprecation warning when you configure RSpec after defining an
1186
+ example. All configuration should happen before any examples are defined.
1187
+ (Myron Marston)
1188
+ * Pass the exit status of a DRb run to the invoking process. This causes specs
1189
+ run via DRb to not just return true or false. (Ilkka Laukkanen)
1190
+ * Refactoring of `ConfigurationOptions#parse_options` (Rodrigo Rosenfeld Rosas)
1191
+ * Report excluded filters in runner output (tip from andyl)
1192
+ * Clean up messages for filters/tags.
1193
+ * Restore --pattern/-P command line option from rspec-1
1194
+ * Support false as well as true in config.full_backtrace= (Andreas Tolf
1195
+ Tolfsen)
1196
+
1197
+ Bug fixes
1198
+
1199
+ * Don't stumble over an exception without a message (Hans Hasselberg)
1200
+ * Remove non-ascii characters from comments that were choking rcov (Geoffrey
1201
+ Byers)
1202
+ * Fixed backtrace so it doesn't include lines from before the autorun at_exit
1203
+ hook (Myron Marston)
1204
+ * Include RSpec::Matchers when first example group is defined, rather than just
1205
+ before running the examples. This works around an obscure bug in ruby 1.9
1206
+ that can cause infinite recursion. (Myron Marston)
1207
+ * Don't send `example_group_[started|finished]` to formatters for empty groups.
1208
+ * Get specs passing on jruby (Sidu Ponnappa)
1209
+ * Fix bug where mixing nested groups and outer-level examples gave
1210
+ unpredictable :line_number behavior (Artur Małecki)
1211
+ * Regexp.escape the argument to --example (tip from Elliot Winkler)
1212
+ * Correctly pass/fail pending block with message expectations
1213
+ * CommandLine returns exit status (0/1) instead of true/false
1214
+ * Create path to formatter output file if it doesn't exist (marekj).
1215
+
1216
+
1217
+ ### 2.5.1 / 2011-02-06
1218
+
1219
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.5.0...v2.5.1)
1220
+
1221
+ NOTE: this release breaks compatibility with rspec/autotest/bundler
1222
+ integration, but does so in order to greatly simplify it.
1223
+
1224
+ With this release, if you want the generated autotest command to include
1225
+ 'bundle exec', require Autotest's bundler plugin in a .autotest file in the
1226
+ project's root directory or in your home directory:
1227
+
1228
+ require "autotest/bundler"
1229
+
1230
+ Now you can just type 'autotest' on the commmand line and it will work as you expect.
1231
+
1232
+ If you don't want 'bundle exec', there is nothing you have to do.
1233
+
1234
+ ### 2.5.0 / 2011-02-05
1235
+
1236
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.4.0...v2.5.0)
1237
+
1238
+ Enhancements
1239
+
1240
+ * Autotest::Rspec2 parses command line args passed to autotest after '--'
1241
+ * --skip-bundler option for autotest command
1242
+ * Autotest regexp fixes (Jon Rowe)
1243
+ * Add filters to html and textmate formatters (Daniel Quimper)
1244
+ * Explicit passing of block (need for JRuby 1.6) (John Firebaugh)
1245
+
1246
+ Bug fixes
1247
+
1248
+ * fix dom IDs in HTML formatter (Brian Faherty)
1249
+ * fix bug with --drb + formatters when not running in drb
1250
+ * include --tag options in drb args (monocle)
1251
+ * fix regression so now SPEC_OPTS take precedence over CLI options again (Roman
1252
+ Chernyatchik)
1253
+ * only call its(:attribute) once (failing example from Brian Dunn)
1254
+ * fix bizarre bug where rspec would hang after String.alias :to_int :to_i
1255
+ (Damian Nurzynski)
1256
+
1257
+ Deprecations
1258
+
1259
+ * implicit inclusion of 'bundle exec' when Gemfile present (use autotest's
1260
+ bundler plugin instead)
1261
+
1262
+ ### 2.4.0 / 2011-01-02
1263
+
1264
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.3.1...v2.4.0)
1265
+
1266
+ Enhancements
1267
+
1268
+ * start the debugger on -d so the stack trace is visible when it stops
1269
+ (Clifford Heath)
1270
+ * apply hook filtering to examples as well as groups (Myron Marston)
1271
+ * support multiple formatters, each with their own output
1272
+ * show exception classes in failure messages unless they come from RSpec
1273
+ matchers or message expectations
1274
+ * before(:all) { pending } sets all examples to pending
1275
+
1276
+ Bug fixes
1277
+
1278
+ * fix bug due to change in behavior of reject in Ruby 1.9.3-dev (Shota
1279
+ Fukumori)
1280
+ * fix bug when running in jruby: be explicit about passing block to super (John
1281
+ Firebaugh)
1282
+ * rake task doesn't choke on paths with quotes (Janmejay Singh)
1283
+ * restore --options option from rspec-1
1284
+ * require 'ostruct' to fix bug with its([key]) (Kim Burgestrand)
1285
+ * --configure option generates .rspec file instead of autotest/discover.rb
1286
+
1287
+ ### 2.3.1 / 2010-12-16
1288
+
1289
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.3.0...v2.3.1)
1290
+
1291
+ Bug fixes
1292
+
1293
+ * send debugger warning message to $stdout if RSpec.configuration.error_stream
1294
+ has not been defined yet.
1295
+ * HTML Formatter _finally_ properly displays nested groups (Jarmo Pertman)
1296
+ * eliminate some warnings when running RSpec's own suite (Jarmo Pertman)
1297
+
1298
+ ### 2.3.0 / 2010-12-12
1299
+
1300
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.2.1...v2.3.0)
1301
+
1302
+ Enhancements
1303
+
1304
+ * tell autotest to use "rspec2" if it sees a .rspec file in the project's root
1305
+ directory
1306
+ * replaces the need for ./autotest/discover.rb, which will not work with
1307
+ all versions of ZenTest and/or autotest
1308
+ * config.expect_with
1309
+ * :rspec # => rspec/expectations
1310
+ * :stdlib # => test/unit/assertions
1311
+ * :rspec, :stdlib # => both
1312
+
1313
+ Bug fixes
1314
+
1315
+ * fix dev Gemfile to work on non-mac-os machines (Lake Denman)
1316
+ * ensure explicit subject is only eval'd once (Laszlo Bacsi)
1317
+
1318
+ ### 2.2.1 / 2010-11-28
1319
+
1320
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.2.0...v2.2.1)
1321
+
1322
+ Bug fixes
1323
+ * alias_method instead of override Kernel#method_missing (John Wilger)
1324
+ * changed --autotest to --tty in generated command (MIKAMI Yoshiyuki)
1325
+ * revert change to debugger (had introduced conflict with Rails)
1326
+ * also restored --debugger/-debug option
1327
+
1328
+ ### 2.2.0 / 2010-11-28
1329
+
1330
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.1.0...v2.2.0)
1331
+
1332
+ Deprecations/changes
1333
+
1334
+ * --debug/-d on command line is deprecated and now has no effect
1335
+ * win32console is now ignored; Windows users must use ANSICON for color support
1336
+ (Bosko Ivanisevic)
1337
+
1338
+ Enhancements
1339
+
1340
+ * When developing locally rspec-core now works with the rspec-dev setup or your
1341
+ local gems
1342
+ * Raise exception with helpful message when rspec-1 is loaded alongside rspec-2
1343
+ (Justin Ko)
1344
+ * debugger statements _just work_ as long as ruby-debug is installed
1345
+ * otherwise you get warned, but not fired
1346
+ * Expose example.metadata in around hooks
1347
+ * Performance improvments (much faster now)
1348
+
1349
+ Bug fixes
1350
+
1351
+ * Make sure --fail-fast makes it across drb
1352
+ * Pass -Ilib:spec to rcov
1353
+
1354
+ ### 2.1.0 / 2010-11-07
1355
+
1356
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.1...v2.1.0)
1357
+
1358
+ Enhancments
1359
+
1360
+ * Add skip_bundler option to rake task to tell rake task to ignore the presence
1361
+ of a Gemfile (jfelchner)
1362
+ * Add gemfile option to rake task to tell rake task what Gemfile to look for
1363
+ (defaults to 'Gemfile')
1364
+ * Allow passing caller trace into Metadata to support extensions (Glenn
1365
+ Vanderburg)
1366
+ * Add deprecation warning for Spec::Runner.configure to aid upgrade from
1367
+ RSpec-1
1368
+ * Add deprecated Spec::Rake::SpecTask to aid upgrade from RSpec-1
1369
+ * Add 'autospec' command with helpful message to aid upgrade from RSpec-1
1370
+ * Add support for filtering with tags on CLI (Lailson Bandeira)
1371
+ * Add a helpful message about RUBYOPT when require fails in bin/rspec (slyphon)
1372
+ * Add "-Ilib" to the default rcov options (Tianyi Cui)
1373
+ * Make the expectation framework configurable (default rspec, of course)
1374
+ (Justin Ko)
1375
+ * Add 'pending' to be conditional (Myron Marston)
1376
+ * Add explicit support for :if and :unless as metadata keys for conditional run
1377
+ of examples (Myron Marston)
1378
+ * Add --fail-fast command line option (Jeff Kreeftmeijer)
1379
+
1380
+ Bug fixes
1381
+
1382
+ * Eliminate stack overflow with "subject { self }"
1383
+ * Require 'rspec/core' in the Raketask (ensures it required when running rcov)
1384
+
1385
+ ### 2.0.1 / 2010-10-18
1386
+
1387
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0...v2.0.1)
1388
+
1389
+ Bug fixes
1390
+
1391
+ * Restore color when using spork + autotest
1392
+ * Pending examples without docstrings render the correct message (Josep M.
1393
+ Bach)
1394
+ * Fixed bug where a failure in a spec file ending in anything but _spec.rb
1395
+ would fail in a confusing way.
1396
+ * Support backtrace lines from erb templates in html formatter (Alex Crichton)
1397
+
1398
+ ### 2.0.0 / 2010-10-10
1399
+
1400
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.rc...v2.0.0)
1401
+
1402
+ RSpec-1 compatibility
1403
+
1404
+ * Rake task uses ENV["SPEC"] as file list if present
1405
+
1406
+ Bug fixes
1407
+
1408
+ * Bug Fix: optparse --out foo.txt (Leonardo Bessa)
1409
+ * Suppress color codes for non-tty output (except autotest)
1410
+
1411
+ ### 2.0.0.rc / 2010-10-05
1412
+
1413
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.beta.22...v2.0.0.rc)
1414
+
1415
+ Enhancements
1416
+
1417
+ * implicitly require unknown formatters so you don't have to require the file
1418
+ explicitly on the commmand line (Michael Grosser)
1419
+ * add --out/-o option to assign output target
1420
+ * added fail_fast configuration option to abort on first failure
1421
+ * support a Hash subject (its([:key]) { should == value }) (Josep M. Bach)
1422
+
1423
+ Bug fixes
1424
+
1425
+ * Explicitly require rspec version to fix broken rdoc task (Hans de Graaff)
1426
+ * Ignore backtrace lines that come from other languages, like Java or
1427
+ Javascript (Charles Lowell)
1428
+ * Rake task now does what is expected when setting (or not setting)
1429
+ fail_on_error and verbose
1430
+ * Fix bug in which before/after(:all) hooks were running on excluded nested
1431
+ groups (Myron Marston)
1432
+ * Fix before(:all) error handling so that it fails examples in nested groups,
1433
+ too (Myron Marston)
1434
+
1435
+ ### 2.0.0.beta.22 / 2010-09-12
1436
+
1437
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.beta.20...v2.0.0.beta.22)
1438
+
1439
+ Enhancements
1440
+
1441
+ * removed at_exit hook
1442
+ * CTRL-C stops the run (almost) immediately
1443
+ * first it cleans things up by running the appropriate after(:all) and
1444
+ after(:suite) hooks
1445
+ * then it reports on any examples that have already run
1446
+ * cleaned up rake task
1447
+ * generate correct task under variety of conditions
1448
+ * options are more consistent
1449
+ * deprecated redundant options
1450
+ * run 'bundle exec autotest' when Gemfile is present
1451
+ * support ERB in .rspec options files (Justin Ko)
1452
+ * depend on bundler for development tasks (Myron Marston)
1453
+ * add example_group_finished to formatters and reporter (Roman Chernyatchik)
1454
+
1455
+ Bug fixes
1456
+
1457
+ * support paths with spaces when using autotest (Andreas Neuhaus)
1458
+ * fix module_exec with ruby 1.8.6 (Myron Marston)
1459
+ * remove context method from top-level
1460
+ * was conflicting with irb, for example
1461
+ * errors in before(:all) are now reported correctly (Chad Humphries)
1462
+
1463
+ Removals
1464
+
1465
+ * removed -o --options-file command line option
1466
+ * use ./.rspec and ~/.rspec