From a810b1fac5d8205a292d4d69f4cfddf3156ab965 Mon Sep 17 00:00:00 2001 From: corescope-bot Date: Sat, 9 May 2026 18:40:27 +0000 Subject: [PATCH] =?UTF-8?q?test(#1064):=20RED=20=E2=80=94=20E2E=20for=20ed?= =?UTF-8?q?ge-swipe=20nav=20drawer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds test-nav-drawer-1064-e2e.js covering: (a) edge-swipe at x=10→200 opens drawer flush at left:0 (b) drawer items mirror PR #1174 long-tail routes (c) tap drawer item navigates + closes (d) Esc closes (e) backdrop click closes (f) narrow viewport (≤768px) does NOT open drawer (Option A) (g) singleton: 5 SPA round-trips keep pointermove bind count ≤ 1 (h) focus trap: Tab from last wraps to first Wires test into deploy.yml Playwright matrix. CI must FAIL on assertion: nav-drawer.js / CSS not implemented yet. --- .github/workflows/deploy.yml | 1 + test-nav-drawer-1064-e2e.js | 231 +++++++++++++++++++++++++++++++++++ 2 files changed, 232 insertions(+) create mode 100644 test-nav-drawer-1064-e2e.js diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3abfa761..170beadb 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -250,6 +250,7 @@ jobs: CHROMIUM_REQUIRE=1 BASE_URL=http://localhost:13581 node test-issue-1109-hamburger-dropdown-visible-e2e.js 2>&1 | tee -a e2e-output.txt CHROMIUM_REQUIRE=1 BASE_URL=http://localhost:13581 node test-live-layout-1178-1179-e2e.js 2>&1 | tee -a e2e-output.txt CHROMIUM_REQUIRE=1 BASE_URL=http://localhost:13581 node test-live-mql-leak-1180-e2e.js 2>&1 | tee -a e2e-output.txt + CHROMIUM_REQUIRE=1 BASE_URL=http://localhost:13581 node test-nav-drawer-1064-e2e.js 2>&1 | tee -a e2e-output.txt - name: Collect frontend coverage (parallel) if: success() && github.event_name == 'push' diff --git a/test-nav-drawer-1064-e2e.js b/test-nav-drawer-1064-e2e.js new file mode 100644 index 00000000..09d94fd3 --- /dev/null +++ b/test-nav-drawer-1064-e2e.js @@ -0,0 +1,231 @@ +#!/usr/bin/env node +/** + * Issue #1064 — Edge-swipe nav drawer (parent epic #1052). + * + * Asserts: + * (a) at 1024x800: pointer-down at x=10, drag to x=200 → drawer opens, + * drawer.getBoundingClientRect().left === 0 + * (b) drawer items present (long-tail routes from PR #1174) + * (c) tap a drawer item → URL hash changes, drawer closes + * (d) Esc closes drawer + * (e) backdrop click closes drawer + * (f) at 360x800: edge-swipe does NOT open drawer (Option A — + * drawer disabled at narrow widths because bottom-nav has More tab) + * (g) singleton: navigate away+back 5 times, pointermove bind count ≤ 1 + * (h) focus trap: open drawer, Tab from last focusable wraps to first + * + * Stable selectors (consumed by the test): + * -