mirror of
https://github.com/navidrome/navidrome.git
synced 2025-08-10 00:52:20 +00:00
34 lines
1.0 KiB
JavaScript
34 lines
1.0 KiB
JavaScript
import { formatBytes, formatDuration } from './formatters'
|
|
|
|
describe('formatBytes', () => {
|
|
it('format bytes', () => {
|
|
expect(formatBytes(0)).toEqual('0 Bytes')
|
|
expect(formatBytes(1000)).toEqual('1000 Bytes')
|
|
expect(formatBytes(1024)).toEqual('1 KB')
|
|
expect(formatBytes(1024 * 1024)).toEqual('1 MB')
|
|
expect(formatBytes(1024 * 1024 * 1024)).toEqual('1 GB')
|
|
expect(formatBytes(1024 * 1024 * 1024 * 1024)).toEqual('1 TB')
|
|
})
|
|
})
|
|
|
|
const day = 86400
|
|
const hour = 3600
|
|
const minute = 60
|
|
|
|
describe('formatDuration', () => {
|
|
it('formats seconds', () => {
|
|
expect(formatDuration(0)).toEqual('00:00')
|
|
expect(formatDuration(59)).toEqual('00:59')
|
|
expect(formatDuration(59.99)).toEqual('01:00')
|
|
})
|
|
|
|
it('formats days, hours and minutes', () => {
|
|
expect(formatDuration(hour + minute + 1)).toEqual('01:01:01')
|
|
expect(formatDuration(3 * day + 3 * hour + 7 * minute)).toEqual(
|
|
'3:03:07:00'
|
|
)
|
|
expect(formatDuration(day)).toEqual('1:00:00:00')
|
|
expect(formatDuration(day + minute + 0.6)).toEqual('1:00:01:01')
|
|
})
|
|
})
|