Commit Graph

547 Commits

Author SHA1 Message Date
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
Michael Miller ace31973bc Whitespace 2019-02-17 17:05:59 -07:00
Michael Miller 1885ab0aa0 Fix leading space when group isn't symbolic 2019-02-17 17:05:10 -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 f6a4e6f558 Remove space in #to_s between symbolic items
This makes example names look more like documentation by changing names 
like "Array #size is zero" to "Array#size is zero".
2019-02-17 16:29:38 -07:00
Michael Miller 8339784492 Add symbolic attribute to example components
This is used to determine whether a type or method is referenced.
2019-02-17 16:27:41 -07:00
Michael Miller 968775a5c3 Some cleanup and docs for SuiteSummary 2019-02-17 15:13:24 -07:00
Michael Miller d63a480516 Initial cleanup and docs for FailureBlock 2019-02-17 15:02:07 -07:00
Michael Miller 0f5395d592 Remove call to source in failure block 2019-02-17 14:54:33 -07:00
Michael Miller 11c738b941 Use Result#call instead of case-statement
Color module is no longer mixed-in.
2019-02-17 14:48:54 -07:00
Michael Miller 6a8d447570 Add tests for Result#call implementations 2019-02-17 14:40:05 -07:00
Michael Miller 75f9a5838b Add `#call` method to each result
This feels like a good middle-ground.
I didn't want this to be a factory method, or return an instance.
That seemed like overkill for formatting.
But I don't want to place if and case-statements everywhere in the 
formatters.
I hope this doesn't violate single-responsibility principle or any other 
guidelines.
2019-02-17 14:24:02 -07:00
Michael Miller 0b06e72f7e Simplify method chains by using #compact_map 2019-02-17 13:40:10 -07:00
Michael Miller 3a508cae26 Update Report class to not use result predicates 2019-02-17 13:36:10 -07:00
Michael Miller 5722d18db9 Update or remove tests using result predicate methods 2019-02-17 13:35:24 -07:00
Michael Miller 8dd8db74b9 Remove predicate methods from Result types 2019-02-17 13:15:40 -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 dc66b184e2 Add source class 2019-02-17 12:25:23 -07:00
Michael Miller 04bccd162e Use @io instead of STDOUT 2019-02-15 23:10:08 -07:00
Michael Miller 49175e56ac Initial code for summary output 2019-02-15 23:05:48 -07:00
Michael Miller 7504536528 Remove conflicting duplicate #new_pending_result 2019-02-15 22:19:34 -07:00
Michael Miller e8ca350152 Allow output to be printed to other streams 2019-02-15 22:12:18 -07:00
Michael Miller 2012db85c5 Initial code for refactoring formatters 2019-02-15 22:09:53 -07:00