mirror of https://github.com/tc39/test262.git
26 lines
1.0 KiB
JavaScript
26 lines
1.0 KiB
JavaScript
|
// Copyright (C) 2021 Igalia, S.L. All rights reserved.
|
||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||
|
|
||
|
/*---
|
||
|
esid: sec-temporal.plaindate.compare
|
||
|
description: TypeError thrown if timeZone.getOffsetNanosecondsFor is not callable
|
||
|
features: [BigInt, Symbol, Temporal, arrow-function]
|
||
|
---*/
|
||
|
|
||
|
[undefined, null, true, Math.PI, 'string', Symbol('sym'), 42n, {}].forEach((notCallable) => {
|
||
|
const timeZone = new Temporal.TimeZone("UTC");
|
||
|
const datetime = new Temporal.ZonedDateTime(1_000_000_000_987_654_321n, timeZone);
|
||
|
const date = new Temporal.PlainDate(2000, 5, 2);
|
||
|
timeZone.getOffsetNanosecondsFor = notCallable;
|
||
|
assert.throws(
|
||
|
TypeError,
|
||
|
() => Temporal.PlainDate.compare(datetime, date),
|
||
|
`Uncallable ${typeof notCallable} ${notCallable} getOffsetNanosecondsFor should throw TypeError`
|
||
|
);
|
||
|
assert.throws(
|
||
|
TypeError,
|
||
|
() => Temporal.PlainDate.compare(date, datetime),
|
||
|
`Uncallable ${typeof notCallable} ${notCallable} getOffsetNanosecondsFor should throw TypeError`
|
||
|
);
|
||
|
});
|