roymondchen 0724c76689 test: 补齐 schema/form-schema/table 包测试并扩充 utils/stage/core 用例
- schema/form-schema/table 三个此前无测试的包补齐基础用例
- utils 扩充 dom helpers、compiledCond、getDefaultValueFromFields 等边界场景
- stage 补充常量/枚举与 selected class、getTargetElStyle 等工具用例
- core 新增 utils(style2Obj/transformStyle/getTransform)、Env、Store、FlowState、Page 用例

测试文件总数 43 -> 51, 用例数 419 -> 559。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-07 18:54:48 +08:00

83 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2025 Tencent. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { defineFormConfig, defineFormItem } from '../src/index';
describe('defineFormConfig', () => {
test('应该原样返回配置identity 函数)', () => {
const config = [
{
name: 'title',
text: '标题',
type: 'text',
},
];
const result = defineFormConfig(config as any);
expect(result).toBe(config);
});
test('支持空数组', () => {
const result = defineFormConfig([]);
expect(result).toEqual([]);
});
test('保留嵌套结构', () => {
const config = [
{
type: 'tab',
items: [
[
{
name: 'a',
text: 'A',
type: 'text',
},
],
],
},
];
const result = defineFormConfig(config as any);
expect(result).toEqual(config);
});
});
describe('defineFormItem', () => {
test('应该原样返回 item 配置identity 函数)', () => {
const item = {
name: 'title',
text: '标题',
type: 'text',
};
const result = defineFormItem(item as any);
expect(result).toBe(item);
});
test('支持包含函数字段', () => {
const handler = () => 'hello';
const item = {
name: 'foo',
text: 'Foo',
type: 'text',
onChange: handler,
};
const result = defineFormItem(item as any) as any;
expect(result.onChange).toBe(handler);
});
});