Fix adding stubs to class methods on mocked types

This commit is contained in:
Michael Miller 2021-10-11 23:03:50 -06:00
parent 5692a77a1b
commit f1f1659836
No known key found for this signature in database
GPG key ID: F9A0C5C65B162436
2 changed files with 5 additions and 0 deletions

View file

@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Better handling of the `be(nil)` when used with value types. [#37](https://github.com/icy-arctic-fox/spectator/issues/37)
- Fix missing arguments for stubbed top-level methods (`system`, `exit`, etc.). [#36](https://github.com/icy-arctic-fox/spectator/issues/36)
- Fix outdated naming when using `expect_any_instance_of`.
- Fix adding stubs to class methods on mocked types.
### Changed
- Elegantly handle missing/undefined methods with `have_attributes` matcher.

View file

@ -21,6 +21,10 @@ module Spectator::Mocks
fetch_instance(object).stubs.unshift(stub)
end
def add_stub(type : T.class, stub : MethodStub) : Nil forall T
add_type_stub(type, stub)
end
def add_type_stub(type, stub : MethodStub) : Nil
fetch_type(type).stubs.unshift(stub)
end