Commit graph

43 commits

Author SHA1 Message Date
Michael Miller
754bfd6939
Intercept most exit calls and raise instead 2022-07-12 23:02:20 -06:00
Michael Miller
b79dd4361e
Initial implementation of tag filtering 2021-08-17 20:52:06 -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
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
3e4079d408
Remove Spec namespace 2021-07-05 11:49:16 -06:00
Michael Miller
04d6c70f59
Cleaner distinction between metadata and tags 2021-06-12 16:45:45 -06:00
Michael Miller
72b2e7ebcb
Fix paths and references 2021-05-08 23:46:19 -06:00
Michael Miller
74b78b7ca8
Rename Source to Location 2021-02-12 22:46:22 -07:00
Michael Miller
9d139dfeed
Hack together result output 2021-01-30 19:42:46 -07:00
Michael Miller
b6335ab4bc
Update includes list 2021-01-30 17:40:03 -07:00
Michael Miller
fb0423ed02
Move top-level types into spectator/ sub-directory 2021-01-09 13:56:32 -07:00
Michael Miller
a0e6d5c4e8
Re-introduce config options 2020-10-19 20:19:25 -06:00
Michael Miller
67ac06e4d6
Some initial spec builder code 2020-09-12 18:37:14 -06:00
Michael Miller
b271028c1e
Remove most includes for now 2020-09-12 15:59:20 -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
c95e228bde Move mocks to their own module 2019-11-03 09:44:32 -07:00
Michael Miller
8c180e818f Merge remote-tracking branch 'origin/release/0.9' into mocks-and-doubles 2019-09-27 14:12:29 -06:00
Michael Miller
3c9846ae9b Remove reference to internals 2019-09-26 12:59:42 -06:00
Michael Miller
73cef75fcb Remove dummy example 2019-09-26 09:56:54 -06:00
Michael Miller
fafe5606e6 Rename DSL::Builder to SpecBuilder
Place all builders under SpecBuilder.
2019-09-13 14:10:25 -06:00
Michael Miller
3462bdea1a Some initial double code 2019-08-26 21:49:47 -06:00
Michael Miller
4abf97139b Experimenting with auto-mocking methods 2019-08-26 21:06:06 -06:00
Michael Miller
325af1f24e Workaround for Crystal issue
Fix for GitHub issue 1 - 
https://github.com/icy-arctic-fox/spectator/issues/1
Works around Crystal issue 7060 (6920) - 
https://github.com/crystal-lang/crystal/issues/7060

This should be reverted after it is fixed in the Crystal compiler.
2019-08-21 19:26:40 -06:00
Michael Miller
6dd4c4bc2f Add Profile class 2019-03-25 15:54:51 -06:00
Michael Miller
d1767ebb7a Add CompositeExampleFilter 2019-03-25 11:10:27 -06:00
Michael Miller
481319c097 Add NullExampleFilter 2019-03-25 10:58:49 -06:00
Michael Miller
a3c1892465 Move example filters from === to their own types 2019-03-25 10:51:50 -06:00
Michael Miller
8c66f8df34 Add ExampleFilter class 2019-03-23 22:03:49 -06:00
Michael Miller
daf2f43f25 Rename module from Formatters to Formatting 2019-02-28 19:14:03 -07:00
Michael Miller
dc66b184e2 Add source class 2019-02-17 12:25:23 -07:00
Michael Miller
eef1062775 Rename TestSuiteResults to Report 2019-02-11 13:50:57 -07:00
Michael Miller
38202ff605 Initial addition of pre- and post-conditions 2019-01-09 16:17:33 -07:00
Michael Miller
23368f6183 Structure for applying configuration 2018-12-13 13:50:59 -07:00
Michael Miller
c29748ede5 Restructuring how the test suite is driven 2018-12-12 11:48:08 -07:00
Michael Miller
4e0c821b8f Add FinishedResult intermediary class 2018-12-10 14:07:14 -07:00
Michael Miller
6c882f9cae Remove ExampleGroup#all_examples
Implement the same functionality with ExampleIterator.
2018-11-13 10:08:37 -07:00
Michael Miller
686304f31d Insert example failed exception 2018-10-19 20:58:14 -06:00
Michael Miller
df36331132 Workaround for Crystal compiler bug
See: https://github.com/crystal-lang/crystal/issues/4225
If there are no concrete implementations of a class, an "undefined
method" error is given for abstract methods.
2018-10-15 15:27:05 -06:00
Michael Miller
30a45a24d3 Restructure to use a composite design pattern
Examples and example groups now have a common ancestor.
2018-10-14 17:10:12 -06:00
Michael Miller
2070d7816b Root example group specialization 2018-10-14 14:28:05 -06:00
Michael Miller
3035273e9a Rework how expectations and matchers work together 2018-09-28 11:47:42 -06:00
Michael Miller
0d282d3d50 Wording - should-syntax instead of #should 2018-09-27 16:15:31 -06:00
Michael Miller
83a2a8e238 Manually include all sub-modules and top-level types
This is needed so that `spectator/should` is not included by default.
2018-09-27 15:49:34 -06:00