class RaiseExceptionMatcher
Public Class Methods
new(exception, message, &block)
click to toggle source
# File lib/mspec/matchers/raise_exception.rb, line 2 def initialize(exception, message, &block) @exception = exception @message = message @block = block end
Public Instance Methods
failure_message()
click to toggle source
# File lib/mspec/matchers/raise_exception.rb, line 27 def failure_message message = ["Expected #{@exception}#{%[ (#{@message})] if @message}"] if @actual then message << "but got #{@actual.class}#{%[ (#{@actual.message})] if @actual.message}" else message << "but no exception was raised (#@result was returned)" end message end
matches?(proc)
click to toggle source
# File lib/mspec/matchers/raise_exception.rb, line 8 def matches?(proc) @result = proc.call return false rescue Object => @actual return false unless @actual.instance_of? @exception if @message then case @message when String then return false if @message != @actual.message when Regexp then return false if @message !~ @actual.message end end @block[@actual] if @block return true end
negative_failure_message()
click to toggle source
# File lib/mspec/matchers/raise_exception.rb, line 39 def negative_failure_message message = ["Expected to not get #{@exception}#{%[ (#{@message})] if @message}", ""] message[1] = "but got #{@actual.class}#{%[ (#{@actual.message})] if @actual.message}" unless @actual.class == @exception message end