104 lines · 2.6 KB · TypeScript
RawDownload
import { describe, expect, it } from "vite-plus/test"; import {  HIDDEN_BROWSER_WEBVIEW_OFFSET,  resolveHostedBrowserWebviewWrapperStyle,} from "./hostedBrowserWebviewStyle"; describe("resolveHostedBrowserWebviewWrapperStyle", () => {  it("places an active webview on its presented surface", () => {    expect(      resolveHostedBrowserWebviewWrapperStyle({        active: true,        renderingActive: true,        rect: { x: 12, y: 34, width: 800, height: 600 },        hiddenSize: { width: 1280, height: 800 },      }),    ).toEqual({      left: 12,      top: 34,      width: 800,      height: 600,      zIndex: 30,      pointerEvents: "auto",    });  });   it("clips a floating webview to the mini-player frame", () => {    expect(      resolveHostedBrowserWebviewWrapperStyle({        active: true,        renderingActive: true,        cornerRadius: 12,        zIndex: 48,        rect: { x: 12, y: 34, width: 360, height: 203 },        hiddenSize: { width: 1280, height: 800 },      }),    ).toMatchObject({      left: 12,      top: 34,      width: 360,      height: 203,      borderRadius: 12,      zIndex: 48,    });  });   it("suspends painting for an inactive webview", () => {    const style = resolveHostedBrowserWebviewWrapperStyle({      active: false,      renderingActive: false,      rect: { x: 12, y: 34, width: 800, height: 600 },      hiddenSize: { width: 393, height: 852 },    });     expect(style).toEqual({      left: HIDDEN_BROWSER_WEBVIEW_OFFSET,      top: HIDDEN_BROWSER_WEBVIEW_OFFSET,      width: 393,      height: 852,      zIndex: -1,      pointerEvents: "none",      visibility: "hidden",    });  });   it("keeps an active background task paintable behind the app", () => {    const style = resolveHostedBrowserWebviewWrapperStyle({      active: false,      renderingActive: true,      rect: null,      hiddenSize: { width: 1280, height: 800 },    });     expect(style).toEqual({      left: 0,      top: 0,      width: 1280,      height: 800,      zIndex: -1,      pointerEvents: "none",      visibility: "visible",    });  });   it("keeps an inactive webview paintable without marking it as rendering-active", () => {    const style = resolveHostedBrowserWebviewWrapperStyle({      active: false,      renderingActive: false,      keepPaintableWhenInactive: true,      rect: null,      hiddenSize: { width: 1280, height: 800 },    });     expect(style).toEqual({      left: HIDDEN_BROWSER_WEBVIEW_OFFSET,      top: HIDDEN_BROWSER_WEBVIEW_OFFSET,      width: 1280,      height: 800,      zIndex: -1,      pointerEvents: "none",      visibility: "visible",    });  });});