first commit

This commit is contained in:
douboer
2026-03-21 18:57:10 +08:00
commit c49aa1a5e9
570 changed files with 107167 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
type SharePayload = {
path: string;
title: string;
};
type AboutAppPageOptions = {
onShareAppMessage?: () => SharePayload;
};
type MiniprogramGlobals = typeof globalThis & {
Page?: (options: AboutAppPageOptions) => void;
wx?: {
setNavigationBarTitle?: (options: { title: string }) => void;
};
};
describe("about-app page", () => {
const globalState = globalThis as MiniprogramGlobals;
const originalPage = globalState.Page;
const originalWx = globalState.wx;
let capturedPageOptions: AboutAppPageOptions | null = null;
beforeEach(() => {
capturedPageOptions = null;
vi.resetModules();
globalState.Page = vi.fn((options: AboutAppPageOptions) => {
capturedPageOptions = options;
});
globalState.wx = {
setNavigationBarTitle: vi.fn()
};
});
afterEach(() => {
if (originalPage) {
globalState.Page = originalPage;
} else {
delete globalState.Page;
}
if (originalWx) {
globalState.wx = originalWx;
} else {
delete globalState.wx;
}
});
it("分享后应落到首页而不是 about 详情页", () => {
require("./index.js");
expect(capturedPageOptions).toBeTruthy();
expect(capturedPageOptions?.onShareAppMessage).toBeTypeOf("function");
expect(capturedPageOptions?.onShareAppMessage?.()).toEqual({
title: "RemoteConn v3.0.0",
path: "/pages/connect/index"
});
});
});