diff --git a/jerry-core/ecma/operations/ecma-container-object.c b/jerry-core/ecma/operations/ecma-container-object.c index 3d5aab9c4..3c60dcb6f 100644 --- a/jerry-core/ecma/operations/ecma-container-object.c +++ b/jerry-core/ecma/operations/ecma-container-object.c @@ -573,7 +573,7 @@ ecma_op_container_delete (ecma_value_t this_arg, /**< this argument */ ecma_deref_ecma_string (prop_name_p); - if (property_p == NULL) + if (property_p == NULL || ecma_is_value_empty (ECMA_PROPERTY_VALUE_PTR (property_p)->value)) { return ECMA_VALUE_FALSE; } diff --git a/tests/jerry/es2015/set.js b/tests/jerry/es2015/set.js index 4c898401d..42477f997 100644 --- a/tests/jerry/es2015/set.js +++ b/tests/jerry/es2015/set.js @@ -87,3 +87,7 @@ assert (set.size === 3); set.clear(); assert(set.size === 0); + +set.add(3); +assert(set.delete(3)); +assert(!set.delete(3));