Class: RSpec::Core::Formatters::Unassuming

Inherits:
BaseTextFormatter
  • Object
show all
Includes:
ConsoleCodes
Defined in:
lib/unassuming/formatter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(output) ⇒ Unassuming



14
15
16
17
# File 'lib/unassuming/formatter.rb', line 14

def initialize(output)
  @output = output
  super(output)
end

Instance Attribute Details

#failed_examplesObject (readonly)

Returns the value of attribute failed_examples.



12
13
14
# File 'lib/unassuming/formatter.rb', line 12

def failed_examples
  @failed_examples
end

#outputObject (readonly)

Returns the value of attribute output.



12
13
14
# File 'lib/unassuming/formatter.rb', line 12

def output
  @output
end

Instance Method Details

#blue(input) ⇒ Object



84
85
86
# File 'lib/unassuming/formatter.rb', line 84

def blue(input)
  wrap(input, :blue)
end

#bold(input) ⇒ Object



88
89
90
# File 'lib/unassuming/formatter.rb', line 88

def bold(input)
  wrap(input, :bold)
end

#cyan(input) ⇒ Object



92
93
94
# File 'lib/unassuming/formatter.rb', line 92

def cyan(input)
  wrap(input, :cyan)
end

#cyan_lineObject



80
81
82
# File 'lib/unassuming/formatter.rb', line 80

def cyan_line
  output.puts cyan('--------------------------------------')
end

#dump_failure(example, index) ⇒ Object



48
49
50
51
# File 'lib/unassuming/formatter.rb', line 48

def dump_failure(example, index)
  output.puts
  dump_failure_info(example, index)
end

#dump_failure_info(example, index) ⇒ Object



53
54
55
56
57
58
# File 'lib/unassuming/formatter.rb', line 53

def dump_failure_info(example, index)
  exception = example.exception
  message = strip_whitespace(exception.message)
  failed_line = strip_whitespace(read_failed_line(example))
  output.print "#{index+1}) #{cyan failed_line}\t #{red message }"
end

#dump_failures(notification) ⇒ Object



41
42
43
44
45
46
# File 'lib/unassuming/formatter.rb', line 41

def dump_failures(notification)
  return if failed_examples.empty?
  failed_examples.each_with_index do |example, index|
    dump_failure(example, index)
  end
end

#dump_summary(run) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
# File 'lib/unassuming/formatter.rb', line 60

def dump_summary(run)
  output.puts "\n"
  output.puts "Finished in #{run.duration}\n"
  output.puts "#{run.example_count} examples, #{run.failure_count} failures"
  if run.failure_count > 0
    output.puts bold(red "(╯°□°)╯︵ ┻━┻")
  else
    output.puts bold(magenta "(ノ◕ヮ◕)ノ*:・゚✧")
  end
  cyan_line
end

#example_failed(example) ⇒ Object



32
33
34
35
# File 'lib/unassuming/formatter.rb', line 32

def example_failed(example)
  failed_examples << example
  output.print red('☢')
end

#example_passed(example) ⇒ Object



28
29
30
# File 'lib/unassuming/formatter.rb', line 28

def example_passed(example)
  output.print green('好 ')
end

#example_pending(example) ⇒ Object



37
38
39
# File 'lib/unassuming/formatter.rb', line 37

def example_pending(example)
  output.print yellow(example)
end

#green(input) ⇒ Object



96
97
98
# File 'lib/unassuming/formatter.rb', line 96

def green(input)
  wrap(input, :green)
end

#magenta(input) ⇒ Object



108
109
110
# File 'lib/unassuming/formatter.rb', line 108

def magenta(input)
  wrap(input, :magenta)
end

#nowObject



72
73
74
# File 'lib/unassuming/formatter.rb', line 72

def now
  Time.now.strftime('%H:%M:%S')
end

#read_failed_line(example) ⇒ Object



112
113
114
# File 'lib/unassuming/formatter.rb', line 112

def read_failed_line(example)
  example.example.location.split("/").last.to_s
end

#red(input) ⇒ Object



100
101
102
# File 'lib/unassuming/formatter.rb', line 100

def red(input)
  wrap(input, :red)
end

#start(example_count) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/unassuming/formatter.rb', line 19

def start(example_count)
  super(example_count)
  cyan_line
  output.print(bold('Starting Spec Run @ '), green(now), ' -> ')
  @example_results = []
  @failed_examples = []
  @pending_examples = []
end

#strip_whitespace(string) ⇒ Object



76
77
78
# File 'lib/unassuming/formatter.rb', line 76

def strip_whitespace(string)
  string.to_s.gsub("\n", ' ').gsub(/\s{2,}/, ' ')
end

#yellow(input) ⇒ Object



104
105
106
# File 'lib/unassuming/formatter.rb', line 104

def yellow(input)
  wrap(input, :yellow)
end