1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:47:35 +00:00

LibJS: Implement ECMA-402 String.prototype.toLocale{Lower,Upper}Case

This commit is contained in:
Timothy Flynn 2021-09-05 15:27:11 -04:00 committed by Linus Groh
parent 14086c69e7
commit 207319ecf1
5 changed files with 91 additions and 7 deletions

View file

@ -25,4 +25,25 @@ test("special case folding", () => {
expect("\u1FB7".toLocaleLowerCase()).toBe("\u1FB7");
expect("\u1FC7".toLocaleLowerCase()).toBe("\u1FC7");
expect("\u1FF7".toLocaleLowerCase()).toBe("\u1FF7");
expect("I".toLocaleLowerCase()).toBe("i");
expect("I".toLocaleLowerCase("az")).toBe("\u0131");
expect("I".toLocaleLowerCase("tr")).toBe("\u0131");
expect("\u0130".toLocaleLowerCase()).toBe("\u0069\u0307");
expect("\u0130".toLocaleLowerCase("az")).toBe("i");
expect("\u0130".toLocaleLowerCase("tr")).toBe("i");
expect("I\u0307".toLocaleLowerCase()).toBe("i\u0307");
expect("I\u0307".toLocaleLowerCase("az")).toBe("i");
expect("I\u0307".toLocaleLowerCase("tr")).toBe("i");
expect("\u012e".toLocaleLowerCase()).toBe("\u012f");
expect("\u012e".toLocaleLowerCase("lt")).toBe("\u012f");
expect("\u012e\u0300".toLocaleLowerCase()).toBe("\u012f\u0300");
expect("\u012e\u0300".toLocaleLowerCase("lt")).toBe("\u012f\u0307\u0300");
expect("\u012e\u0300".toLocaleLowerCase(["en", "lt"])).toBe("\u012f\u0300");
expect("\u012e\u0300".toLocaleLowerCase(["lt", "en"])).toBe("\u012f\u0307\u0300");
});

View file

@ -27,4 +27,19 @@ test("special case folding", () => {
expect("\u1FB7".toLocaleUpperCase()).toBe("\u0391\u0342\u0399");
expect("\u1FC7".toLocaleUpperCase()).toBe("\u0397\u0342\u0399");
expect("\u1FF7".toLocaleUpperCase()).toBe("\u03A9\u0342\u0399");
expect("i".toLocaleUpperCase()).toBe("I");
expect("i".toLocaleUpperCase("lt")).toBe("I");
expect("i\u0307".toLocaleUpperCase()).toBe("I\u0307");
expect("i\u0307".toLocaleUpperCase("lt")).toBe("I");
expect("j".toLocaleUpperCase()).toBe("J");
expect("j".toLocaleUpperCase("lt")).toBe("J");
expect("j\u0307".toLocaleUpperCase()).toBe("J\u0307");
expect("j\u0307".toLocaleUpperCase("lt")).toBe("J");
expect("j\u0307".toLocaleUpperCase(["en", "lt"])).toBe("J\u0307");
expect("j\u0307".toLocaleUpperCase(["lt", "en"])).toBe("J");
});