import { describe, expect, it } from "vitest"; import { convertPhysicalBoundsToDip, resolveWindowsCaptureDisplay, resolveWindowsCaptureTarget, } from "./windowsCaptureSelection"; describe("convertPhysicalBoundsToDip", () => { it("converts both physical edges so mixed-DPI window sizes stay aligned", () => { expect( convertPhysicalBoundsToDip({ x: 240, y: 60, width: 938, height: 1030 }, (point) => ({ x: point.x / 1.5, y: point.y / 1.5, })), ).toEqual({ x: 160, y: 40, width: 625.3333333333334, height: 686.6666666666666, }); }); }); describe("resolveWindowsCaptureDisplay", () => { const primaryDisplay = { id: 101, bounds: { x: 0, y: 0, width: 1920, height: 1080, }, }; const secondaryDisplay = { id: 202, bounds: { x: 1920, y: -40, width: 2560, height: 1440, }, }; it("uses the requested secondary display bounds for WGC fallback metadata", () => { const resolved = resolveWindowsCaptureDisplay( { display_id: String(secondaryDisplay.id) }, [primaryDisplay, secondaryDisplay], primaryDisplay, ); expect(resolved).toEqual({ displayId: secondaryDisplay.id, bounds: secondaryDisplay.bounds, }); }); it("falls back to the primary display when the source has no display id", () => { const resolved = resolveWindowsCaptureDisplay( undefined, [primaryDisplay, secondaryDisplay], primaryDisplay, ); expect(resolved).toEqual({ displayId: primaryDisplay.id, bounds: primaryDisplay.bounds, }); }); it("keeps the requested display id even if Electron cannot rematch it, while using primary bounds", () => { const resolved = resolveWindowsCaptureDisplay( { display_id: "303" }, [primaryDisplay, secondaryDisplay], primaryDisplay, ); expect(resolved).toEqual({ displayId: 303, bounds: primaryDisplay.bounds, }); }); }); describe("resolveWindowsCaptureTarget", () => { const primaryDisplay = { id: 101, bounds: { x: 0, y: 0, width: 1920, height: 1080, }, }; const secondaryDisplay = { id: 202, bounds: { x: 1920, y: -40, width: 2560, height: 1440, }, }; it("uses a window handle when a Windows window source is selected", () => { const resolved = resolveWindowsCaptureTarget( { id: "window:123456:0", sourceType: "window" }, [primaryDisplay, secondaryDisplay], primaryDisplay, ); expect(resolved).toEqual({ kind: "window", windowHandle: 123456, }); }); it("does not silently turn an invalid window source into display capture", () => { const resolved = resolveWindowsCaptureTarget( { id: "window:0:0", sourceType: "window", display_id: String(secondaryDisplay.id) }, [primaryDisplay, secondaryDisplay], primaryDisplay, ); expect(resolved).toEqual({ kind: "invalid-window", }); }); it("keeps display capture behavior for selected screens", () => { const resolved = resolveWindowsCaptureTarget( { id: "screen:202:0", sourceType: "screen", display_id: String(secondaryDisplay.id) }, [primaryDisplay, secondaryDisplay], primaryDisplay, ); expect(resolved).toEqual({ kind: "display", displayId: secondaryDisplay.id, bounds: secondaryDisplay.bounds, }); }); });