Class: Assert::View::DefaultView

Inherits:
Base
  • Object
show all
Includes:
Helpers::AnsiStyles
Defined in:
lib/assert/view/default_view.rb

Overview

This is the default view used by assert. It renders ansi test output designed for terminal viewing.

Instance Attribute Summary

Attributes inherited from Base

#config, #suite

Instance Method Summary collapse

Methods included from Helpers::AnsiStyles

#ansi_style, #ansi_styled_msg, #result_ansi_styles

Methods inherited from Base

#fire, #initialize, #is_tty?, #print, #puts, #view

Methods included from Helpers::Common

#all_pass?, #all_pass_result_summary_msg, #captured_output, #count, included, #matched_result_details_for, #ocurring_result_types, #ordered_profile_tests, #ordered_suite_contexts, #ordered_suite_files, #result_count_statement, #result_details_for, #result_rate, #result_summary_msg, #results_summary_sentence, #run_time, #runner_seed, #show_result_details?, #show_test_profile_info?, #show_test_verbose_info?, #suite_contexts, #suite_files, #test_count_statement, #test_rate, #test_result_rate, #test_run_time, #tests?, #to_sentence

Constructor Details

This class inherits a constructor from Assert::View::Base

Instance Method Details

#after_loadObject



24
25
26
# File 'lib/assert/view/default_view.rb', line 24

def after_load
  puts "Loaded suite (#{test_count_statement})"
end

#after_test(test) ⇒ Object



49
50
51
52
53
54
55
# File 'lib/assert/view/default_view.rb', line 49

def after_test(test)
  if show_test_verbose_info?
    print " #{test_run_time(test)} seconds,"\
          " #{test.result_count} results,"\
          " #{test_result_rate(test)} results/s\n"
  end
end

#before_load(test_files) ⇒ Object



21
22
# File 'lib/assert/view/default_view.rb', line 21

def before_load(test_files)
end

#before_test(test) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/assert/view/default_view.rb', line 34

def before_test(test)
  if show_test_verbose_info?
    puts  "#{test.name.inspect} (#{test.context_class})"
    puts  "    #{test.file_line}"
    print "    "
  end
end

#on_finishObject



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/assert/view/default_view.rb', line 57

def on_finish
  if tests?
    dump_test_results
  end

  # show profile output
  if show_test_profile_info?
    ordered_profile_tests.each do |test|
      puts "#{test_run_time(test)} seconds,"\
           " #{test.result_count} results,"\
           " #{test_result_rate(test)} results/s --"\
           " #{test.context_class}: #{test.name.inspect}"
    end
    puts
  end

  # style the summaries of each result set
  styled_results_sentence = results_summary_sentence do |summary, sym|
    ansi_styled_msg(summary, result_ansi_styles(sym))
  end

  puts "#{result_count_statement}: #{styled_results_sentence}"
  puts
  puts "(#{run_time} seconds, #{test_rate} tests/s, #{result_rate} results/s)"
end

#on_interrupt(err) ⇒ Object



83
84
85
# File 'lib/assert/view/default_view.rb', line 83

def on_interrupt(err)
  dump_test_results
end

#on_result(result) ⇒ Object



42
43
44
45
46
47
# File 'lib/assert/view/default_view.rb', line 42

def on_result(result)
  result_abbrev = self.send("#{result.to_sym}_abbrev")
  styled_abbrev = ansi_styled_msg(result_abbrev, result_ansi_styles(result))

  print styled_abbrev
end

#on_startObject



28
29
30
31
32
# File 'lib/assert/view/default_view.rb', line 28

def on_start
  if tests?
    puts "Running tests in random order, seeded with \"#{runner_seed}\""
  end
end