aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorJuanjo Bazán <jjbazan@gmail.com>2012-01-30 21:36:47 +0100
committerJuanjo Bazán <jjbazan@gmail.com>2012-01-31 19:50:09 +0100
commit8270e4a8ce8337fca98030953922e5992b06a3dd (patch)
treeb7a1c68c6fe36a18c88e92363f648b609091ee5f /activerecord/test
parentbb842e8d2111e50b21a14b8bd6d89371a4b9cd68 (diff)
downloadrails-8270e4a8ce8337fca98030953922e5992b06a3dd.tar.gz
rails-8270e4a8ce8337fca98030953922e5992b06a3dd.tar.bz2
rails-8270e4a8ce8337fca98030953922e5992b06a3dd.zip
Added `none` query method to return zero records.
And added NullRelation class implementing the null object pattern for the `Relation` class.
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/relations_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index 5e19465253..0471d03f3b 100644
--- a/activerecord/test/cases/relations_test.rb
+++ b/activerecord/test/cases/relations_test.rb
@@ -215,6 +215,19 @@ class RelationTest < ActiveRecord::TestCase
assert_equal [2, 4, 6, 8, 10], even_ids.sort
end
+ def test_none
+ assert_no_queries do
+ assert_equal [], Developer.none
+ assert_equal [], Developer.scoped.none
+ end
+ end
+
+ def test_none_chainable
+ assert_no_queries do
+ assert_equal [], Developer.none.where(:name => 'David')
+ end
+ end
+
def test_joins_with_nil_argument
assert_nothing_raised { DependentFirm.joins(nil).first }
end