@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { HumanDuration } from './time';
|
||||
import { HumanDuration, durationToMilliseconds } from './time';
|
||||
import { Duration } from 'luxon';
|
||||
|
||||
describe('time', () => {
|
||||
@@ -33,4 +33,38 @@ describe('time', () => {
|
||||
expect(Duration.fromObject(d).toObject()).toEqual(d);
|
||||
});
|
||||
});
|
||||
|
||||
describe('durationToMilliseconds', () => {
|
||||
it('converts a compound duration to milliseconds', () => {
|
||||
const duration: HumanDuration = {
|
||||
years: 1,
|
||||
months: 1,
|
||||
weeks: 1,
|
||||
days: 1,
|
||||
hours: 1,
|
||||
minutes: 1,
|
||||
seconds: 1,
|
||||
milliseconds: 1,
|
||||
};
|
||||
expect(durationToMilliseconds(duration)).toBe(
|
||||
((((365 + 30 + 7 + 1) * 24 + 1) * 60 + 1) * 60 + 1) * 1000 + 1,
|
||||
);
|
||||
});
|
||||
|
||||
const durations: HumanDuration[] = [
|
||||
{ years: 1 },
|
||||
{ months: 1 },
|
||||
{ weeks: 1 },
|
||||
{ days: 1 },
|
||||
{ hours: 1 },
|
||||
{ minutes: 1 },
|
||||
{ seconds: 1 },
|
||||
{ milliseconds: 1 },
|
||||
];
|
||||
it.each(durations)('computes milliseconds like luxon does, %p', d => {
|
||||
expect(Duration.fromObject(d).as('milliseconds')).toEqual(
|
||||
durationToMilliseconds(d),
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user