Class: RSpec::Core::Formatters::HtmlPrinter
- Inherits:
-
Object
- Object
- RSpec::Core::Formatters::HtmlPrinter
- Includes:
- ERB::Util
- Defined in:
- lib/rspec/core/formatters/html_printer.rb
Instance Method Summary collapse
- #flush ⇒ Object
-
#initialize(output) ⇒ HtmlPrinter
constructor
A new instance of HtmlPrinter.
- #make_example_group_header_red(group_id) ⇒ Object
- #make_example_group_header_yellow(group_id) ⇒ Object
- #make_header_red ⇒ Object
- #make_header_yellow ⇒ Object
- #move_progress(percent_done) ⇒ Object
- #print_example_failed(pending_fixed, description, run_time, failure_id, exception, extra_content) ⇒ Object
- #print_example_group_end ⇒ Object
- #print_example_group_start(group_id, description, number_of_parents) ⇒ Object
- #print_example_passed(description, run_time) ⇒ Object
- #print_example_pending(description, pending_message) ⇒ Object
- #print_html_start ⇒ Object
- #print_summary(was_dry_run, duration, example_count, failure_count, pending_count) ⇒ Object
Constructor Details
#initialize(output) ⇒ HtmlPrinter
Returns a new instance of HtmlPrinter.
8 9 10 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 8 def initialize(output) @output = output end |
Instance Method Details
#flush ⇒ Object
73 74 75 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 73 def flush @output.flush end |
#make_example_group_header_red(group_id) ⇒ Object
90 91 92 93 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 90 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 |
#make_example_group_header_yellow(group_id) ⇒ Object
95 96 97 98 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 95 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 |
#make_header_red ⇒ Object
82 83 84 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 82 def make_header_red @output.puts " <script type=\"text/javascript\">makeRed('rspec-header');</script>" end |
#make_header_yellow ⇒ Object
86 87 88 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 86 def make_header_yellow @output.puts " <script type=\"text/javascript\">makeYellow('rspec-header');</script>" end |
#move_progress(percent_done) ⇒ Object
77 78 79 80 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 77 def move_progress( percent_done ) @output.puts " <script type=\"text/javascript\">moveProgressBar('#{percent_done}');</script>" @output.flush end |
#print_example_failed(pending_fixed, description, run_time, failure_id, exception, extra_content) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 33 def print_example_failed( pending_fixed, description, run_time, failure_id, exception, extra_content ) formatted_run_time = sprintf("%.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>#{exception[:backtrace]}</pre></div>" end @output.puts extra_content if extra_content @output.puts " </div>" @output.puts " </dd>" end |
#print_example_group_end ⇒ Object
17 18 19 20 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 17 def print_example_group_end @output.puts " </dl>" @output.puts "</div>" end |
#print_example_group_start(group_id, description, number_of_parents) ⇒ Object
22 23 24 25 26 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 22 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 |
#print_example_passed(description, run_time) ⇒ Object
28 29 30 31 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 28 def print_example_passed( description, run_time ) formatted_run_time = sprintf("%.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 |
#print_example_pending(description, pending_message) ⇒ Object
49 50 51 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 49 def print_example_pending( description, ) @output.puts " <dd class=\"example not_implemented\"><span class=\"not_implemented_spec_name\">#{h(description)} (PENDING: #{h()})</span></dd>" end |
#print_html_start ⇒ Object
12 13 14 15 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 12 def print_html_start @output.puts HTML_HEADER @output.puts REPORT_HEADER end |
#print_summary(was_dry_run, duration, example_count, failure_count, pending_count) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/rspec/core/formatters/html_printer.rb', line 53 def print_summary( was_dry_run, duration, example_count, failure_count, pending_count ) # TODO - kill dry_run? if was_dry_run totals = "This was a dry-run" else totals = "#{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 end formatted_duration = sprintf("%.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 |