class RSpec::Core::Formatters::HtmlPrinter
@private
Constants
- GLOBAL_SCRIPTS
- GLOBAL_STYLES
- HTML_HEADER
- REPORT_HEADER
Public Class Methods
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 9 def initialize(output) @output = output end
Public Instance Methods
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 79 def flush @output.flush end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 96 def make_example_group_header_red(group_id) @output.puts " <script type=\"text/javascript\">" \ "makeRed('div_group_#{group_id}');</script>" @output.puts " <script type=\"text/javascript\">" \ "makeRed('example_group_#{group_id}');</script>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 103 def make_example_group_header_yellow(group_id) @output.puts " <script type=\"text/javascript\">" \ "makeYellow('div_group_#{group_id}');</script>" @output.puts " <script type=\"text/javascript\">" \ "makeYellow('example_group_#{group_id}');</script>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 88 def make_header_red @output.puts " <script type=\"text/javascript\">makeRed('rspec-header');</script>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 92 def make_header_yellow @output.puts " <script type=\"text/javascript\">makeYellow('rspec-header');</script>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 83 def move_progress(percent_done) @output.puts " <script type=\"text/javascript\">moveProgressBar('#{percent_done}');</script>" @output.flush end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 36 def print_example_failed(pending_fixed, description, run_time, failure_id, exception, extra_content) formatted_run_time = "%.5f" % run_time @output.puts " <dd class=\"example #{pending_fixed ? 'pending_fixed' : 'failed'}\">" @output.puts " <span class=\"failed_spec_name\">#{h(description)}</span>" @output.puts " <span class=\"duration\">#{formatted_run_time}s</span>" @output.puts " <div class=\"failure\" id=\"failure_#{failure_id}\">" if exception @output.puts " <div class=\"message\"><pre>#{h(exception[:message])}</pre></div>" @output.puts " <div class=\"backtrace\"><pre>#{h exception[:backtrace]}</pre></div>" end @output.puts extra_content if extra_content @output.puts " </div>" @output.puts " </dd>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 18 def print_example_group_end @output.puts " </dl>" @output.puts "</div>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 23 def print_example_group_start(group_id, description, number_of_parents) @output.puts "<div id=\"div_group_#{group_id}\" class=\"example_group passed\">" @output.puts " <dl #{indentation_style(number_of_parents)}>" @output.puts " <dt id=\"example_group_#{group_id}\" class=\"passed\">#{h(description)}</dt>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 29 def print_example_passed(description, run_time) formatted_run_time = "%.5f" % run_time @output.puts " <dd class=\"example passed\">" \ "<span class=\"passed_spec_name\">#{h(description)}</span>" \ "<span class='duration'>#{formatted_run_time}s</span></dd>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 53 def print_example_pending(description, pending_message) @output.puts " <dd class=\"example not_implemented\">" \ "<span class=\"not_implemented_spec_name\">#{h(description)} " \ "(PENDING: #{h(pending_message)})</span></dd>" end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 13 def print_html_start @output.puts HTML_HEADER @output.puts REPORT_HEADER end
# File rspec-core/lib/rspec/core/formatters/html_printer.rb, line 59 def print_summary(duration, example_count, failure_count, pending_count) totals = String.new( "#{example_count} example#{'s' unless example_count == 1}, " ) totals << "#{failure_count} failure#{'s' unless failure_count == 1}" totals << ", #{pending_count} pending" if pending_count > 0 formatted_duration = "%.5f" % duration @output.puts "<script type=\"text/javascript\">" \ "document.getElementById('duration').innerHTML = \"Finished in " \ "<strong>#{formatted_duration} seconds</strong>\";</script>" @output.puts "<script type=\"text/javascript\">" \ "document.getElementById('totals').innerHTML = \"#{totals}\";</script>" @output.puts "</div>" @output.puts "</div>" @output.puts "</body>" @output.puts "</html>" end