Skip to content
Source
Sign inSign up

browserLinkTarget.test.ts

23 lines788 Bytes

1import type { BrowserLinkTarget } from "@t3tools/contracts";
2import { describe, expect, it, vi } from "vite-plus/test";
3​
4import { resolveLinkTarget } from "./browserLinkTarget";
5​
6const settings = vi.hoisted(() => ({ browserLinkTarget: "system" as BrowserLinkTarget }));
7​
8vi.mock("~/hooks/useSettings", () => ({
9 ensureClientSettingsHydrated: vi.fn(async () => undefined),
10 getClientSettings: () => settings,
11}));
12​
13const click = { metaKey: false, ctrlKey: false };
14​
15describe("resolveLinkTarget", () => {
16 it("leaves non-web schemes to the shell", () => {
17 for (const url of ["mailto:someone@example.com", "vscode://file/x", "not a url"]) {
18 expect(resolveLinkTarget({ url, event: click, preference: "app", canOpenInApp: true })).toBe(
19 "system",
20 );
21 }
22 });
23});