Add unit tests for renderer pixel ratio calculation, including Safari specific capping logic
This commit is contained in:
34
tests/unit/renderer-pixel-ratio.test.ts
Normal file
34
tests/unit/renderer-pixel-ratio.test.ts
Normal 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);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user