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

24 lines
917 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-datetimeformat-constructor
description: >
Tests that the Intl.DateTimeFormat constructor calls
OrdinaryHasInstance instead of the instanceof operator which includes a
Symbol.hasInstance lookup and call among other things.
info: >
ChainDateTimeFormat ( dateTimeFormat, newTarget, this )
1. If newTarget is undefined and ? OrdinaryHasInstance(%DateTimeFormat%, this) is true, then
a. Perform ? DefinePropertyOrThrow(this, %Intl%.[[FallbackSymbol]], PropertyDescriptor{
[[Value]]: dateTimeFormat, [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: false }).
b. Return this.
---*/
Object.defineProperty(Intl.DateTimeFormat, Symbol.hasInstance, {
get() { throw new Test262Error(); }
});
Intl.DateTimeFormat();