From a4743960a09139c3bd4d72a8f3a72ade8f4add2f Mon Sep 17 00:00:00 2001 From: Mike Mangino Date: Thu, 28 Mar 2013 11:19:01 -0400 Subject: Raise an exception when unserialization fails due to a missing class --- activerecord/test/cases/coders/yaml_column_test.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'activerecord/test/cases/coders/yaml_column_test.rb') diff --git a/activerecord/test/cases/coders/yaml_column_test.rb b/activerecord/test/cases/coders/yaml_column_test.rb index b874adc081..45e986c7b6 100644 --- a/activerecord/test/cases/coders/yaml_column_test.rb +++ b/activerecord/test/cases/coders/yaml_column_test.rb @@ -48,6 +48,14 @@ module ActiveRecord bad_yaml = '--- {' assert_equal bad_yaml, coder.load(bad_yaml) end + + def test_load_doesnt_handle_undefined_class_or_module + coder = YAMLColumn.new + missing_class_yaml = '--- !ruby/object:DoesNotExistAndShouldntEver {}\n' + assert_raises(ArgumentError) do + coder.load(missing_class_yaml) + end + end end end end -- cgit v1.2.3 From 1bf6b53aa4de9267dcca42382d841cf96e98b55f Mon Sep 17 00:00:00 2001 From: Mike Mangino Date: Tue, 2 Apr 2013 11:45:14 -0400 Subject: Remove all error masking when decoding serialized data fails? --- activerecord/test/cases/coders/yaml_column_test.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'activerecord/test/cases/coders/yaml_column_test.rb') diff --git a/activerecord/test/cases/coders/yaml_column_test.rb b/activerecord/test/cases/coders/yaml_column_test.rb index 45e986c7b6..b72c54f97b 100644 --- a/activerecord/test/cases/coders/yaml_column_test.rb +++ b/activerecord/test/cases/coders/yaml_column_test.rb @@ -43,10 +43,12 @@ module ActiveRecord assert_equal [], coder.load([]) end - def test_load_swallows_yaml_exceptions + def test_load_doesnt_swallow_yaml_exceptions coder = YAMLColumn.new bad_yaml = '--- {' - assert_equal bad_yaml, coder.load(bad_yaml) + assert_raises(Psych::SyntaxError) do + coder.load(bad_yaml) + end end def test_load_doesnt_handle_undefined_class_or_module -- cgit v1.2.3