Commit graph

268 commits

Author SHA1 Message Date
Michael Miller
7f8d9d5ef3 Add comparison tests from RSpec docs 2020-01-02 20:00:51 -07:00
Michael Miller
9f91e3a266 Add tests for equality matcher 2020-01-01 21:58:37 -07:00
Michael Miller
0a6493964d Allow auto-run of Spectator
Needed to test Spectator with itself.
2020-01-01 21:50:08 -07:00
Michael Miller
2c400950a4 Remove specs since they're mostly invalidated by the refactor 2019-09-26 20:52:26 -06:00
Michael Miller
43dc106c18 Add return type annotations
Addresses Crystal compiler warning about abstract method return types.
2019-09-23 20:32:21 -06:00
Michael Miller
adbfb7da7c Use integer division - Crystal 0.31.0 change 2019-09-23 19:38:15 -06:00
Michael Miller
cede88bf0c Update spec with new arguments 2019-08-17 08:24:06 -06:00
Michael Miller
a54e406fec Clean up expectation specs
Removed tests that are no longer valid or non-trivial to update.
2019-08-09 15:32:22 -06:00
Michael Miller
251e3b8774 Remove specs for matchers
Will replace with Spectator-based tests later.
2019-08-09 15:16:01 -06:00
Michael Miller
19d52ff02b Add unordered array matcher 2019-06-12 15:35:33 -06:00
Michael Miller
0eaf8efcc6 Fix copy/paste fail 2019-06-12 13:57:33 -06:00
Michael Miller
efde29c90e Add have_size_of matcher 2019-06-09 12:45:49 -06:00
Michael Miller
bb2b834662 Add have_size matcher 2019-06-09 12:44:46 -06:00
Michael Miller
0164d2973f Fix predicate tests and add new ones for have_ variant 2019-06-01 23:39:23 -06:00
Michael Miller
e234ac2f31 Test case to ensure runtime type is reported 2019-06-01 20:55:29 -06:00
Michael Miller
77307f6eb1 Split part of RangeMatcher off as CollectionMatcher
Use CollectionMatcher for `be_within`.
The `#of` method creates a RangeMatcher.
2019-05-16 18:20:08 -06:00
Michael Miller
f53bc26c28 Add ReferenceMatcher type 2019-05-08 16:59:36 -06:00
Michael Miller
7168b26218 Remove regex matcher - use case matcher 2019-05-08 16:39:00 -06:00
Michael Miller
00045ba9be Tests for nested groups and fail-fast 2019-04-22 20:27:54 -06:00
Michael Miller
1d530de5b1 Add tests for fail-fast and after hooks
Inspecting issue #2
2019-04-22 19:12:45 -06:00
Michael Miller
b305c829be Allow hooks and conditions to be passed to create 2019-04-22 18:22:12 -06:00
Michael Miller
3eb6a1d676 Remove unused block arguments 2019-04-06 17:20:12 -06:00
Michael Miller
53bfcc25ef Add Ameba and address code linting issues 2019-04-06 17:19:02 -06:00
Michael Miller
365bd1ec2f Fix failing tests 2019-04-06 12:48:41 -06:00
Michael Miller
2ea69d2355 Add spec for array matcher 2019-03-30 18:38:06 -06:00
Michael Miller
cd60fae157 Add respond_to matcher 2019-03-28 23:20:32 -06:00
Michael Miller
aabc25ad4f Change formatters to take nillable profile 2019-03-25 16:05:38 -06:00
Michael Miller
35b887f8f0 Add placeholders for profile functionality 2019-03-25 12:13:11 -06:00
Michael Miller
2ff9505766 Add filter to TestSuite 2019-03-25 11:35:39 -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
2f8b4761de Make Example comparable against names and sources
This will be needed for filtering examples.
2019-03-23 21:40:13 -06:00
Michael Miller
4f3ca20741 Parse source strings 2019-03-23 20:47:41 -06:00
Michael Miller
268db53bf8 Use more sensible label for non-labeled procs 2019-03-23 20:23:31 -06:00
Michael Miller
4890cafefa Ability to enumerate each result in report 2019-03-23 14:44:00 -06:00
Michael Miller
4d38bf3ab2 Add secondary initializer 2019-03-23 14:38:51 -06:00
Michael Miller
209ef92d3d Implement "fail-blank" into runner and report 2019-03-22 13:41:46 -06:00
Michael Miller
2b71400d9a Remove tests that had a prefixed actual value 2019-03-22 13:05:24 -06:00
Michael Miller
c156c55c72 Inspect the underlying value
This is needed because MatchDataValue is now a class instead of a 
struct.
2019-03-22 11:55:04 -06:00
Michael Miller
e7e1d0e084 Change how values are passed to helper
Working around a segfault (dunno why this fixes it).
2019-03-22 11:53:20 -06:00
Michael Miller
d705ef657c Update specs to handle new match data values 2019-03-22 11:41:39 -06:00
Michael Miller
3dd39f17f5 Fix Expectation spec 2019-03-22 11:07:56 -06:00
Michael Miller
33841e8888 Sub-type value modifier from MatchDataValue
This includes renaming the types.
2019-03-22 10:55:57 -06:00
Michael Miller
a31d5c8b5b Implement fail-fast in runner
Report tracks number of omitted tests due to abort.
2019-03-22 00:05:53 -06:00
Michael Miller
9e63c20df2 Add fail-fast to config 2019-03-21 23:40:00 -06:00
Michael Miller
f2558fd09e Add spec for ExceptionMatcher 2019-03-21 22:50:02 -06:00
Michael Miller
d0da584f5e Add tests for Color formatting module 2019-03-14 19:42:30 -06:00
Michael Miller
0ca0ba0a55 Fix tests to account for negation wrappers 2019-03-07 16:12:23 -07:00
Michael Miller
a9d1f1aabc Workaround for mashup of compile-time types 2019-03-06 18:40:57 -07:00
Michael Miller
018e3232cd Update RangeMatcher to use MatchData
There is a compilation error.
It appears that since the last Matcher#match method has been
implemented,
Crystal is finally grouping all of the NamedTuples together.
2019-03-06 15:01:00 -07:00
Michael Miller
fbee1d9461 Update RegexMatcher to use MatchData 2019-03-06 13:10:16 -07:00
Michael Miller
f29aba42d2 Update TruthyMatcher to use MatchData 2019-03-06 13:04:18 -07:00
Michael Miller
5fd1547ced Fix verbage around failure message 2019-03-06 12:01:32 -07:00
Michael Miller
6e62ccdfc5 Update TypeMatcher to use MatchData 2019-03-06 11:19:57 -07:00
Michael Miller
81e20b13ec Update PredicateMatcher to use MatchData 2019-03-06 11:05:13 -07:00
Michael Miller
6ab2aad532 Update HaveMatcher to use MatchData 2019-03-06 10:29:00 -07:00
Michael Miller
a78b80ed1f Update StartWithMatcher to use MatchData 2019-03-06 09:33:36 -07:00
Michael Miller
76d09a22ff Update HaveValueMatcher to use MatchData 2019-03-06 02:19:12 -07:00
Michael Miller
3f1d8751fe Update HaveKeyMatcher to use MatchData 2019-03-06 02:02:55 -07:00
Michael Miller
95b4a349da Update InequalityMatcher to use MatchData 2019-03-05 19:00:49 -07:00
Michael Miller
d35a739e60 Update LessThanMatcher to use MatchData 2019-03-05 16:53:15 -07:00
Michael Miller
f846408848 Update LessThanEqualMatcher to use MatchData 2019-03-05 16:37:51 -07:00
Michael Miller
36d3bd0a70 Update GreaterThanMatcher to use MatchData 2019-03-05 16:28:29 -07:00
Michael Miller
83d398465f Update GreaterThanEqualMatcher to use MatchData
Add PrefixedValue type to help convey values better (without string
concat).
2019-03-05 15:39:30 -07:00
Michael Miller
0288e1d6f8 Add tests for match data values 2019-03-05 14:00:14 -07:00
Michael Miller
7b0f607a6a Update EndWithMatcher to use MatchData 2019-03-04 20:16:21 -07:00
Michael Miller
1090a7f2f3 Fix botched copy/paste 2019-03-04 18:30:18 -07:00
Michael Miller
e7441df159 Update AttributesMatcher to use MatchData
This is a glorious mess.
2019-03-04 16:06:20 -07:00
Michael Miller
df663d30d9 Update EmptyMatcher to use MatchData 2019-03-03 20:21:39 -07:00
Michael Miller
be3218bcd8 Update ContainMatcher to use MatchData 2019-03-03 20:03:20 -07:00
Michael Miller
1db5341f4b Add tests for match data values 2019-03-03 19:31:39 -07:00
Michael Miller
e38bcd544a Update CaseMatcher to use MatchData 2019-03-03 19:05:20 -07:00
Michael Miller
50a782b803 Minor adjustments to equality matcher 2019-03-03 12:26:31 -07:00
Michael Miller
ec06daaf35 Test values returned by match data 2019-03-03 12:13:35 -07:00
Michael Miller
daf2f43f25 Rename module from Formatters to Formatting 2019-02-28 19:14:03 -07:00
Michael Miller
4e3290ebfe Initial code to get match data values to output
Expose the match data values through the Expectation class.
2019-02-28 16:35:50 -07:00
Michael Miller
6942e70024 Remove unnecessary type specification 2019-02-28 15:18:56 -07:00
Michael Miller
65dd6243dd Rename to match class name 2019-02-28 15:17:50 -07:00
Michael Miller
5ba03a90ff Swap label and expected value parameters
This matches the partial initializer parameters.
Also cleaned up some code in the Expectation spec.
2019-02-28 15:17:12 -07:00
Michael Miller
b4af87f903 Fix fallout from last commit in Expectation spec
All tests pass in this commit!
2019-02-28 13:52:01 -07:00
Michael Miller
e6ce54202d Remove Matcher methods moved to MatchData
Update spec for EqualityMatcher to reflect this.
2019-02-28 13:47:50 -07:00
Michael Miller
94cbb9860a Update NilMatcher to use MatchData and #match 2019-02-28 11:31:05 -07:00
Michael Miller
0dd66c8803 Update Expectation spec to use new parameters 2019-02-28 11:07:16 -07:00
Michael Miller
26187a0f31 Fix oddity with type being unresolvable 2019-02-27 22:20:57 -07:00
Michael Miller
c1f61d68bf Use MatchData 2019-02-26 20:29:04 -07:00
Michael Miller
e92b1dc466 Add #failed? method to Report 2019-02-22 15:09:55 -07:00
Michael Miller
919e2b96f6 Update specs for new Result#call functionality 2019-02-20 21:17:27 -07:00
Michael Miller
a015f30769 Add tests for Source#spec and update #to_s tests 2019-02-17 21:24:31 -07:00
Michael Miller
dc7d5fbe25 Lazy iterate over failures and errors
Return iterator from #failures and #errors methods in Report.
Update spec to reflect this.
2019-02-17 20:09:13 -07:00
Michael Miller
6cc3c5e20b Add tests for adding/omitting the space in #to_s 2019-02-17 17:03:57 -07:00
Michael Miller
fe083b0f74 Update specs to handle and test symbolic components 2019-02-17 16:39:23 -07:00
Michael Miller
6a8d447570 Add tests for Result#call implementations 2019-02-17 14:40:05 -07:00
Michael Miller
0b06e72f7e Simplify method chains by using #compact_map 2019-02-17 13:40:10 -07:00
Michael Miller
5722d18db9 Update or remove tests using result predicate methods 2019-02-17 13:35:24 -07:00
Michael Miller
ed01a95e67 Replace source file and line with source struct 2019-02-17 12:40:16 -07:00
Michael Miller
ffca0316a4 Add spec for source class 2019-02-17 12:32:15 -07:00
Michael Miller
7504536528 Remove conflicting duplicate #new_pending_result 2019-02-15 22:19:34 -07:00
Michael Miller
88c32b697b Add tests for source file and line 2019-02-14 19:35:42 -07:00