Commit graph

1926 commits

Author SHA1 Message Date
Michael Miller
94d5c96e7d
Implement an example filter that supports matching groups
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/25 and 
https://github.com/icy-arctic-fox/spectator/issues/24
2021-08-17 14:09:37 -06:00
Michael Miller
65799fdd3b
Pass along end line 2021-08-17 13:49:58 -06:00
Michael Miller
67b4c0589b
Implement NodeIterator 2021-08-17 12:55:49 -06:00
Michael Miller
cf7d67c972
Simplify ExampleIterator and remove unecessary allocations 2021-08-17 12:55:22 -06:00
Michael Miller
837e4cb85d
Implement Indexable(Node) on ExampleGroup 2021-08-17 12:54:36 -06:00
Michael Miller
4e5a52215a
Simplify 2021-08-16 20:27:27 -06:00
Michael Miller
3803d4582c
Use Iterable(Node) instead of ExampleGroup 2021-08-16 20:27:21 -06:00
Michael Miller
aa81f1d948
Change ExampleFilter to a NodeFilter
Node filters may operate on example groups as well as examples.
2021-08-08 12:13:59 -06:00
Michael Miller
0f7a9ed9e8
Remove append and prepend variants of hook definition methods
RSpec defines these as applying to a scope (example, context, suite) as 
opposed to example group.
Mimicing this is currently not possible in Spectator and would require a 
substantial restructure of how hooks are handled.
This may be implemented in the future.
2021-08-08 11:50:30 -06:00
Michael Miller
91d21b38e2
Lazily initialize global DSL spec builder
Require config to create a spec builder.
Config should be fully set up before any DSL is encountered.
2021-08-08 11:25:06 -06:00
Michael Miller
605b82c532
Add prepend and append variants of hooks to DSL 2021-08-08 10:51:39 -06:00
Michael Miller
841efc236d
Fix flipped append/prepend of "after" hooks 2021-08-08 10:27:34 -06:00
Michael Miller
b9f0a31a4a
Overhaul hooks
Mostly cleanup and make managing hooks simpler, hopefully.
Tests indicate this configuration matches hook execution order of RSpec.
2021-08-07 21:45:49 -06:00
Michael Miller
10b652f4b5
Remove unique/temp names 2021-07-31 19:11:51 -06:00
Michael Miller
3dc3b88dbe
Add "after" hooks in reverse order to match RSpec 2021-07-31 15:48:54 -06:00
Michael Miller
edcb5118e6
Show pending count only if there are pending examples 2021-07-31 15:02:21 -06:00
Michael Miller
abe78410c4
Formatting 2021-07-31 14:18:59 -06:00
Michael Miller
868aa1d00a
Support custom handling of hooks 2021-07-31 14:16:39 -06:00
Michael Miller
f53ffabf6b
Support label for aggregate_failures block 2021-07-31 12:04:43 -06:00
Michael Miller
4c125d98d4
Implement aggregate_failures 2021-07-31 11:56:53 -06:00
Michael Miller
9a97596b84
Allow named arguments in provided block 2021-07-31 10:15:16 -06:00
Michael Miller
ef1832721c
Remove unecessary branch 2021-07-20 18:29:26 -06:00
Michael Miller
e8413db33f
Support custom messages for failed expectations
Fixes https://gitlab.com/arctic-fox/spectator/-/issues/28
2021-07-17 17:42:25 -06:00
Michael Miller
0c4379c731
Formatting 2021-07-17 16:55:43 -06:00
Michael Miller
2b37d34f26
Reference issues 2021-07-17 16:55:27 -06:00
Michael Miller
e60cc2a447
Phrasing 2021-07-17 16:41:49 -06:00
Michael Miller
eda4328a92
Blank line after stack trace 2021-07-17 16:35:35 -06:00
Michael Miller
52a0ae938a
Consistency with location and location? 2021-07-17 16:34:15 -06:00
Michael Miller
e316dd8a11
Fix missing example location in output 2021-07-17 16:27:38 -06:00
Michael Miller
6c6dff363b
Track source location of pending result 2021-07-17 16:25:32 -06:00
Michael Miller
7cb1545e83
Don't use failure location in failed example block output
This is problematic, since the failure could have ocurred outside the 
example block (in a method call).
The comment line under the failure details will still point to the 
result location, if it's available.
2021-07-17 16:15:11 -06:00
Michael Miller
81f1966417
Use location instead of source 2021-07-17 16:12:10 -06:00
Michael Miller
7e2b267e93
Use failure location in output if available
Fixes https://gitlab.com/arctic-fox/spectator/-/issues/57
2021-07-17 16:04:19 -06:00
Michael Miller
9c7f39ba45
Update references to existing issues 2021-07-17 16:03:01 -06:00
Michael Miller
f75991f34c
Formatting 2021-07-17 15:21:15 -06:00
Michael Miller
937b084f66
Support defining hooks in configuration block 2021-07-17 15:20:58 -06:00
Michael Miller
009266c8c2
Fix naming of hook methods when using a block 2021-07-17 14:32:55 -06:00
Michael Miller
a810eef16c
Add before_suite and after_suite 2021-07-17 14:19:16 -06:00
Michael Miller
af13a89257
Pass along fallback reason 2021-07-17 14:04:17 -06:00
Michael Miller
1b53607f8e
Cleanup and add docs 2021-07-17 14:01:27 -06:00
Michael Miller
571bc7d8a5
Reuse iterative example group macro code
Add support for x prefix to skip sample and random_sample groups.
2021-07-17 13:25:38 -06:00
Michael Miller
e506c6b981
Implement random_sample 2021-07-17 13:05:03 -06:00
Michael Miller
9d72d26630
Handle sample count 2021-07-17 12:49:11 -06:00
Michael Miller
76a23131cb
More checks for missing block in DSL
Improved some error messages.
2021-07-17 12:36:21 -06:00
Michael Miller
640857bef2
Pretty up iterative group names 2021-07-17 12:15:41 -06:00
Michael Miller
d8e9d3128a
Fetch iteration item from group 2021-07-17 12:07:04 -06:00
Michael Miller
c79cb62a61
Quick implementation of iterative group builder 2021-07-17 12:06:53 -06:00
Michael Miller
c24c2cb5e1
Quick implementation of node builders 2021-07-17 11:10:44 -06:00
Michael Miller
c7a90b3e64
Shorten names and cleanup 2021-07-17 10:47:16 -06:00
Michael Miller
6c55301d0b
Merge remote-tracking branch 'origin/master' into release/0.10 2021-07-11 00:16:25 -06:00