mirror of
https://github.com/tc39/test262.git
synced 2025-08-14 14:38:27 +02:00
52 lines
2.2 KiB
JavaScript
52 lines
2.2 KiB
JavaScript
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: sec-temporal.zoneddatetime
|
|
description: >
|
|
Test construction and properties of an instance with non-UTC time zone and
|
|
non-ISO8601 calendar
|
|
includes: [temporalHelpers.js]
|
|
features: [Temporal, BigInt]
|
|
---*/
|
|
|
|
var epochMillis = Date.UTC(1976, 10, 18, 15, 23, 30, 123);
|
|
var epochNanos = BigInt(epochMillis) * 1000000n + 456789n;
|
|
|
|
const instance = new Temporal.ZonedDateTime(epochNanos, "Europe/Vienna", "gregory");
|
|
assert(instance instanceof Temporal.ZonedDateTime, "instanceof is correct");
|
|
assert.sameValue(typeof instance, "object", "typeof is correct");
|
|
|
|
assert.sameValue(
|
|
TemporalHelpers.canonicalizeCalendarEra(instance.calendarId, instance.era),
|
|
TemporalHelpers.canonicalizeCalendarEra(instance.calendarId, "ce"),
|
|
"era"
|
|
);
|
|
assert.sameValue(instance.eraYear, 1976, "eraYear");
|
|
assert.sameValue(instance.year, 1976, "year");
|
|
assert.sameValue(instance.month, 11, "month");
|
|
assert.sameValue(instance.monthCode, "M11", "monthCode");
|
|
assert.sameValue(instance.day, 18, "day");
|
|
assert.sameValue(instance.hour, 16, "hour");
|
|
assert.sameValue(instance.minute, 23, "minute");
|
|
assert.sameValue(instance.second, 30, "second");
|
|
assert.sameValue(instance.millisecond, 123, "millisecond");
|
|
assert.sameValue(instance.microsecond, 456, "microsecond");
|
|
assert.sameValue(instance.nanosecond, 789, "nanosecond");
|
|
|
|
assert.sameValue(instance.epochMilliseconds, 217178610123, "epochMilliseconds");
|
|
assert.sameValue(instance.epochNanoseconds, 217178610123456789n, "epochNanoseconds");
|
|
|
|
assert.sameValue(instance.dayOfWeek, 4, "dayOfWeek");
|
|
assert.sameValue(instance.dayOfYear, 323, "dayOfYear");
|
|
assert.sameValue(instance.weekOfYear, undefined, "weekOfYear");
|
|
assert.sameValue(instance.yearOfWeek, undefined, "yearOfWeek");
|
|
assert.sameValue(instance.daysInWeek, 7, "daysInWeek");
|
|
assert.sameValue(instance.daysInMonth, 30, "daysInMonth");
|
|
assert.sameValue(instance.daysInYear, 366, "daysInYear");
|
|
assert.sameValue(instance.monthsInYear, 12, "monthsInYear");
|
|
assert.sameValue(instance.inLeapYear, true, "inLeapYear");
|
|
|
|
assert.sameValue(instance.offset, "+01:00", "offset");
|
|
assert.sameValue(instance.offsetNanoseconds, 3600e9, "offsetNanoseconds");
|