test262/test/built-ins/Temporal/TimeZone/from/argument-primitive.js
Philip Chimento 77a34cf93f Add Temporal tests
This copies over the tests that previously existed in the
tc39/proposal-temporal repository.

For context, see thread starting at:
https://github.com/tc39/test262/issues/3002#issuecomment-926234480

In service of https://github.com/tc39/test262/issues/3002
2021-10-01 14:30:12 -04:00

46 lines
932 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",
"-08:00[America/Vancouver]",
"+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));
}