修复 resolveVariable 嵌套用法问题并补充用率
This commit is contained in:
parent
a98ee4264b
commit
51322fda9f
|
@ -1,7 +1,8 @@
|
||||||
import {
|
import {
|
||||||
prettyBytes,
|
prettyBytes,
|
||||||
escapeHtml,
|
escapeHtml,
|
||||||
formatDuration
|
formatDuration,
|
||||||
|
resolveVariableAndFilter
|
||||||
} from '../../src/utils/tpl-builtin';
|
} from '../../src/utils/tpl-builtin';
|
||||||
|
|
||||||
test('tpl-builtin:prettyBytes', () => {
|
test('tpl-builtin:prettyBytes', () => {
|
||||||
|
@ -18,5 +19,20 @@ test('tpl-builtin:formatDuration', () => {
|
||||||
expect(formatDuration(1)).toEqual('1秒');
|
expect(formatDuration(1)).toEqual('1秒');
|
||||||
expect(formatDuration(61)).toEqual('1分1秒');
|
expect(formatDuration(61)).toEqual('1分1秒');
|
||||||
expect(formatDuration(233233)).toEqual('3天17时47分13秒');
|
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');
|
||||||
|
});
|
|
@ -312,7 +312,7 @@ export const resolveVariableAndFilter = (
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
const m = /^(\\)?\$(?:([a-z0-9_.]+)|{([^}{]+)})$/i.exec(path);
|
const m = /^(\\)?\$(?:([a-z0-9_.]+)|{([\s\S]+)})$/i.exec(path);
|
||||||
|
|
||||||
if (!m) {
|
if (!m) {
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
Loading…
Reference in New Issue