Commit graph

1187 commits

Author SHA1 Message Date
Michael Miller
e093ec788e
Clean up tags method generation by moving it to another macro 2021-01-30 14:08:42 -07:00
Michael Miller
803a09464d
Initial work to pass along pre-set tags
Define pending examples and groups using this method.
2021-01-30 12:32:13 -07:00
Michael Miller
de779fdf61
Remove unecessary type name 2021-01-30 12:26:29 -07:00
Michael Miller
fdc2a71dd5
Formatting 2021-01-30 12:07:45 -07:00
Michael Miller
c5246e1cd3
Promote Tags to the Spectator namespace 2021-01-30 12:07:23 -07:00
Michael Miller
db877da984
Change tags to symbols 2021-01-30 12:03:38 -07:00
Michael Miller
5166cd7778
Fix case with no tags and some metadata
Simplify tag set construction code.
2021-01-30 12:01:49 -07:00
Michael Miller
467f0d3ad4
Pass along tags 2021-01-30 11:34:01 -07:00
Michael Miller
e77d6f0a4f
Change groups from metadata to tags 2021-01-30 11:21:49 -07:00
Michael Miller
71a497b148
Move tags to node level 2021-01-30 11:20:20 -07:00
Michael Miller
8cf498c9e9
Switch to using tags instead of metadata 2021-01-30 11:13:30 -07:00
Michael Miller
11cb16fb3a
Add missing call to super 2021-01-30 10:14:09 -07:00
Michael Miller
a56b1e0eb1
Somewhat functional metadata unwrap 2021-01-30 01:16:26 -07:00
Michael Miller
466a388558
Initial code for example metadata 2021-01-30 00:40:59 -07:00
Michael Miller
5cccf5b4cb
Support example as block argument to let and subject
Surprisingly, RSpec supports this.
https://relishapp.com/rspec/rspec-core/v/3-10/docs/metadata/current-example
2021-01-22 23:00:17 -07:00
Michael Miller
76378c9dae
Whitespace 2021-01-21 21:05:12 -07:00
Michael Miller
a8840351d5
More work hooking up expectations 2021-01-21 00:03:57 -07:00
Michael Miller
b7ed4ec14c
Nest spec types 2021-01-21 00:03:39 -07:00
Michael Miller
ce6f77656a
Use ExpectationFailed instead of AssertionFailed 2021-01-20 21:38:34 -07:00
Michael Miller
98a29309ff
Remove assert methods 2021-01-20 21:36:18 -07:00
Michael Miller
f97e5365e3
Merge branch 'example-api' of gitlab.com:arctic-fox/spectator into example-api 2021-01-16 18:05:48 -07:00
Michael Miller
73dc7ae811
Fix copy/paste docs 2021-01-16 17:16:31 -07:00
Michael Miller
a7ac170153
Remove unused methods 2021-01-16 17:07:07 -07:00
Michael Miller
57c9333c1f
Match hook ordering of RSpec
Addresses https://github.com/icy-arctic-fox/spectator/issues/12
2021-01-16 17:04:42 -07:00
Michael Miller
cd519178ac
Remove whitespace 2021-01-16 16:52:41 -07:00
Michael Miller
13061cfb38
Workaround context scope not used in method delegation 2021-01-16 16:52:16 -07:00
Michael Miller
153933b044
Add DSL and code to create around_each hooks 2021-01-16 16:47:40 -07:00
Michael Miller
36c2a5d368
Logic for around_each hooks 2021-01-16 16:28:33 -07:00
Michael Miller
5ea83f51bb
Cache implicit subject 2021-01-16 12:10:52 -07:00
Michael Miller
d738494fdf
Cleanup example name output 2021-01-16 11:49:43 -07:00
Michael Miller
3527507639
Remove debug 2021-01-16 11:13:20 -07:00
Michael Miller
3ec267abbb
Fix reporting for should syntax 2021-01-16 11:12:41 -07:00
Michael Miller
97923d6bcd
Handle nil labels 2021-01-16 11:11:42 -07:00
Michael Miller
0992bad7eb
Get harness compiling again 2021-01-16 11:03:05 -07:00
Michael Miller
175ce8f293
Include matchers DSL 2021-01-16 11:02:49 -07:00
Michael Miller
4500ebcddc
Update old references to Value and Block 2021-01-16 11:02:29 -07:00
Michael Miller
58e7981b0c
Fix type warning 2021-01-16 11:00:54 -07:00
Michael Miller
e09f5c960a
Change Assertions to Expectations
Start expectation rework.
2021-01-16 10:22:23 -07:00
Michael Miller
50d1f69230
Don't cache the block return value
Let the matcher handle this if it needs to.
2021-01-15 23:15:07 -07:00
Michael Miller
a74957204b
Introduce abstract generic value type
Sits between AbstractExpression and Value and Block.
2021-01-15 22:32:02 -07:00
Michael Miller
4ed8c4a573
Implement remaining assertion macros
Move "should" methods.
2021-01-10 11:09:28 -07:00
Michael Miller
096c31d7f5
Initial work on assertions 2021-01-09 19:50:32 -07:00
Michael Miller
122395837f
Implement remaining value DSL macros 2021-01-09 17:36:50 -07:00
Michael Miller
391325d431
Initial work on values DSL 2021-01-09 17:01:33 -07:00
Michael Miller
4108a6602d
Simplify get method 2021-01-09 16:57:23 -07:00
Michael Miller
3e4b77da77
Create value wrapper 2021-01-09 16:51:37 -07:00
Michael Miller
aa4c257ade
Change Wrapper to a nested type for Lazy 2021-01-09 14:35:58 -07:00
Michael Miller
5cac4aa5a1
Add lazy utility 2021-01-09 14:19:40 -07:00
Michael Miller
fb0423ed02
Move top-level types into spectator/ sub-directory 2021-01-09 13:56:32 -07:00
Michael Miller
7451769a29
Pass current example as block argument 2021-01-09 13:34:15 -07:00
Michael Miller
009ca4776a
Cleanup new DSL macros 2021-01-09 13:17:42 -07:00
Michael Miller
fbd9713d52
Remove unused and deprecated types 2021-01-09 12:56:35 -07:00
Michael Miller
2e8036d230
Move instance variable 2021-01-09 12:48:53 -07:00
Michael Miller
65dba9f317
Don't need delegates stored in hooks
Use proc instead. The context can be retrieved from the example 
instance.
2021-01-09 12:04:27 -07:00
Michael Miller
c4289b82da
Better trace message for initial hook processing 2021-01-09 11:33:29 -07:00
Michael Miller
df096d91aa
Capture source info for hooks 2021-01-09 11:30:00 -07:00
Michael Miller
def66acc15
Trace hook invocation 2021-01-09 11:14:27 -07:00
Michael Miller
e5cbc8d631
Promote hooks to fully-fledge types
Hook types include a source, label, and context delegate.
2021-01-09 11:06:59 -07:00
Michael Miller
cf422eca02
Add null constructor 2021-01-09 10:56:33 -07:00
Michael Miller
7d0ba752e9
Change ExampleNode to SpecNode 2021-01-09 10:39:04 -07:00
Michael Miller
0ee708281f
Cleanup hook macros 2021-01-09 10:27:54 -07:00
Michael Miller
950f6b3424
Add block expression 2021-01-09 00:13:22 -07:00
Michael Miller
fbe9f22e02
Start rework on capturing expressions 2021-01-09 00:12:28 -07:00
Michael Miller
2ecd4ded6d
Fix line numbers being wrong with macro expansion
Addresses https://github.com/icy-arctic-fox/spectator/issues/18
2021-01-08 15:32:15 -07:00
Michael Miller
b697511761
Slight doc improvement 2020-12-31 18:45:56 -07:00
Michael Miller
4c6b6e6436
Merge branch 'master' into example-api 2020-12-23 14:52:53 -07:00
Michael Miller
891cd4bbf7
Change includes to has 2020-12-23 14:39:24 -07:00
Michael Miller
20caed9262
Add contain matcher improvements to have matcher 2020-12-23 14:38:30 -07:00
Michael Miller
edf8ae36df
Fix negated contain case 2020-12-23 14:19:40 -07:00
Michael Miller
a2ef0fa46a
Consistent comments 2020-12-23 14:17:05 -07:00
Michael Miller
de1af7178c
Fix string usage with contain matcher 2020-12-23 14:11:50 -07:00
Michael Miller
875ca587f3
Show missing values in error output 2020-12-23 13:44:12 -07:00
Michael Miller
f465df48d4
Fix copy/paste fail docs 2020-12-23 13:18:36 -07:00
Michael Miller
5ec7e25d57
Remove splat 2020-12-23 12:54:44 -07:00
Michael Miller
0540f94823
Add contain_elements and have_elements variants 2020-12-23 12:38:37 -07:00
Michael Miller
4533cffce7
Initial code to run hooks 2020-11-15 11:25:07 -07:00
Michael Miller
2f4cbd9c33
Specify contents of event trigger method with macro block
Implement calling parent group hooks.
2020-11-15 11:22:52 -07:00
Michael Miller
0279606a1c
Placeholder code for after hooks 2020-11-15 11:22:06 -07:00
Michael Miller
19d57dd828
Add call_once variant of events 2020-11-14 17:02:24 -07:00
Michael Miller
b4e74444d1
Some work on hooks in DSL 2020-11-08 22:21:52 -07:00
Michael Miller
7d54884196
Don't pass context, get/cast from example instance 2020-11-08 16:53:54 -07:00
Michael Miller
b8dc83286c
Upcast context to reduce method instances generated by compiler 2020-11-08 16:52:08 -07:00
Michael Miller
f433405ece
Scratch work
Trying to implement hooks. Ran into a problem with contexts.
2020-11-08 15:06:49 -07:00
Michael Miller
688c08b087
Initial work on hooks rework 2020-11-07 22:04:37 -07:00
Michael Miller
1f319a70ce
Add docs 2020-11-07 22:04:21 -07:00
Michael Miller
4230ec70a0
Move test handling code to Harness 2020-11-07 20:56:30 -07:00
Michael Miller
dba2e23750
Typo 2020-11-07 15:24:22 -07:00
Michael Miller
f7fe177685
Minor adjustments 2020-11-07 15:01:08 -07:00
Michael Miller
8ae6ef478b
Dynamic examples with null context 2020-11-07 14:43:59 -07:00
Michael Miller
40dd85eb38
Bit of naming cleanup 2020-11-07 13:47:39 -07:00
Michael Miller
347e1a84e5
Dedicated example runner type 2020-11-07 13:47:31 -07:00
Michael Miller
b8901d485d
Merge branch 'master' into example-api 2020-11-07 11:18:47 -07:00
Michael Miller
b91103b40a
Handle case where block is provided with return type 2020-11-07 11:04:03 -07:00
Michael Miller
8966c0976b
Allow manual specification of return type 2020-11-07 10:56:33 -07:00
Michael Miller
e8afe5070b
Address Ameba issues 2020-10-19 20:34:18 -06:00
Michael Miller
a0e6d5c4e8
Re-introduce config options 2020-10-19 20:19:25 -06:00
Michael Miller
c36e006c85
Move top-level DSL to its own module 2020-10-17 22:57:27 -06:00
Michael Miller
87c8914187
Typo 2020-10-17 22:12:47 -06:00
Michael Miller
e4f3d334ed
Consistent naming of random seed 2020-10-17 22:12:02 -06:00
Michael Miller
225e1a52ba
Clean up example randomization 2020-10-17 22:11:04 -06:00