Class: PrideFormatter

Inherits:
RSpec::Core::Formatters::ProgressFormatter
  • Object
show all
Defined in:
lib/rspec/pride.rb

Constant Summary collapse

ESC =

stolen from minitest/pride

"\e["
NND =
"#{ESC}0m"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(io) ⇒ PrideFormatter

Returns a new instance of PrideFormatter.



14
15
16
17
18
19
20
# File 'lib/rspec/pride.rb', line 14

def initialize io
  initialize_colors
  @output = io
  @index = 0
  @size  = @colors.size
  output.print "\n"
end

Instance Attribute Details

#output ⇒ Object (readonly)

Returns the value of attribute output.



6
7
8
# File 'lib/rspec/pride.rb', line 6

def output
  @output
end

Instance Method Details

#dump_summary(summary) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/rspec/pride.rb', line 34

def dump_summary summary
  icing = 'Fabulous tests'.split(//).map { |x| rainbow x }.join

  summary_text = "#{summary.example_count} examples, " \
                 "#{summary.failure_count} failures, " \
                 "#{summary.pending_count} pending"

  formatted_summary =
    if summary.failure_count.to_i.zero?
      if summary.pending_count.zero?
        good summary_text
      else
        caution summary_text
      end
    else
      bad summary_text
    end

  output.print <<-TEXT
  #{icing} in #{summary.duration}
  #{formatted_summary}
  TEXT
end

#example_failed(example) ⇒ Object



26
27
28
# File 'lib/rspec/pride.rb', line 26

def example_failed example
  output.print failure
end

#example_passed(example) ⇒ Object



22
23
24
# File 'lib/rspec/pride.rb', line 22

def example_passed example
  output.print pass
end

#example_pending(example) ⇒ Object



30
31
32
# File 'lib/rspec/pride.rb', line 30

def example_pending example
  output.print pending
end