From 89c9ff8d8b70bb5b0bc56576be94f27f87996bbe Mon Sep 17 00:00:00 2001 From: Jan Berdajs Date: Wed, 5 Jun 2013 19:53:17 +0200 Subject: add test for 9041454def79d8e61cabe49e7c5cb72cef29138b --- .../cases/attribute_methods/serialization_test.rb | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 activerecord/test/cases/attribute_methods/serialization_test.rb (limited to 'activerecord/test/cases/attribute_methods/serialization_test.rb') diff --git a/activerecord/test/cases/attribute_methods/serialization_test.rb b/activerecord/test/cases/attribute_methods/serialization_test.rb new file mode 100644 index 0000000000..8ce6192096 --- /dev/null +++ b/activerecord/test/cases/attribute_methods/serialization_test.rb @@ -0,0 +1,28 @@ +require "cases/helper" + +module ActiveRecord + module AttributeMethods + class SerializationTest < ActiveSupport::TestCase + class FakeColumn < Struct.new(:name) + def type; :integer; end + def type_cast(s); "#{s}!"; end + end + + def test_type_cast_serialized_value + value = stub(state: :serialized, value: "Hello world") + value.expects(:unserialized_value).with("Hello world!") + + type = Serialization::Type.new(FakeColumn.new) + type.type_cast(value) + end + + def test_type_cast_unserialized_value + value = stub(state: :unserialized, value: "Hello world") + value.expects(:unserialized_value).with() + + type = Serialization::Type.new(FakeColumn.new) + type.type_cast(value) + end + end + end +end -- cgit v1.2.3 From e086ff563569f72a156fe105cc47767ad376cc3f Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 17 Jun 2013 10:50:11 -0700 Subject: just construct real objects rather than mock and stub --- .../test/cases/attribute_methods/serialization_test.rb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'activerecord/test/cases/attribute_methods/serialization_test.rb') diff --git a/activerecord/test/cases/attribute_methods/serialization_test.rb b/activerecord/test/cases/attribute_methods/serialization_test.rb index 8ce6192096..75de773961 100644 --- a/activerecord/test/cases/attribute_methods/serialization_test.rb +++ b/activerecord/test/cases/attribute_methods/serialization_test.rb @@ -8,20 +8,21 @@ module ActiveRecord def type_cast(s); "#{s}!"; end end - def test_type_cast_serialized_value - value = stub(state: :serialized, value: "Hello world") - value.expects(:unserialized_value).with("Hello world!") + class NullCoder + def load(v); v; end + end + def test_type_cast_serialized_value + value = Serialization::Attribute.new(NullCoder.new, "Hello world", :serialized) type = Serialization::Type.new(FakeColumn.new) - type.type_cast(value) + assert_equal "Hello world!", type.type_cast(value) end def test_type_cast_unserialized_value - value = stub(state: :unserialized, value: "Hello world") - value.expects(:unserialized_value).with() - + value = Serialization::Attribute.new(nil, "Hello world", :unserialized) type = Serialization::Type.new(FakeColumn.new) type.type_cast(value) + assert_equal "Hello world", type.type_cast(value) end end end -- cgit v1.2.3