fix fonts and give 4 options

This commit is contained in:
2026-08-08 18:31:37 +02:00
parent de3b82d024
commit e0ed0d5467
8 changed files with 105 additions and 36 deletions
+22 -20
View File
@@ -114,41 +114,43 @@ test("keeps states isolated between tabs and reports protected tabs", async () =
);
});
test("persists the font style and updates only enabled tabs", async () => {
const fake = makeBrowser({ glagolifyFontStyle: "angular" });
test("persists every font style and updates only enabled tabs", async () => {
const fake = makeBrowser({ glagolifyFontStyle: "missal-angular" });
const controller = createBackgroundController(fake.api);
assert.deepEqual(
await fake.send({ type: "glagolify:document-ready" }, { tab: { id: 7 } }),
{ enabled: false, fontStyle: "angular" }
{ enabled: false, fontStyle: "missal-angular" }
);
await fake.send({ type: "glagolify:set-tab-enabled", tabId: 7, enabled: true });
await fake.send({ type: "glagolify:set-tab-enabled", tabId: 8, enabled: false });
const broadcastCount = fake.broadcasts.length;
assert.deepEqual(
await fake.send({ type: "glagolify:set-font-style", fontStyle: "round" }),
{ fontStyle: "round", accepted: true }
);
assert.deepEqual(fake.storageWrites.at(-1), { glagolifyFontStyle: "round" });
assert.equal(controller.getFontStyle(), "round");
assert.deepEqual(fake.broadcasts.slice(broadcastCount), [
{
tabId: 7,
message: {
type: "glagolify:set-enabled",
enabled: true,
fontStyle: "round"
for (const fontStyle of ["round", "angular-sans", "angular", "missal-angular"]) {
const broadcastCount = fake.broadcasts.length;
assert.deepEqual(
await fake.send({ type: "glagolify:set-font-style", fontStyle }),
{ fontStyle, accepted: true }
);
assert.deepEqual(fake.storageWrites.at(-1), { glagolifyFontStyle: fontStyle });
assert.equal(controller.getFontStyle(), fontStyle);
assert.deepEqual(fake.broadcasts.slice(broadcastCount), [
{
tabId: 7,
message: {
type: "glagolify:set-enabled",
enabled: true,
fontStyle
}
}
}
]);
]);
}
const writesBeforeRejection = fake.storageWrites.length;
const broadcastsBeforeRejection = fake.broadcasts.length;
assert.deepEqual(
await fake.send({ type: "glagolify:set-font-style", fontStyle: "italic" }),
{ fontStyle: "round", accepted: false }
{ fontStyle: "missal-angular", accepted: false }
);
assert.equal(fake.storageWrites.length, writesBeforeRejection);
assert.equal(fake.broadcasts.length, broadcastsBeforeRejection);