Sha256: a0987100252388f3267f7fdcf8781517f8ac21fdc5e2e47691c782afb45916f6
Contents?: true
Size: 1.75 KB
Versions: 53
Compression:
Stored size: 1.75 KB
Contents
require 'rspec/core/formatters/base_text_formatter' module RSpec module Core module Formatters class DocumentationFormatter < BaseTextFormatter def initialize(output) super(output) @group_level = 0 end def example_group_started(example_group) super(example_group) output.puts if @group_level == 0 output.puts "#{current_indentation}#{example_group.description.strip}" @group_level += 1 end def example_group_finished(example_group) @group_level -= 1 end def example_passed(example) super(example) output.puts passed_output(example) end def example_pending(example) super(example) output.puts pending_output(example, example.execution_result[:pending_message]) end def example_failed(example) super(example) output.puts failure_output(example, example.execution_result[:exception]) end def failure_output(example, exception) failure_color("#{current_indentation}#{example.description.strip} (FAILED - #{next_failure_index})") end def next_failure_index @next_failure_index ||= 0 @next_failure_index += 1 end def passed_output(example) success_color("#{current_indentation}#{example.description.strip}") end def pending_output(example, message) pending_color("#{current_indentation}#{example.description.strip} (PENDING: #{message})") end def current_indentation ' ' * @group_level end def example_group_chain example_group.parent_groups.reverse end end end end end
Version data entries
53 entries across 53 versions & 14 rubygems