mirror of https://github.com/mifi/lossless-cut
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1.6 KiB
JavaScript
26 lines
1.6 KiB
JavaScript
import { formatDuration, parseDuration } from './duration';
|
|
|
|
it('should format duration properly', () => {
|
|
expect(formatDuration({ seconds: 1.5, fps: 30 })).toBe('00:00:01.15');
|
|
expect(formatDuration({ seconds: 1.5, fps: 30, shorten: true })).toBe('0:01.15');
|
|
expect(formatDuration({ seconds: 1.5, fps: 30, fileNameFriendly: true })).toBe('00.00.01.15');
|
|
expect(formatDuration({ seconds: -1.5, fps: 30 })).toBe('-00:00:01.15');
|
|
expect(formatDuration({ seconds: 101.5 })).toBe('00:01:41.500');
|
|
expect(formatDuration({ seconds: 101.5, shorten: true })).toBe('1:41.500');
|
|
expect(formatDuration({ seconds: 10000 })).toBe('02:46:40.000');
|
|
expect(formatDuration({ seconds: 10000, shorten: true })).toBe('2:46:40');
|
|
expect(formatDuration({ seconds: 10000.5, shorten: true })).toBe('2:46:40.500');
|
|
expect(formatDuration({ seconds: 101.5, showMs: false })).toBe('00:01:41');
|
|
expect(formatDuration({ seconds: 101.5, showMs: false, shorten: true })).toBe('1:41');
|
|
});
|
|
|
|
it('shoud format and parse duration with correct rounding', () => {
|
|
expect(formatDuration({ seconds: parseDuration('00:00:15.426') })).toBe('00:00:15.426');
|
|
expect(formatDuration({ seconds: parseDuration('00:00:15.427') })).toBe('00:00:15.427');
|
|
expect(formatDuration({ seconds: parseDuration('00:00:00.000') })).toBe('00:00:00.000');
|
|
expect(formatDuration({ seconds: parseDuration('00:00:00.001') })).toBe('00:00:00.001');
|
|
expect(formatDuration({ seconds: parseDuration('00:00:01.000') })).toBe('00:00:01.000');
|
|
expect(formatDuration({ seconds: parseDuration('00:00:01.001') })).toBe('00:00:01.001');
|
|
expect(formatDuration({ seconds: parseDuration('24:59:59.999') })).toBe('24:59:59.999');
|
|
});
|