1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activemodel/test/cases/lint_test.rb

50 lines
1.1 KiB
Ruby
Raw Normal View History

2009-08-29 02:49:18 -04:00
require "cases/helper"
class TestLint < Test::Unit::TestCase
class CompliantObject
def to_model
self
end
def valid?() true end
def new_record?() true end
def destroyed?() true end
def errors
obj = Object.new
def obj.[](key) [] end
def obj.full_messages() [] end
obj
end
end
def assert_output(object, failures, errors, *test_names)
ActiveModel::Lint.test(object, 3, output = StringIO.new)
regex = %r{#{failures} failures, #{errors} errors}
assert_match regex, output.string
test_names.each do |test_name|
assert_match test_name, output.string
end
end
def test_valid
assert_output(CompliantObject.new, 0, 0, /test_valid/)
end
def test_new_record
assert_output(CompliantObject.new, 0, 0, /test_new_record?/)
end
def test_destroyed
assert_output(CompliantObject.new, 0, 0, /test_destroyed/)
end
def test_errors_aref
assert_output(CompliantObject.new, 0, 0, /test_errors_aref/)
end
def test_errors_full_messages
assert_output(CompliantObject.new, 0, 0, /test_errors_aref/)
end
end