Class: RSpec::Core::Formatters::HtmlFormatter
Constant Summary
BaseTextFormatter::VT100_COLORS, BaseTextFormatter::VT100_COLOR_CODES
Constants included
from Helpers
RSpec::Core::Formatters::Helpers::DEFAULT_PRECISION, RSpec::Core::Formatters::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
#close, #color_code_for, #colorise_summary, #colorize, #dump_commands_to_rerun_failed_examples, #dump_profile, #dump_profile_slowest_example_groups, #dump_profile_slowest_examples, #seed, #summary_line
#close, #example_group_finished, #format_backtrace, #stop
Methods included from Helpers
#format_duration, #format_seconds, #pluralize, #strip_trailing_zeroes
#format_backtrace
Constructor Details
Returns a new instance of HtmlFormatter.
12
13
14
15
16
17
18
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 12
def initialize(output)
super(output)
@example_group_number = 0
@example_number = 0
@header_red = nil
@printer = HtmlPrinter.new(output)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(m, *a, &b) ⇒ void
21
22
23
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 21
def method_missing(m, *a, &b)
end
|
Instance Method Details
#dump_failures ⇒ void
139
140
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 139
def dump_failures
end
|
#dump_pending ⇒ void
142
143
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 142
def dump_pending
end
|
#dump_summary(duration, example_count, failure_count, pending_count) ⇒ void
145
146
147
148
149
150
151
152
153
154
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 145
def dump_summary(duration, example_count, failure_count, pending_count)
@printer.print_summary(
dry_run?,
duration,
example_count,
failure_count,
pending_count
)
@printer.flush
end
|
#example_failed(example) ⇒ void
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 73
def example_failed(example)
super(example)
unless @header_red
@header_red = true
@printer.
end
unless @example_group_red
@example_group_red = true
@printer.(example_group_number)
end
@printer.move_progress(percent_done)
exception = example.execution_result.exception
exception_details = if exception
{
:message => exception.message,
:backtrace => format_backtrace(exception.backtrace, example).join("\n")
}
else
false
end
= (exception)
@printer.print_example_failed(
example.execution_result.pending_fixed?,
example.description,
example.execution_result.run_time,
@failed_examples.size,
exception_details,
( == "") ? false : ,
true
)
@printer.flush
end
|
#example_group_number ⇒ void
The number of the currently running example_group
30
31
32
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 30
def example_group_number
@example_group_number
end
|
#example_group_started(example_group) ⇒ void
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 45
def example_group_started(example_group)
super(example_group)
@example_group_red = false
@example_group_number += 1
unless example_group_number == 1
@printer.print_example_group_end
end
@printer.print_example_group_start( example_group_number, example_group.description, example_group.parent_groups.size )
@printer.flush
end
|
#example_number ⇒ void
The number of the currently running example (a global counter)
35
36
37
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 35
def example_number
@example_number
end
|
#example_passed(example) ⇒ void
67
68
69
70
71
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 67
def example_passed(example)
@printer.move_progress(percent_done)
@printer.print_example_passed( example.description, example.execution_result.run_time )
@printer.flush
end
|
#example_pending(example) ⇒ void
111
112
113
114
115
116
117
118
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 111
def example_pending(example)
@printer. unless @header_red
@printer.(example_group_number) unless @example_group_red
@printer.move_progress(percent_done)
@printer.print_example_pending( example.description, example.execution_result.pending_message )
@printer.flush
end
|
#example_started(example) ⇒ void
62
63
64
65
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 62
def example_started(example)
super(example)
@example_number += 1
end
|
Override this method if you wish to output extra HTML for a failed spec. For example, you
could output links to images or other files produced during the specs.
123
124
125
126
127
128
129
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 123
def (exception)
require 'rspec/legacy_formatters/snippet_extractor'
backtrace = exception.backtrace.map {|line| backtrace_line(line)}
backtrace.compact!
@snippet_extractor ||= SnippetExtractor.new
" <pre class=\"ruby\"><code>#{@snippet_extractor.snippet(backtrace)}</code></pre>"
end
|
#message(message) ⇒ void
26
27
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 26
def message(message)
end
|
#percent_done ⇒ void
131
132
133
134
135
136
137
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 131
def percent_done
result = 100.0
if @example_count > 0
result = (((example_number).to_f / @example_count.to_f * 1000).to_i / 10.0).to_f
end
result
end
|
#start(example_count) ⇒ void
39
40
41
42
43
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 39
def start(example_count)
super(example_count)
@printer.print_html_start
@printer.flush
end
|
#start_dump ⇒ void
57
58
59
60
|
# File 'lib/rspec/legacy_formatters/html_formatter.rb', line 57
def start_dump
@printer.print_example_group_end
@printer.flush
end
|