------------------------------------------------------------------- Thu Oct 26 10:12:28 UTC 2017 - coolo@suse.com - updated to version 3.7.0 see installed Changelog.md ### 3.8 Development [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.7.0...master) ### 3.7.0 / 2017-10-17 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0...v3.7.0) Enhancements: * Improve compatibility with `--enable-frozen-string-literal` option on Ruby 2.3+. (Pat Allan, #997) ------------------------------------------------------------------- Tue May 23 10:17:36 UTC 2017 - coolo@suse.com - updated to version 3.6.0 see installed Changelog.md ### 3.6.0 / 2017-05-04 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta2...v3.6.0) Enhancements: * Treat NoMethodError as a failure for comparison matchers. (Jon Rowe, #972) * Allow for scoped aliased and negated matchers--just call `alias_matcher` or `define_negated_matcher` from within an example group. (Markus Reiter, #974) * Improve failure message of `change` matcher with block and `satisfy` matcher by including the block snippet instead of just describing it as `result` or `block` when Ripper is available. (Yuji Nakayama, #987) Bug Fixes: * Fix `yield_with_args` and `yield_successive_args` matchers so that they compare expected to actual args at the time the args are yielded instead of at the end, in case the method that is yielding mutates the arguments after yielding. (Alyssa Ross, #965) ### 3.6.0.beta2 / 2016-12-12 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta1...v3.6.0.beta2) Bug Fixes: * Using the exist matcher on `File` no longer produces a deprecation warning. (Jon Rowe, #954) ### 3.6.0.beta1 / 2016-10-09 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0...v3.6.0.beta1) Bug Fixes: * Fix `contain_exactly` to work correctly with ranges. (Myron Marston, #940) * Fix `change` to work correctly with sets. (Marcin Gajewski, #939) ------------------------------------------------------------------- Sat Jul 2 05:21:54 UTC 2016 - coolo@suse.com - updated to version 3.5.0 see installed Changelog.md ### 3.5.0 / 2016-07-01 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta4...v3.5.0) **No user facing changes since beta4** ### 3.5.0.beta4 / 2016-06-05 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta3...v3.5.0.beta4) Bug Fixes: * Fix `include` matcher so that it provides a valid diff for hashes. (Yuji Nakayama, #916) ### 3.5.0.beta3 / 2016-04-02 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta2...v3.5.0.beta3) Enhancements: * Make `rspec/expectations/minitest_integration` work on Minitest::Spec 5.6+. (Myron Marston, #904) * Add an alias `having_attributes` for `have_attributes` matcher. (Yuji Nakayama, #905) * Improve `change` matcher error message when block is mis-used. (Alex Altair, #908) ### 3.5.0.beta2 / 2016-03-10 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta1...v3.5.0.beta2) Enhancements: * Add the ability to raise an error on encountering false positives via `RSpec::Configuration#on_potential_false_positives = :raise`. (Jon Rowe, #900) * When using the custom matcher DSL, support new `notify_expectation_failures: true` option for the `match` method to allow expectation failures to be raised as normal instead of being converted into a `false` return value for `matches?`. (Jon Rowe, #892) Bug Fixes: * Allow `should` deprecation check to work on `BasicObject`s. (James Coleman, #898) ### 3.5.0.beta1 / 2016-02-06 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.4.0...v3.5.0.beta1) Enhancements: * Make `match_when_negated` in custom matcher DSL support use of expectations within the match logic. (Chris Arcand, #789) Bug Fixes: * Return `true` as expected from passing negated expectations (such as `expect("foo").not_to eq "bar"`), so they work properly when used within a `match` or `match_when_negated` block. (Chris Arcand, #789) ------------------------------------------------------------------- Fri Nov 13 05:38:50 UTC 2015 - coolo@suse.com - updated to version 3.4.0 see installed Changelog.md ### 3.4.0 / 2015-11-11 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.1...v3.4.0) Enhancements: * Warn when `RSpec::Matchers` is included in a superclass after it has already been included in a subclass on MRI 1.9, since that situation can cause uses of `super` to trigger infinite recursion. (Myron Marston, #816) * Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and `SystemExit`. It is dangerous to interfere with these. (Myron Marston, #845) * Add `#with_captures` to the [match matcher](https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/match-matcher) which allows a user to specify expected captures when matching a regex against a string. (Sam Phippen, #848) * Always print compound failure messages in the multi-line form. Trying to print it all on a single line didn't read very well. (Myron Marston, #859) Bug Fixes: * Fix failure message from dynamic predicate matchers when the object does not respond to the predicate so that it is inspected rather than relying upon it's `to_s` -- that way for `nil`, `"nil"` is printed rather than an empty string. (Myron Marston, #841) * Fix SystemStackError raised when diffing an Enumerable object whose `#each` includes the object itself. (Yuji Nakayama, #857) ------------------------------------------------------------------- Thu Jul 16 04:32:17 UTC 2015 - coolo@suse.com - updated to version 3.3.1 see installed Changelog.md ### 3.3.1 / 2015-07-15 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.0...v3.3.1) Bug Fixes: * Fix `be >`, `be <`, etc so that it fails rather than allowing an argument error to be raised when compared against an object of the wrong type. This allows it to be used in composed matcher expressions against heterogeneous objects. (Dennis Günnewig, #809) * Fix `respond_to` to work properly on target objects that redefine the `method` method. (unmanbearpig, #821) ------------------------------------------------------------------- Sat Jun 13 04:34:52 UTC 2015 - coolo@suse.com - updated to version 3.3.0 see installed Changelog.md ### 3.3.0 / 2015-06-12 [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.1...v3.3.0) Enhancements: * Expose `RSpec::Matchers::EnglishPhrasing` to make it easier to write nice failure messages in custom matchers. (Jared Beck, #736) * Add `RSpec::Matchers::FailMatchers`, a mixin which provides `fail`, `fail_with` and `fail_including` matchers for use in specifying that an expectation fails for use by extension/plugin authors. (Charlie Rudolph, #729) * Avoid loading `tempfile` (and its dependencies) unless it is absolutely needed. (Myron Marston, #735) * Improve failure output when attempting to use `be_true` or `be_false`. (Tim Wade, #744) * Define `RSpec::Matchers#respond_to_missing?` so that `RSpec::Matchers#respond_to?` and `RSpec::Matchers#method` handle dynamic predicate matchers. (Andrei Botalov, #751) * Use custom Time/DateTime/BigDecimal formatting for all matchers so they are consistently represented in failure messages. (Gavin Miller, #740) * Add configuration to turn off warnings about matcher combinations that may cause false positives. (Jon Rowe, #768) * Warn when using a bare `raise_error` matcher that you may be subject to false positives. (Jon Rowe, #768) * Warn rather than raise when using the`raise_error` matcher in negative expectations that may be subject to false positives. (Jon Rowe, #775) * Improve failure message for `include(a, b, c)` so that if `a` and `b` are included the failure message only mentions `c`. (Chris Arcand, #780) * Allow `satisfy` matcher to take an optional description argument that will be used in the `description`, `failure_message` and `failure_message_when_negated` in place of the undescriptive "sastify block". (Chris Arcand, #783) * Add new `aggregate_failures` API that allows multiple independent expectations to all fail and be listed in the failure output, rather than the example aborting on the first failure. (Myron Marston, #776) * Improve `raise_error` matcher so that it can accept a matcher as a single argument that matches the message. (Time Wade, #782) Bug Fixes: * Make `contain_exactly` / `match_array` work with strict test doubles that have not defined `<=>`. (Myron Marston, #758) * Fix `include` matcher so that it omits the diff when it would confusingly highlight items that are actually included but are not an exact match in a line-by-line diff. (Tim Wade, #763) * Fix `match` matcher so that it does not blow up when matching a string or regex against another matcher (rather than a string or regex). (Myron Marston, #772) * Silence whitespace-only diffs. (Myron Marston, #801) ------------------------------------------------------------------- Sat Apr 11 06:03:42 UTC 2015 - coolo@suse.com - updated to version 3.2.1 Bug Fixes: * Prevent `Range`s from being enumerated when generating matcher descriptions. (Jon Rowe, #755) * Ensure exception messages are compared as strings in the `raise_error` matcher. (Jon Rowe, #755) ------------------------------------------------------------------- Fri Feb 6 18:18:17 UTC 2015 - coolo@suse.com - updated to version 3.2.0 Enhancements: * Add `block_arg` method to custom matcher API, which allows you to access the block passed to a custom matcher, if there is one. (Mike Dalton, #645) * Provide more detail in failure message of `yield_control` matcher. (Jon Rowe, #650) * Add a shorthand syntax for `chain` in the matcher DSL which assigns values for use elsewhere, for example `chain :and_smaller_than, :small_value` creates an `attr_reader` for `small_value` (Tom Stuart, #644) * Provide a more helpful deprecation message when using the `should` syntax. (Elia Schito, #663) * Provide more detail in the `have_attributes` matcher failure message. (Jon Rowe, #668) * Make the `have_attributes` matcher diffable. (Jon Rowe, Alexey Fedorov, #668) * Add `output(...).to_std(out|err)_from_any_process` as alternatives to `output(...).to_std(out|err)`. The latter doesn't work when a sub process writes to the named stream but is much faster. (Alex Genco, #700) * Improve compound matchers (created by `and` and `or`) so that diffs are included in failures when one or more of their matchers are diffable. (Alexey Fedorov, #713) Bug Fixes: * Avoid calling `private_methods` from the `be` predicate matcher on the target object if the object publicly responds to the predicate method. This avoids a possible error that can occur if the object raises errors from `private_methods` (which can happen with celluloid objects). (@chapmajs, #670) * Make `yield_control` (with no modifier) default to `at_least(:once)` rather than raising a confusing error when multiple yields are encountered. (Myron Marston, #675) ------------------------------------------------------------------- Tue Jan 20 16:16:29 UTC 2015 - dmueller@suse.com - update to 3.1.2: * Rails 4.1 enablement [ full changelog is very long, see https://github.com/rspec/rspec-expectations/blob/master/Changelog.md for details ] ------------------------------------------------------------------- Mon Oct 13 18:41:38 UTC 2014 - coolo@suse.com - adapt to new rubygem packaging ------------------------------------------------------------------- Thu Feb 6 18:00:15 UTC 2014 - coolo@suse.com - updated to version 2.14.5 Bug fixes * Fix wrong matcher descriptions with falsey expected value (yujinakayama) ------------------------------------------------------------------- Fri Nov 22 08:40:35 UTC 2013 - coolo@suse.com - updated to version 2.14.4 [full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.3...v2.14.4) Bug fixes * Make the `match` matcher produce a diff output. (Jon Rowe, Ben Moss) * Choose encoding for diff's more intelligently, and when all else fails fall back to default internal encoding with replacing characters. (Jon Rowe) ------------------------------------------------------------------- Fri Oct 4 07:17:57 UTC 2013 - coolo@suse.com - updated to version 2.14.3 Bug fixes * Fix operator matchers (`should` syntax) when `method` is redefined on target. (Brandon Turner) * Fix diffing of hashes with object based keys. (Jon Rowe) * Fix operator matchers (`should` syntax) when operator is defined via `method_missing` (Jon Rowe) ------------------------------------------------------------------- Mon Aug 26 05:05:51 UTC 2013 - coolo@suse.com - updated to version 2.14.2 Bug fixes * Fix `be_` matcher to not support operator chaining like the `be` matcher does (e.g. `be == 5`). This led to some odd behaviors since `be_ == anything` returned a `BeComparedTo` matcher and was thus always truthy. This was a consequence of the implementation (e.g. subclassing the basic `Be` matcher) and was not intended behavior. (Myron Marston). * Fix `change` matcher to compare using `==` in addition to `===`. This is important for an expression like: `expect {}.to change { a.class }.from(ClassA).to(ClassB)` because `SomeClass === SomeClass` returns false. (Myron Marston) ### 2.14.1 / 2013-08-08 [full changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.0...2.14.1) Bug fixes * Ensure diff output uses the same encoding as the encoding of the string being diff'd to prevent `Encoding::UndefinedConversionError` ------------------------------------------------------------------- Wed Jul 31 05:45:54 UTC 2013 - coolo@suse.com - updated to version 2.14.0 Bug fixes * Values that are not matchers use `#inspect`, rather than `#description` for documentation output (Andy Lindeman, Sam Phippen). * Make `expect(a).to be_within(x).percent_of(y)` work with negative y (Katsuhiko Nishimra). * Make the `be_predicate` matcher work as expected used with `expect{...}.to change...` (Sam Phippen). ### 2.14.0.rc1 / 2013-05-27 [full changelog](http://github.com/rspec/rspec-expectations/compare/v2.13.0...v2.14.0.rc1) Enhancements * Enhance `yield_control` so that you can specify an exact or relative number of times: `expect { }.to yield_control.exactly(3).times`, `expect { }.to yield_control.at_least(2).times`, etc (Bartek Borkowski). * Make the differ that is used when an expectation fails better handle arrays by splitting each element of the array onto its own line. (Sam Phippen) * Accept duck-typed strings that respond to `:to_str` as expectation messages. (Toby Ovod-Everett) Bug fixes * Fix differ to not raise errors when dealing with differently-encoded strings (Jon Rowe). * Fix `expect(something).to be_within(x).percent_of(y)` where x and y are both integers (Sam Phippen). * Fix `have` matcher to handle the fact that on ruby 2.0, `Enumerator#size` may return nil (Kenta Murata). * Fix `expect { raise s }.to raise_error(s)` where s is an error instance on ruby 2.0 (Sam Phippen). * Fix `expect(object).to raise_error` passing. This now warns the user and fails the spec (tomykaira). Deprecations * Deprecate `expect { }.not_to raise_error(SpecificErrorClass)` or `expect { }.not_to raise_error("some specific message")`. Using these was prone to hiding failures as they would allow _any other error_ to pass. (Sam Phippen and David Chelimsky) ------------------------------------------------------------------- Sun Mar 3 19:44:25 UTC 2013 - coolo@suse.com - updated to version 2.13.0 Enhancements * Add support for percent deltas to `be_within` matcher: `expect(value).to be_within(10).percent_of(expected)` (Myron Marston). * Add support to `include` matcher to allow it to be given a list of matchers as the expecteds to match against (Luke Redpath). Bug fixes * Fix `change` matcher so that it dups strings in order to handle mutated strings (Myron Marston). * Fix `should be =~ /some regex/` / `expect(...).to be =~ /some regex/`. Previously, these either failed with a confusing `undefined method matches?' for false:FalseClass` error or were no-ops that didn't actually verify anything (Myron Marston). * Add compatibility for diff-lcs 1.2 and relax the version constraint (Peter Goldstein). * Fix DSL-generated matchers to allow multiple instances of the same matcher in the same example to have different description and failure messages based on the expected value (Myron Marston). * Prevent `undefined method #split for Array` error when dumping the diff of an array of multiline strings (Myron Marston). * Don't blow up when comparing strings that are in an encoding that is not ASCII compatible (Myron Marston). * Remove confusing "Check the implementation of #==" message printed for empty diffs (Myron Marston). ------------------------------------------------------------------- Tue Dec 18 14:52:48 UTC 2012 - coolo@suse.com - updated to version 2.12.1 [full changelog](http://github.com/rspec/rspec-expectations/compare/v2.12.0...v2.12.1) Bug fixes * Improve the failure message for an expression like `{}.should =~ {}`. (Myron Marston and Andy Lindeman) * Provide a `match_regex` alias so that custom matchers built using the matcher DSL can use it (since `match` is a different method in that context). (Steven Harman) ------------------------------------------------------------------- Tue Nov 13 14:04:51 UTC 2012 - coolo@suse.com - updated to version 2.12.0 Enhancements * Colorize diffs if the `--color` option is configured. (Alex Coplan) * Include backtraces in unexpected errors handled by `raise_error` matcher (Myron Marston) * Print a warning when users accidentally pass a non-string argument as an expectation message (Sam Phippen) * `=~` and `match_array` matchers output a more useful error message when the actual value is not an array (or an object that responds to `#to_ary`) (Sam Phippen) Bug fixes * Fix `include` matcher so that `expect({}).to include(:a => nil)` fails as it should (Sam Phippen). * Fix `be_an_instance_of` matcher so that `Class#to_s` is used in the description rather than `Class#inspect`, since some classes (like `ActiveRecord::Base`) define a long, verbose `#inspect`. (Tom Stuart) ------------------------------------------------------------------- Mon Sep 10 13:05:01 UTC 2012 - coolo@suse.com - updated to version 2.11.3 [full changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.2...v.2.11.3) Bug fixes * Fix (and deprecate) `expect { }.should` syntax so that it works even though it was never a documented or intended syntax. It worked as a consequence of the implementation of `expect` in RSpec 2.10 and earlier. (Myron Marston) * Ensure #== is defined on build in matchers so that they can be composed. For example: expect { user.emailed! }.to change { user.last_emailed_at }.to be_within(1.second).of(Time.zone.now) ------------------------------------------------------------------- Sun Jul 29 11:26:08 UTC 2012 - coolo@suse.com - initial package