mirror of https://github.com/tc39/test262.git
46 lines
918 B
JavaScript
46 lines
918 B
JavaScript
// Copyright (C) 2020 Igalia, S.L. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: sec-temporal.timezone.from
|
|
description: RangeError thrown if a value is passed that converts to an invalid string
|
|
features: [Temporal]
|
|
---*/
|
|
|
|
class CustomTimeZone extends Temporal.TimeZone {}
|
|
|
|
const primitives = [
|
|
undefined,
|
|
null,
|
|
true,
|
|
"string",
|
|
"local",
|
|
"Z",
|
|
"-00:00[UTC]",
|
|
"+00:01.1",
|
|
"-01.1",
|
|
"1994-11-05T08:15:30+25:00",
|
|
"1994-11-05T13:15:30-25:00",
|
|
7,
|
|
4.2,
|
|
12n,
|
|
];
|
|
|
|
const thisValues = [
|
|
Temporal.TimeZone,
|
|
CustomTimeZone,
|
|
{},
|
|
null,
|
|
undefined,
|
|
7,
|
|
];
|
|
|
|
for (const thisValue of thisValues) {
|
|
for (const primitive of primitives) {
|
|
assert.throws(RangeError, () => Temporal.TimeZone.from.call(thisValue, primitive));
|
|
}
|
|
|
|
const symbol = Symbol();
|
|
assert.throws(TypeError, () => Temporal.TimeZone.from.call(thisValue, symbol));
|
|
}
|