Class: Tryouts::CLI::QuietFormatter
- Inherits:
-
Object
- Object
- Tryouts::CLI::QuietFormatter
show all
- Includes:
- FormatterInterface
- Defined in:
- lib/tryouts/cli/formatters/quiet.rb
Overview
Minimal output formatter - only shows essential information
Instance Attribute Summary
#current_indent, #stderr, #stdout
Instance Method Summary
collapse
#debug_info, #file_parsed, #file_result, #file_start, #live_status_manager, #parser_warnings, #phase_header, #puts, #set_live_status_manager, #setup_output, #setup_start, #teardown_output, #teardown_start, #test_end, #test_output, #test_start, #trace_info, #update_live_status, #write
Constructor Details
Returns a new instance of QuietFormatter.
11
12
13
14
15
16
17
|
# File 'lib/tryouts/cli/formatters/quiet.rb', line 11
def initialize(options = {})
super
@show_errors = options.fetch(:show_errors, true)
@show_final_summary = options.fetch(:show_final_summary, true)
@show_stack_traces = options.fetch(:stack_traces, false) || options.fetch(:debug, false)
@current_file = nil
end
|
Instance Method Details
#batch_summary(failure_collector) ⇒ Object
Summary operations - quiet mode skips failure summary
47
48
49
50
|
# File 'lib/tryouts/cli/formatters/quiet.rb', line 47
def batch_summary(failure_collector)
end
|
#error_message(message, backtrace: nil) ⇒ Object
80
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/tryouts/cli/formatters/quiet.rb', line 80
def error_message(message, backtrace: nil)
return unless @show_errors
@stderr.puts
@stderr.puts Console.color(:red, "ERROR: #{message}")
return unless backtrace && @show_stack_traces
Console.pretty_backtrace(backtrace, limit: 3).each do |line|
@stderr.puts " #{line}"
end
end
|
#file_end(_file_path, context_info: {}) ⇒ Object
23
24
25
26
|
# File 'lib/tryouts/cli/formatters/quiet.rb', line 23
def file_end(_file_path, context_info: {})
end
|
#file_execution_start(file_path, test_count:, context_mode:) ⇒ Object
19
20
21
|
# File 'lib/tryouts/cli/formatters/quiet.rb', line 19
def file_execution_start(file_path, test_count:, context_mode:)
@current_file = file_path
end
|
#grand_total(total_tests:, failed_count:, error_count:, successful_files:, total_files:, elapsed_time:) ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/tryouts/cli/formatters/quiet.rb', line 52
def grand_total(total_tests:, failed_count:, error_count:, successful_files:, total_files:, elapsed_time:)
return unless @show_final_summary
puts
puts
time_str = if elapsed_time < 2
"#{(elapsed_time * 1000).to_i}ms"
else
"#{elapsed_time.round(2)}s"
end
issues_count = failed_count + error_count
if issues_count > 0
passed = [total_tests - issues_count, 0].max details = []
details << "#{failed_count} failed" if failed_count > 0
details << "#{error_count} errors" if error_count > 0
puts Console.color(:red, "Total: #{details.join(', ')}, #{passed} passed (#{time_str})")
else
puts Console.color(:green, "Total: #{total_tests} passed (#{time_str})")
end
if total_files > 1
puts "Files: #{successful_files} of #{total_files} successful"
end
end
|
#live_status_capabilities ⇒ Object
93
94
95
96
97
98
99
|
# File 'lib/tryouts/cli/formatters/quiet.rb', line 93
def live_status_capabilities
{
supports_coordination: true, output_frequency: :low, requires_tty: false, }
end
|
#test_result(result_packet) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/tryouts/cli/formatters/quiet.rb', line 28
def test_result(result_packet)
char = case result_packet.status
when :passed
Console.color(:green, '.')
when :failed
Console.color(:red, 'F')
when :error
Console.color(:red, 'E')
when :skipped
Console.color(:yellow, 'S')
else
'?'
end
write(char)
end
|