From f331e4284dd30436d309e692dadf4f173700f90d Mon Sep 17 00:00:00 2001 From: Rizumu Ayaka Date: Tue, 19 May 2026 23:26:53 +0800 Subject: [PATCH] test(form-dropdown): cover metaKey branch of pinch-zoom guard --- .../components/form/dropdown/FormDropdownMenu.test.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/renderer/extensions/vueNodes/widgets/components/form/dropdown/FormDropdownMenu.test.ts b/src/renderer/extensions/vueNodes/widgets/components/form/dropdown/FormDropdownMenu.test.ts index 595e422581..60539a686c 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/form/dropdown/FormDropdownMenu.test.ts +++ b/src/renderer/extensions/vueNodes/widgets/components/form/dropdown/FormDropdownMenu.test.ts @@ -108,8 +108,12 @@ describe('FormDropdownMenu', () => { /** Regression: PrimeVue Popover teleports the menu to document.body, so * trackpad pinch-zoom must be guarded on the menu itself — `LGraphNode` - * never sees these events. */ - it('suppresses browser default for pinch-zoom', () => { + * never sees these events. macOS pinch synthesizes `ctrlKey`; explicit + * `⌘ + wheel` (and Windows/Linux equivalents) come through as `metaKey`. */ + it.for([ + { name: 'ctrlKey', modifier: 'ctrlKey' as const }, + { name: 'metaKey', modifier: 'metaKey' as const } + ])('suppresses browser default for pinch-zoom ($name)', ({ modifier }) => { render(FormDropdownMenu, { props: defaultProps, global: globalConfig @@ -117,7 +121,7 @@ describe('FormDropdownMenu', () => { const root = screen.getByTestId('form-dropdown-menu') const event = new WheelEvent('wheel', { bubbles: true, cancelable: true }) - Object.defineProperty(event, 'ctrlKey', { value: true }) + Object.defineProperty(event, modifier, { value: true }) Object.defineProperty(event, 'deltaY', { value: -10 }) root.dispatchEvent(event)