From c40111c346b91dcf05a2d1b2b7d46525f045989e Mon Sep 17 00:00:00 2001 From: Guillermo Iguaran Date: Sun, 18 Aug 2013 02:36:41 -0500 Subject: Refactor serialization test for hash order --- .../test/cases/serializers/json_serialization_test.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/activemodel/test/cases/serializers/json_serialization_test.rb b/activemodel/test/cases/serializers/json_serialization_test.rb index 8eb7a58e90..00a636e633 100644 --- a/activemodel/test/cases/serializers/json_serialization_test.rb +++ b/activemodel/test/cases/serializers/json_serialization_test.rb @@ -155,16 +155,15 @@ class JsonSerializationTest < ActiveModel::TestCase end end - test "as_json should keep the default order in the hash" do + test "as_json should keep the default order in the hash according to used engine" do json = @contact.as_json - attributes_order = %w(name age created_at awesome preferences) - #Order on JRUBY is different - if defined? JRUBY_VERSION - attributes_order = %w(age name created_at awesome preferences) + # Check for original order only on MRI and sort for other implementations + if RUBY_ENGINE == 'ruby' + assert_equal %w(name age created_at awesome preferences), json.keys + else + assert_equal %w(age awesome created_at name preferences), json.keys.sort end - - assert_equal attributes_order, json.keys end test "from_json should work without a root (class attribute)" do -- cgit v1.2.3