26 lines
953 B
JavaScript
26 lines
953 B
JavaScript
'use strict';
|
|
|
|
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
const { parseLocalTimestamp, zonedTimeToUtc } = require('../src/time');
|
|
|
|
test('parses winter time in Europe/Brussels', () => {
|
|
const date = parseLocalTimestamp('2026-11-06 19:25:00', 'Europe/Brussels');
|
|
assert.equal(date.toISOString(), '2026-11-06T18:25:00.000Z');
|
|
});
|
|
|
|
test('parses summer time in Europe/Brussels', () => {
|
|
const date = parseLocalTimestamp('2026-07-01 19:25:00', 'Europe/Brussels');
|
|
assert.equal(date.toISOString(), '2026-07-01T17:25:00.000Z');
|
|
});
|
|
|
|
test('zonedTimeToUtc handles UTC', () => {
|
|
const date = zonedTimeToUtc(2026, 11, 6, 19, 25, 0, 'UTC');
|
|
assert.equal(date.toISOString(), '2026-11-06T19:25:00.000Z');
|
|
});
|
|
|
|
test('rejects invalid timestamps', () => {
|
|
assert.equal(parseLocalTimestamp('not-a-date', 'Europe/Brussels'), null);
|
|
assert.equal(parseLocalTimestamp('2026-13-06 19:25:00', 'Europe/Brussels'), null);
|
|
});
|