Class: Assert::View::DefaultView
- 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 Method Summary collapse
- #after_load ⇒ Object
- #before_load(test_files) ⇒ Object
- #on_finish ⇒ Object
- #on_result(result) ⇒ Object
- #on_start ⇒ Object
Methods included from Helpers::AnsiStyles
#ansi_style, #ansi_styled_msg, #result_ansi_styles
Methods inherited from Base
#after_test, #before_test, #fire, #initialize, #print, #puts, #suite, #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_suite_contexts, #ordered_suite_files, #result_count_statement, #result_details_for, #result_summary_msg, #results_summary_sentence, #run_time, #runner_seed, #show_result_details?, #suite_contexts, #suite_files, #test_count_statement, #tests?, #to_sentence
Constructor Details
This class inherits a constructor from Assert::View::Base
Instance Method Details
#after_load ⇒ Object
28 29 30 |
# File 'lib/assert/view/default_view.rb', line 28 def after_load puts "Loaded suite (#{test_count_statement})" end |
#before_load(test_files) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/assert/view/default_view.rb', line 21 def before_load(test_files) if Assert.config.debug puts "Loading test files:" test_files.each{ |f| puts " #{f}" } end end |
#on_finish ⇒ Object
45 46 47 48 49 50 51 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 |
# File 'lib/assert/view/default_view.rb', line 45 def on_finish if tests? print "\n" puts # output detailed results for the tests in reverse test/result order tests = suite.ordered_tests.reverse result_details_for(tests, :reversed).each do |details| if show_result_details?(details.result) # output the styled result details result = details.result puts ansi_styled_msg(result.to_s, result_ansi_styles(result)) # output any captured stdout output = details.output puts captured_output(output) if output && !output.empty? # add an empty line between each result detail puts end end 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)" end |
#on_result(result) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/assert/view/default_view.rb', line 38 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_start ⇒ Object
32 33 34 35 36 |
# File 'lib/assert/view/default_view.rb', line 32 def on_start if tests? puts "Running tests in random order, seeded with \"#{runner_seed}\"" end end |