test262/test/intl402/NumberFormat/constructor-no-instanceof.js

24 lines
901 B
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright (C) 2021 Igalia S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-intl-numberformat-constructor
description: >
Tests that the Intl.NumberFormat constructor calls
OrdinaryHasInstance instead of the instanceof operator which includes a
Symbol.hasInstance lookup and call among other things.
info: >
ChainNumberFormat ( numberFormat, newTarget, this )
1. If newTarget is undefined and ? OrdinaryHasInstance(%NumberFormat%, this) is true, then
a. Perform ? DefinePropertyOrThrow(this, %Intl%.[[FallbackSymbol]], PropertyDescriptor{
[[Value]]: numberFormat, [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: false }).
b. Return this.
---*/
Object.defineProperty(Intl.NumberFormat, Symbol.hasInstance, {
get() { throw new Test262Error(); }
});
Intl.NumberFormat();