diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-02-06 17:50:45 -0200 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-02-06 17:53:06 -0200 |
commit | b71e08f8ba0447971553452a00917d00020edd35 (patch) | |
tree | 9cbd1f697da46c6f33dacefe85849ddd1aaadaf9 /activerecord/test/cases | |
parent | e26fa7b9216443c4dfcb887694afbefa70a9e450 (diff) | |
download | rails-b71e08f8ba0447971553452a00917d00020edd35.tar.gz rails-b71e08f8ba0447971553452a00917d00020edd35.tar.bz2 rails-b71e08f8ba0447971553452a00917d00020edd35.zip |
Raise ArgumentError when passing nil to Relation#merge
nil or false should not be valid argument to the merge method.
Closes #12264
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/relation_test.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/cases/relation_test.rb b/activerecord/test/cases/relation_test.rb index 194faa9473..c9c05b75a6 100644 --- a/activerecord/test/cases/relation_test.rb +++ b/activerecord/test/cases/relation_test.rb @@ -168,6 +168,22 @@ module ActiveRecord assert_raises(ArgumentError) { Relation::HashMerger.new(nil, omg: 'lol') } end + test 'merging nil or false raises' do + relation = Relation.new(FakeKlass, :b, nil) + + e = assert_raises(ArgumentError) do + relation = relation.merge nil + end + + assert_equal 'invalid argument: nil.', e.message + + e = assert_raises(ArgumentError) do + relation = relation.merge false + end + + assert_equal 'invalid argument: false.', e.message + end + test '#values returns a dup of the values' do relation = Relation.new(FakeKlass, :b, nil).where! :foo values = relation.values |