aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/relation_test.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-02-06 17:50:45 -0200
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-02-06 17:53:06 -0200
commitb71e08f8ba0447971553452a00917d00020edd35 (patch)
tree9cbd1f697da46c6f33dacefe85849ddd1aaadaf9 /activerecord/test/cases/relation_test.rb
parente26fa7b9216443c4dfcb887694afbefa70a9e450 (diff)
downloadrails-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/relation_test.rb')
-rw-r--r--activerecord/test/cases/relation_test.rb16
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