refactor: added i18n class to manage translation logic & improved code

This commit is contained in:
Anurag
2020-10-02 14:07:59 +05:30
parent dc430d8ea7
commit dc067e6f2b
15 changed files with 297 additions and 199 deletions
+18 -12
View File
@@ -309,21 +309,27 @@ describe("Test renderRepoCard", () => {
});
it("should render translated badges", () => {
document.body.innerHTML = renderRepoCard({
...data_repo.repository,
isArchived: true,
}, {
lang: 'cn'
});
document.body.innerHTML = renderRepoCard(
{
...data_repo.repository,
isArchived: true,
},
{
locale: "cn",
},
);
expect(queryByTestId(document.body, "badge")).toHaveTextContent("已封存");
document.body.innerHTML = renderRepoCard({
...data_repo.repository,
isTemplate: true,
}, {
lang: 'cn'
});
document.body.innerHTML = renderRepoCard(
{
...data_repo.repository,
isTemplate: true,
},
{
locale: "cn",
},
);
expect(queryByTestId(document.body, "badge")).toHaveTextContent("模板");
});
});
+30 -8
View File
@@ -211,12 +211,34 @@ describe("Test renderStatsCard", () => {
});
it("should render translations", () => {
document.body.innerHTML = renderStatsCard(stats, { lang: "cn" })
expect(document.getElementsByClassName("header")[0].textContent).toBe("Anurag Hazra的GitHub统计");
expect(document.querySelector("g[transform=\"translate(0, 0)\"]>.stagger>.stat.bold").textContent).toBe("总星数:");
expect(document.querySelector("g[transform=\"translate(0, 25)\"]>.stagger>.stat.bold").textContent).toBe("总承诺 (2020):");
expect(document.querySelector("g[transform=\"translate(0, 50)\"]>.stagger>.stat.bold").textContent).toBe("总公关:");
expect(document.querySelector("g[transform=\"translate(0, 75)\"]>.stagger>.stat.bold").textContent).toBe("总发行量:");
expect(document.querySelector("g[transform=\"translate(0, 100)\"]>.stagger>.stat.bold").textContent).toBe("有助于:");
})
document.body.innerHTML = renderStatsCard(stats, { locale: "cn" });
expect(document.getElementsByClassName("header")[0].textContent).toBe(
"Anurag Hazra的GitHub统计",
);
expect(
document.querySelector(
'g[transform="translate(0, 0)"]>.stagger>.stat.bold',
).textContent,
).toBe("总星数:");
expect(
document.querySelector(
'g[transform="translate(0, 25)"]>.stagger>.stat.bold',
).textContent,
).toBe("总承诺 (2020):");
expect(
document.querySelector(
'g[transform="translate(0, 50)"]>.stagger>.stat.bold',
).textContent,
).toBe("总公关:");
expect(
document.querySelector(
'g[transform="translate(0, 75)"]>.stagger>.stat.bold',
).textContent,
).toBe("总发行量:");
expect(
document.querySelector(
'g[transform="translate(0, 100)"]>.stagger>.stat.bold',
).textContent,
).toBe("有助于:");
});
});
+4 -2
View File
@@ -218,7 +218,9 @@ describe("Test renderTopLanguages", () => {
});
it("should render a translated title", () => {
document.body.innerHTML = renderTopLanguages(langs, { lang: "cn" })
expect(document.getElementsByClassName("header")[0].textContent).toBe("最常用的语言")
document.body.innerHTML = renderTopLanguages(langs, { locale: "cn" });
expect(document.getElementsByClassName("header")[0].textContent).toBe(
"最常用的语言",
);
});
});
+10 -4
View File
@@ -113,9 +113,15 @@ describe("Test Render Wakatime Card", () => {
"
`);
});
it("should render translations", () => {
document.body.innerHTML = renderWakatimeCard({}, {lang: "cn"})
expect(document.getElementsByClassName("header")[0].textContent).toBe("Wakatime周统计")
expect(document.querySelector("g[transform=\"translate(0, 0)\"]>text.stat.bold").textContent).toBe("本周没有编码活动")
})
document.body.innerHTML = renderWakatimeCard({}, { locale: "cn" });
expect(document.getElementsByClassName("header")[0].textContent).toBe(
"Wakatime周统计",
);
expect(
document.querySelector('g[transform="translate(0, 0)"]>text.stat.bold')
.textContent,
).toBe("本周没有编码活动");
});
});