From 3f7f6c529bc73e119e7329a2cd084421bd7fe5f9 Mon Sep 17 00:00:00 2001 From: gene9831 Date: Thu, 3 Sep 2026 16:56:15 +0800 Subject: [PATCH 1/4] test(components): add contract coverage --- docs/src/components/container.md | 4 + packages/components/src/container/index.ts | 15 +- .../components/src/dropdown-menu/index.vue | 82 ++++++++- .../src/history/components/MenuList.vue | 54 +++++- .../history/composables/useRenameEditor.ts | 4 +- packages/components/src/history/index.vue | 59 ++++++- .../test/component/bubble/Bubble.fixture.vue | 65 +++++++ packages/test/component/bubble/Bubble.spec.ts | 58 +++++++ .../component/bubble/BubbleList.fixture.vue | 157 +++++++++++++++++ .../test/component/bubble/BubbleList.spec.ts | 92 ++++++++++ .../bubble/BubbleProvider.fixture.vue | 100 +++++++++++ .../component/bubble/BubbleProvider.spec.ts | 63 +++++++ .../component/bubble/FallbackBoxRenderer.vue | 9 + .../bubble/FallbackContentRenderer.vue | 9 + .../bubble/SecondaryContentRenderer.vue | 9 + .../test/component/bubble/TestBoxRenderer.vue | 9 + .../component/bubble/TestContentRenderer.vue | 29 ++++ .../dropdown-menu/DropdownMenu.fixture.vue | 67 ++++++++ .../dropdown-menu/DropdownMenu.spec.ts | 123 ++++++++++++++ .../ExtensionCard.fixture.vue | 3 +- .../ExtensionCardActionEvent.fixture.vue | 3 +- .../component/history/History.fixture.vue | 111 ++++++++++++ .../test/component/history/History.spec.ts | 160 ++++++++++++++++++ .../theme-provider/ThemeConsumer.vue | 27 +++ .../theme-provider/ThemeProvider.fixture.vue | 64 +++++++ .../theme-provider/ThemeProvider.spec.ts | 123 ++++++++++++++ .../component/welcome/Welcome.fixture.vue | 20 +++ .../test/component/welcome/Welcome.spec.ts | 27 +++ packages/test/package.json | 1 + packages/test/tsconfig.ct.json | 9 + 30 files changed, 1536 insertions(+), 20 deletions(-) create mode 100644 packages/test/component/bubble/Bubble.fixture.vue create mode 100644 packages/test/component/bubble/Bubble.spec.ts create mode 100644 packages/test/component/bubble/BubbleList.fixture.vue create mode 100644 packages/test/component/bubble/BubbleList.spec.ts create mode 100644 packages/test/component/bubble/BubbleProvider.fixture.vue create mode 100644 packages/test/component/bubble/BubbleProvider.spec.ts create mode 100644 packages/test/component/bubble/FallbackBoxRenderer.vue create mode 100644 packages/test/component/bubble/FallbackContentRenderer.vue create mode 100644 packages/test/component/bubble/SecondaryContentRenderer.vue create mode 100644 packages/test/component/bubble/TestBoxRenderer.vue create mode 100644 packages/test/component/bubble/TestContentRenderer.vue create mode 100644 packages/test/component/dropdown-menu/DropdownMenu.fixture.vue create mode 100644 packages/test/component/dropdown-menu/DropdownMenu.spec.ts create mode 100644 packages/test/component/history/History.fixture.vue create mode 100644 packages/test/component/history/History.spec.ts create mode 100644 packages/test/component/theme-provider/ThemeConsumer.vue create mode 100644 packages/test/component/theme-provider/ThemeProvider.fixture.vue create mode 100644 packages/test/component/theme-provider/ThemeProvider.spec.ts create mode 100644 packages/test/component/welcome/Welcome.fixture.vue create mode 100644 packages/test/component/welcome/Welcome.spec.ts create mode 100644 packages/test/tsconfig.ct.json diff --git a/docs/src/components/container.md b/docs/src/components/container.md index d8eb8566c..6c8acf482 100644 --- a/docs/src/components/container.md +++ b/docs/src/components/container.md @@ -1,9 +1,13 @@ --- outline: [1, 3] +badge: deprecated --- # Container 容器 +> [!WARNING] +> `Container` 已废弃,仅为兼容现有代码而保留。新布局请使用 [`Layout`](./layout.md)(`TrLayout`)。两者的 API 并非一一对应,迁移时请根据 Layout 的区域插槽、布局模式和浮层状态重新配置。 + ## 代码示例 ### 基本示例 diff --git a/packages/components/src/container/index.ts b/packages/components/src/container/index.ts index 58a652cae..76f84bfb3 100644 --- a/packages/components/src/container/index.ts +++ b/packages/components/src/container/index.ts @@ -1,12 +1,17 @@ import { App } from 'vue' -import Container from './index.vue' +import ContainerComponent from './index.vue' -Container.name = 'TrContainer' +ContainerComponent.name = 'TrContainer' const install = function (app: App) { - app.component(Container.name!, Container) + app.component(ContainerComponent.name!, ContainerComponent) } -Container.install = install +ContainerComponent.install = install -export default Container as typeof Container & { install: typeof install } +/** + * @deprecated Container is kept for compatibility. Use `Layout` (`TrLayout`) for new layouts. + */ +const Container = ContainerComponent as typeof ContainerComponent & { install: typeof install } + +export default Container diff --git a/packages/components/src/dropdown-menu/index.vue b/packages/components/src/dropdown-menu/index.vue index d785e86f3..73fb6476f 100644 --- a/packages/components/src/dropdown-menu/index.vue +++ b/packages/components/src/dropdown-menu/index.vue @@ -1,6 +1,6 @@