From ce63dcdc5d3ccc581603df5a60bf599d123a7ead Mon Sep 17 00:00:00 2001 From: Chad Nuttall Date: Sat, 3 Oct 2026 19:01:06 -0400 Subject: [PATCH] test(brand): assert manifest icon purpose is exactly "any" The badge art is not maskable safe-zone guaranteed, so a "maskable" purpose must never pass the test. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- tests/brand-assets.test.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/brand-assets.test.ts b/tests/brand-assets.test.ts index 09ed49a..afd31e2 100644 --- a/tests/brand-assets.test.ts +++ b/tests/brand-assets.test.ts @@ -61,7 +61,13 @@ describe("favicon + app icon wiring", () => { `manifest icon missing: ${icon.src}` ); assert.strictEqual(icon.type, "image/png"); - assert.ok(icon.purpose, `manifest icon ${icon.src} lacks a purpose`); + // The badge art is not maskable safe-zone guaranteed — the manifest + // must keep declaring "any", never "maskable". + assert.strictEqual( + icon.purpose, + "any", + `manifest icon ${icon.src} must declare purpose "any"` + ); sizes.add(icon.sizes); } assert.ok(sizes.has("192x192") && sizes.has("512x512"));