aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel/test')
-rw-r--r--activemodel/test/cases/validations_test.rb11
-rw-r--r--activemodel/test/models/book.rb3
2 files changed, 14 insertions, 0 deletions
diff --git a/activemodel/test/cases/validations_test.rb b/activemodel/test/cases/validations_test.rb
index 56c9a5592c..d000a88ce1 100644
--- a/activemodel/test/cases/validations_test.rb
+++ b/activemodel/test/cases/validations_test.rb
@@ -5,6 +5,7 @@ require 'models/topic'
require 'models/reply'
require 'models/custom_reader'
require 'models/automobile'
+require 'models/book'
require 'active_support/json'
require 'active_support/xml_mini'
@@ -354,4 +355,14 @@ class ValidationsTest < ActiveModel::TestCase
assert topic.invalid?
assert duped.valid?
end
+
+ def test_dup_call_parent_dup_when_include_validations
+ book = Book.new
+ book['title'] = "Litterature"
+ book['author'] = "Foo"
+ duped = book.dup
+
+ assert_equal book.keys, duped.keys
+ assert_equal book.values, duped.values
+ end
end
diff --git a/activemodel/test/models/book.rb b/activemodel/test/models/book.rb
new file mode 100644
index 0000000000..c5c19046c8
--- /dev/null
+++ b/activemodel/test/models/book.rb
@@ -0,0 +1,3 @@
+class Book < Hash
+ include ActiveModel::Validations
+end