aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorHiroshige Umino <hiroshige88@gmail.com>2013-02-26 11:32:04 +0900
committerSteve Klabnik <steve@steveklabnik.com>2013-02-26 11:08:50 -0800
commit55a1765942bc3d78ba5d449b5daf17a3c902e57c (patch)
tree561d698527541a063492720678322e72e93e4f10 /activerecord/test
parentc90e24d08782d583286ccb21cc15f60fa9ed8367 (diff)
downloadrails-55a1765942bc3d78ba5d449b5daf17a3c902e57c.tar.gz
rails-55a1765942bc3d78ba5d449b5daf17a3c902e57c.tar.bz2
rails-55a1765942bc3d78ba5d449b5daf17a3c902e57c.zip
Do not override attributes on `dup` by default scopes
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/dup_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/test/cases/dup_test.rb b/activerecord/test/cases/dup_test.rb
index b2a3cb5733..17a02f139a 100644
--- a/activerecord/test/cases/dup_test.rb
+++ b/activerecord/test/cases/dup_test.rb
@@ -113,5 +113,14 @@ module ActiveRecord
assert topic.invalid?
assert duped.valid?
end
+
+ def test_dup_with_default_scope
+ prev_default_scopes = Topic.default_scopes
+ Topic.default_scopes = [Topic.where(:approved => true)]
+ topic = Topic.new(:approved => false)
+ assert !topic.dup.approved?, "should not be overriden by default scopes"
+ ensure
+ Topic.default_scopes = prev_default_scopes
+ end
end
end