mirror of
https://gitea.invidious.io/iv-org/shard-spectator.git
synced 2024-08-15 00:53:35 +00:00
312 lines
12 KiB
Markdown
312 lines
12 KiB
Markdown
# Changelog
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
### Added
|
|
- Hooks are yielded the current example as a block argument.
|
|
- The `let` and `subject` blocks are yielded the current example as a block argument.
|
|
- Add internal logging that uses Crystal's `Log` utility. Provide the `LOG_LEVEL` environment variable to enable.
|
|
- Support dynamic creation of examples.
|
|
- Capture and log information for hooks.
|
|
- Tags can be added to examples and example groups.
|
|
|
|
### Changed
|
|
- Simplify and reduce defined types and generics. Should speed up compilation times.
|
|
- `around_each` hooks wrap `before_all` and `after_all` hooks. [#12](https://github.com/icy-arctic-fox/spectator/issues/12)
|
|
- The "should" syntax no longer reports the source as inside Spectator.
|
|
- Short-hand "should" syntax must be included by using `require "spectator/should"` - `it { should eq("foo") }`
|
|
- Overhaul example creation and handling.
|
|
- Overhaul storage of test values.
|
|
- Cleanup and simplify DSL implementation.
|
|
- Better error messages and detection when DSL methods are used when they shouldn't (i.e. `describe` inside `it`).
|
|
- Other minor internal improvements and cleanup.
|
|
|
|
### Removed
|
|
- Removed one-liner it syntax without braces (block).
|
|
|
|
## [0.9.32] - 2021-02-03
|
|
### Fixed
|
|
- Fix source reference with brace-less example syntax. [#20](https://github.com/icy-arctic-fox/spectator/issues/20)
|
|
|
|
## [0.9.31] - 2021-01-08
|
|
### Fixed
|
|
- Fix misaligned line numbers when referencing examples and groups.
|
|
|
|
## [0.9.30] - 2020-12-23
|
|
### Fixed
|
|
- Fix issue caused by additions from 0.9.29.
|
|
|
|
### Changed
|
|
- Improve the `contain`, `contain_elements`, `have`, and `have_elements` to show missing items in output.
|
|
|
|
## [0.9.29] - 2020-12-23
|
|
### Added
|
|
- Add variants `contain_elements` and `have_elements`, which behave like `contain` and `have` matchers except that they take an array (or any enumerable type) instead of a parameter list or splat.
|
|
|
|
## [0.9.28] - 2020-11-07
|
|
### Added
|
|
- Add `return_type` option to method stubs.
|
|
|
|
## [0.9.27] - 2020-10-01
|
|
### Added
|
|
- Add syntax for stubbing operator-style methods, such as `[]`.
|
|
|
|
## [0.9.26] - 2020-09-27
|
|
### Fixed
|
|
- Fix issue with yielding in stubbed mocks.
|
|
|
|
## [0.9.25] - 2020-09-26
|
|
### Fixed
|
|
- Fix issue with splatting values for failed match data. This prevented the use of "description" and "failure_message" in some matches like `respond_to`.
|
|
|
|
## [0.9.24] - 2020-09-17
|
|
### Changed
|
|
- Allow some forms of string interpolation in group and example descriptions.
|
|
|
|
## [0.9.23] - 2020-08-30
|
|
### Fixed
|
|
- Allow the use of `object_id` and other possibly conflicting method names via `let`. [#53](https://gitlab.com/arctic-fox/spectator/-/issues/53)
|
|
|
|
## [0.9.22] - 2020-08-11
|
|
### Changed
|
|
- Handle splat in macro for matcher DSL. [#8](https://github.com/icy-arctic-fox/spectator/issues/8)
|
|
|
|
## [0.9.21] - 2020-07-27
|
|
### Added
|
|
- Display random seed when using `-r` or `--seed` options. [#7](https://github.com/icy-arctic-fox/spectator/issues/7)
|
|
|
|
## [0.9.20] - 2020-05-29
|
|
### Fixed
|
|
- Fix bug when using multiple short-hand block expects in one test.
|
|
|
|
## [0.9.19] - 2020-05-28
|
|
### Fixed
|
|
- Fix issue with `match_array` and `contain_exactly` matchers not working with immutable collections.
|
|
|
|
## [0.9.18] - 2020-04-26
|
|
### Fixed
|
|
- Fix `describe_class.new` when using a generic type.
|
|
|
|
## [0.9.17] - 2020-04-23
|
|
### Fixed
|
|
- Fix issue when using deferred syntax with `receive` matcher. [#48](https://gitlab.com/arctic-fox/spectator/-/issues/48)
|
|
|
|
## [0.9.16] - 2020-04-06
|
|
### Fixed
|
|
- Silence warnings from Crystal 0.34
|
|
|
|
## [0.9.15] - 2020-04-03
|
|
### Fixed
|
|
- Fix issues with `match_array().in_any_order` and `contain_exactly().in_any_order`. [#47](https://gitlab.com/arctic-fox/spectator/-/issues/47)
|
|
|
|
### Changed
|
|
- Improve usability when actual value does not respond to methods needed to verify it.
|
|
For instance, `expect(nil).to contain_exactly(:foo)` would not compile.
|
|
This has been changed so that it compiles and raises an error at runtime with a useful message.
|
|
|
|
## [0.9.14] - 2020-04-01
|
|
### Fixed
|
|
- Fix using nil with `be` matcher. [#45](https://gitlab.com/arctic-fox/spectator/-/issues/45)
|
|
|
|
## [0.9.13] - 2020-03-28
|
|
### Fixed
|
|
- Fix arguments not found in default stubs for mocks. [#44](https://gitlab.com/arctic-fox/spectator/-/issues/44)
|
|
|
|
## [0.9.12] - 2020-03-20
|
|
### Fixed
|
|
- Fix issue when mocking modules. Thanks @watzon !
|
|
|
|
## [0.9.11] - 2020-03-04
|
|
### Fixed
|
|
- Fix issue when describing constants. [#40](https://gitlab.com/arctic-fox/spectator/-/issues/40) [#41](https://gitlab.com/arctic-fox/spectator/-/issues/41)
|
|
|
|
## [0.9.10] - 2020-03-03
|
|
### Changed
|
|
- Smarter behavior when omitting the block argument to the `around_each` hook.
|
|
|
|
## [0.9.9] - 2020-02-22
|
|
### Fixed
|
|
- Fix implicit subject when used with a module. [#6](https://github.com/icy-arctic-fox/spectator/issues/6)
|
|
|
|
## [0.9.8] - 2020-02-21
|
|
### Fixed
|
|
- Fix `be_between` matcher. Thanks @davidepaolotua / @jinn999 !
|
|
|
|
## [0.9.7] - 2020-02-16
|
|
### Fixed
|
|
- Fix memoization of subject when using a type name for the context.
|
|
- Fix some cases when mocking a class method.
|
|
|
|
## [0.9.6] - 2020-02-10
|
|
### Added
|
|
- Add short-hand "should" syntax - `it { should eq("foo") }`
|
|
- The `be` matcher can be used on value types.
|
|
- Add more tests cases from RSpec docs.
|
|
|
|
### Fixed
|
|
- Fix an issue with stubbed class methods on mocked types. Sometimes `previous_def` was used when `super` should have been used instead.
|
|
- Fix deferred expectations not running after all hooks.
|
|
|
|
## [0.9.5] - 2020-01-19
|
|
### Changed
|
|
- Described type is now considered an explicit subject.
|
|
|
|
## [0.9.4] - 2020-01-19
|
|
### Added
|
|
- Add more test cases from RSpec docs.
|
|
- Add `it_fails` utility to test expected failures.
|
|
|
|
### Fixed
|
|
- Fix negated case for `respond_to` matcher.
|
|
|
|
## [0.9.3] - 2020-01-17
|
|
### Fixed
|
|
- Fix implicit subject overwriting explicit subject. [#25](https://gitlab.com/arctic-fox/spectator/-/merge_requests/25)
|
|
|
|
## [0.9.2] - 2020-01-14
|
|
### Added
|
|
- Add tests from RSpec docs.
|
|
- Add `with_message` modifier for `raise_error` matcher.
|
|
- Support omitted description on `it` and `specify` blocks. Use matcher description by default.
|
|
|
|
### Fixed
|
|
- Fix `let!` not inferring return type. [#4](https://github.com/icy-arctic-fox/spectator/issues/4)
|
|
|
|
### Changed
|
|
- Modified some matchers to behave more closely to their RSpec counterparts.
|
|
|
|
## [0.9.1] - 2019-12-13
|
|
### Fixed
|
|
- Fix default stub with type.
|
|
- Fix verifying double on self argument type.
|
|
- Pass stub instead of stub name to mock registry.
|
|
|
|
### Removed
|
|
- Remove unnecessary type from stub class hierarchy.
|
|
|
|
## [0.9.0] - 2019-12-08
|
|
### Added
|
|
- Implement initial mocks and doubles (stubbing) support. [#16](https://gitlab.com/arctic-fox/spectator/-/merge_requests/16) [#6](https://gitlab.com/arctic-fox/spectator/-/issues/6)
|
|
- Deferred expectations (`to_eventually` and `to_never`).
|
|
|
|
### Changed
|
|
- Test cases no longer define an entire class, but rather a method in a class belonging to the group.
|
|
|
|
## [0.8.3] - 2019-09-23
|
|
### Fixed
|
|
- Fix and address warnings with Crystal 0.31.0.
|
|
|
|
## [0.8.2] - 2019-08-21
|
|
### Fixed
|
|
- Workaround for Crystal compiler bug [#7060](https://github.com/crystal-lang/crystal/issues/7060). [#1](https://github.com/icy-arctic-fox/spectator/issues/1)
|
|
|
|
## [0.8.1] - 2019-08-17
|
|
### Fixed
|
|
- Fix nested `sample_value` blocks giving cryptic error. [#20](https://gitlab.com/arctic-fox/spectator/-/issues/20)
|
|
|
|
## [0.8.0] - 2019-08-12
|
|
### Added
|
|
- Add "any order" modifier for `contains_exactly` and `match_array`.
|
|
- Add `change` matcher and its variations.
|
|
- Add `all` matcher.
|
|
- Variation of `let` syntax that takes an assignment.
|
|
|
|
### Changed
|
|
- Rewrote matcher class structure.
|
|
- Improved tracking of actual and expected values and their labels.
|
|
- Matcher values are only produced when the match fails, instead of always.
|
|
|
|
### Fixed
|
|
- Fix malformed code generated by macros not working in latest Crystal version.
|
|
|
|
## [0.7.2] - 2019-06-01
|
|
### Fixed
|
|
- Reference types used in `subject` and `let` were recreated between hooks and the test block. [#11](https://gitlab.com/arctic-fox/spectator/-/issues/11)
|
|
|
|
## [0.7.1] - 2019-05-21
|
|
### Fixed
|
|
- Fixed an issue where named subjects could crash the compiler.
|
|
|
|
## [0.7.0] - 2019-05-16
|
|
### Added
|
|
- Added `be_between` matcher.
|
|
|
|
### Changed
|
|
- The `be_within` matcher behaves like RSpec's.
|
|
|
|
## [0.6.0] - 2019-05-08
|
|
### Changed
|
|
- Introduced reference matcher and changed `be` matcher to use it instead of the case matcher.
|
|
|
|
### Removed
|
|
- Removed regex matcher, the case matcher is used instead.
|
|
|
|
## [0.5.3] - 2019-05-08
|
|
### Fixed
|
|
- Updated the `expect_raises` matcher to accept an optional second argument to mimic `raise_error`. [#4](https://gitlab.com/arctic-fox/spectator/-/issues/4)
|
|
|
|
## [0.5.2] - 2019-04-22
|
|
### Fixed
|
|
- Fix `after_all` hooks not running with fail-fast enabled. [#2](https://gitlab.com/arctic-fox/spectator/-/issues/2)
|
|
|
|
## [0.5.1] - 2019-04-18
|
|
### Added
|
|
- Note in README regarding repository mirror.
|
|
|
|
### Fixed
|
|
- Change protection on expectation partial to work with Crystal 0.28 and "should" syntax.
|
|
- Change references to `Time.now` to `Time.utc` in docs.
|
|
|
|
## [0.5.0] - 2019-04-07
|
|
First version ready for public use.
|
|
|
|
|
|
[Unreleased]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.32...HEAD
|
|
[0.9.31]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.31...v0.9.32
|
|
[0.9.31]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.30...v0.9.31
|
|
[0.9.30]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.29...v0.9.30
|
|
[0.9.29]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.28...v0.9.29
|
|
[0.9.28]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.27...v0.9.28
|
|
[0.9.27]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.26...v0.9.27
|
|
[0.9.26]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.25...v0.9.26
|
|
[0.9.25]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.24...v0.9.25
|
|
[0.9.24]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.23...v0.9.24
|
|
[0.9.23]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.22...v0.9.23
|
|
[0.9.22]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.21...v0.9.22
|
|
[0.9.21]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.20...v0.9.21
|
|
[0.9.20]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.19...v0.9.20
|
|
[0.9.19]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.18...v0.9.19
|
|
[0.9.18]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.17...v0.9.18
|
|
[0.9.17]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.16...v0.9.17
|
|
[0.9.16]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.15...v0.9.16
|
|
[0.9.15]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.14...v0.9.15
|
|
[0.9.14]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.13...v0.9.14
|
|
[0.9.13]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.12...v0.9.13
|
|
[0.9.12]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.11...v0.9.12
|
|
[0.9.11]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.10...v0.9.11
|
|
[0.9.10]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.9...v0.9.10
|
|
[0.9.9]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.8...v0.9.9
|
|
[0.9.8]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.7...v0.9.8
|
|
[0.9.7]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.6...v0.9.7
|
|
[0.9.6]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.5...v0.9.6
|
|
[0.9.5]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.4...v0.9.5
|
|
[0.9.4]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.3...v0.9.4
|
|
[0.9.3]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.2...v0.9.3
|
|
[0.9.2]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.1...v0.9.2
|
|
[0.9.1]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.9.0...v0.9.1
|
|
[0.9.0]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.8.3...v0.9.0
|
|
[0.8.3]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.8.2...v0.8.3
|
|
[0.8.2]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.8.1...v0.8.2
|
|
[0.8.1]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.8.0...v0.8.1
|
|
[0.8.0]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.7.2...v0.8.0
|
|
[0.7.2]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.7.1...v0.7.2
|
|
[0.7.1]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.7.0...v0.7.1
|
|
[0.7.0]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.6.0...v0.7.0
|
|
[0.6.0]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.5.2...v0.6.0
|
|
[0.5.3]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.5.2...v0.5.3
|
|
[0.5.2]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.5.1...v0.5.2
|
|
[0.5.1]: https://gitlab.com/arctic-fox/spectator/-/compare/v0.5.0...v0.5.1
|
|
[0.5.0]: https://gitlab.com/arctic-fox/spectator/-/releases/v0.5.0
|