diff options
| author | Adam Malczewski <[email protected]> | 2026-06-27 16:54:20 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-27 16:54:20 +0900 |
| commit | 3b3b0ebb340297795e075e46cdd9ced00b34bf60 (patch) | |
| tree | b78ecc2cc555a1dac89993a32371449c53f3375d /src/features/tabs/ui.test.ts | |
| parent | eb1fbf136dfce5099afbf1a2f1411a672656a59a (diff) | |
| download | dispatch-web-3b3b0ebb340297795e075e46cdd9ced00b34bf60.tar.gz dispatch-web-3b3b0ebb340297795e075e46cdd9ced00b34bf60.zip | |
fix(sidebar-tabs): use text-selection highlight as copy indicator instead of swapping text
Diffstat (limited to 'src/features/tabs/ui.test.ts')
| -rw-r--r-- | src/features/tabs/ui.test.ts | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/features/tabs/ui.test.ts b/src/features/tabs/ui.test.ts index 57f9bc1..9af4cd1 100644 --- a/src/features/tabs/ui.test.ts +++ b/src/features/tabs/ui.test.ts @@ -230,7 +230,7 @@ describe("TabList", () => { expect(onRename).toHaveBeenCalledWith("c1", "Renamed"); }); - it("copies the full conversation id to the clipboard and shows 'Copied!' when the ID badge is clicked", async () => { + it("copies the conversation id to the clipboard and highlights the badge text when clicked", async () => { const writeText = vi.fn().mockResolvedValue(undefined); Object.defineProperty(navigator, "clipboard", { value: { writeText }, @@ -254,8 +254,13 @@ describe("TabList", () => { expect(writeText).toHaveBeenCalledTimes(1); expect(writeText).toHaveBeenCalledWith("c1"); - // The badge briefly shows a "Copied!" confirmation. - expect(idBadge).toHaveTextContent("Copied!"); + // The badge text is NOT swapped (no width shift) — the highlight (selection) + // is the only indicator. + expect(idBadge).toHaveTextContent("c1"); + expect(idBadge).not.toHaveTextContent("Copied"); + // The badge text is selected (highlighted) as the copy indicator. + const selection = window.getSelection(); + expect(selection?.toString()).toBe("c1"); // Clicking the ID must NOT switch tabs (the badge stops propagation). expect(onSelect).not.toHaveBeenCalled(); }); |
