mirror of
https://github.com/vector-im/element-web.git
synced 2026-01-17 22:41:55 +01:00
* Remove tests which assert feature_oidc_native_flow=false behaviour, that setting is long gone Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Upgrade fetch-mock-jest to @fetch-mock/jest Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update yarn.lock Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Make knip happy Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Disable broken tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Fix shared-components tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Snapshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
73 lines
2.6 KiB
TypeScript
73 lines
2.6 KiB
TypeScript
/*
|
|
Copyright 2024 New Vector Ltd.
|
|
Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
import fetchMock from "@fetch-mock/jest";
|
|
import { ModuleLoader } from "@element-hq/element-web-module-api";
|
|
import { merge } from "lodash";
|
|
|
|
import * as languageHandler from "../../src/languageHandler";
|
|
import enElementWeb from "../../src/i18n/strings/en_EN.json";
|
|
import deElementWeb from "../../src/i18n/strings/de_DE.json";
|
|
// Cheat and import relatively here as these aren't exported by the module (should they be?)
|
|
// eslint-disable-next-line no-restricted-imports
|
|
import enSharedComponents from "../../packages/shared-components/src/i18n/strings/en_EN.json";
|
|
// eslint-disable-next-line no-restricted-imports
|
|
import deSharedComponents from "../../packages/shared-components/src/i18n/strings/de_DE.json";
|
|
import { ModuleApi } from "../../src/modules/Api";
|
|
|
|
const lv = {
|
|
Save: "Saglabāt",
|
|
room: {
|
|
upload: {
|
|
uploading_multiple_file: {
|
|
one: "Качване на %(filename)s и %(count)s друг",
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
// Fake languages.json containing references to en_EN, de_DE and lv
|
|
// en_EN.json
|
|
// de_DE.json
|
|
// lv.json - mock version with few translations, used to test fallback translation
|
|
|
|
export function setupLanguageMock() {
|
|
// Pull the translations from shared components too as they have
|
|
// the strings for things like `humanizeTime` which do appear in
|
|
// snapshots (needs 'merge' which does a deep-merge rather than just
|
|
// replacing top-level keys).
|
|
const enTranslations = merge(enElementWeb, enSharedComponents);
|
|
const deTranslations = merge(deElementWeb, deSharedComponents);
|
|
|
|
fetchMock.mockGlobal();
|
|
fetchMock
|
|
.get(
|
|
"end:/i18n/languages.json",
|
|
{
|
|
en: "en_EN.json",
|
|
de: "de_DE.json",
|
|
lv: "lv.json",
|
|
},
|
|
{ name: "languages" },
|
|
)
|
|
.get("end:en_EN.json", enTranslations)
|
|
.get("end:de_DE.json", deTranslations)
|
|
.get("end:lv.json", lv);
|
|
}
|
|
beforeEach(setupLanguageMock);
|
|
afterEach(() => fetchMock.callHistory.flush());
|
|
|
|
// Initialise the fetchMock before the test starts so the languageHandler.setLanguage call below can function
|
|
setupLanguageMock();
|
|
languageHandler.setLanguage("en");
|
|
languageHandler.setMissingEntryGenerator((key) => key.split("|", 2)[1]);
|
|
|
|
// Set up the module API (so the i18n API exists)
|
|
const moduleLoader = new ModuleLoader(ModuleApi.instance);
|
|
window.mxModuleLoader = moduleLoader;
|