Class: RSpec::Core::Formatters::BaseTextFormatter
Constant Summary
Constants included
from Helpers
Helpers::DEFAULT_PRECISION, Helpers::SUB_SECOND_PRECISION
Instance Attribute Summary
#duration, #example_count, #example_group, #examples, #failed_examples, #failure_count, #output, #pending_count, #pending_examples
Instance Method Summary
collapse
#example_failed, #example_group_finished, #example_group_started, #example_passed, #example_pending, #example_started, #format_backtrace, #initialize, #start, #start_dump, #stop
Methods included from Helpers
#format_duration, #format_seconds, #pluralize, #strip_trailing_zeroes
Instance Method Details
#close ⇒ Object
102
103
104
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 102
def close
output.close if IO === output && output != $stdout
end
|
#colorise_summary(summary) ⇒ Object
24
25
26
27
28
29
30
31
32
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 24
def colorise_summary(summary)
if failure_count > 0
red(summary)
elsif pending_count > 0
yellow(summary)
else
green(summary)
end
end
|
#dump_commands_to_rerun_failed_examples ⇒ Object
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 43
def dump_commands_to_rerun_failed_examples
return if failed_examples.empty?
output.puts
output.puts("Failed examples:")
output.puts
failed_examples.each do |example|
output.puts(red("rspec #{RSpec::Core::Metadata::relative_path(example.location)}") + " " + cyan("# #{example.full_description}"))
end
end
|
#dump_failures ⇒ Object
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 13
def dump_failures
return if failed_examples.empty?
output.puts
output.puts "Failures:"
failed_examples.each_with_index do |example, index|
output.puts
pending_fixed?(example) ? dump_pending_fixed(example, index) : dump_failure(example, index)
dump_backtrace(example)
end
end
|
#dump_pending ⇒ Object
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 79
def dump_pending
unless pending_examples.empty?
output.puts
output.puts "Pending:"
pending_examples.each do |pending_example|
output.puts yellow(" #{pending_example.full_description}")
output.puts cyan(" # #{pending_example.execution_result[:pending_message]}")
output.puts cyan(" # #{format_caller(pending_example.location)}")
if pending_example.execution_result[:exception] \
&& RSpec.configuration.show_failures_in_pending_blocks?
dump_failure_info(pending_example)
dump_backtrace(pending_example)
end
end
end
end
|
#dump_profile ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 54
def dump_profile
sorted_examples = examples.sort_by {|example|
example.execution_result[:run_time] }.reverse.first(10)
total, slows = [examples, sorted_examples].map {|exs|
exs.inject(0.0) {|i, e| i + e.execution_result[:run_time] }}
time_taken = slows / total
percentage = '%.1f' % ((time_taken.nan? ? 0.0 : time_taken) * 100)
output.puts "\nTop #{sorted_examples.size} slowest examples (#{format_seconds(slows)} seconds, #{percentage}% of total time):\n"
sorted_examples.each do |example|
output.puts " #{example.full_description}"
output.puts cyan(" #{red(format_seconds(example.execution_result[:run_time]))} #{red("seconds")} #{format_caller(example.location)}")
end
end
|
#dump_summary(duration, example_count, failure_count, pending_count) ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 34
def dump_summary(duration, example_count, failure_count, pending_count)
super(duration, example_count, failure_count, pending_count)
dump_profile if profile_examples? && failure_count == 0
output.puts "\nFinished in #{format_duration(duration)}\n"
output.puts colorise_summary(summary_line(example_count, failure_count, pending_count))
dump_commands_to_rerun_failed_examples
end
|
#message(message) ⇒ Object
9
10
11
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 9
def message(message)
output.puts message
end
|
#seed(number) ⇒ Object
96
97
98
99
100
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 96
def seed(number)
output.puts
output.puts "Randomized with seed #{number}"
output.puts
end
|
#summary_line(example_count, failure_count, pending_count) ⇒ Object
72
73
74
75
76
77
|
# File 'lib/rspec/core/formatters/base_text_formatter.rb', line 72
def summary_line(example_count, failure_count, pending_count)
summary = pluralize(example_count, "example")
summary << ", " << pluralize(failure_count, "failure")
summary << ", #{pending_count} pending" if pending_count > 0
summary
end
|