mirror of
https://github.com/weaveworks/scope.git
synced 2026-02-14 18:09:59 +00:00
51 lines
1.7 KiB
JavaScript
51 lines
1.7 KiB
JavaScript
import moment from 'moment';
|
|
|
|
|
|
describe('StringUtils', () => {
|
|
const StringUtils = require('../string-utils');
|
|
|
|
describe('formatMetric', () => {
|
|
const f = StringUtils.formatMetric;
|
|
|
|
it('it should render 0', () => {
|
|
expect(f(0)).toBe('0.00');
|
|
});
|
|
});
|
|
|
|
describe('longestCommonPrefix', () => {
|
|
const f = StringUtils.longestCommonPrefix;
|
|
|
|
it('it should return the longest common prefix', () => {
|
|
expect(f(['interspecies', 'interstellar'])).toBe('inters');
|
|
expect(f(['space', 'space'])).toBe('space');
|
|
expect(f([''])).toBe('');
|
|
expect(f(['prefix', 'suffix'])).toBe('');
|
|
});
|
|
});
|
|
|
|
describe('ipToPaddedString', () => {
|
|
const f = StringUtils.ipToPaddedString;
|
|
|
|
it('it should return the formatted IP', () => {
|
|
expect(f('10.244.253.4')).toBe('010.244.253.004');
|
|
expect(f('0.24.3.4')).toBe('000.024.003.004');
|
|
});
|
|
});
|
|
|
|
describe('humanizedRoundedDownDuration', () => {
|
|
const f = StringUtils.humanizedRoundedDownDuration;
|
|
|
|
it('it should return the humanized duration', () => {
|
|
expect(f(moment.duration(0))).toBe('now');
|
|
expect(f(moment.duration(0.9 * 1000))).toBe('now');
|
|
expect(f(moment.duration(1 * 1000))).toBe('1 second');
|
|
expect(f(moment.duration(8.62 * 60 * 1000))).toBe('8 minutes');
|
|
expect(f(moment.duration(14.99 * 60 * 60 * 1000))).toBe('14 hours');
|
|
expect(f(moment.duration(5.2 * 24 * 60 * 60 * 1000))).toBe('5 days');
|
|
expect(f(moment.duration(11.8 * 30 * 24 * 60 * 60 * 1000))).toBe('11 months');
|
|
expect(f(moment.duration(12.8 * 30 * 24 * 60 * 60 * 1000))).toBe('1 year');
|
|
expect(f(moment.duration(9.4 * 12 * 30 * 24 * 60 * 60 * 1000))).toBe('9 years');
|
|
});
|
|
});
|
|
});
|