diff --git a/src/lib/utils/html.ts b/src/lib/utils/html.ts index 3b6a93f15..7177160e7 100644 --- a/src/lib/utils/html.ts +++ b/src/lib/utils/html.ts @@ -72,7 +72,7 @@ export function createNormalizedUrl(url: string) { codePoints[i] = Chars.UNDERSCORE; } - return String.fromCharCode(...codePoints); + return String.fromCodePoint(...codePoints); } const enum Chars { diff --git a/src/test/utils/html.test.ts b/src/test/utils/html.test.ts index 04e41f94e..6c8d14d8f 100644 --- a/src/test/utils/html.test.ts +++ b/src/test/utils/html.test.ts @@ -288,4 +288,12 @@ describe("createNormalizedUrl", () => { it("Permits Chinese characters", () => { equal(createNormalizedUrl("ζ–‡ζ‘£"), "ζ–‡ζ‘£"); }); + + it("Permits Emoji characters", () => { + equal(createNormalizedUrl("🐌 Foo πŸͺ.md"), "🐌_Foo_πŸͺ.md"); + }); + + it("Permits UTF8 characters", () => { + equal(createNormalizedUrl("β—‰ bar⚐.md"), "β—‰_bar⚐.md"); + }); });