blob: c588f86b0e5aac5fae14c68c767b222560fe8bba [file] [log] [blame]
// Copyright (C) 2022 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-temporal.instant.from
description: Basic functionality of Temporal.Instant.from
features: [Temporal]
---*/
const baseValue = 217_178_580_000_000_000n;
let instant = Temporal.Instant.from("1976-11-18T15:23Z");
assert.sameValue(
instant.epochNanoseconds,
baseValue,
"ISO string with UTC designator and minutes precision"
);
instant = Temporal.Instant.from("1976-11-18T15:23:30Z");
assert.sameValue(
instant.epochNanoseconds,
baseValue + 30_000_000_000n,
"ISO string with UTC designator and seconds precision"
);
instant = Temporal.Instant.from("1976-11-18T15:23:30.123Z");
assert.sameValue(
instant.epochNanoseconds,
baseValue + 30_123_000_000n,
"ISO string with UTC designator and milliseconds precision"
);
instant = Temporal.Instant.from("1976-11-18T15:23:30.123456Z");
assert.sameValue(
instant.epochNanoseconds,
baseValue + 30_123_456_000n,
"ISO string with UTC designator and microseconds precision"
);
instant = Temporal.Instant.from("1976-11-18T15:23:30.123456789Z");
assert.sameValue(
instant.epochNanoseconds,
baseValue + 30_123_456_789n,
"ISO string with UTC designator and nanoseconds precision"
);
instant = Temporal.Instant.from("1976-11-18T15:23-01:00");
assert.sameValue(
instant.epochNanoseconds,
baseValue + 3600_000_000_000n,
"ISO string with negative UTC offset"
);
instant = Temporal.Instant.from("1976-11-18T15:23+01:00");
assert.sameValue(
instant.epochNanoseconds,
baseValue - 3600_000_000_000n,
"ISO string with positive UTC offset"
);