aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/scoping/named_scoping_test.rb
diff options
context:
space:
mode:
authorJefferson Lai <jefflai2@gmail.com>2014-02-10 03:00:05 -0800
committerJefferson Lai <jefflai2@gmail.com>2014-04-23 17:21:45 -0700
commit9c3afdc327132c7f1f4d05eebc0c05b715442e7d (patch)
tree9c85b61fc019ee4c5a91fa4cf02bf39fd81fe008 /activerecord/test/cases/scoping/named_scoping_test.rb
parent9ed0cf51b467907810ef3959c8e9cdf77370370e (diff)
downloadrails-9c3afdc327132c7f1f4d05eebc0c05b715442e7d.tar.gz
rails-9c3afdc327132c7f1f4d05eebc0c05b715442e7d.tar.bz2
rails-9c3afdc327132c7f1f4d05eebc0c05b715442e7d.zip
Fixes Issue #13466.
Changed the call to a scope block to be evaluated with instance_eval. The result is that ScopeRegistry can use the actual class instead of base_class when caching scopes so queries made by classes with a common ancestor won't leak scopes.
Diffstat (limited to 'activerecord/test/cases/scoping/named_scoping_test.rb')
-rw-r--r--activerecord/test/cases/scoping/named_scoping_test.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/test/cases/scoping/named_scoping_test.rb b/activerecord/test/cases/scoping/named_scoping_test.rb
index f0ad9ebb8a..f66b76a7ad 100644
--- a/activerecord/test/cases/scoping/named_scoping_test.rb
+++ b/activerecord/test/cases/scoping/named_scoping_test.rb
@@ -2,12 +2,13 @@ require "cases/helper"
require 'models/post'
require 'models/topic'
require 'models/comment'
+require 'models/rating'
require 'models/reply'
require 'models/author'
require 'models/developer'
class NamedScopingTest < ActiveRecord::TestCase
- fixtures :posts, :authors, :topics, :comments, :author_addresses
+ fixtures :posts, :authors, :topics, :comments, :author_addresses, :ratings
def test_implements_enumerable
assert !Topic.all.empty?
@@ -115,6 +116,10 @@ class NamedScopingTest < ActiveRecord::TestCase
assert_equal 1,SpecialPost.containing_the_letter_a.count
end
+ def test_scope_subquery_with_STI
+ assert_nothing_raised { VerySpecialComment.special_parent(SpecialRating.first).count }
+ end
+
def test_has_many_through_associations_have_access_to_scopes
assert_not_equal Comment.containing_the_letter_e, authors(:david).comments
assert !Comment.containing_the_letter_e.empty?