Sha256: 1d78acc52c06cbf5d5439b73e964022d12d78c656b3c72108dcd4eea803f9f1b

Contents?: true

Size: 1.85 KB

Versions: 28

Compression:

Stored size: 1.85 KB

Contents

require 'rspec/core/formatters/base_text_formatter'

module NoColorizer
  def self.wrap(text, color)
    text
  end
end

class UncoloredDocFormatter < RSpec::Core::Formatters::BaseTextFormatter
  RSpec::Core::Formatters.register self, :example_group_started, :example_group_finished,
                                         :example_passed, :example_pending, :example_failed,
                                         :dump_failures, :dump_pending, :dump_summary

  def initialize(output)
    super
    @group_level = 0
  end

  def example_group_started(notification)
    output.puts if @group_level == 0
    output.puts "#{current_indentation}#{notification.group.description.strip}"

    @group_level += 1
  end

  def example_group_finished(notification)
    @group_level -= 1
  end

  def example_passed(passed)
    output.puts "#{current_indentation}#{passed.example.description.strip}"
  end

  def example_pending(pending)
    output.puts "#{current_indentation}#{pending.example.description.strip} (PENDING: #{pending.example.execution_result.pending_message})"
  end

  def example_failed(failure)
    output.puts "#{current_indentation}#{failure.example.description.strip} (FAILED - #{next_failure_index})"
  end

  def dump_failures(notification)
    return if notification.failure_notifications.empty?
    output.puts notification.fully_formatted_failed_examples(NoColorizer)
  end

  def dump_pending(notification)
    return if notification.pending_examples.empty?
    output.puts notification.fully_formatted_pending_examples(NoColorizer)
  end

  def dump_summary(notification)
    output.puts notification.fully_formatted(NoColorizer)
  end

private

  def next_failure_index
    @next_failure_index ||= 0
    @next_failure_index += 1
  end

  def current_indentation
    '  ' * @group_level
  end

  def example_group_chain
    example_group.parent_groups.reverse
  end

end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
flapjack-2.0.0 spec/support/uncolored_doc_formatter.rb
flapjack-2.0.0rc1 spec/support/uncolored_doc_formatter.rb
flapjack-2.0.0b1 spec/support/uncolored_doc_formatter.rb
flapjack-1.6.0 spec/support/uncolored_doc_formatter.rb
flapjack-1.6.0rc4 spec/support/uncolored_doc_formatter.rb
flapjack-1.6.0rc3 spec/support/uncolored_doc_formatter.rb
flapjack-1.6.0rc2 spec/support/uncolored_doc_formatter.rb
flapjack-1.6.0rc1 spec/support/uncolored_doc_formatter.rb
flapjack-1.5.0 spec/support/uncolored_doc_formatter.rb
flapjack-1.5.0rc1 spec/support/uncolored_doc_formatter.rb
flapjack-1.4.0 spec/support/uncolored_doc_formatter.rb
flapjack-1.4.0rc1 spec/support/uncolored_doc_formatter.rb
flapjack-1.3.0 spec/support/uncolored_doc_formatter.rb
flapjack-1.3.0rc3 spec/support/uncolored_doc_formatter.rb
flapjack-1.3.0rc2 spec/support/uncolored_doc_formatter.rb
flapjack-1.3.0rc1 spec/support/uncolored_doc_formatter.rb
flapjack-1.2.2 spec/support/uncolored_doc_formatter.rb
flapjack-1.2.1 spec/support/uncolored_doc_formatter.rb
flapjack-1.2.1rc3 spec/support/uncolored_doc_formatter.rb
flapjack-1.2.1rc2 spec/support/uncolored_doc_formatter.rb