From 27d5eb5230193fa57409760991a0032827eff652 Mon Sep 17 00:00:00 2001 From: Nathan Chu <63111210+nthnchu@users.noreply.github.com> Date: Mon, 28 Sep 2020 12:48:40 -0400 Subject: [PATCH] Add tests and documentation for `?lang` option --- readme.md | 1 + tests/renderRepoCard.test.js | 19 +++++++++++++++++++ tests/renderStatsCard.test.js | 10 ++++++++++ tests/renderTopLanguages.test.js | 5 +++++ tests/renderWakatimeCard.test.js | 5 +++++ 5 files changed, 40 insertions(+) diff --git a/readme.md b/readme.md index 25c51ba8..c7e8aca5 100644 --- a/readme.md +++ b/readme.md @@ -136,6 +136,7 @@ You can customize the appearance of your `Stats Card` or `Repo Card` however you - `hide_border` - Hides the card's border _(boolean)_ - `theme` - name of the theme, choose from [all available themes](./themes/README.md) - `cache_seconds` - set the cache header manually _(min: 1800, max: 86400)_ +- `lang` - set the language in the card _(e.g. cn, de, es, etc.)_ ##### Gradient in bg_color diff --git a/tests/renderRepoCard.test.js b/tests/renderRepoCard.test.js index 6bef75a3..105a8553 100644 --- a/tests/renderRepoCard.test.js +++ b/tests/renderRepoCard.test.js @@ -307,4 +307,23 @@ describe("Test renderRepoCard", () => { }); expect(queryByTestId(document.body, "badge")).toBeNull(); }); + + it("should render translated badges", () => { + document.body.innerHTML = renderRepoCard({ + ...data_repo.repository, + isArchived: true, + }, { + lang: 'cn' + }); + + expect(queryByTestId(document.body, "badge")).toHaveTextContent("已封存"); + + document.body.innerHTML = renderRepoCard({ + ...data_repo.repository, + isTemplate: true, + }, { + lang: 'cn' + }); + expect(queryByTestId(document.body, "badge")).toHaveTextContent("模板"); + }); }); diff --git a/tests/renderStatsCard.test.js b/tests/renderStatsCard.test.js index 8a17de79..6132ad79 100644 --- a/tests/renderStatsCard.test.js +++ b/tests/renderStatsCard.test.js @@ -209,4 +209,14 @@ describe("Test renderStatsCard", () => { queryByTestId(document.body, "stars").previousElementSibling, // the label ).not.toHaveAttribute("x"); }); + + 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("有助于:"); + }) }); diff --git a/tests/renderTopLanguages.test.js b/tests/renderTopLanguages.test.js index dc512dd8..c7da4aba 100644 --- a/tests/renderTopLanguages.test.js +++ b/tests/renderTopLanguages.test.js @@ -216,4 +216,9 @@ describe("Test renderTopLanguages", () => { "60.00", ); }); + + it("should render a translated title", () => { + document.body.innerHTML = renderTopLanguages(langs, { lang: "cn" }) + expect(document.getElementsByClassName("header")[0].textContent).toBe("最常用的语言") + }); }); diff --git a/tests/renderWakatimeCard.test.js b/tests/renderWakatimeCard.test.js index 2fc4982c..88d6cd75 100644 --- a/tests/renderWakatimeCard.test.js +++ b/tests/renderWakatimeCard.test.js @@ -113,4 +113,9 @@ 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("本周没有编码活动") + }) });