fix fonts and give 4 options
This commit is contained in:
+22
-20
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user