Commit Graph

2231 Commits

Author SHA1 Message Date
Michael Miller df5a4fa77c
Use tap to modify new mock
Without this, mocked structs were not getting their stubs applied.
An unintended side-effect is the tap shows up in recorded calls.
This seems to be harmless, but might need to be revisited.
2022-07-12 21:19:51 -06:00
Michael Miller 0e556c3d55
Clear stubs and recorded calls after example completes 2022-07-12 20:40:27 -06:00
Michael Miller 24eec64d64
Check for leaks on class mocks and doubles 2022-07-12 20:09:18 -06:00
Michael Miller bb0c85d9ec
Fix possible shadowing of `mock` 2022-07-12 19:50:04 -06:00
Michael Miller 6e57a1c44a
Allow method calls with unconstrained arguments
Workaround for the expect-receive DSL syntax to allow methods to be called without matching arguments.
2022-07-12 19:23:13 -06:00
Michael Miller c91e288f61
Add initial support for exect-receive syntax 2022-07-12 19:11:44 -06:00
Michael Miller 3d7655a5d1
Add support for any_args in DSL 2022-07-12 19:05:55 -06:00
Michael Miller 4aaa8db5e2
Rename Arguments.empty to Arguments.none 2022-07-12 18:59:23 -06:00
Michael Miller 4b2b37477e
Remove unused methods 2022-07-12 18:04:55 -06:00
Michael Miller b137a8e742
Test matcher text 2022-07-12 18:04:51 -06:00
Michael Miller d7ea969f55
Pretify stub and call output
Fix some tests.
2022-07-12 17:47:05 -06:00
Michael Miller 36cc035417
Add tests for ReceiveMatcher 2022-07-12 17:19:42 -06:00
Michael Miller 00c7141d95
Re-add `with` modifier with constraint
Fixes `no_args` in DSL.
2022-07-12 10:56:49 -06:00
Michael Miller 694e2e6259
Initial implementation of `have_received` 2022-07-11 20:25:15 -06:00
Michael Miller 4f46c98a86
Rename `with` method to avoid recursive splat and ambiguity 2022-07-11 20:24:51 -06:00
Michael Miller 011ca37b50
Reenable pending tests 2022-07-11 02:59:29 -06:00
Michael Miller ecab2dd37e
Upcast to AbstractArguments to avoid instantiating methods
This reduced compilation times when using a large amount of Arguments types.
2022-07-10 21:54:25 -06:00
Michael Miller 32a9bfd356
Add no_args 2022-07-10 18:51:58 -06:00
Michael Miller b9eaefb424
Add docs 2022-07-10 18:33:56 -06:00
Michael Miller ae8421c29e
Address Ameba issue 2022-07-10 17:59:49 -06:00
Michael Miller 9eb2946be6
Change empty args to reusable readonly instance 2022-07-10 17:51:05 -06:00
Michael Miller 29389f1dbf
Add indexer methods for captured arguments 2022-07-10 17:38:17 -06:00
Michael Miller 4aaed186c3
Add `with` stub modifier 2022-07-10 17:31:13 -06:00
Michael Miller cd177dd2ae
Implement ProcStub 2022-07-10 11:54:51 -06:00
Michael Miller 4d5004ab4f
Add ExceptionStub 2022-07-09 22:12:24 -06:00
Michael Miller f17cc73487
More multi value stub tests 2022-07-09 21:48:22 -06:00
Michael Miller 667c05b484
Merge branch 'mock-redesign' of gitlab.com:arctic-fox/spectator into mock-redesign 2022-07-09 20:52:04 -06:00
Michael Miller 9c705bf888
Add MultiValueStub 2022-07-09 20:52:01 -06:00
Michael Miller 8694e5d078
Merge branch 'master' into mock-redesign 2022-07-09 08:23:55 -06:00
Michael Miller 813983de4b
Implement and test DSL for class mocks and doubles 2022-07-07 19:09:18 -06:00
Michael Miller 77096b76e9
Allow StubbedType alongside Stubbable for allow() 2022-07-07 19:01:02 -06:00
Michael Miller 55b2ac9f05
Fix macro for class double name 2022-07-07 19:00:22 -06:00
Michael Miller ccc8997cca
Test type restricted methods with class mocks 2022-07-07 19:00:07 -06:00
Michael Miller 5008923226
Bump to 0.11.0-alpha 2022-07-07 18:23:54 -06:00
Michael Miller 934dc2fffd
Bump version to 0.10.6 2022-07-07 18:21:52 -06:00
Michael Miller c317998aba
Bump version to 0.10.6 2022-07-07 18:16:54 -06:00
Michael Miller 99a0013127
Fix warnings from Crystal 1.5.0 regarding positional parameters 2022-07-07 18:16:37 -06:00
Michael Miller 70391b2d31
Fix warnings from Crystal 1.5.0 regarding positional parameters 2022-07-07 18:10:21 -06:00
Michael Miller f7147299ab
Add stub support to class methods on mocks 2022-07-04 20:19:13 -06:00
Michael Miller c76ead4065
Auto stub class methods 2022-07-04 20:16:07 -06:00
Michael Miller fb5f44ef10
Add 'new' and 'allocate' to reserved keywords 2022-07-04 20:06:26 -06:00
Michael Miller 22a37d38f9
Don't automatically extend StubbedType
Mocked module includes StubbedType, which doesn't pass along functionality to mocks.
2022-07-04 16:43:37 -06:00
Michael Miller aa87d124e4
Test class method stubs 2022-07-04 16:14:56 -06:00
Michael Miller 989086c4fc
Add method to clear recorded calls 2022-07-04 15:35:12 -06:00
Michael Miller 056d5892fa
Indicate class double/mock in stubbed name 2022-07-04 15:34:38 -06:00
Michael Miller cecd2464de
Initial code for StubbedType 2022-07-03 13:40:29 -06:00
Michael Miller 20c9da75a8
Add missing dot after method receiver (self) 2022-06-29 22:02:27 -06:00
Michael Miller c8ec0ad02a
Record calls on injected mocks 2022-06-28 23:36:24 -06:00
Michael Miller 8aed5027aa
Remove _spectator_calls method with filter 2022-06-28 23:02:46 -06:00
Michael Miller 3589f23475
Store calls to mocks and doubles 2022-06-28 22:54:08 -06:00