Callback for the MSpec :after event. Prints an indicator for the result of evaluating this example as follows:
. = No failure or error F = An SpecExpectationNotMetError was raised E = Any exception other than SpecExpectationNotMetError
# File lib/mspec/runner/formatters/dotted.rb, line 70 def after(state = nil) unless exception? print "." else print failure? ? "F" : "E" end end
Callback for the MSpec :before event. Resets the #exception? and #failure flags.
# File lib/mspec/runner/formatters/dotted.rb, line 50 def before(state = nil) @failure = @exception = false end
Callback for the MSpec :exception event. Stores the ExceptionState object to generate the list of backtraces after all the specs are run. Also updates the internal #exception? and #failure? flags.
# File lib/mspec/runner/formatters/dotted.rb, line 58 def exception(exception) @count += 1 @failure = @exception ? @failure && exception.failure? : exception.failure? @exception = true @exceptions << exception end
Returns true if any exception is raised while running an example. This flag is reset before each example is evaluated.
# File lib/mspec/runner/formatters/dotted.rb, line 36 def exception? @exception end
Returns true if all exceptions during the evaluation of an example are failures rather than errors. See ExceptionState#failure. This flag is reset before each example is evaluated.
# File lib/mspec/runner/formatters/dotted.rb, line 44 def failure? @failure end
Callback for the MSpec :finish event. Prints a description and backtrace for every exception that occurred while evaluating the examples.
# File lib/mspec/runner/formatters/dotted.rb, line 81 def finish print "\n" count = 0 @exceptions.each do |exc| outcome = exc.failure? ? "FAILED" : "ERROR" print "\n#{count += 1})\n#{exc.description} #{outcome}\n" print exc.message, "\n" print exc.backtrace, "\n" end print "\n#{@timer.format}\n\n#{@tally.format}\n" end
A convenience method to allow printing to different outputs.
# File lib/mspec/runner/formatters/dotted.rb, line 94 def print(*args) @out.print(*args) @out.flush rescue nil #IronRuby throws a .NET exception on IO.flush end
Creates the TimerAction and TallyAction instances and registers them. Registers self for the :exception, :before, :after, and :finish actions.
# File lib/mspec/runner/formatters/dotted.rb, line 22 def register (@timer = TimerAction.new).register (@tally = TallyAction.new).register @counter = @tally.counter MSpec.register :exception, self MSpec.register :before, self MSpec.register :after, self MSpec.register :finish, self end
Generated with the Darkfish Rdoc Generator 2.