Michael Miller
7f8d9d5ef3
Add comparison tests from RSpec docs
2020-01-02 20:00:51 -07:00
Michael Miller
71740113d5
Allow subject for non-class types
2020-01-02 19:30:46 -07:00
Michael Miller
88ed415191
Bubble up matcher description
...
The last run matcher's description is used if one wasn't provided by the
user.
Only applies to examples that actually run and have expectations.
2020-01-02 19:19:55 -07:00
Michael Miller
d64ecc4192
Store matcher description in MatchData
2020-01-02 19:16:33 -07:00
Michael Miller
00fe913d77
Add predicate method to check for description
2020-01-02 18:43:30 -07:00
Michael Miller
ff2cbcd4c7
Allow test description to be blank
...
Currently defaults to the example's source.
2020-01-02 18:40:25 -07:00
Michael Miller
9f91e3a266
Add tests for equality matcher
2020-01-01 21:58:37 -07:00
Michael Miller
681f978df0
Add Guardian config to automatically run specs
2020-01-01 21:50:31 -07:00
Michael Miller
0a6493964d
Allow auto-run of Spectator
...
Needed to test Spectator with itself.
2020-01-01 21:50:08 -07:00
Michael Miller
061028782b
Workaround for what seems to be a Crystal macro bug
...
The syntax:
stub instance.==(other) { true }
effectively becomes:
stub instance.==(other { true })
2020-01-01 21:48:58 -07:00
Michael Miller
a9ac48e12c
Merge branch 'mocks-and-doubles'
2019-12-13 20:26:29 -07:00
Michael Miller
612222ace8
Update version to 0.9.1
2019-12-13 20:26:22 -07:00
Michael Miller
8ccc08b472
Fix reflection (verify double) on self arg type
...
There is still an issue with using _ for a placeholder.
2019-12-13 20:25:18 -07:00
Michael Miller
16625cf495
Registry#expect takes a stub
2019-12-13 19:56:43 -07:00
Michael Miller
a38625f8a7
Remove GenericMethodCall
...
This type isn't needed. MethodCall is suitable after moving arguments to
it.
2019-12-13 19:54:06 -07:00
Michael Miller
a6aa00eb38
Fix double default stub with type
2019-12-13 19:17:08 -07:00
Michael Miller
d0c06096f5
Merge branch 'release/0.9'
2019-12-08 16:24:12 -07:00
Michael Miller
4684840d2f
Update README
2019-12-08 16:23:43 -07:00
Mike Miller
fb3da7497f
Merge branch 'release/0.9' into 'master'
...
Version 0.9.0
See merge request arctic-fox/spectator!17
2019-12-08 23:14:27 +00:00
Michael Miller
03c6a08146
Merge remote-tracking branch 'origin/master' into release/0.9
2019-12-08 16:13:33 -07:00
Mike Miller
2cb34f70fd
Merge branch 'mocks-and-doubles' into 'release/0.9'
...
Mocks and doubles
See merge request arctic-fox/spectator!16
2019-12-08 22:58:52 +00:00
Michael Miller
4c9bbbe07b
Formatting
2019-12-08 15:11:23 -07:00
Michael Miller
0ae5cdc9ae
Remove debug
2019-12-08 15:11:08 -07:00
Michael Miller
1a30a56f2a
Better stringified call
2019-12-08 15:10:49 -07:00
Michael Miller
91696d490f
Check if underlying type responds to method
2019-12-08 15:08:13 -07:00
Michael Miller
067c789019
Initial work on type reflection for verifying doubles
2019-12-08 14:52:54 -07:00
Michael Miller
074aff531c
Add "anything" which always returns true when compared against
2019-12-08 14:52:28 -07:00
Michael Miller
07ce835724
VerifyingDouble should be abstract
2019-12-08 14:51:48 -07:00
Michael Miller
8b0f509689
Detect when to use a verifying double
2019-12-08 11:37:08 -07:00
Michael Miller
8197a82ace
Expect stubs not method names
...
Needed for argument syntax:
`expect(dbl).to receive(:foo).with(:bar)`
2019-11-29 09:25:58 -07:00
Michael Miller
c710961be1
Fix returned type inferred to NoReturn
2019-11-29 08:53:36 -07:00
Michael Miller
d6c1169bc3
Fix dumb syntax
2019-11-20 20:40:53 -07:00
Michael Miller
5d84536e1e
Implement and_call_original
2019-11-20 19:17:51 -07:00
Michael Miller
f8563e86c7
Pass along original block
2019-11-20 16:29:06 -07:00
Michael Miller
2dee50f19e
Pass original (and type constraint) to stub via block
2019-11-20 15:43:45 -07:00
Michael Miller
51a47fec98
Remove unused RT parameter
2019-11-20 15:05:04 -07:00
Michael Miller
27acf7bced
Allow receive block syntax
2019-11-19 17:28:00 -07:00
Michael Miller
b062472d98
Revert "Initial support for and_yield"
...
This reverts commit e49bd0d57a
.
Removing support for stubbed yield.
Attempting to yield with different a different arity or argument types causes compilation errors.
I don't see any easy fix for this.
I would rather have no yield support than broken support.
2019-11-17 13:30:09 -07:00
Michael Miller
e49bd0d57a
Initial support for and_yield
2019-11-17 13:12:39 -07:00
Michael Miller
b896a7f1d5
Implement stub that raises
2019-11-17 12:53:18 -07:00
Michael Miller
6e287f864b
Implement returning multiple values
2019-11-17 12:26:02 -07:00
Michael Miller
1a3f663b70
Name is optional for doubles
2019-11-17 10:47:51 -07:00
Michael Miller
a63d3d05a5
Negation for receive matchers
2019-11-17 10:32:37 -07:00
Michael Miller
5da231a5e8
Check expectations for anonymous double
2019-11-17 10:14:03 -07:00
Michael Miller
45fe6217b4
Missing args
2019-11-17 09:42:19 -07:00
Michael Miller
ac9b3ad1fe
Implement expect_any_instance_of
2019-11-16 21:27:18 -07:00
Michael Miller
a15e2a97b1
Allow deferred expectation of multiple stubs
2019-11-16 15:24:23 -07:00
Michael Miller
a8e0f46645
Revert "Coerce operations in match? to booleans"
...
This reverts commit 76c21d447a
.
Should no longer be needed since mocks and doubles should indirectly leak into StandardMatcher types.
2019-11-16 15:15:53 -07:00
Michael Miller
d9d30c57d0
Merge ReceiveArgumentsMatcher and ReceiveMatcher
...
Finally found the issue causing other matchers derived from
StandardMatcher to be "leaked" doubles and mocks indirectly.
The if-condition in ExpectationPartial#to and #to_not caused the matcher
to be given the StandardMatcher type instead of a union type.
This lead to really strange compilation errors and wasted a lot of
hours.
2019-11-16 15:14:38 -07:00
Michael Miller
f0bfd8b6d4
Switch to run-time error for unsupported negation
2019-11-16 13:18:09 -07:00