feat(metadata): add original-language preferences (#526)
* feat(metadata): add original-language preferences * fix(settings): show metadata exceptions immediately * docs(settings): add metadata language screenshot * fix(settings): make language exceptions responsive * fix(settings): standardize language display names
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import {
|
||||
ORIGINAL_METADATA_LANGUAGE,
|
||||
normalizeMetadataLanguageOverrides,
|
||||
withMetadataLanguageOverride,
|
||||
withoutMetadataLanguageOverride,
|
||||
} from "./metadataLanguagePreferences";
|
||||
|
||||
describe("metadata language preferences", () => {
|
||||
it("normalizes source aliases and drops malformed cached entries", () => {
|
||||
expect(
|
||||
normalizeMetadataLanguageOverrides({
|
||||
nor: ORIGINAL_METADATA_LANGUAGE,
|
||||
JA: "en",
|
||||
invalid_language: "fr",
|
||||
de: 42,
|
||||
}),
|
||||
).toEqual({ no: ORIGINAL_METADATA_LANGUAGE, ja: "en" });
|
||||
});
|
||||
|
||||
it("adds and removes one original-language exception without mutating the input", () => {
|
||||
const initial = { ja: "en" };
|
||||
const added = withMetadataLanguageOverride(initial, "nor", ORIGINAL_METADATA_LANGUAGE);
|
||||
|
||||
expect(added).toEqual({ ja: "en", no: ORIGINAL_METADATA_LANGUAGE });
|
||||
expect(initial).toEqual({ ja: "en" });
|
||||
expect(withoutMetadataLanguageOverride(added, "no")).toEqual({ ja: "en" });
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user