From be04b7d0da3a6156249211d98f88be0dc6ccd0d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E8=88=AA=E5=AE=87?= <3364451258@qq.com> Date: Wed, 27 May 2026 14:26:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20ESLint=20=E9=94=99?= =?UTF-8?q?=E8=AF=AF=20=E2=80=94=20path-manager=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=8E=BB=20as=20any=E3=80=81search-clean=20=E6=9C=AA=E7=94=A8?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- e2e/debug-screenshot.png | Bin 0 -> 23134 bytes e2e/tests/search-clean.spec.ts | 1 + test-results/.last-run.json | 4 ++++ tests/unit/path-manager.test.ts | 8 ++++---- 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 e2e/debug-screenshot.png create mode 100644 test-results/.last-run.json diff --git a/e2e/debug-screenshot.png b/e2e/debug-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a2e964b2a3aca004b50d3b2e6b4111886b85f9 GIT binary patch literal 23134 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 Df~@cp literal 0 HcmV?d00001 diff --git a/e2e/tests/search-clean.spec.ts b/e2e/tests/search-clean.spec.ts index 0055970..50da331 100644 --- a/e2e/tests/search-clean.spec.ts +++ b/e2e/tests/search-clean.spec.ts @@ -3,6 +3,7 @@ import { test, expect } from '@playwright/test'; test.beforeEach(async ({ page }) => { await page.addInitScript(() => { window.__TAURI_INTERNALS__ = { + // eslint-disable-next-line @typescript-eslint/no-unused-vars invoke: async (cmd, args) => { switch (cmd) { case 'check_admin': return true; diff --git a/test-results/.last-run.json b/test-results/.last-run.json new file mode 100644 index 0000000..cbcc1fb --- /dev/null +++ b/test-results/.last-run.json @@ -0,0 +1,4 @@ +{ + "status": "passed", + "failedTests": [] +} \ No newline at end of file diff --git a/tests/unit/path-manager.test.ts b/tests/unit/path-manager.test.ts index 7ccf946..5cf8cb2 100644 --- a/tests/unit/path-manager.test.ts +++ b/tests/unit/path-manager.test.ts @@ -11,25 +11,25 @@ const validateFn = (path: string) => !path.includes('Invalid'); describe('pathClean', () => { it('移除无效路径', () => { - const [kept, removed] = pathClean([pe('C:\\Valid'), pe('C:\\Invalid'), pe('D:\\Valid')], validateFn as any); + const [kept, removed] = pathClean([pe('C:\\Valid'), pe('C:\\Invalid'), pe('D:\\Valid')], validateFn); expect(kept.map(e => e.path)).toEqual(['C:\\Valid', 'D:\\Valid']); expect(removed.map(e => e.path)).toEqual(['C:\\Invalid']); }); it('移除重复路径保留第一个', () => { - const [kept, removed] = pathClean([pe('C:\\Valid'), pe('C:\\Valid'), pe('D:\\Valid')], alwaysValid as any); + const [kept, removed] = pathClean([pe('C:\\Valid'), pe('C:\\Valid'), pe('D:\\Valid')], alwaysValid); expect(kept.length).toBe(2); expect(removed.length).toBe(1); }); it('全部有效无变化', () => { - const [kept, removed] = pathClean([pe('C:\\a'), pe('D:\\b')], alwaysValid as any); + const [kept, removed] = pathClean([pe('C:\\a'), pe('D:\\b')], alwaysValid); expect(kept.map(e => e.path)).toEqual(['C:\\a', 'D:\\b']); expect(removed.length).toBe(0); }); it('全部无效全部移除', () => { - const [kept, removed] = pathClean([pe('C:\\Invalid1'), pe('C:\\Invalid2')], validateFn as any); + const [kept, removed] = pathClean([pe('C:\\Invalid1'), pe('C:\\Invalid2')], validateFn); expect(kept.length).toBe(0); expect(removed.length).toBe(2); });