Commit graph

1822 commits

Author SHA1 Message Date
Michael Miller
4d030fb85a
Fix no_args being passed incorrectly 2021-07-10 22:43:54 -06:00
Michael Miller
d9bb8e33fe
Fix finding stubs on types (static methods) 2021-07-10 22:41:10 -06:00
Michael Miller
23fd075d51
Add stub when using expect().to receive()
This appears to match RSpec's behavior.
2021-07-10 20:28:51 -06:00
Michael Miller
384fb3093f
Allow stubs returning nil to be used on NoReturn calls 2021-07-10 20:19:10 -06:00
Michael Miller
e47ae613a5
Check for and allow expected exits 2021-07-10 19:27:01 -06:00
Michael Miller
35cb0b527e
Use ExampleFailed instead of ExpectationFailed 2021-07-10 18:15:01 -06:00
Michael Miller
5f61a24656
Provide default stub for Process.exit
Prevent terminating the process from within a test.
2021-07-10 14:18:07 -06:00
Michael Miller
294bd61a25
Don't force top-level namespace 2021-07-10 14:17:14 -06:00
Michael Miller
b07e13aeb4
Remove custom handling of NoReturn 2021-07-10 13:57:23 -06:00
Michael Miller
a395e26bae
Revert "Fix methods not being stubbed with expect().to receive syntax"
This reverts commit 1c865d1f4b.
2021-07-10 13:21:21 -06:00
Michael Miller
06f9f380c9
Workaround for stubbing NoReturn method with Nil
Fixes spec/issues/github_issue_29_spec.cr:15
2021-07-10 12:54:09 -06:00
Michael Miller
aa12cdf17c
Introduce non-expectation error ExampleFailed
Used by fail method.
Still todo: Output from failed example is missing because there are no 
expectations.
2021-07-10 03:32:55 -06:00
Michael Miller
ccedcdac42
Use getter! macro 2021-07-10 03:31:22 -06:00
Michael Miller
82f26dbb91
Don't return nil for NoReturn stubs
Raise instead, which prevents making the method's return type nilable.
2021-07-08 11:36:07 -06:00
Michael Miller
aee5897922
Fix comma placement 2021-07-06 23:32:51 -06:00
Michael Miller
7081c168a5
Missing comma 2021-07-05 22:36:37 -06:00
Michael Miller
3e4079d408
Remove Spec namespace 2021-07-05 11:49:16 -06:00
Michael Miller
6a01ab3531
Merge master into release/0.10 2021-07-05 11:32:45 -06:00
Michael Miller
78de2be994
Bump version to 0.9.39 2021-07-02 21:59:16 -06:00
Michael Miller
f728ab6ad7
Add test case handling NoReturn stub and top-level methods (exit)
Fixes https://github.com/icy-arctic-fox/spectator/issues/29
2021-07-02 21:55:42 -06:00
Michael Miller
92dbfc2a8e
Avoid calling NoReturn methods 2021-07-02 21:52:56 -06:00
Michael Miller
1c865d1f4b
Fix methods not being stubbed with expect().to receive syntax 2021-07-02 21:45:16 -06:00
Michael Miller
83ab5f56f0
Use previous_def if method was defined in class 2021-07-02 21:01:41 -06:00
Michael Miller
a0537484f4
Allow creation of doubles without a definition
Utilizes anonymous doubles to implement this.
Fixes https://github.com/icy-arctic-fox/spectator/issues/30
2021-07-02 19:18:14 -06:00
Michael Miller
d4e2954725
Remove Nop checks 2021-07-02 18:56:24 -06:00
Michael Miller
e3f6fb3c7c
Add no_args support for stubs
Fixes https://github.com/icy-arctic-fox/spectator/issues/28
2021-07-02 18:43:39 -06:00
Michael Miller
8d32984eba
Mark issue with scope of types as resolved
https://github.com/icy-arctic-fox/spectator/issues/31 appears to be 
fixed in v0.10.
2021-07-02 18:11:40 -06:00
Michael Miller
9b01771c67
Fix missing setup log messages 2021-06-19 12:05:45 -06:00
Michael Miller
989f53c6d6
Initial code for sample groups 2021-06-19 11:57:56 -06:00
Michael Miller
44ade24fb7
Generate context one or more times
This is necessary for iterative (sample) groups so they don't share a 
context.
2021-06-19 11:33:26 -06:00
Michael Miller
4b8d28c916
Wording on compiler error for block args 2021-06-19 10:54:31 -06:00
Michael Miller
1f91836de1
Use block to create examples
Seems that nodes can't be duped/cloned easily.
2021-06-13 14:45:01 -06:00
Michael Miller
4ff27defff
Initial code for iterative (sample) groups 2021-06-13 13:16:31 -06:00
Michael Miller
e51ad6d504
Check if provided and given are used in a method 2021-06-12 17:06:43 -06:00
Michael Miller
04d6c70f59
Cleaner distinction between metadata and tags 2021-06-12 16:45:45 -06:00
Michael Miller
704c28e822
Reimplement given as provided and deprecate
The behavior is slightly different now.
Nested example blocks aren't allowed in `provided`.
The block produces one example, not multiple.
2021-06-12 16:23:38 -06:00
Michael Miller
71a5c39f6c
Use skip instead of pending tag
Specify default reason for skipping groups.
2021-06-12 12:14:19 -06:00
Michael Miller
02a4b2946e
Display failed expectations and error if an example had both 2021-06-12 12:10:44 -06:00
Michael Miller
621ddb466f
Support output of multiple failed expectations 2021-06-12 11:59:57 -06:00
Michael Miller
88f0c23a3e
Add support for sub-index in result blocks 2021-06-12 11:40:21 -06:00
Michael Miller
dcdb87e31a
Output match data to XML 2021-06-12 11:24:21 -06:00
Michael Miller
ba3a03736e
Show match data in failure block 2021-06-12 11:08:46 -06:00
Michael Miller
a5ed5d0fb1
Pass exception failure message to error 2021-06-12 10:33:28 -06:00
Michael Miller
2407c43132
Only show "Not yet implemented" for missing test block 2021-06-12 09:53:42 -06:00
Michael Miller
bfbeaf7454
Default reason for missing example block "Not yet implemented" 2021-06-11 21:16:46 -06:00
Michael Miller
6f4cc12dfd
Mark example pending if block is omitted 2021-06-11 21:03:46 -06:00
Michael Miller
117ed90185
Fix DSL usage of tags
Ensure parent tags don't get modified by duplicating the hash.
Force tag value to string.
2021-06-11 20:22:08 -06:00
Michael Miller
dcdc64e134
Specify skip reason 2021-06-11 19:30:23 -06:00
Michael Miller
a061bd2044
Check pending, skip, and reason tags for reason 2021-06-11 19:29:29 -06:00
Michael Miller
12cba23fa3
Treat skip tag as pending 2021-06-11 19:03:16 -06:00