aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2017-06-18 23:44:40 +0930
committerGitHub <noreply@github.com>2017-06-18 23:44:40 +0930
commitb37aa68ff637c4ce1cfd9f6eaec659bc98a1e1b5 (patch)
treea55cb02fe685009d2ce7d7be4f843e7b8fbc08a9 /activerecord/test/cases
parentfb1110119cbf084a1423324ca53f94682e4217bd (diff)
parentbd4f28a46dc3cafd00aabd7c7e6540b3d48593b2 (diff)
downloadrails-b37aa68ff637c4ce1cfd9f6eaec659bc98a1e1b5.tar.gz
rails-b37aa68ff637c4ce1cfd9f6eaec659bc98a1e1b5.tar.bz2
rails-b37aa68ff637c4ce1cfd9f6eaec659bc98a1e1b5.zip
Merge pull request #29491 from kamipo/add_test_case_for_28754
Add a test case for #28754
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/json_shared_test_cases.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/activerecord/test/cases/json_shared_test_cases.rb b/activerecord/test/cases/json_shared_test_cases.rb
index 5aa41b9d6d..9a1c1c3f3f 100644
--- a/activerecord/test/cases/json_shared_test_cases.rb
+++ b/activerecord/test/cases/json_shared_test_cases.rb
@@ -169,6 +169,25 @@ module JSONSharedTestCases
assert_not json.changed?
end
+ def test_changes_in_place_ignores_key_order
+ json = klass.new
+ assert_not json.changed?
+
+ json.payload = { "three" => "four", "one" => "two" }
+ json.save!
+ json.reload
+
+ json.payload = { "three" => "four", "one" => "two" }
+ assert_not json.changed?
+
+ json.payload = [{ "three" => "four", "one" => "two" }, { "seven" => "eight", "five" => "six" }]
+ json.save!
+ json.reload
+
+ json.payload = [{ "three" => "four", "one" => "two" }, { "seven" => "eight", "five" => "six" }]
+ assert_not json.changed?
+ end
+
def test_changes_in_place_with_ruby_object
time = Time.now.utc
json = klass.create!(payload: time)