mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-02-28 21:20:28 +00:00
1. rax 出码合并 2. code style 修复 注:合并的代码中带了 datasource 的 Link: https://code.aone.alibaba-inc.com/ali-lowcode/ali-lowcode-engine/codereview/3717159 * Merge branch 'feat/rax-code-generator' of gitlab.alibaba-inc.com:ali-lowcode/ali-lowcode-engine into feat/rax-code-generator # Conflicts: # packages/code-generator/src/generator/ProjectBuilder.ts # packages/code-generator/src/parser/SchemaParser.ts # packages/code-generator/src/plugins/component/rax/jsx.ts # packages/code-generator/src/plugins/project/constants.ts # packages/code-generator/src/plugins/project/framework/rax/plugins/packageJSON.ts # packages/code-generator/src/plugins/project/i18n.ts # packages/code-generator/src/publisher/disk/index.ts # packages/code-generator/src/publisher/disk/utils.ts # packages/code-generator/src/types/core.ts # packages/code-generator/src/types/schema.ts # packages/code-generator/src/utils/compositeType.ts # packages/code-generator/src/utils/nodeToJSX.ts * refactor: code-generator * Merge remote-tracking branch 'origin/refactor/code-style' into refactor/code-style-code-generator # Conflicts: # .vscode/launch.json
51 lines
1.9 KiB
TypeScript
51 lines
1.9 KiB
TypeScript
import test from 'ava';
|
|
import type { ExecutionContext, Macro } from 'ava';
|
|
import { calcCompatibleVersion } from '../../src/utils/version';
|
|
|
|
const NO_COMPATIBLE_VERSIONS = /no compatible versions/;
|
|
|
|
const testCalcCompatibleVersion: Macro<any[]> = (
|
|
t: ExecutionContext<Record<string, unknown>>,
|
|
input: [string | null | undefined, string | null | undefined],
|
|
expected: string,
|
|
error?: { message: RegExp },
|
|
) => {
|
|
if (!error) {
|
|
t.is(calcCompatibleVersion(input[0], input[1]), expected);
|
|
t.is(calcCompatibleVersion(input[1], input[0]), expected); // 应该满足交换律
|
|
} else {
|
|
t.throws(() => {
|
|
calcCompatibleVersion(input[0], input[1]);
|
|
}, error.message);
|
|
t.throws(() => {
|
|
calcCompatibleVersion(input[1], input[0]); // 应该满足交换律
|
|
}, error.message);
|
|
}
|
|
};
|
|
|
|
testCalcCompatibleVersion.title = (providedTitle: string | undefined, ...args: any[]): string => {
|
|
const [input, expected] = args;
|
|
return `calc compatible versions "${input[0]}" & "${input[1]}" should be "${expected}"`;
|
|
};
|
|
|
|
test(testCalcCompatibleVersion, ['*', '*'], '*');
|
|
test(testCalcCompatibleVersion, ['1.0.0', '1.0.0'], '1.0.0');
|
|
test(testCalcCompatibleVersion, ['^1.0.0', '^1.0.0'], '^1.0.0');
|
|
|
|
test(testCalcCompatibleVersion, ['*', undefined], '*');
|
|
|
|
test(testCalcCompatibleVersion, [undefined, undefined], '*');
|
|
|
|
test(testCalcCompatibleVersion, ['^1.0.0', undefined], '^1.0.0');
|
|
|
|
test(testCalcCompatibleVersion, ['*', '^1.0.0'], '^1.0.0');
|
|
test(testCalcCompatibleVersion, ['^1.0.0', '^1.0.2'], '^1.0.2');
|
|
test(testCalcCompatibleVersion, ['^1.2.0', '^1.1.2'], '^1.2.0');
|
|
test(testCalcCompatibleVersion, ['^1.0.0', '1.0.2'], '1.0.2');
|
|
|
|
test(testCalcCompatibleVersion, ['^0.2.0', '^0.1.2'], 'error', { message: NO_COMPATIBLE_VERSIONS });
|
|
|
|
test(testCalcCompatibleVersion, ['>0.2.0', '^0.1.2'], 'error', { message: NO_COMPATIBLE_VERSIONS });
|
|
|
|
test(testCalcCompatibleVersion, ['1.0.1', '1.0.2'], 'error', { message: NO_COMPATIBLE_VERSIONS });
|