Default to system emoji font (#11925)
* Disable Twemoji emoji font by default Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Force Twemoji font in SAS Verification Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Improve tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
a6705304aa
commit
ee485ffcfd
13 changed files with 119 additions and 114 deletions
|
@ -24,9 +24,15 @@ import { Action } from "../../../src/dispatcher/actions";
|
|||
import { untilDispatch } from "../../test-utils";
|
||||
import defaultDispatcher from "../../../src/dispatcher/dispatcher";
|
||||
|
||||
async function setSystemFont(font: string): Promise<void> {
|
||||
async function setSystemFont(font: string | false): Promise<void> {
|
||||
await SettingsStore.setValue("systemFont", null, SettingLevel.DEVICE, font || "");
|
||||
await SettingsStore.setValue("useSystemFont", null, SettingLevel.DEVICE, !!font);
|
||||
await SettingsStore.setValue("systemFont", null, SettingLevel.DEVICE, font);
|
||||
await untilDispatch(Action.UpdateSystemFont);
|
||||
await sleep(1); // await the FontWatcher doing its action
|
||||
}
|
||||
|
||||
async function setUseBundledEmojiFont(use: boolean): Promise<void> {
|
||||
await SettingsStore.setValue("useBundledEmojiFont", null, SettingLevel.DEVICE, use);
|
||||
await untilDispatch(Action.UpdateSystemFont);
|
||||
await sleep(1); // await the FontWatcher doing its action
|
||||
}
|
||||
|
@ -34,6 +40,9 @@ async function setSystemFont(font: string): Promise<void> {
|
|||
const getFontFamily = () => {
|
||||
return document.body.style.getPropertyValue(FontWatcher.FONT_FAMILY_CUSTOM_PROPERTY);
|
||||
};
|
||||
const getEmojiFontFamily = () => {
|
||||
return document.body.style.getPropertyValue(FontWatcher.EMOJI_FONT_FAMILY_CUSTOM_PROPERTY);
|
||||
};
|
||||
|
||||
describe("FontWatcher", function () {
|
||||
it("should load font on start()", async () => {
|
||||
|
@ -85,6 +94,31 @@ describe("FontWatcher", function () {
|
|||
});
|
||||
});
|
||||
|
||||
describe("Sets bundled emoji font as expected", () => {
|
||||
let fontWatcher: FontWatcher;
|
||||
beforeEach(async () => {
|
||||
await setSystemFont(false);
|
||||
fontWatcher = new FontWatcher();
|
||||
await fontWatcher.start();
|
||||
});
|
||||
afterEach(() => {
|
||||
fontWatcher.stop();
|
||||
});
|
||||
|
||||
it("by default does not add Twemoji font", async () => {
|
||||
expect(getEmojiFontFamily()).toMatchInlineSnapshot(`""`);
|
||||
});
|
||||
it("adds Twemoji font when enabled", async () => {
|
||||
await setUseBundledEmojiFont(true);
|
||||
expect(getEmojiFontFamily()).toMatchInlineSnapshot(`"Twemoji"`);
|
||||
});
|
||||
it("works in conjunction with useSystemFont", async () => {
|
||||
await setSystemFont(`"Commodore 64"`);
|
||||
await setUseBundledEmojiFont(true);
|
||||
expect(getFontFamily()).toMatchInlineSnapshot(`""Commodore 64", Twemoji"`);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Migrates baseFontSize", () => {
|
||||
let watcher: FontWatcher | undefined;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue