Feat/lokalise rebuild * chore(lokalise): update translation ids * chore(lokalise): easier to switch between projects * chore(lokalise): update translation ids * . * . * . * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * chore(lokalise): new translations * merge * switch to errors for missing id's * merge * sync translations Approved-by: Linus Flood
103 lines
3.4 KiB
TypeScript
103 lines
3.4 KiB
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { syncIntlFormatMessage } from "./syncIntlFormatMessage";
|
|
|
|
describe("syncIntlFormatMessage", () => {
|
|
it("updated false when given empty file and no translations", () => {
|
|
expect(
|
|
syncIntlFormatMessage({ fileContent: "", translations: {} })
|
|
).toEqual({ updated: false, fileContent: "" });
|
|
});
|
|
it("updates int.formatMessage components", () => {
|
|
expect(
|
|
syncIntlFormatMessage({
|
|
fileContent:
|
|
'intl.formatMessage({ id: "myKey", defaultMessage: "old message" })',
|
|
translations: { myKey: "new message" },
|
|
})
|
|
).toEqual({
|
|
updated: true,
|
|
fileContent:
|
|
'intl.formatMessage({ id: "myKey", defaultMessage: "new message" })',
|
|
});
|
|
});
|
|
|
|
it("updates multiline int.formatMessage", () => {
|
|
expect(
|
|
syncIntlFormatMessage({
|
|
fileContent: `intl.formatMessage({\n\tid: "myKey",\n\tdefaultMessage: "old message"\n })`,
|
|
translations: { myKey: "new message" },
|
|
})
|
|
).toEqual({
|
|
updated: true,
|
|
fileContent: `intl.formatMessage({\n\tid: "myKey",\n\tdefaultMessage: "new message"\n })`,
|
|
});
|
|
});
|
|
|
|
it("updates multiple int.formatMessage components", () => {
|
|
expect(
|
|
syncIntlFormatMessage({
|
|
fileContent:
|
|
'intl.formatMessage({ id: "myKey", defaultMessage: "old message" })' +
|
|
'intl.formatMessage({ id: "anotherKey", defaultMessage: "another old message" })',
|
|
translations: {
|
|
myKey: "new message",
|
|
anotherKey: "another new message",
|
|
},
|
|
})
|
|
).toEqual({
|
|
updated: true,
|
|
fileContent:
|
|
'intl.formatMessage({ id: "myKey", defaultMessage: "new message" })' +
|
|
'intl.formatMessage({ id: "anotherKey", defaultMessage: "another new message" })',
|
|
});
|
|
});
|
|
|
|
it("updates nothing if no key was found", () => {
|
|
const fileContent =
|
|
'intl.formatMessage({ id: "myKey", defaultMessage: "old message" })' +
|
|
'intl.formatMessage({ id: "anotherKey", defaultMessage: "another old message" })';
|
|
expect(
|
|
syncIntlFormatMessage({
|
|
fileContent,
|
|
translations: {
|
|
unusedKey: "new message",
|
|
},
|
|
})
|
|
).toEqual({
|
|
updated: false,
|
|
fileContent,
|
|
});
|
|
});
|
|
|
|
it("updates nothing if not using intl.formatMessage", () => {
|
|
const fileContent =
|
|
'formatMessage({ id: "myKey", defaultMessage: "old message" })';
|
|
expect(
|
|
syncIntlFormatMessage({
|
|
fileContent,
|
|
translations: {
|
|
myKey: "new message",
|
|
},
|
|
})
|
|
).toEqual({
|
|
updated: false,
|
|
fileContent,
|
|
});
|
|
});
|
|
|
|
it("updates nothing if no defaultMessage is present", () => {
|
|
const fileContent = 'formatMessage({ id: "myKey" })';
|
|
expect(
|
|
syncIntlFormatMessage({
|
|
fileContent,
|
|
translations: {
|
|
myKey: "new message",
|
|
},
|
|
})
|
|
).toEqual({
|
|
updated: false,
|
|
fileContent,
|
|
});
|
|
});
|
|
});
|