Skip to content

Commit

Permalink
Function.prototype[@@hasInstance] should not throw error for not call…
Browse files Browse the repository at this point in the history
…able this value (#3773)

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
  • Loading branch information
rerobika authored May 22, 2020
1 parent 876622a commit 6cd309b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,13 @@ ecma_builtin_function_prototype_dispatch_routine (uint16_t builtin_routine_id, /
{
if (!ecma_op_is_callable (this_arg))
{
#if ENABLED (JERRY_ES2015)
if (JERRY_UNLIKELY (builtin_routine_id == ECMA_FUNCTION_PROTOTYPE_SYMBOL_HAS_INSTANCE))
{
return ECMA_VALUE_FALSE;
}
#endif /* ENABLED (JERRY_ES2015) */

return ecma_raise_type_error (ECMA_ERR_MSG ("Argument 'this' is not a function."));
}

Expand Down
3 changes: 1 addition & 2 deletions tests/test262-es6-excludelist.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8" ?>
<excludeList>
<test id="annexB/B.2.2.1.1.js"><reason></reason></test>
<test id="annexB/B.2.2.1.2.js"><reason></reason></test>
Expand Down Expand Up @@ -68,7 +68,6 @@
<test id="built-ins/Function/prototype/bind/instance-name-non-string.js"><reason></reason></test>
<test id="built-ins/Function/prototype/name.js"><reason></reason></test>
<test id="built-ins/Function/prototype/Symbol.hasInstance/name.js"><reason></reason></test>
<test id="built-ins/Function/prototype/Symbol.hasInstance/this-val-not-callable.js"><reason></reason></test>
<test id="built-ins/Function/prototype/Symbol.hasInstance/this-val-poisoned-prototype.js"><reason></reason></test>
<test id="built-ins/Function/StrictFunction_restricted-properties.js"><reason></reason></test>
<test id="built-ins/GeneratorFunction/instance-name.js"><reason></reason></test>
Expand Down

0 comments on commit 6cd309b

Please sign in to comment.