From 4ff626cac901b41f86646dab1939d2a95b2d26bd Mon Sep 17 00:00:00 2001 From: Pavel Pravosud Date: Sat, 5 Sep 2015 17:48:15 -0700 Subject: Make ActiveRecordException descendants args optional This change allows to instantiate all ActiveRecordError descendant execption classes without arguments, which might be useful in testing and is far less surprising than mandatory arguments. --- activerecord/test/cases/errors_test.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 activerecord/test/cases/errors_test.rb (limited to 'activerecord/test') diff --git a/activerecord/test/cases/errors_test.rb b/activerecord/test/cases/errors_test.rb new file mode 100644 index 0000000000..0711a372f2 --- /dev/null +++ b/activerecord/test/cases/errors_test.rb @@ -0,0 +1,16 @@ +require_relative "../cases/helper" + +class ErrorsTest < ActiveRecord::TestCase + def test_can_be_instantiated_with_no_args + base = ActiveRecord::ActiveRecordError + error_klasses = ObjectSpace.each_object(Class).select { |klass| klass < base } + + error_klasses.each do |error_klass| + begin + error_klass.new.inspect + rescue ArgumentError + raise "Instance of #{error_klass} can't be initialized with no arguments" + end + end + end +end -- cgit v1.2.3