diff options
author | Mehmet Emin İNAÇ <mehmetemininac@gmail.com> | 2016-02-14 01:59:11 +0200 |
---|---|---|
committer | Mehmet Emin İNAÇ <mehmetemininac@gmail.com> | 2016-03-08 14:56:00 +0200 |
commit | 0784dccc4fb8322ad88717efb31d37553542532b (patch) | |
tree | d6d72c74331ffa52ecae79acb13967683bcd0ffe /activerecord/test/cases/scoping | |
parent | a61bf5f5b63780a3e0b4c2d4339967df82b370de (diff) | |
download | rails-0784dccc4fb8322ad88717efb31d37553542532b.tar.gz rails-0784dccc4fb8322ad88717efb31d37553542532b.tar.bz2 rails-0784dccc4fb8322ad88717efb31d37553542532b.zip |
Execute default_scope defined by abstract class within the scope of subclass
Diffstat (limited to 'activerecord/test/cases/scoping')
-rw-r--r-- | activerecord/test/cases/scoping/default_scoping_test.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/scoping/default_scoping_test.rb b/activerecord/test/cases/scoping/default_scoping_test.rb index c918cbdef5..dcd09b6973 100644 --- a/activerecord/test/cases/scoping/default_scoping_test.rb +++ b/activerecord/test/cases/scoping/default_scoping_test.rb @@ -4,6 +4,7 @@ require 'models/comment' require 'models/developer' require 'models/computer' require 'models/vehicle' +require 'models/cat' class DefaultScopingTest < ActiveRecord::TestCase fixtures :developers, :posts, :comments @@ -485,4 +486,15 @@ class DefaultScopingTest < ActiveRecord::TestCase assert_equal 1, SubConditionalStiPost.all.to_a.size assert_equal 2, SubConditionalStiPost.unscope(where: :title).to_a.size end + + def test_with_abstract_class_scope_should_be_executed_in_correct_context + vegetarian_pattern, gender_pattern = if current_adapter?(:Mysql2Adapter) + [/`lions`.`is_vegetarian`/, /`lions`.`gender`/] + else + [/"lions"."is_vegetarian"/, /"lions"."gender"/] + end + + assert_match vegetarian_pattern, Lion.all.to_sql + assert_match gender_pattern, Lion.female.to_sql + end end |