Class: Assert::Result::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/assert/result.rb,
lib/assert/result.rb

Direct Known Subclasses

Error, Fail, Ignore, Pass, Skip

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(build_data) ⇒ Base

Returns a new instance of Base.



41
42
43
# File 'lib/assert/result.rb', line 41

def initialize(build_data)
  @build_data = build_data
end

Class Method Details

.for_test(test, message, bt) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/assert/result.rb', line 31

def self.for_test(test, message, bt)
  self.new({
    :test_name => test.name,
    :test_id   => test.file_line.to_s,
    :message   => message,
    :output    => test.output,
    :backtrace => Backtrace.new(bt)
  })
end

.nameObject



29
# File 'lib/assert/result.rb', line 29

def self.name; '';       end

.typeObject



28
# File 'lib/assert/result.rb', line 28

def self.type; :unknown; end

Instance Method Details

#==(other_result) ⇒ Object



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

def ==(other_result)
  self.type == other_result.type && self.message == other_result.message
end

#backtraceObject



51
# File 'lib/assert/result.rb', line 51

def backtrace; @backtrace ||= (@build_data[:backtrace] || Backtrace.new([]));           end

#dataObject



65
66
67
68
69
70
71
72
73
74
75
# File 'lib/assert/result.rb', line 65

def data
  { :type      => self.type,
    :name      => self.name,
    :test_name => self.test_name,
    :test_id   => self.test_id,
    :message   => self.message,
    :output    => self.output,
    :backtrace => self.backtrace,
    :trace     => self.trace,
  }
end

#inspectObject



90
91
92
# File 'lib/assert/result.rb', line 90

def inspect
  "#<#{self.class}:#{'0x0%x' % (object_id << 1)} @message=#{self.message.inspect}>"
end

#messageObject



49
# File 'lib/assert/result.rb', line 49

def message;   @message   ||= (@build_data[:message]   || '');                          end

#nameObject



46
# File 'lib/assert/result.rb', line 46

def name;      @name      ||= (@build_data[:name]      || self.class.name.to_s);        end

#outputObject



50
# File 'lib/assert/result.rb', line 50

def output;    @output    ||= (@build_data[:output]    || '');                          end

#set_backtrace(bt) ⇒ Object

we choose to implement this way instead of using an ‘attr_writer` to be consistant with how you override exception backtraces.



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

def set_backtrace(bt)
  @backtrace = Backtrace.new(bt)
  @trace     = build_trace(@backtrace)
end

#test_idObject



48
# File 'lib/assert/result.rb', line 48

def test_id;   @test_id   ||= (@build_data[:test_id]   || '');                          end

#test_nameObject



47
# File 'lib/assert/result.rb', line 47

def test_name; @test_name ||= (@build_data[:test_name] || '');                          end

#to_sObject



79
80
81
82
83
84
# File 'lib/assert/result.rb', line 79

def to_s
  [ "#{self.name.upcase}: #{self.test_name}",
    self.message,
    self.trace
  ].reject(&:empty?).join("\n")
end

#to_symObject



77
# File 'lib/assert/result.rb', line 77

def to_sym; self.type; end

#traceObject



52
# File 'lib/assert/result.rb', line 52

def trace;     @trace     ||= (@build_data[:trace]     || build_trace(self.backtrace)); end

#typeObject



45
# File 'lib/assert/result.rb', line 45

def type;      @type      ||= (@build_data[:type]      || self.class.type).to_sym;      end