Sha256: cd355fb6362219118b922c503cad8aacd6bc071b0da16755d0d8256288c501a1

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 KB

Contents

# Inspired from https://github.com/grosser/rspec-instafail/blob/master/lib/rspec/instafail.rb
require "#{File.dirname(__FILE__)}/../formatter"
require 'spec/runner/formatter/progress_bar_formatter'

class InstafailSpec < Spec::Runner::Formatter::ProgressBarFormatter
  include Formatter
  
  def dump_summary(duration, total, failures, pending)
    message = guard_message(total, failures, pending, duration)
    image   = guard_image(failures, pending)
    notify(message, image)
  end
  
  def example_failed(example, counter, failure)
    short_padding = '  '
    padding = '     '
    
    output.puts
    output.puts red("#{short_padding}#{counter}) #{example_group.description} #{example.description}")
    output.puts "#{padding}#{red(failure.exception)}"
    
    format_backtrace(failure.exception.backtrace).each do |backtrace_info|
      output.puts insta_gray("#{padding}# #{backtrace_info.strip}")
    end
    
    output.flush
  end
  
private
  
  # there is a gray() that returns nil, so we use our own...
  def insta_gray(text)
    colour(text, "\e[90m")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
guard-rspec-0.1.9 lib/guard/rspec/formatters/instafail_spec.rb
guard-rspec-0.1.8 lib/guard/rspec/formatters/instafail_spec.rb