Commit graph

1673 commits

Author SHA1 Message Date
Michael Miller
543df88d39
Forward build method 2020-09-26 22:25:04 -06:00
Michael Miller
4567162459
Prevent defining an example or group in a test 2020-09-26 19:23:57 -06:00
Michael Miller
99a9d7960a
Formatting 2020-09-26 19:23:16 -06:00
Michael Miller
60795a371d
Reorganize 2020-09-26 19:15:34 -06:00
Michael Miller
b8ba38152e
Cleanup example description handling 2020-09-26 19:14:08 -06:00
Michael Miller
1d359efcb0
Improve source line detection 2020-09-26 19:12:42 -06:00
Michael Miller
1ad41ac016
Cleanup group description handling 2020-09-26 19:11:52 -06:00
Michael Miller
cccfa8ea1d
Formalize Spectator debug 2020-09-26 18:23:48 -06:00
Michael Miller
f4a05502f9
Example names can't be a symbol 2020-09-26 18:14:59 -06:00
Michael Miller
96a7989815
Remove unreferenced code 2020-09-26 18:14:41 -06:00
Michael Miller
acb3b16496
Add some docs 2020-09-26 18:14:22 -06:00
Michael Miller
de99fce5b1
Merge branch 'master' into example-api 2020-09-26 11:10:55 -06:00
Michael Miller
a4680f2584
Don't splat values for failed match data
This caused an issue where keys with the same name as existing arguments 
couldn't be used.
In this case, "description" and "failure_message".

Fixes https://github.com/icy-arctic-fox/spectator/issues/13
2020-09-26 10:50:18 -06:00
Michael Miller
6363436afa
Nested macros for defining DSL keywords 2020-09-25 21:44:17 -06:00
Michael Miller
a0af1e7cd1
Allow string interpolation in some macros
Enables interpolation in example and group descriptions, as well as 
anonymous doubles.
Addresses https://github.com/icy-arctic-fox/spectator/issues/10
2020-09-17 09:35:49 -06:00
Michael Miller
9103bfde0f
Playing around with line numbers
Trying to find some pattern in the line descripancies reported to the 
macros compared to the source file.
2020-09-14 20:00:17 -06:00
Michael Miller
bc602d9b62
Working example creation from DSL 2020-09-14 13:55:07 -06:00
Michael Miller
7c44cba667
Fix group creation via DSL 2020-09-12 18:40:56 -06:00
Michael Miller
dad669686c
Temporarily disable running examples 2020-09-12 18:40:36 -06:00
Michael Miller
67ac06e4d6
Some initial spec builder code 2020-09-12 18:37:14 -06:00
Michael Miller
0190cc7260
Fix leading whitespace with root group 2020-09-12 18:35:31 -06:00
Michael Miller
98f886d9d4
Implement finished? method 2020-09-12 16:02:11 -06:00
Michael Miller
3133717323
Change NestedExampleGroup to ExampleGroup 2020-09-12 16:01:52 -06:00
Michael Miller
225c358cb8
Some initial work on cleaned up groups 2020-09-12 16:01:29 -06:00
Michael Miller
1d32946760
Note about docs in macros 2020-09-12 15:59:45 -06:00
Michael Miller
b271028c1e
Remove most includes for now 2020-09-12 15:59:20 -06:00
Michael Miller
e455708467
Add missing require statements 2020-09-12 15:58:54 -06:00
Michael Miller
6e3ec79a14
Remove SpecBuilder types 2020-09-12 15:58:07 -06:00
Michael Miller
a08c87dd5d
Remove workaround
https://github.com/icy-arctic-fox/spectator/issues/1 should be resolved 
by https://github.com/crystal-lang/crystal/pull/8234
2020-09-12 15:28:55 -06:00
Michael Miller
b866bc7e08
Create example context variants 2020-09-06 10:31:23 -06:00
Michael Miller
3f7e0d7882
Add missing require statement 2020-09-05 19:55:46 -06:00
Michael Miller
3a5dd76324
Remove ExampleBase
Pending/skip functionality will be merged into Example or extend from 
it.
2020-09-05 19:54:55 -06:00
Michael Miller
fbf574b0b9
Create ExampleGroup and use shared ExampleNode type 2020-09-05 16:47:40 -06:00
Michael Miller
0f9c1ad09c
Add require for json 2020-09-05 16:36:12 -06:00
Michael Miller
4debebb8f0
Formatting 2020-09-05 15:55:28 -06:00
Michael Miller
55900ebecd
Initial rework of example type structure 2020-09-05 15:01:22 -06:00
Michael Miller
9c6502234b
Define test context types 2020-09-05 14:55:49 -06:00
Michael Miller
53c9dd0445
Display first line only after "Error:" 2020-08-16 10:00:04 -06:00
Michael Miller
8f0718db86
Handle splat in macro for matcher DSL
Should fix https://github.com/icy-arctic-fox/spectator/issues/8
2020-08-11 14:37:37 -06:00
Michael Miller
9c14c69bba
Change "ditto" to ":ditto:" 2020-08-06 19:20:18 -06:00
Michael Miller
4e50108fb9
Use smaller range for default random seed
RSpec seems to use a smaller range, something like 65k (UInt16).
2020-07-27 13:39:57 -06:00
Michael Miller
e5ed6418db
Only include seed if report if randomized 2020-07-27 13:37:41 -06:00
Michael Miller
e168b0ac7a
Blank line before seed output 2020-07-27 13:32:49 -06:00
Michael Miller
8fc2c93960
Track seed used when just -r is provided 2020-07-27 13:32:39 -06:00
Michael Miller
ba29c1e032
Show random seed
Only works when a seed specified, not when a random seed is used.
2020-07-27 12:10:39 -06:00
Michael Miller
7aa8cb14a4
Force seed to UInt64 2020-07-27 10:37:08 -06:00
Michael Miller
a8e2e5c021
Store random seed 2020-07-27 10:36:53 -06:00
Michael Miller
7fc25b84c3 Fix bug when using multiple short-hand block expects in one test
For instance, this would fail:
```
it "does something" do
  expect(&.foo).to be_true
  expect(&.false).to be_false
end
```
2020-05-29 20:06:37 -06:00
Michael Miller
476e54bb2b Store expected value as array
Fixes issue where contain_exactly matcher would try to append to a tuple 
(which isn't allowed).
2020-05-28 22:23:29 -06:00
Michael Miller
c99401f7d5 Use ± symbol for range 2020-05-09 16:10:16 -06:00