module TestBench::Fixture::Controls::Error

Constants

Example

Public Class Methods

example(message=nil, backtrace: nil, backtrace_depth: nil, cause: nil, cls: nil) click to toggle source
# File lib/test_bench/fixture/controls/error.rb, line 5
def self.example(message=nil, backtrace: nil, backtrace_depth: nil, cause: nil, cls: nil)
  message ||= self.message
  cls ||= Example

  if backtrace == :none
    backtrace = []
  else
    backtrace ||= Backtrace.example(depth: backtrace_depth)
  end

  if cause == true
    cause = Cause.example
  end

  error = cls.new(message)
  error.set_backtrace(backtrace)

  if cause
    begin
      begin
        raise cause
      rescue cause.class
        raise error
      end
    rescue cls
    end
  end

  error
end
message() click to toggle source
# File lib/test_bench/fixture/controls/error.rb, line 36
def self.message
  'Some error'
end