mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2026-05-15 04:54:12 +00:00
71 lines
2.9 KiB
TypeScript
71 lines
2.9 KiB
TypeScript
/*
|
|
* Tencent is pleased to support the open source community by making TMagicEditor available.
|
|
*
|
|
* Copyright (C) 2025 Tencent.
|
|
*/
|
|
import { describe, expect, test } from 'vitest';
|
|
|
|
import { defaultEditorProps } from '@editor/editorProps';
|
|
|
|
describe('defaultEditorProps', () => {
|
|
test('提供 RenderType 与基础布尔默认值', () => {
|
|
expect(defaultEditorProps.disabledMultiSelect).toBe(false);
|
|
expect(defaultEditorProps.alwaysMultiSelect).toBe(false);
|
|
expect(defaultEditorProps.disabledPageFragment).toBe(false);
|
|
expect(defaultEditorProps.disabledStageOverlay).toBe(false);
|
|
expect(defaultEditorProps.disabledShowSrc).toBe(false);
|
|
expect(defaultEditorProps.disabledDataSource).toBe(false);
|
|
expect(defaultEditorProps.disabledCodeBlock).toBe(false);
|
|
});
|
|
|
|
test('containerHighlight 默认值', () => {
|
|
expect(defaultEditorProps.containerHighlightDuration).toBe(800);
|
|
expect(typeof defaultEditorProps.containerHighlightClassName).toBe('string');
|
|
});
|
|
|
|
test('数组/对象工厂函数返回空值', () => {
|
|
expect(defaultEditorProps.componentGroupList()).toEqual([]);
|
|
expect(defaultEditorProps.datasourceList()).toEqual([]);
|
|
expect(defaultEditorProps.layerContentMenu()).toEqual([]);
|
|
expect(defaultEditorProps.stageContentMenu()).toEqual([]);
|
|
expect(defaultEditorProps.menu()).toEqual({ left: [], right: [] });
|
|
expect(defaultEditorProps.propsConfigs()).toEqual({});
|
|
expect(defaultEditorProps.propsValues()).toEqual({});
|
|
expect(defaultEditorProps.eventMethodList()).toEqual({});
|
|
expect(defaultEditorProps.datasourceValues()).toEqual({});
|
|
expect(defaultEditorProps.datasourceConfigs()).toEqual({});
|
|
expect(defaultEditorProps.codeOptions()).toEqual({});
|
|
});
|
|
|
|
test('canSelect - 元素含 tmagic-id 且不是 page fragment 容器时可选中', () => {
|
|
const div = document.createElement('div');
|
|
div.dataset.tmagicId = 'a';
|
|
expect(defaultEditorProps.canSelect(div)).toBe(true);
|
|
});
|
|
|
|
test('canSelect - 缺少 id 不可选中', () => {
|
|
const div = document.createElement('div');
|
|
expect(defaultEditorProps.canSelect(div)).toBe(false);
|
|
});
|
|
|
|
test('canSelect - 是 page fragment 容器不可选中', () => {
|
|
const div = document.createElement('div');
|
|
div.dataset.tmagicId = 'a';
|
|
div.dataset.tmagicPageFragmentContainerId = 'p';
|
|
expect(defaultEditorProps.canSelect(div)).toBe(false);
|
|
});
|
|
|
|
test('isContainer - magic-ui-container className', () => {
|
|
const div = document.createElement('div');
|
|
div.classList.add('magic-ui-container');
|
|
expect(defaultEditorProps.isContainer(div)).toBe(true);
|
|
const div2 = document.createElement('div');
|
|
expect(defaultEditorProps.isContainer(div2)).toBe(false);
|
|
});
|
|
|
|
test('customContentMenu 直接返回原 menus', () => {
|
|
const menus = [{ id: 'a' }] as any;
|
|
expect(defaultEditorProps.customContentMenu(menus)).toBe(menus);
|
|
});
|
|
});
|