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
0a48b5f447
Use block with line method
2019-02-28 16:30:56 -07:00
Michael Miller
d5bef6f1da
Fix flipped expected and actual labels
...
NilMatcher output was correct, but variables were named incorrectly.
2019-02-28 16:08:22 -07:00
Michael Miller
1219b19d89
Support shorthand &.foo(ARGS) syntax
2019-02-28 15:40:04 -07:00
Michael Miller
619927b3e6
Forgot to swap label and expected in DSL
2019-02-28 15:22:14 -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
f3e50c6432
TruthyMatcher doesn't need to store a label
...
Extend from Matcher instead of ValueMatcher to bypass storing the label.
The "expected" value is still used, but is renamed to "truthy" and used
for the label.
2019-02-28 14:52:15 -07:00
Michael Miller
226708cb82
Abstract Matcher#label getter
...
There's no need to store a value for this.
Some matchers have a static label.
2019-02-28 14:48:46 -07:00
Michael Miller
8cc66b538f
Condense the ExpectedActual initializer
...
Made label and expected value public.
2019-02-28 14:41:30 -07:00
Michael Miller
4c7e8a3225
Condense expected and actual values and labels
...
Created a new struct specifically to store expected and actual valuesand
their user labels.
2019-02-28 14:05:31 -07:00
Michael Miller
520901332e
Remove dummy MatchData type
...
Also fix for undefined MatchData type in Matcher types.
2019-02-28 13:53:54 -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
b4502711cd
Add MatchData for EqualityMatcher
...
crystal spec runs, but fails for this commit.
2019-02-28 13:32:38 -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
b855599ce6
Workaround for strange compiler error
2019-02-28 10:53:03 -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
0bf106ab2e
Placeholders for #match method
2019-02-23 22:33:33 -07:00
Michael Miller
42d8eb6da3
Matched flag isn't needed (match data has it)
2019-02-23 22:26:49 -07:00
Michael Miller
1e1503331e
Initial change to MatchData
2019-02-23 21:52:10 -07:00
Michael Miller
87ca825845
Return 1 on failure
2019-02-22 16:54:36 -07:00
Michael Miller
487726ea54
Move failure command it's own type
2019-02-22 16:43:25 -07:00
Michael Miller
e92b1dc466
Add #failed? method to Report
2019-02-22 15:09:55 -07:00
Michael Miller
dbffad837d
Calculate each type of result once at initialization
2019-02-22 13:54:12 -07:00
Michael Miller
5c2747efc0
Move stats to their own types
2019-02-22 13:47:57 -07:00
Michael Miller
48a1e61949
Change FailueBlock to a private struct
2019-02-20 21:47:18 -07:00
Michael Miller
0ca300ba89
Move characters constant to sub-module
2019-02-20 21:38:23 -07:00
Michael Miller
e752f901a5
Move more failure block chunks to their own structs
2019-02-20 21:28:11 -07:00
Michael Miller
bef3243c6c
Remove unecessary result parameter
2019-02-20 21:22:42 -07:00
Michael Miller
919e2b96f6
Update specs for new Result#call functionality
2019-02-20 21:17:27 -07:00
Michael Miller
002c1d892b
Adjust how Result#call works
2019-02-20 21:00:22 -07:00
Michael Miller
8f85a6436f
Rewrite to use indentation methods
2019-02-20 20:09:23 -07:00
Michael Miller
1cd0f0249e
Create struct for colorized comment
2019-02-19 19:56:07 -07:00
Michael Miller
4126ee3451
Some work on FailureBlock
2019-02-17 23:15:58 -07:00
Michael Miller
f2c17189fc
Adjust (mostly remove) explicit return types
2019-02-17 23:12:16 -07:00
Michael Miller
b646b8bec5
Remove unused ExampleStatus enum
2019-02-17 23:09:23 -07:00
Michael Miller
eaf1d19feb
Move the expectations attribute up to FinishedResult
2019-02-17 23:03:43 -07:00
Michael Miller
847cc662bd
Update docs
...
Mostly fixes around symbols for syntax.
Added some missing docs and updated incorrect or vague ones.
2019-02-17 23:01:43 -07:00
Michael Miller
9c16a5a53e
Move characters to a named tuple
2019-02-17 21:35:17 -07:00
Michael Miller
bd500b0799
Move color constants to a private named tuple
2019-02-17 21:32:42 -07:00
Michael Miller
1a998b6cb6
Add comment color
2019-02-17 21:30:41 -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
2c7cd9b728
Add #path method
...
Update #to_s to use relative path if possible.
2019-02-17 21:23:57 -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
32a049d973
Colorize must be explicitly dragged in
2019-02-17 20:05:32 -07:00
Michael Miller
6601f5f9ee
Remove DefaultFormatter
...
The default formatter is now DotsFormatter.
2019-02-17 17:39:04 -07:00