aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-06-28 17:15:01 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-06-28 17:15:01 +0000
commitc92ecb82b816df530b43f7334e1ad80beeac3f4c (patch)
tree662d838f07953d194608cf2052cbbbaecaf5ea4f /activerecord/test
parentd763f08ba81f0e3e4aac9c09f0342a2a53254211 (diff)
downloadrails-c92ecb82b816df530b43f7334e1ad80beeac3f4c.tar.gz
rails-c92ecb82b816df530b43f7334e1ad80beeac3f4c.tar.bz2
rails-c92ecb82b816df530b43f7334e1ad80beeac3f4c.zip
Fixed that multiparameter posts ignored attr_protected #1532 [alec+rails@veryclever.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1550 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test')
-rwxr-xr-xactiverecord/test/base_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/base_test.rb b/activerecord/test/base_test.rb
index b2df346dec..1c5702741e 100755
--- a/activerecord/test/base_test.rb
+++ b/activerecord/test/base_test.rb
@@ -33,6 +33,10 @@ end
class Booleantest < ActiveRecord::Base; end
+class Task < ActiveRecord::Base
+ attr_protected :starting
+end
+
class BasicsTest < Test::Unit::TestCase
fixtures :topics, :companies, :developers, :projects, :computers
@@ -542,6 +546,15 @@ class BasicsTest < Test::Unit::TestCase
assert_equal Time.local(2004, 6, 24, 16, 24, 0), topic.written_on
end
+ def test_multiparameter_mass_assignment_protector
+ task = Task.new
+ time = Time.mktime(0)
+ task.starting = time
+ attributes = { "starting(1i)" => "2004", "starting(2i)" => "6", "starting(3i)" => "24" }
+ task.attributes = attributes
+ assert_equal time, task.starting
+ end
+
def test_attributes_on_dummy_time
# Oracle does not have a TIME datatype.
if ActiveRecord::ConnectionAdapters.const_defined? :OracleAdapter