LibJS: Add the String.fromCodePoint() method

This commit is contained in:
Idan Horowitz 2021-06-16 11:36:23 +03:00 committed by Linus Groh
commit 2299be474b
Notes: sideshowbarker 2024-07-18 12:11:52 +09:00
5 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,37 @@
test("basic functionality", () => {
expect(String.fromCodePoint).toHaveLength(1);
expect(String.fromCodePoint()).toBe("");
expect(String.fromCodePoint(0)).toBe("\u0000");
expect(String.fromCodePoint(false)).toBe("\u0000");
expect(String.fromCodePoint(null)).toBe("\u0000");
expect(String.fromCodePoint(1)).toBe("\u0001");
expect(String.fromCodePoint(true)).toBe("\u0001");
expect(String.fromCodePoint(0xffff)).toBe("\uffff");
expect(String.fromCodePoint(65)).toBe("A");
expect(String.fromCodePoint(65, 66, 67)).toBe("ABC");
expect(String.fromCodePoint(228, 246, 252)).toBe("äöü");
});
test("errors", () => {
expect(() => {
String.fromCodePoint(NaN);
}).toThrowWithMessage(
RangeError,
"must be an integer no less than 0 and no greater than 0x10FFFF"
);
expect(() => {
String.fromCodePoint(-5);
}).toThrowWithMessage(
RangeError,
"must be an integer no less than 0 and no greater than 0x10FFFF"
);
expect(() => {
String.fromCodePoint(0x123ffff);
}).toThrowWithMessage(
RangeError,
"must be an integer no less than 0 and no greater than 0x10FFFF"
);
});