_raise(*args, &block)
click to toggle source
def _raise(*args, &block)
block ||= @object
args << @message if @message
assert_nothing_raised(*args, &block)
end
add_assertion()
click to toggle source
def add_assertion
$TEST_SPEC_TESTCASE && $TEST_SPEC_TESTCASE.__send__(:add_assertion)
end
be(*value)
click to toggle source
def be(*value)
case value.size
when 0
self
when 1
if CustomShould === value.first
pass value.first
else
assert_not_same value.first, @object, @message
end
else
Kernel.raise ArgumentError, "should.be needs zero or one argument"
end
end
be_nil()
click to toggle source
def be_nil
warn "Test::Spec::ShouldNot#be_nil is deprecated and will be removed in future versions."
self.nil
end
equal(value)
click to toggle source
def equal(value)
assert_not_equal value, @object, @message
end
match(value)
click to toggle source
def match(value)
assert_no_match value, @object, @message
end
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
def method_missing(name, *args, &block)
return _raise(*args, &block) if name == :raise
if @object.respond_to?("#{name}?")
assert_block("#{name}? expected to be false. #{@message}") {
not @object.__send__("#{name}?", *args)
}
else
if @object.respond_to?(name)
assert_block("#{name} expected to be false. #{@message}") {
not @object.__send__("#{name}", *args)
}
else
super
end
end
end
nil()
click to toggle source
def nil
assert_not_nil @object, @message
end
not(*args)
click to toggle source
def not(*args)
case args.size
when 0
Should.new(@object, @message)
when 1
Should.new(@object, @message).pass(args.first)
else
raise ArgumentError, "#not takes zero or one argument(s)."
end
end
pass(custom)
click to toggle source
def pass(custom)
_wrap_assertion {
begin
assert !custom.matches?(@object), @message || custom.failure_message
end
}
end
satisfy() { |object| ... }
click to toggle source
def satisfy(&block)
assert_block(@message || "not.satisfy block succeded.") {
not yield @object
}
end
throw()
click to toggle source
def throw
assert_nothing_thrown(@message, &@object)
end