aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2010-04-05 21:54:39 +0100
committerPratik Naik <pratiknaik@gmail.com>2010-04-05 21:55:24 +0100
commit1f7b4447a9030ccec542ecaa1e5e11e0d4622a84 (patch)
tree8286cf66e11fee73ad22352e803d586e3ab44df6 /activerecord/test/cases
parent72f89b5d971b48a133c4c0af56fbeda35d738dae (diff)
downloadrails-1f7b4447a9030ccec542ecaa1e5e11e0d4622a84.tar.gz
rails-1f7b4447a9030ccec542ecaa1e5e11e0d4622a84.tar.bz2
rails-1f7b4447a9030ccec542ecaa1e5e11e0d4622a84.zip
Memoize association.named_scope calls
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/named_scope_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/test/cases/named_scope_test.rb b/activerecord/test/cases/named_scope_test.rb
index 2396ca10b0..3d5ebb6cb8 100644
--- a/activerecord/test/cases/named_scope_test.rb
+++ b/activerecord/test/cases/named_scope_test.rb
@@ -413,6 +413,15 @@ class NamedScopeTest < ActiveRecord::TestCase
Topic.approved.by_lifo.replied.written_before(Time.now).all
end
end
+
+ def test_named_scopes_are_cached_on_associations
+ post = posts(:welcome)
+
+ assert_equal post.comments.containing_the_letter_e.object_id, post.comments.containing_the_letter_e.object_id
+
+ post.comments.containing_the_letter_e.all # force load
+ assert_no_queries { post.comments.containing_the_letter_e.all }
+ end
end
class DynamicScopeMatchTest < ActiveRecord::TestCase