Commit graph

2152 commits

Author SHA1 Message Date
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
Michael Miller
c98edcec5d
Add methods for recording calls to stubs 2022-06-08 08:18:31 -06:00
Michael Miller
c70e4792af
Rename _spectator_calls to _spectator_invocations 2022-06-08 08:18:16 -06:00
Michael Miller
cb93f4eee0
Document mock modules 2022-06-04 18:21:08 -06:00
Michael Miller
41dea9c985
Add missing require for spec_helper 2022-06-01 23:47:13 -06:00
Michael Miller
4de04b2a91
Merge branch 'master' into mock-redesign 2022-06-01 23:45:43 -06:00
Michael Miller
989e5db389
Remove mock-specific changes 2022-06-01 23:44:52 -06:00
Michael Miller
69a89daeb8
Run smoke test for nightly 2022-06-01 23:42:37 -06:00
Michael Miller
712edf20c1
Split spec into multiple jobs 2022-06-01 23:41:39 -06:00
Michael Miller
96c7c84275
Test mocked structs 2022-06-01 23:37:54 -06:00
Michael Miller
d289cbff29
Add tests for abstract class mock 2022-06-01 23:13:16 -06:00
Michael Miller
0a710c831a
Test context handling with mocks 2022-06-01 22:23:49 -06:00
Michael Miller
effad28559
Better compiler error for wrong argument type passed to mock 2022-06-01 22:23:39 -06:00
Michael Miller
8fbcbe8b73
Test mock scope 2022-06-01 22:11:32 -06:00
Michael Miller
3f4216a271
Allow passing default value stubs to mock initialization 2022-06-01 22:04:18 -06:00
Michael Miller
225553127d
More mock tests 2022-06-01 17:56:09 -06:00
Michael Miller
934c92aed1
More mock DSL tests 2022-05-29 00:28:38 -06:00
Michael Miller
b6083f0e09
Fix passing along mock body 2022-05-28 10:10:20 -06:00
Michael Miller
03754321b5
Fix existing mock DSL macros
Initial code for mock DSL.
2022-05-28 09:18:49 -06:00
Michael Miller
6060b3cd10
Test type restrictions and ensure original methods aren't called 2022-05-28 09:18:03 -06:00
Michael Miller
fa89fa5550
Remove problematic test and use be_a 2022-05-27 21:45:01 -06:00
Michael Miller
959139b1ee
Use be_a instead of be_lt for types
Remove problematic `be_lt(::Reference)`
This appears to drastically increase compilation time and resources.
2022-05-25 18:00:42 -06:00
Michael Miller
d7c1c675ff
Add missing require for spec_helper 2022-05-25 17:28:11 -06:00
Michael Miller
03f78e3fc1
Fix path to mock specs 2022-05-25 17:27:02 -06:00
Michael Miller
670dd7f062
Run smoke test for nightly 2022-05-25 17:20:57 -06:00
Michael Miller
ce7feb8f0f
Split spec into multiple jobs 2022-05-25 17:18:08 -06:00
Michael Miller
d0e5f6ca35
Workaround struct pass by value with let 2022-05-24 19:41:16 -06:00
Michael Miller
1f6417bca5
Skip test producing Crystal compiler bug 2022-05-24 19:40:48 -06:00
Michael Miller
9f5b5d8576
Add tests for mock of abstract struct
Compilation causes a compiler bug in 1.4.1
BUG: {{ @type > T }} (Crystal::MacroExpression) at /usr/share/crystal/src/class.cr:89:5 should have been expanded (Exception)
2022-05-24 19:30:42 -06:00
Michael Miller
be69018591
Test that a class is defined 2022-05-24 19:29:42 -06:00