Add NumberFormat tests for OrdinaryHasInstance

Add tests to make sure NumberFormat does not call the instanceof
operator and calls OrdinaryHasInstance instead.

Refs: https://github.com/tc39/ecma402/pull/500
This commit is contained in:
Ujjwal Sharma 2021-02-16 17:15:04 +05:30 committed by Rick Waldron
parent 950d097516
commit 76ab0187c0
3 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,16 @@
// 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.prototype.resolvedOptions
description: >
Tests that Intl.NumberFormat.prototype.resolvedOptions calls
OrdinaryHasInstance instead of the instanceof operator which includes a
Symbol.hasInstance lookup and call among other things.
---*/
Object.defineProperty(Intl.NumberFormat, Symbol.hasInstance, {
get() { throw new Test262Error(); }
});
Intl.NumberFormat();

View File

@ -0,0 +1,18 @@
// 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.prototype.resolvedOptions
description: >
Tests that Intl.NumberFormat.prototype.resolvedOptions calls
OrdinaryHasInstance instead of the instanceof operator which includes a
Symbol.hasInstance lookup and call among other things.
---*/
const nf = new Intl.NumberFormat();
Object.defineProperty(Intl.NumberFormat, Symbol.hasInstance, {
get() { throw new Test262Error(); }
});
nf.format;

View File

@ -0,0 +1,18 @@
// 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.prototype.resolvedOptions
description: >
Tests that Intl.NumberFormat.prototype.resolvedOptions calls
OrdinaryHasInstance instead of the instanceof operator which includes a
Symbol.hasInstance lookup and call among other things.
---*/
const nf = new Intl.NumberFormat();
Object.defineProperty(Intl.NumberFormat, Symbol.hasInstance, {
get() { throw new Test262Error(); }
});
nf.resolvedOptions();