tor-browser

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

instant-string-sub-minute-offset.js (2825B)


      1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally
      2 // Copyright (C) 2022 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.instant.from
      7 description: Temporal.Instant string with sub-minute offset
      8 features: [Temporal]
      9 ---*/
     10 
     11 const str = "1970-01-01T00:19:32.37+00:19:32.37";
     12 const result = Temporal.Instant.from(str);
     13 assert.sameValue(result.epochNanoseconds, 0n, "if present, sub-minute offset is accepted exactly");
     14 
     15 [
     16  "2021-08-19T17:30-07:00:01[-07:00:01]",
     17  "2021-08-19T17:30-07:00:00[-07:00:00]",
     18  "2021-08-19T17:30-07:00:00.1[-07:00:00.1]",
     19  "2021-08-19T17:30-07:00:00.0[-07:00:00.0]",
     20  "2021-08-19T17:30-07:00:00.01[-07:00:00.01]",
     21  "2021-08-19T17:30-07:00:00.00[-07:00:00.00]",
     22  "2021-08-19T17:30-07:00:00.001[-07:00:00.001]",
     23  "2021-08-19T17:30-07:00:00.000[-07:00:00.000]",
     24  "2021-08-19T17:30-07:00:00.0001[-07:00:00.0001]",
     25  "2021-08-19T17:30-07:00:00.0000[-07:00:00.0000]",
     26  "2021-08-19T17:30-07:00:00.00001[-07:00:00.00001]",
     27  "2021-08-19T17:30-07:00:00.00000[-07:00:00.00000]",
     28  "2021-08-19T17:30-07:00:00.000001[-07:00:00.000001]",
     29  "2021-08-19T17:30-07:00:00.000000[-07:00:00.000000]",
     30  "2021-08-19T17:30-07:00:00.0000001[-07:00:00.0000001]",
     31  "2021-08-19T17:30-07:00:00.0000000[-07:00:00.0000000]",
     32  "2021-08-19T17:30-07:00:00.00000001[-07:00:00.00000001]",
     33  "2021-08-19T17:30-07:00:00.00000000[-07:00:00.00000000]",
     34  "2021-08-19T17:30-07:00:00.000000001[-07:00:00.000000001]",
     35  "2021-08-19T17:30-07:00:00.000000000[-07:00:00.000000000]",
     36 
     37  "2021-08-19T17:30-07:00:01[-070001]",
     38  "2021-08-19T17:30-07:00:00[-070000]",
     39  "2021-08-19T17:30-07:00:00.1[-070000.1]",
     40  "2021-08-19T17:30-07:00:00.0[-070000.0]",
     41  "2021-08-19T17:30-07:00:00.01[-070000.01]",
     42  "2021-08-19T17:30-07:00:00.00[-070000.00]",
     43  "2021-08-19T17:30-07:00:00.001[-070000.001]",
     44  "2021-08-19T17:30-07:00:00.000[-070000.000]",
     45  "2021-08-19T17:30-07:00:00.0001[-070000.0001]",
     46  "2021-08-19T17:30-07:00:00.0000[-070000.0000]",
     47  "2021-08-19T17:30-07:00:00.00001[-070000.00001]",
     48  "2021-08-19T17:30-07:00:00.00000[-070000.00000]",
     49  "2021-08-19T17:30-07:00:00.000001[-070000.000001]",
     50  "2021-08-19T17:30-07:00:00.000000[-070000.000000]",
     51  "2021-08-19T17:30-07:00:00.0000001[-070000.0000001]",
     52  "2021-08-19T17:30-07:00:00.0000000[-070000.0000000]",
     53  "2021-08-19T17:30-07:00:00.00000001[-070000.00000001]",
     54  "2021-08-19T17:30-07:00:00.00000000[-070000.00000000]",
     55  "2021-08-19T17:30-07:00:00.000000001[-070000.000000001]",
     56  "2021-08-19T17:30-07:00:00.000000000[-070000.000000000]"
     57 ].forEach((str) => {
     58  assert.throws(
     59    RangeError,
     60    () => Temporal.Instant.from(str),
     61    `ISO strings cannot have sub-minute offsets in time zone annotations: ${str}`
     62  );
     63 });
     64 
     65 reportCompare(0, 0);