Class: Assert::View

Inherits:
Object
  • Object
show all
Includes:
ConfigHelpers, ViewHelpers
Defined in:
lib/assert/view.rb

Direct Known Subclasses

DefaultView

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ViewHelpers

included

Methods included from ConfigHelpers

#all_pass?, #error_result_count, #fail_result_count, #formatted_result_rate, #formatted_run_time, #formatted_suite_result_rate, #formatted_suite_run_time, #formatted_suite_test_rate, #formatted_test_rate, #ignore_result_count, #ocurring_result_types, #pass_result_count, #result_count, #runner, #runner_seed, #show_test_profile_info?, #show_test_verbose_info?, #single_test?, #single_test_file_line, #skip_result_count, #suite, #test_count, #tests_to_run?, #tests_to_run_count

Constructor Details

#initialize(config, output_io) ⇒ View

Returns a new instance of View.


52
53
54
55
# File 'lib/assert/view.rb', line 52

def initialize(config, output_io)
  @config, @output_io, = config, output_io
  @output_io.sync = true if @output_io.respond_to?(:sync=)
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.


50
51
52
# File 'lib/assert/view.rb', line 50

def config
  @config
end

Class Method Details

.require_user_view(view_name) ⇒ Object

this method is used to bring in custom user-specific views require views by passing either a full path to the view ruby file or passing the name of a view installed in ~/.assert/views


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/assert/view.rb', line 17

def self.require_user_view(view_name)
  views_file = File.expand_path(
    File.join("#{ENV["HOME"]}/.assert/views", view_name, "lib", view_name),
  )

  if File.exist?(view_name) || File.exist?(view_name + ".rb")
    require view_name
  elsif File.exist?(views_file + ".rb")
    require views_file
  else
    msg = +"[WARN] Can't find or require #{view_name.inspect} view."
    unless view_name.match(%r{\A/})
      msg << " Did you install it in `~/.assert/views`?"
    end
    warn msg
  end
end

Instance Method Details

#after_loadObject


89
90
# File 'lib/assert/view.rb', line 89

def after_load
end

#after_test(test) ⇒ Object


101
102
# File 'lib/assert/view.rb', line 101

def after_test(test)
end

#before_load(test_files) ⇒ Object

available callbacks from the runner:

  • `before_load`: called at the beginning, before the suite is loaded

  • `after_load`: called after the suite is loaded, just before `on_start`

    functionally equivalent to `on_start`
    
  • `on_start`: called when a loaded test suite starts running

  • `before_test`: called before a test starts running

    the test is passed as an arg
    
  • `on_result`: called when a running tests generates a result

    the result is passed as an arg
    
  • `after_test`: called after a test finishes running

    the test is passed as an arg
    
  • `on_finish`: called when the test suite is finished running

  • `on_info`: called when the INFO signal is triggered whil runninng

    the test suite
    
  • `on_interrupt`: called when the test suite is interrupted while running

    the interrupt exception is passed as an arg
    

86
87
# File 'lib/assert/view.rb', line 86

def before_load(test_files)
end

#before_test(test) ⇒ Object


95
96
# File 'lib/assert/view.rb', line 95

def before_test(test)
end

#is_tty?Boolean

Returns:

  • (Boolean)

61
62
63
# File 'lib/assert/view.rb', line 61

def is_tty?
  !!@output_io.isatty
end

#on_finishObject


104
105
# File 'lib/assert/view.rb', line 104

def on_finish
end

#on_info(test) ⇒ Object


107
108
# File 'lib/assert/view.rb', line 107

def on_info(test)
end

#on_interrupt(err) ⇒ Object


110
111
# File 'lib/assert/view.rb', line 110

def on_interrupt(err)
end

#on_result(result) ⇒ Object


98
99
# File 'lib/assert/view.rb', line 98

def on_result(result)
end

#on_startObject


92
93
# File 'lib/assert/view.rb', line 92

def on_start
end

119
120
121
# File 'lib/assert/view.rb', line 119

def print(*args)
  @output_io.print(*args)
end

#puts(*args) ⇒ Object

IO capture


115
116
117
# File 'lib/assert/view.rb', line 115

def puts(*args)
  @output_io.puts(*args)
end

#viewObject


57
58
59
# File 'lib/assert/view.rb', line 57

def view
  self
end