Sha256: 7d7bbdd300e29bcdfc4581ad6157f0ad973bf03003d7f41bd1eee3bf8bda8a1e

Contents?: true

Size: 977 Bytes

Versions: 1

Compression:

Stored size: 977 Bytes

Contents

module Specjour::Rspec
  class Spec::Runner::Reporter::Failure
    attr_reader :backtrace, :message, :header, :exception_class_name

    def initialize(group_description, example_description, exception)
      @example_name = "#{group_description} #{example_description}"
      @message = exception.message
      @backtrace = exception.backtrace
      @exception_class_name = exception.class.name
      @pending_fixed = exception.is_a?(Spec::Example::PendingExampleFixedError)
      @exception_not_met = exception.is_a?(Spec::Expectations::ExpectationNotMetError)
      set_header
    end

    def set_header
      if expectation_not_met?
        @header = "'#{@example_name}' FAILED"
      elsif pending_fixed?
        @header = "'#{@example_name}' FIXED"
      else
        @header = "#{exception_class_name} in '#{@example_name}'"
      end
    end

    def pending_fixed?
      @pending_fixed
    end

    def expectation_not_met?
      @exception_not_met
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
specjour-0.2.0 lib/specjour/rspec/marshalable_rspec_failure.rb