Merged in feat/lokalise-rebuild (pull request #2993)
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
This commit is contained in:
102
scripts/i18n/syncDefaultMessage/syncIntlFormatMessage.test.ts
Normal file
102
scripts/i18n/syncDefaultMessage/syncIntlFormatMessage.test.ts
Normal file
@@ -0,0 +1,102 @@
|
||||
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,
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user