aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/attribute_test.rb
diff options
context:
space:
mode:
authorSean Griffin <sean@seantheprogrammer.com>2016-06-02 11:06:01 -0400
committerSean Griffin <sean@seantheprogrammer.com>2016-06-02 11:06:01 -0400
commit1b8a7b8293e0ff944eb9a5ed84a17b51a87be696 (patch)
treeec550f772fe55320b178b1245b9ff966974db8f7 /activerecord/test/cases/attribute_test.rb
parent7b75ca100de247a40c78da89e28f4d71e0635b95 (diff)
downloadrails-1b8a7b8293e0ff944eb9a5ed84a17b51a87be696.tar.gz
rails-1b8a7b8293e0ff944eb9a5ed84a17b51a87be696.tar.bz2
rails-1b8a7b8293e0ff944eb9a5ed84a17b51a87be696.zip
Fix failing tests
Currently CI is broken due to 56a61e0 and c4cb686. This occurred because the failures are not present on SQLite which is what I normally run locally before pushing. The optimizations to our YAML size were dropping mutations, as `with_type` didn't set the previous value if it'd already been read (that method was never really designed to be used with values on individual objects, it was previously only used for defaults). I'm questioning whether there's a better place to be handling the exclusion of the type, but this will fix the failing build. Additionally, there was a bug in `remove_foreign_key` if you passed it an options hash containing `to_table`. This now occurs whenever removing a reference, as we always normalize to a hash. [Sean Griffin & Ryuta Kamizono]
Diffstat (limited to 'activerecord/test/cases/attribute_test.rb')
-rw-r--r--activerecord/test/cases/attribute_test.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/activerecord/test/cases/attribute_test.rb b/activerecord/test/cases/attribute_test.rb
index a24a4fc6a4..b1b8639696 100644
--- a/activerecord/test/cases/attribute_test.rb
+++ b/activerecord/test/cases/attribute_test.rb
@@ -242,5 +242,12 @@ module ActiveRecord
attribute.with_value_from_user(1)
end
end
+
+ test "with_type preserves mutations" do
+ attribute = Attribute.from_database(:foo, "", Type::Value.new)
+ attribute.value << "1"
+
+ assert_equal 1, attribute.with_type(Type::Integer.new).value
+ end
end
end