import {
prettyBytes,
escapeHtml,
formatDuration,
resolveVariableAndFilter
} from '../../src/utils/tpl-builtin';
test('tpl-builtin:prettyBytes', () => {
expect(prettyBytes(1024)).toEqual('1.02 kB');
expect(prettyBytes(1024000)).toEqual('1.02 MB');
});
test('tpl-builtin:escapeHtml', () => {
expect(escapeHtml('
Hello&world
')).toEqual('<div id="1">Hello&world</div>');
});
test('tpl-builtin:formatDuration', () => {
expect(formatDuration(1)).toEqual('1秒');
expect(formatDuration(61)).toEqual('1分1秒');
expect(formatDuration(233233)).toEqual('3天17时47分13秒');
})
test('tpl-bultin:resolveVariableAndFilter', () => {
const data = {
a: 1,
b: '2',
c: {
'1': 'first',
'2': 'second'
}
};
expect(resolveVariableAndFilter('${a}', data, '| raw')).toEqual(1);
expect(resolveVariableAndFilter('${b}', data, '| raw')).toEqual('2');
expect(resolveVariableAndFilter('${c.${a}}', data, '| raw')).toEqual('first');
expect(resolveVariableAndFilter('${c.${b}}', data, '| raw')).toEqual('second');
});