From e8ca3501527211d97b5fc1eceb5187a169189210 Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Fri, 15 Feb 2019 22:12:18 -0700 Subject: [PATCH] Allow output to be printed to other streams --- src/spectator/formatters/dots_formatter.cr | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/spectator/formatters/dots_formatter.cr b/src/spectator/formatters/dots_formatter.cr index 945e585..7aec714 100644 --- a/src/spectator/formatters/dots_formatter.cr +++ b/src/spectator/formatters/dots_formatter.cr @@ -22,6 +22,11 @@ module Spectator::Formatters # Character output for a pending or skipped example. PENDING_CHAR = '*' + # Creates the formatter. + # By default, output is sent to `STDOUT`. + def initialize(@io : IO = STDOUT) + end + # Does nothing when an example is started. def start_example(example) # ... @@ -31,13 +36,13 @@ module Spectator::Formatters def end_example(result) case result when ErroredResult - print error(ERROR_CHAR) + @io.print error(ERROR_CHAR) when PendingResult - print pending(PENDING_CHAR) + @io.print pending(PENDING_CHAR) when SuccessfulResult - print success(SUCCESS_CHAR) + @io.print success(SUCCESS_CHAR) else # FailedResult - print failure(FAILURE_CHAR) + @io.print failure(FAILURE_CHAR) end end end