mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-12 19:52:51 +00:00
102 lines
2.3 KiB
TypeScript
102 lines
2.3 KiB
TypeScript
import type { ResultDir } from '@alilc/lowcode-types';
|
|
import _ from 'lodash';
|
|
import CodeGen from '../../../src';
|
|
|
|
const loadResult = (): ResultDir => _.cloneDeep(require('./example-result.json'));
|
|
|
|
describe('CodeGen.utils.resultHelper.removeDirsFromResult', () => {
|
|
it('could remove src by "src"', () => {
|
|
const result = loadResult();
|
|
expect(listAllDirs(result)).toMatchInlineSnapshot(`
|
|
Array [
|
|
"",
|
|
"src",
|
|
"src/components",
|
|
"src/components/Hello",
|
|
]
|
|
`);
|
|
|
|
const removed = CodeGen.utils.resultHelper.removeDirsFromResult(result, 'src');
|
|
|
|
expect(listAllDirs(result)).toMatchInlineSnapshot(`
|
|
Array [
|
|
"",
|
|
]
|
|
`);
|
|
|
|
expect(removed).toBe(1);
|
|
});
|
|
|
|
it('could remove src/components/Hello by "*/components/*"', () => {
|
|
const result = loadResult();
|
|
expect(listAllDirs(result)).toMatchInlineSnapshot(`
|
|
Array [
|
|
"",
|
|
"src",
|
|
"src/components",
|
|
"src/components/Hello",
|
|
]
|
|
`);
|
|
|
|
const removed = CodeGen.utils.resultHelper.removeDirsFromResult(result, '*/components/*');
|
|
|
|
expect(listAllDirs(result)).toMatchInlineSnapshot(`
|
|
Array [
|
|
"",
|
|
"src",
|
|
"src/components",
|
|
]
|
|
`);
|
|
|
|
expect(removed).toBe(1);
|
|
});
|
|
|
|
it('could remove all dirs by "*"', () => {
|
|
const result = loadResult();
|
|
expect(listAllDirs(result)).toMatchInlineSnapshot(`
|
|
Array [
|
|
"",
|
|
"src",
|
|
"src/components",
|
|
"src/components/Hello",
|
|
]
|
|
`);
|
|
|
|
const removed = CodeGen.utils.resultHelper.removeDirsFromResult(result, '*');
|
|
|
|
expect(listAllDirs(result)).toMatchInlineSnapshot(`
|
|
Array [
|
|
"",
|
|
]
|
|
`);
|
|
|
|
expect(removed).toBe(1);
|
|
});
|
|
|
|
it('could remove all dirs by "**"', () => {
|
|
const result = loadResult();
|
|
expect(listAllDirs(result)).toMatchInlineSnapshot(`
|
|
Array [
|
|
"",
|
|
"src",
|
|
"src/components",
|
|
"src/components/Hello",
|
|
]
|
|
`);
|
|
|
|
const removed = CodeGen.utils.resultHelper.removeDirsFromResult(result, '**');
|
|
|
|
expect(listAllDirs(result)).toMatchInlineSnapshot(`
|
|
Array [
|
|
"",
|
|
]
|
|
`);
|
|
|
|
expect(removed).toBe(3);
|
|
});
|
|
});
|
|
|
|
function listAllDirs(result: ResultDir): string[] {
|
|
return Array.from(CodeGen.utils.resultHelper.scanDirs(result)).map(([dirPath]) => dirPath);
|
|
}
|