diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-06-22 13:59:27 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-06-22 13:59:27 +0200 |
commit | 5686fd0ca1b216883bca44bac06a29bac873de65 (patch) | |
tree | c46036f866960005899eaa33a578e7629ffea79b /activerecord/test | |
parent | ebf552bd2c0ac97c0b2a9943819368a352ce636c (diff) | |
parent | 6d7ac31ddb9b5457177ee6b127624ad7e8cdd9d3 (diff) | |
download | rails-5686fd0ca1b216883bca44bac06a29bac873de65.tar.gz rails-5686fd0ca1b216883bca44bac06a29bac873de65.tar.bz2 rails-5686fd0ca1b216883bca44bac06a29bac873de65.zip |
Merge pull request #15839 from sgrif/sg-attr-set-null
Return a null object from `AttributeSet#[]`
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/attribute_set_test.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/test/cases/attribute_set_test.rb b/activerecord/test/cases/attribute_set_test.rb index e63d278650..402a611efa 100644 --- a/activerecord/test/cases/attribute_set_test.rb +++ b/activerecord/test/cases/attribute_set_test.rb @@ -18,6 +18,14 @@ module ActiveRecord assert_equal 4, attributes[:bar].value end + test "[] returns a null object" do + builder = AttributeSet::Builder.new(foo: Type::Float.new) + attributes = builder.build_from_database(foo: '3.3') + + assert_equal '3.3', attributes[:foo].value_before_type_cast + assert_equal nil, attributes[:bar].value_before_type_cast + end + test "duping creates a new hash and dups each attribute" do builder = AttributeSet::Builder.new(foo: Type::Integer.new, bar: Type::String.new) attributes = builder.build_from_database(foo: 1, bar: 'foo') |