diff --git a/src/renderStatsCard.js b/src/renderStatsCard.js
index 7f9df53..416ce53 100644
--- a/src/renderStatsCard.js
+++ b/src/renderStatsCard.js
@@ -124,9 +124,11 @@ const renderStatsCard = (stats = {}, options = { hide: [] }) => {
});
// Conditionally rendered elements
+
+ const apostrophe = ["x", "s"].includes(name.slice(-1)) ? "" : "s";
const title = hide_title
? ""
- : ``;
+ : ``;
const border = hide_border
? ""
diff --git a/tests/renderStatsCard.test.js b/tests/renderStatsCard.test.js
index f1c337c..c161f12 100644
--- a/tests/renderStatsCard.test.js
+++ b/tests/renderStatsCard.test.js
@@ -39,6 +39,20 @@ describe("Test renderStatsCard", () => {
expect(queryByTestId(document.body, "rank-circle")).toBeInTheDocument();
});
+ it("should have proper name apostrophe", () => {
+ document.body.innerHTML = renderStatsCard({ ...stats, name: "Anil Das" });
+
+ expect(document.getElementsByClassName("header")[0].textContent).toBe(
+ "Anil Das' GitHub Stats"
+ );
+
+ document.body.innerHTML = renderStatsCard({ ...stats, name: "Felix" });
+
+ expect(document.getElementsByClassName("header")[0].textContent).toBe(
+ "Felix' GitHub Stats"
+ );
+ });
+
it("should hide individual stats", () => {
document.body.innerHTML = renderStatsCard(stats, {
hide: "['issues', 'prs', 'contribs']",