Sha256: 78b5e0fd7a0b6e8fd3f74c9de91f5567b1477bb692e576064bb4df12d64c0c90

Contents?: true

Size: 1.55 KB

Versions: 21

Compression:

Stored size: 1.55 KB

Contents

require 'spec/runner/formatter/base_text_formatter'

# Code is based on standard SpecdocFormatter, but will print full error details as soon as they are found.
# Successful or pending examples are written only as a dot in the output. Header is only printed if errors occur.
#
# To use it, add the following to your spec/spec.opts:
#  --require
#  lib/rspec_immediate_feedback_formatter.rb
#  --format
#  Spec::Runner::Formatter::ImmediateFeedbackFormatter

module Spec
  module Runner
    module Formatter
      class ImmediateFeedbackFormatter < BaseTextFormatter

        def add_example_group(example_group)
          super
          @current_group = example_group.description
        end

        def example_failed(example, counter, failure)
          if @current_group
            output.puts
            output.puts @current_group
            @current_group = nil  # only print the group name once
          end

          message = if failure.expectation_not_met?
            "- #{example.description} (FAILED - #{counter})"
          else
            "- #{example.description} (ERROR - #{counter})"
          end

          output.puts(red(message))
          # output.puts(failure.expectation_not_met? ? red(message) : message)
          dump_failure(counter, failure)  # dump stacktrace immediately
          output.flush
        end

        def example_passed(*)
          output.print green('.')
          output.flush
        end

        def example_pending(*)
          super
          output.print yellow('*')
          output.flush
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 5 rubygems

Version Path
ardm-core-1.3.0 spec/lib/rspec_immediate_feedback_formatter.rb
ardm-core-1.2.1 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.2.1 spec/lib/rspec_immediate_feedback_formatter.rb
ghost_dm-core-1.3.0.beta spec/lib/rspec_immediate_feedback_formatter.rb
dm-rinda-adapter-0.1.2 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.2.0 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.2.0.rc2 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.2.0.rc1 spec/lib/rspec_immediate_feedback_formatter.rb
dm-hibernate-adapter-0.1pre-java spec/transient/lib/rspec_immediate_feedback_formatter.rb
dm-rinda-adapter-0.1.0 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.1.0 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.1.0.rc3 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.1.0.rc2 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.1.0.rc1 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.0.2 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.0.1 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.0.0 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.0.0.rc3 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.0.0.rc2 spec/lib/rspec_immediate_feedback_formatter.rb
dm-core-1.0.0.rc1 spec/lib/rspec_immediate_feedback_formatter.rb