Commit Graph

1987 Commits

Author SHA1 Message Date
Michael Miller 20087f1c57
Treat any tokens starting with _spectator as reserved 2022-03-12 19:17:38 -07:00
Michael Miller 5ad29f486f
Better formatting for empty arguments 2022-03-12 17:49:07 -07:00
Michael Miller ca827a3c52
Initial work on null (object) double 2022-03-12 17:07:34 -07:00
Michael Miller 1e7e31ff97
Use true instead of false
It's more obvious the stub worked when same? reports true for different objects.
2022-03-12 15:52:48 -07:00
Michael Miller f82719746d
Stubable -> Stubbable 2022-03-12 15:45:48 -07:00
Michael Miller 7931847164
Cleanup and docs 2022-03-12 15:43:12 -07:00
Michael Miller 151926fd25
Fix captured arguments not handling splat 2022-03-12 14:31:39 -07:00
Michael Miller ea46af00a6
Add method to define stubs 2022-03-12 14:31:19 -07:00
Michael Miller 123dd0efca
Obscure parameters to avoid accidental usage 2022-03-12 13:58:20 -07:00
Michael Miller 5b1a5cd49d
Update tests to use new Double usage 2022-03-12 13:54:40 -07:00
Michael Miller c8864b169e
Quick def methods should accept any args 2022-03-12 13:51:58 -07:00
Michael Miller f497aeb79d
Fix redefinition of method with splat argument 2022-03-12 13:15:26 -07:00
Michael Miller c1a14d1ad2
Add logging 2022-03-12 12:59:44 -07:00
Michael Miller 59f966d0e0
Fix missing double name
Rename internal method to _spectator_stubbed_name.
This is a better name for mocks and doubles.
Improve some handling around stubbed name.
2022-03-12 12:17:27 -07:00
Michael Miller 56f1c77a6c
Move method masking macro to Stubable
Rename to stub_all.
2022-03-12 11:56:54 -07:00
Michael Miller 85cc28c499
Utility method to define a method and a stub override 2022-03-12 11:41:47 -07:00
Michael Miller 8de457d80c
Handle previous_def and super - don't redefine method 2022-03-12 11:34:35 -07:00
Michael Miller 554e215898
Prevent ugly "has no type" errors 2022-03-12 11:33:56 -07:00
Michael Miller 12eeb02a8d
Move method redefinition for stub to Stubable
Require stub or raise UnexpectedMessage for all double methods.
Expose abstract_stub macro to require a stub.
2022-03-12 11:11:22 -07:00
Michael Miller 9b94245bd8
Stub's type might not match return type (subclass or union) 2022-03-12 11:08:58 -07:00
Michael Miller d891422b3a
Don't need to recreate method by hand 2022-03-12 11:08:29 -07:00
Michael Miller 76c1d6a096
Some rework of stubs and doubles 2022-03-12 09:39:32 -07:00
Michael Miller 7c8db07eda
Test ValueStub 2022-03-05 20:57:43 -07:00
Michael Miller ae14a47329
Rename Response to Stub 2022-03-05 20:09:56 -07:00
Michael Miller ced98778a4
Document and test MethodCall 2022-03-05 16:15:42 -07:00
Michael Miller 13f185b801
Capture and report arguments in exception message 2022-03-05 16:06:01 -07:00
Michael Miller 75ccda0a86
Test responses on inherited methods 2022-03-05 15:39:35 -07:00
Michael Miller d16c55984c
Fixup macros 2022-03-05 15:39:19 -07:00
Michael Miller ac007f8565
Test response constraints 2022-03-05 15:00:11 -07:00
Michael Miller 2e15686d2d
Use internal arg name 2022-03-05 12:31:00 -07:00
Michael Miller ec57105afd
Support response constraints
Reduce union expansion by casting at key points.
2022-03-05 12:21:31 -07:00
Michael Miller 8668e495ef
Placeholder mocks DSL 2022-03-05 10:41:52 -07:00
Michael Miller 2adc867843
Initial work on response constraints 2022-03-05 10:41:39 -07:00
Michael Miller de7cd90d11
Add type capturing arguments 2022-03-04 17:16:45 -07:00
Michael Miller d7f8c2b958
Cleanup and document double 2022-03-03 23:12:35 -07:00
Michael Miller 7e65d94cee
Match RSpec double name string 2022-03-03 22:41:18 -07:00
Michael Miller 9594604770
Obscure and disallow double name method 2022-03-03 22:34:57 -07:00
Michael Miller 5644d54470
Support double names 2022-03-03 22:31:40 -07:00
Michael Miller 26deea3d20
Initial work on Double 2022-03-03 22:10:09 -07:00
Michael Miller 8ac6546bdd
Rip out more existing mocks 2022-02-28 22:15:29 -07:00
Michael Miller 0ea7890ece
Merge branch 'master' into mock-redesign 2022-02-28 20:39:33 -07:00
Michael Miller 31d68a9ca3
Don't capture original block as proc 2022-02-22 16:55:11 -07:00
Michael Miller 35f8779ceb
Forward Example procsy to_s to example
https://gitlab.com/arctic-fox/spectator/-/issues/70
2022-02-22 16:36:16 -07:00
Michael Miller eb8bd88927
Handle case with typeless block
Fixes syntax:
`stub method(&block)`

To stub a block with args, use:
`stub method(&block : Type -> Type)`

Addresses https://github.com/icy-arctic-fox/spectator/issues/42
2022-02-21 18:17:44 -07:00
Michael Miller cbe05cd637
Release v0.10.5 2022-01-27 13:04:03 -07:00
Michael Miller 92e839415d
Fix sample iteration with single block arg (not tuple) 2022-01-26 13:14:30 -07:00
Michael Miller d6112bd2dd
Rip out mocks 2022-01-26 12:41:41 -07:00
Michael Miller 4e7318b964
Release v0.10.4 2022-01-11 16:40:53 -07:00
Michael Miller 4057089c20
Support multiple block arguments in sample block
https://github.com/icy-arctic-fox/spectator/issues/41#issuecomment-1010192486
2022-01-11 15:53:53 -07:00
Michael Miller c1841526d4
Test string interpolation with sample 2022-01-10 21:49:54 -07:00