| ... | ... | @@ -196,6 +196,23 @@ describe("showContextMenuFallback", () => { |
| 196 | 196 | await expect(selectionPromise).resolves.toBe("rename"); |
| 197 | 197 | }); |
| 198 | 198 | |
| 199 | it("ignores a click from the gesture that opened the menu", async () => { |
| 200 | let enablePointerSelection: ((time: number) => void) | undefined; |
| 201 | vi.stubGlobal("requestAnimationFrame", (callback: (time: number) => void) => { |
| 202 | enablePointerSelection = callback; |
| 203 | return 0; |
| 204 | }); |
| 205 | |
| 206 | const selectionPromise = showContextMenuFallback([{ id: "rename", label: "Rename" }]); |
| 207 | const renameButton = findButton("Rename"); |
| 208 | |
| 209 | renameButton?.dispatchEvent(new MouseEvent("click", { bubbles: true })); |
| 210 | enablePointerSelection?.(0); |
| 211 | renameButton?.dispatchEvent(new MouseEvent("click", { bubbles: true })); |
| 212 | |
| 213 | await expect(selectionPromise).resolves.toBe("rename"); |
| 214 | }); |
| 215 | |
| 199 | 216 | it("opens nested submenus and resolves the clicked leaf id", async () => { |
| 200 | 217 | const selectionPromise = showContextMenuFallback([ |
| 201 | 218 | { |