diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-json.c b/jerry-core/ecma/builtin-objects/ecma-builtin-json.c index 36f5656cf7..6efb467f30 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-json.c +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-json.c @@ -1590,8 +1590,7 @@ ecma_builtin_json_object (ecma_object_t *obj_p, /**< the object*/ JERRY_ASSERT (ecma_is_property_enumerable (property)); - if (ECMA_PROPERTY_GET_TYPE (property) == ECMA_PROPERTY_TYPE_NAMEDDATA - || ECMA_PROPERTY_GET_TYPE (property) == ECMA_PROPERTY_TYPE_VIRTUAL) + if (ECMA_PROPERTY_GET_TYPE (property) != ECMA_PROPERTY_TYPE_SPECIAL) { ecma_append_to_values_collection (property_keys_p, *ecma_value_p, 0); } diff --git a/tests/jerry/es2015/object-assign.js b/tests/jerry/es2015/object-assign.js index 27c7406f36..f4fc0055c3 100644 --- a/tests/jerry/es2015/object-assign.js +++ b/tests/jerry/es2015/object-assign.js @@ -146,7 +146,7 @@ function completeAssign (target, sources) { } var copy = completeAssign ({}, [obj]); -assert (JSON.stringify (copy) === '{"foo":1}'); +assert (JSON.stringify (copy) === '{"foo":1,"bar":2}'); assert (copy.bar === 2); // Test when target is not coercible to object