From f7f42a2d0e7154f30d3f1f6cbedf14fc2c3f5b52 Mon Sep 17 00:00:00 2001 From: lulalala Date: Sun, 17 Mar 2019 10:25:08 +0800 Subject: Fix messages[]= does not override value --- activemodel/test/cases/errors_test.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'activemodel/test') diff --git a/activemodel/test/cases/errors_test.rb b/activemodel/test/cases/errors_test.rb index 513bd163fc..1e4a6ddc00 100644 --- a/activemodel/test/cases/errors_test.rb +++ b/activemodel/test/cases/errors_test.rb @@ -101,6 +101,14 @@ class ErrorsTest < ActiveModel::TestCase end end + test "[]= overrides values" do + errors = ActiveModel::Errors.new(self) + assert_deprecated { errors.messages[:foo] = "omg" } + assert_deprecated { errors.messages[:foo] = "zomg" } + + assert_equal ["zomg"], errors[:foo] + end + test "values returns an empty array after try to get a message only" do errors = ActiveModel::Errors.new(Person.new) errors.messages[:foo] -- cgit v1.2.3