aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/relations_test.rb
diff options
context:
space:
mode:
authorGonçalo Silva <goncalossilva@gmail.com>2011-04-03 02:02:35 +0100
committerGonçalo Silva <goncalossilva@gmail.com>2011-04-03 02:02:35 +0100
commit5b2b513742ad909ede8956d6021c0bc521c08ddf (patch)
tree31c1367a433772f9630d034148d005fac95d3051 /activerecord/test/cases/relations_test.rb
parent677ce63d92b7725b0a11facddc1ba95f50f865df (diff)
parent99da42c29944beed0cb9e892ae90bfeb2590c57e (diff)
downloadrails-5b2b513742ad909ede8956d6021c0bc521c08ddf.tar.gz
rails-5b2b513742ad909ede8956d6021c0bc521c08ddf.tar.bz2
rails-5b2b513742ad909ede8956d6021c0bc521c08ddf.zip
Merge branch 'master' of https://github.com/rails/rails into performance_test
Diffstat (limited to 'activerecord/test/cases/relations_test.rb')
-rw-r--r--activerecord/test/cases/relations_test.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index 2304c20a5f..fc9df8c7a3 100644
--- a/activerecord/test/cases/relations_test.rb
+++ b/activerecord/test/cases/relations_test.rb
@@ -672,6 +672,34 @@ class RelationTest < ActiveRecord::TestCase
assert_no_queries { assert_equal 9, best_posts.size }
end
+ def test_size_with_limit
+ posts = Post.limit(10)
+
+ assert_queries(1) { assert_equal 10, posts.size }
+ assert ! posts.loaded?
+
+ best_posts = posts.where(:comments_count => 0)
+ best_posts.to_a # force load
+ assert_no_queries { assert_equal 9, best_posts.size }
+ end
+
+ def test_size_with_zero_limit
+ posts = Post.limit(0)
+
+ assert_no_queries { assert_equal 0, posts.size }
+ assert ! posts.loaded?
+
+ posts.to_a # force load
+ assert_no_queries { assert_equal 0, posts.size }
+ end
+
+ def test_empty_with_zero_limit
+ posts = Post.limit(0)
+
+ assert_no_queries { assert_equal true, posts.empty? }
+ assert ! posts.loaded?
+ end
+
def test_count_complex_chained_relations
posts = Post.select('comments_count').where('id is not null').group("author_id").where("comments_count > 0")