Add unit tests for renderer pixel ratio calculation, including Safari specific capping logic

This commit is contained in:
2026-04-29 23:49:55 +02:00
parent 8c9735d18a
commit ce10cce5fa

View File

@@ -0,0 +1,34 @@
import { describe, expect, it } from "vitest";
import {
isSafariUserAgent,
resolveRendererPixelRatio
} from "../../src/rendering/renderer-pixel-ratio";
describe("renderer pixel ratio", () => {
it("caps Safari renderer pixel ratio more aggressively", () => {
const safariUserAgent =
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15";
expect(isSafariUserAgent(safariUserAgent)).toBe(true);
expect(
resolveRendererPixelRatio({
devicePixelRatio: 2,
userAgent: safariUserAgent
})
).toBe(1);
});
it("keeps the existing non-Safari high-DPI cap", () => {
const chromeUserAgent =
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36";
expect(isSafariUserAgent(chromeUserAgent)).toBe(false);
expect(
resolveRendererPixelRatio({
devicePixelRatio: 3,
userAgent: chromeUserAgent
})
).toBe(2);
});
});