From ecca7050b5881077b51f2b1d1f0d52f2562fd25c Mon Sep 17 00:00:00 2001 From: Suzumiya Date: Thu, 10 Sep 2026 17:53:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9F=B3=E9=A2=91=E8=B5=84=E6=BA=90=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E6=9D=A1=E6=96=AD=E8=A8=80=E6=94=B9=E5=88=A4=E6=8D=AE?= =?UTF-8?q?=EF=BC=9A=E4=B8=8D=E5=86=8D=E8=A6=81=E6=B1=82=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E7=A9=BA=E5=9B=9E=E8=B0=83=E7=9A=84=E6=94=B9=E9=80=A0=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - project-development.suite.ts 的音频工具条断言由「必须存在改造按钮」改为「不得存在改造按钮」+「按钮集合精确等于分类与标签、重命名」 - fed17ea08 已按共享记忆 pitfalls.md 的判据(渲染出来的动作必须真的能跑通)把 redraw 与 character-animation 移出 supportedActions,音频分支只剩宿主编排层真实接通的分类与标签、重命名,原断言断言的是被该提交推翻的旧合同 - 新断言比旧断言更严:除钉住音频分支仍在渲染,还钉住整条工具条的按钮集合,避免再出现点了没反应的假按钮 --- .../tests/appSurface/project-development.suite.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts b/apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts index fd8563e44..cd2835fe3 100644 --- a/apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts +++ b/apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts @@ -2235,13 +2235,20 @@ export function registerProjectWorkbenchFoundationTests() { args?.category === 'audio', ), ).toBe(false); - // 音频资源的选中工具条只保留美术画布同名动作;详情面板已删除。 + // 音频资源的选中工具条复用美术画布的音频分支(aria-label「素材工具栏」), + // 并且只渲染宿主编排层真实接通的动作:「分类与标签」「重命名」已接面板, + // 「改造」在宿主编排层仍是空回调,不能再渲染成点了没反应的按钮。 const audioToolbar = screen.getByRole('toolbar', { name: '素材工具栏', }); expect( - within(audioToolbar).getByRole('button', { name: '改造' }), - ).not.toBeNull(); + within(audioToolbar).queryByRole('button', { name: '改造' }), + ).toBeNull(); + expect( + within(audioToolbar) + .getAllByRole('button') + .map((button) => button.getAttribute('aria-label')), + ).toEqual(['分类与标签', '重命名']); await openResourceBookCategory('设计文档'); fireEvent.click(getResourceSelectButton('blocked.md'));