Commit graph

215 commits

Author SHA1 Message Date
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
Michael Miller
1507a447c8 Update specs to use new source arguments
Used `new_partial` where the underlying partial didn't matter for the
test.
2019-02-14 17:04:59 -07:00
Michael Miller
36c98db0ae Update spec helpers to have source information 2019-02-14 15:41:59 -07:00
Michael Miller
f19b33d7a2 Add spec for Report and fix some bugs 2019-02-14 14:25:46 -07:00
Michael Miller
6151912fa6 Add spec for test suite 2019-02-12 22:33:48 -07:00
Michael Miller
493e30acee Remove elapsed time from pending results 2019-02-12 16:36:06 -07:00
Michael Miller
577877e067 Add spec for runner
Added a spy for detecting when formatter methods are called.
2019-02-12 16:10:14 -07:00
Michael Miller
50bc1af816 Method for creating groups of spy examples 2019-02-12 13:45:19 -07:00
Michael Miller
1f2f7f2214 Add spec for have_value matcher 2019-02-05 19:37:41 -07:00
Michael Miller
da9e653a89 Add spec for have_key matcher 2019-02-05 19:26:46 -07:00
Michael Miller
8a09ddac04 Add spec for predicate matcher 2019-02-05 10:36:59 -07:00
Michael Miller
5da222d7a0 Whitespace 2019-02-04 16:27:40 -07:00
Michael Miller
71427e4f6b Use spy to test that matchers use === operator 2019-02-04 16:26:53 -07:00
Michael Miller
e42e5b30bb Fix test 2019-02-04 16:20:35 -07:00
Michael Miller
75c4bcad54 Add spec for have_attributes matcher 2019-02-04 16:19:39 -07:00
Michael Miller
ade4af0153 Add tests for multiple arguments 2019-02-01 20:44:25 -07:00
Michael Miller
239779135f Fix have matcher tests for multiple arguments 2019-02-01 20:29:13 -07:00
Michael Miller
4043a76a07 Add tests for multiple arguments 2019-02-01 19:56:46 -07:00
Michael Miller
acea12cafb Fix contain matcher tests for multiple arguments 2019-02-01 19:45:30 -07:00
Michael Miller
196b4d97a5 Add spec for have matcher 2019-02-01 16:43:18 -07:00
Michael Miller
2a91191a6b Add spec for contain matcher 2019-01-31 23:12:48 -07:00
Michael Miller
5f9c0385ad Check for mentions of first and last 2019-01-31 22:13:50 -07:00
Michael Miller
a91758b3f3 Add spec for end_with matcher 2019-01-31 22:11:38 -07:00
Michael Miller
e6e4f28a4c Add spec for start_with matcher 2019-01-31 19:36:35 -07:00
Michael Miller
3731b6d785 Remove BlockExpectation 2019-01-31 13:32:34 -07:00
Michael Miller
ff4e148509 Rename ValueExpectation to Expectation in tests 2019-01-31 13:30:09 -07:00
Michael Miller
2863ae7dfe Add spec for block expectation and partial 2019-01-28 16:03:33 -07:00
Michael Miller
651127f2d4 Add spec for empty matcher
Mark question matchers as done (for now).
More may be added later if they're common.
2019-01-26 17:09:24 -07:00
Michael Miller
aa94ec0e33 Sub-types should be not match 2019-01-26 16:44:46 -07:00
Michael Miller
3bfaa07d4f Add spec for nil matcher 2019-01-26 16:41:21 -07:00
Michael Miller
c3d7aef7a9 Add a couple of type tests 2019-01-26 16:34:58 -07:00
Michael Miller
12864492b7 Add spec for range modifier methods 2019-01-25 13:52:41 -07:00
Michael Miller
ac08806010 Add spec for RangeMatcher 2019-01-25 13:12:34 -07:00
Michael Miller
6a91b3e399 Formatting 2019-01-25 11:09:11 -07:00
Michael Miller
e33ce5c182 Implement remaining pending tests 2019-01-25 11:08:57 -07:00
Michael Miller
6665e4d396 Implement some pending tests 2019-01-24 22:36:05 -07:00
Michael Miller
cbb4c18668 Formatting 2019-01-23 23:16:18 -07:00
Michael Miller
a869d4f23f More pending tests to implement 2019-01-23 23:14:34 -07:00
Michael Miller
f0a972ed06 Start on some condition tests 2019-01-23 23:01:16 -07:00
Michael Miller
c31557e8ff Move everything in BeComparison to TruthyMatcher
This is to match RSpec's ability to use "be" by itself.
For instance: `expect(foo).to be`
2019-01-23 22:10:03 -07:00
Michael Miller
2758ba7643 Add spec for BeComparison 2019-01-23 21:36:52 -07:00
Michael Miller
f09aaf59e6 Formatting 2019-01-23 21:11:01 -07:00
Michael Miller
06ee53a7b6 Add spec for GreaterThanEqualMatcher 2019-01-23 21:10:17 -07:00
Michael Miller
e3d9b55ae7 Add spec for GreaterThanMatcher 2019-01-23 21:08:52 -07:00
Michael Miller
99991de2da Add spec for LessThanEqualMatcher 2019-01-23 21:05:50 -07:00
Michael Miller
06bb969061 Add spec for LessThanMatcher 2019-01-23 21:03:44 -07:00
Michael Miller
d86b9dad11 Add spec for InequalityMatcher 2019-01-23 21:02:44 -07:00
Michael Miller
73c4334246 Use macros to create methods for all watched operators 2019-01-23 21:02:32 -07:00
Michael Miller
95b0563f73 Add spec for TruthyMatcher 2019-01-23 16:06:18 -07:00
Michael Miller
41729217bb Add tests for pre- and post-conditions in groups 2019-01-23 15:12:09 -07:00
Michael Miller
37c45eb285 Shorten pre and post usage 2019-01-23 14:46:15 -07:00
Michael Miller
a32b511e0b Add spec for match (regex) matcher 2019-01-19 14:49:13 -07:00
Michael Miller
19da933c2f Add spec for be_a matcher 2019-01-19 14:29:07 -07:00
Michael Miller
f2569ea3a0 Add spec for be matcher 2019-01-19 13:50:57 -07:00