Skip to content

Commit

Permalink
Improve unit tests
Browse files Browse the repository at this point in the history
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
  • Loading branch information
florian-h05 committed Dec 2, 2023
1 parent c2972d2 commit d90abe2
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions test/time.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const time = require('../time');
const { ZonedDateTime } = require('@js-joda/core');
const { ZonedDateTime, ZoneId } = require('@js-joda/core');

jest.mock('../items', () => ({
Item: new Object() // eslint-disable-line no-new-object
Expand Down Expand Up @@ -67,13 +67,9 @@ describe('time.js', () => {
});
});

describe('parses ISO DateTime with zone offset and/or time/zone', () => {
describe('parses ISO DateTime with zone offset and time zone', () => {
it.each([
['YYYY-MM-DDThh:mm:ss.f+HH:mm[SYSTEM]', '2016-03-18T12:38:23.561+01:00[SYSTEM]'],
['YYYY-MM-DDThh:mm:ss.f+HH:mm', '2016-03-18T12:38:23.561+01:00'],
['YYYY-MM-DDThh:mm:ss.f-HH:mm', '2016-03-18T12:38:23.56-04:30'],
['YYYY-MM-DDThh:mm:ss.f+HHmm', '2016-03-18T12:38:23.561+0100'],
['YYYY-MM-DDThh:mm:ss.f-HHmm', '2016-03-18T12:38:23.561-0430'],
['YYYY-MM-DDThh:mm:ssZ', '2022-12-24T18:30:35Z'],
['YYYY-MM-DDThh:mm:ss+HH:mm[timezone]', '2017-02-04T17:01:15.846+01:00[Europe/Paris]'],
['YYYY-MM-DDThh:mm:ss+HH:mm[timezone]', '2016-03-18T06:38:23.561-05:00[UTC-05:00]']
Expand All @@ -82,6 +78,19 @@ describe('time.js', () => {
});
});

describe('parses ISO DateTime with zone offset and without time zone and defaults to SYSTEM time zone', () => {
it.each([
['YYYY-MM-DDThh:mm:ss.f+HH:mm', '2016-03-18T12:38:23.561+01:00'],
['YYYY-MM-DDThh:mm:ss.f-HH:mm', '2016-03-18T12:38:23.56-04:30'],
['YYYY-MM-DDThh:mm:ss.f+HHmm', '2016-03-18T12:38:23.561+0100'],
['YYYY-MM-DDThh:mm:ss.f-HHmm', '2016-03-18T12:38:23.561-0430']
])('accepts correct pattern %s', (pattern, isoStr) => {
const zdt = parseISO8601(isoStr);
expect(zdt).toBeInstanceOf(ZonedDateTime);
expect(zdt.zone()).toBe(ZoneId.SYSTEM);
});
});

describe('rejects wrong ISO pattern', () => {
it.each([
['hh:mm:ss,f', '18:00:00,4654'],
Expand Down

0 comments on commit d90abe2

Please sign in to comment.