提交 7212c298 编写于 作者: J Juanjo Bazan 提交者: Xavier Noria

new assertion: assert_blank

Signed-off-by: NXavier Noria <fxn@hashref.com>
上级 772a0226
......@@ -62,6 +62,13 @@ def assert_difference(expression, difference = 1, message = nil, &block)
def assert_no_difference(expression, message = nil, &block)
assert_difference expression, 0, message, &block
end
# Test if an expression is blank. Passes if object.blank? is true.
#
# assert_blank [] # => true
def assert_blank(object)
assert object.blank?, "#{object.inspect} is not blank"
end
end
end
end
......@@ -86,6 +86,34 @@ def default_test; end
end
end
class EmptyTrue
def empty?() true; end
end
class EmptyFalse
def empty?() false; end
end
class AssertBlankTest < ActiveSupport::TestCase
BLANK = [ EmptyTrue.new, nil, false, '', ' ', " \n\t \r ", [], {} ]
NOT_BLANK = [ EmptyFalse.new, Object.new, true, 0, 1, 'j', [nil], { nil => 0 } ]
def test_assert_blank_true
BLANK.each { |v| assert_blank v }
end
def test_assert_blank_false
NOT_BLANK.each { |v|
begin
assert_blank v
fail 'should not get to here'
rescue Exception => e
assert_match(/is not blank/, e.message)
end
}
end
end
# These should always pass
if ActiveSupport::Testing.const_defined?(:Default)
class NotTestingThingsTest < Test::Unit::TestCase
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册