From 71db2f2b719698301a7410c4ee54787cd4d9c4fd Mon Sep 17 00:00:00 2001 From: momen Date: Sun, 12 Apr 2026 19:44:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=8E=B0=E5=9C=A8=E8=BD=AF=E4=BB=B6?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=99=A8=E6=BB=9A=E5=88=B0=E5=BA=95=E9=83=A8?= =?UTF-8?q?=E5=90=8E=E5=BA=94=E7=94=A8=E5=88=97=E8=A1=A8=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E9=80=8F=E6=BB=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/__tests__/unit/InstalledAppsModal.test.ts | 25 +++++++++++++++++++ src/components/InstalledAppsModal.vue | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/__tests__/unit/InstalledAppsModal.test.ts diff --git a/src/__tests__/unit/InstalledAppsModal.test.ts b/src/__tests__/unit/InstalledAppsModal.test.ts new file mode 100644 index 00000000..2659798b --- /dev/null +++ b/src/__tests__/unit/InstalledAppsModal.test.ts @@ -0,0 +1,25 @@ +import { render, screen } from "@testing-library/vue"; +import { describe, expect, it } from "vitest"; + +import InstalledAppsModal from "@/components/InstalledAppsModal.vue"; + +describe("InstalledAppsModal", () => { + it("keeps scroll chaining inside the modal list", () => { + const { container } = render(InstalledAppsModal, { + props: { + show: true, + apps: [], + loading: false, + error: "", + activeOrigin: "spark", + storeFilter: "both", + apmAvailable: true, + }, + }); + + expect(screen.getByText("已安装应用")).toBeTruthy(); + const scrollContainer = container.querySelector(".overflow-y-auto"); + + expect(scrollContainer?.className).toContain("overscroll-contain"); + }); +}); diff --git a/src/components/InstalledAppsModal.vue b/src/components/InstalledAppsModal.vue index 8beae29c..3275342e 100644 --- a/src/components/InstalledAppsModal.vue +++ b/src/components/InstalledAppsModal.vue @@ -78,7 +78,7 @@