Skip to content

Commit 3136827

Browse files
author
Dániel Bátyai
committed
Fix Symbol to Object comparision
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
1 parent 3c723c9 commit 3136827

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

jerry-core/ecma/operations/ecma-comparison.c

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,22 @@ ecma_op_abstract_equality_compare (ecma_value_t x, /**< first operand */
203203
#if ENABLED (JERRY_ESNEXT)
204204
if (JERRY_UNLIKELY (ecma_is_value_symbol (x)))
205205
{
206-
return ECMA_VALUE_FALSE;
206+
if (!ecma_is_value_object (y))
207+
{
208+
return ECMA_VALUE_FALSE;
209+
}
210+
211+
ecma_object_t *obj_p = ecma_get_object_from_value (y);
212+
ecma_value_t def_value = ecma_op_object_default_value (obj_p, ECMA_PREFERRED_TYPE_NO);
213+
214+
if (ECMA_IS_VALUE_ERROR (def_value))
215+
{
216+
return def_value;
217+
}
218+
219+
ecma_free_value (def_value);
220+
221+
return ecma_make_boolean_value (x == def_value);
207222
}
208223
#endif /* ENABLED (JERRY_ESNEXT) */
209224

tests/test262-es6-excludelist.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@
277277
<test id="language/expressions/compound-assignment/S11.13.2_A7.7_T4.js"><reason></reason></test>
278278
<test id="language/expressions/compound-assignment/S11.13.2_A7.8_T4.js"><reason></reason></test>
279279
<test id="language/expressions/compound-assignment/S11.13.2_A7.9_T4.js"><reason></reason></test>
280-
<test id="language/expressions/equals/coerce-symbol-to-prim-return-prim.js"><reason></reason></test>
281280
<test id="language/expressions/generators/has-instance.js"><reason></reason></test>
282281
<test id="language/expressions/generators/prototype-value.js"><reason></reason></test>
283282
<test id="language/expressions/object/method-definition/generator-invoke-ctor.js"><reason>ES2016 change: Generator methods isn't constructor - https://github.com/tc39/ecma262/pull/171 </reason></test>

tests/test262-esnext-excludelist.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3645,7 +3645,6 @@
36453645
<test id="language/expressions/dynamic-import/usage/top-level-import-then-is-call-expression-square-brackets.js"><reason></reason></test>
36463646
<test id="language/expressions/dynamic-import/usage/top-level-import-then-returns-thenable.js"><reason></reason></test>
36473647
<test id="language/expressions/dynamic-import/usage/top-level-import-then-specifier-tostring.js"><reason></reason></test>
3648-
<test id="language/expressions/equals/coerce-symbol-to-prim-return-prim.js"><reason></reason></test>
36493648
<test id="language/expressions/function/arguments-with-arguments-fn.js"><reason></reason></test>
36503649
<test id="language/expressions/function/arguments-with-arguments-lex.js"><reason></reason></test>
36513650
<test id="language/expressions/function/dflt-params-trailing-comma.js"><reason></reason></test>

0 commit comments

Comments
 (0)