Commit Graph

585 Commits

Author SHA1 Message Date
Michael Miller 6307024af3 Colorize matcher values green and red 2019-03-03 10:26:03 -07:00
Michael Miller df71e56b3e Replace FailureMessage with LabeledText 2019-03-03 10:19:17 -07:00
Michael Miller 2c5da0c345 Move message line inside content
This allows for multiple message lines for multiple expectations.
2019-03-03 10:11:46 -07:00
Michael Miller 238dc38a36 Use Indent tracker type 2019-03-03 09:54:39 -07:00
Michael Miller 8cdc5f0b3f Fix indent and add empty line method 2019-03-03 09:54:09 -07:00
Michael Miller f73a51ae0c WIP display all expectations
Display the error stacktrace after expectations if the result is an 
ErroredResult.
2019-03-03 09:48:44 -07:00
Michael Miller 66c1dc3bce Create indentation guide type 2019-03-03 09:46:12 -07:00
Michael Miller e722cc4f1f Initial code for displaying errors 2019-02-28 22:16:33 -07:00
Michael Miller f37105af5e Add padding to pairs to right-align key 2019-02-28 20:14:03 -07:00
Michael Miller cc3392022e Move value enumeration to another type 2019-02-28 19:49:23 -07:00
Michael Miller 0fce18a610 Use inspect instead of to_s for values 2019-02-28 19:29:24 -07:00
Michael Miller daf2f43f25 Rename module from Formatters to Formatting 2019-02-28 19:14:03 -07:00
Michael Miller 80150f945b Change back to passing text as argument 2019-02-28 16:48:26 -07:00
Michael Miller 1610d6ebe3 Create a type to output a key-value pair 2019-02-28 16:46:50 -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 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