mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-13 12:31:51 +00:00
57 lines
1.8 KiB
JavaScript
57 lines
1.8 KiB
JavaScript
test("constructor properties", () => {
|
||
expect(String).toHaveLength(1);
|
||
expect(String.name).toBe("String");
|
||
});
|
||
|
||
test("typeof", () => {
|
||
expect(typeof String()).toBe("string");
|
||
expect(typeof new String()).toBe("object");
|
||
});
|
||
|
||
test("length", () => {
|
||
expect(new String().length).toBe(0);
|
||
expect(new String("a").length).toBe(1);
|
||
expect(new String("\u180E").length).toBe(1);
|
||
expect(new String("\uDBFF\uDFFF").length).toBe(2);
|
||
|
||
// Issue #2280
|
||
expect("⛳".length).toBe(1);
|
||
expect("🔥".length).toBe(2);
|
||
expect("🔥🔥🔥".length).toBe(6);
|
||
expect("👨👩👦".length).toBe(8);
|
||
expect("👩❤️💋👩".length).toBe(11);
|
||
});
|
||
|
||
test("indices", () => {
|
||
expect("abc"[0]).toBe("a");
|
||
expect("abc"[1]).toBe("b");
|
||
expect("abc"[2]).toBe("c");
|
||
expect("abc"[3]).toBeUndefined();
|
||
|
||
expect("😀"[0]).toBe("\ud83d");
|
||
expect("😀"[1]).toBe("\ude00");
|
||
expect("😀"[2]).toBeUndefined();
|
||
});
|
||
|
||
test("properties", () => {
|
||
expect(Object.getOwnPropertyNames("")).toEqual(["length"]);
|
||
expect(Object.getOwnPropertyNames("a")).toEqual(["0", "length"]);
|
||
expect(Object.getOwnPropertyNames("ab")).toEqual(["0", "1", "length"]);
|
||
expect(Object.getOwnPropertyNames("abc")).toEqual(["0", "1", "2", "length"]);
|
||
expect(Object.getOwnPropertyNames("😀")).toEqual(["0", "1", "length"]);
|
||
});
|
||
|
||
test("less than", () => {
|
||
expect("a" < "").toBe(false);
|
||
expect("a" < "b").toBe(true);
|
||
expect("a" < "aa").toBe(true);
|
||
expect("aa" < "a").toBe(false);
|
||
expect("abc" < "abd").toBe(true);
|
||
expect("abc" < "abcd").toBe(true);
|
||
expect("😀" < "😁").toBe(true);
|
||
expect("" < "😁").toBe(true);
|
||
expect("😁" < "").toBe(false);
|
||
expect("a" < "A").toBe(false);
|
||
expect("a" < "a").toBe(false);
|
||
expect("~" < "😀").toBe(false);
|
||
});
|