From 01fff45c383cd057d08090f43dfaf608381f6270 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 13 Jul 2026 14:08:56 +0200 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E6=81=A2=E5=A4=8D=20MDTODO=20?= =?UTF-8?q?=E7=A8=B3=E5=AE=9A=E4=BB=BB=E5=8A=A1=E5=BC=95=E7=94=A8=E5=90=88?= =?UTF-8?q?=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/hwlab-cloud-web/scripts/r6-architecture-parity.test.ts | 5 +++++ web/hwlab-cloud-web/src/components/mdtodo/MdtodoTaskTree.vue | 1 + .../tests/workbench-e2e/specs/project-management.spec.ts | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/web/hwlab-cloud-web/scripts/r6-architecture-parity.test.ts b/web/hwlab-cloud-web/scripts/r6-architecture-parity.test.ts index a5d351e8..7b3bc780 100644 --- a/web/hwlab-cloud-web/scripts/r6-architecture-parity.test.ts +++ b/web/hwlab-cloud-web/scripts/r6-architecture-parity.test.ts @@ -213,6 +213,11 @@ test("R6 console semantics keep real icons, native entity lists, and dynamic acc assert.match(accessStoreSource, /detail\.value = null/u); }); +test("R6 MDTODO task rows expose opaque task references", () => { + const taskTreeSource = read("src/components/mdtodo/MdtodoTaskTree.vue"); + assert.match(taskTreeSource, /:data-task-ref="task\.taskRef"/u); +}); + test("R6 Sub2API source comparison is recorded in parent/child issue scope", () => { const issueBody = readIssueBodyFixture(); assert.match(issueBody, /Wei-Shaw\/sub2api@v0\.1\.136=a2f76e4/u); diff --git a/web/hwlab-cloud-web/src/components/mdtodo/MdtodoTaskTree.vue b/web/hwlab-cloud-web/src/components/mdtodo/MdtodoTaskTree.vue index b2e684b8..d00c717f 100644 --- a/web/hwlab-cloud-web/src/components/mdtodo/MdtodoTaskTree.vue +++ b/web/hwlab-cloud-web/src/components/mdtodo/MdtodoTaskTree.vue @@ -164,6 +164,7 @@ function keydown( " :data-testid="`mdtodo-task-${task.taskId || task.rxxId}`" :data-task-id="task.taskId || task.rxxId" + :data-task-ref="task.taskRef" @click="emit('select', task.taskRef)" @keydown="keydown($event, task, index)" > diff --git a/web/hwlab-cloud-web/tests/workbench-e2e/specs/project-management.spec.ts b/web/hwlab-cloud-web/tests/workbench-e2e/specs/project-management.spec.ts index cda9dd25..bd22c533 100644 --- a/web/hwlab-cloud-web/tests/workbench-e2e/specs/project-management.spec.ts +++ b/web/hwlab-cloud-web/tests/workbench-e2e/specs/project-management.spec.ts @@ -71,6 +71,10 @@ test.describe("project management pages", () => { "已载入", ); await expect(page.locator('[data-task-id="R1"]')).toBeVisible(); + await expect(page.locator('[data-task-id="R1"]')).toHaveAttribute( + "data-task-ref", + "mdtodo:hwlab-v03-mdtodo:file_plan:R1", + ); await expect(page.locator('[data-task-id="R1.1"]')).toBeVisible(); await expect(page.locator('[data-task-id="R1.1.1"]')).toBeVisible(); await expect(page.getByTestId("mdtodo-task-detail")).not.toContainText(