tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

construct-non-utc-non-iso.js (2394B)


      1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally
      2 // Copyright (C) 2024 Igalia, S.L. All rights reserved.
      3 // This code is governed by the BSD license found in the LICENSE file.
      4 
      5 /*---
      6 esid: sec-temporal.zoneddatetime
      7 description: >
      8  Test construction and properties of an instance with non-UTC time zone and
      9  non-ISO8601 calendar
     10 includes: [temporalHelpers.js]
     11 features: [Temporal, BigInt]
     12 ---*/
     13 
     14 var epochMillis = Date.UTC(1976, 10, 18, 15, 23, 30, 123);
     15 var epochNanos = BigInt(epochMillis) * 1000000n + 456789n;
     16 
     17 const instance = new Temporal.ZonedDateTime(epochNanos, "Europe/Vienna", "gregory");
     18 assert(instance instanceof Temporal.ZonedDateTime, "instanceof is correct");
     19 assert.sameValue(typeof instance, "object", "typeof is correct");
     20 
     21 assert.sameValue(
     22  TemporalHelpers.canonicalizeCalendarEra(instance.calendarId, instance.era),
     23  TemporalHelpers.canonicalizeCalendarEra(instance.calendarId, "ce"),
     24  "era"
     25 );
     26 assert.sameValue(instance.eraYear, 1976, "eraYear");
     27 assert.sameValue(instance.year, 1976, "year");
     28 assert.sameValue(instance.month, 11, "month");
     29 assert.sameValue(instance.monthCode, "M11", "monthCode");
     30 assert.sameValue(instance.day, 18, "day");
     31 assert.sameValue(instance.hour, 16, "hour");
     32 assert.sameValue(instance.minute, 23, "minute");
     33 assert.sameValue(instance.second, 30, "second");
     34 assert.sameValue(instance.millisecond, 123, "millisecond");
     35 assert.sameValue(instance.microsecond, 456, "microsecond");
     36 assert.sameValue(instance.nanosecond, 789, "nanosecond");
     37 
     38 assert.sameValue(instance.epochMilliseconds, 217178610123, "epochMilliseconds");
     39 assert.sameValue(instance.epochNanoseconds, 217178610123456789n, "epochNanoseconds");
     40 
     41 assert.sameValue(instance.dayOfWeek, 4, "dayOfWeek");
     42 assert.sameValue(instance.dayOfYear, 323, "dayOfYear");
     43 assert.sameValue(instance.weekOfYear, undefined, "weekOfYear");
     44 assert.sameValue(instance.yearOfWeek, undefined, "yearOfWeek");
     45 assert.sameValue(instance.daysInWeek, 7, "daysInWeek");
     46 assert.sameValue(instance.daysInMonth, 30, "daysInMonth");
     47 assert.sameValue(instance.daysInYear, 366, "daysInYear");
     48 assert.sameValue(instance.monthsInYear, 12, "monthsInYear");
     49 assert.sameValue(instance.inLeapYear, true, "inLeapYear");
     50 
     51 assert.sameValue(instance.offset, "+01:00", "offset");
     52 assert.sameValue(instance.offsetNanoseconds, 3600e9, "offsetNanoseconds");
     53 
     54 reportCompare(0, 0);