1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 15:28:11 +00:00

LibJS: Implement String.prototype.startsWith()

This commit is contained in:
Linus Groh 2020-03-29 17:15:00 +01:00 committed by Andreas Kling
parent 7971af474d
commit 0a94661c14
3 changed files with 68 additions and 0 deletions

View file

@ -0,0 +1,40 @@
function assert(x) { if (!x) throw 1; }
try {
var s = "foobar";
assert(s.startsWith("f") === true);
assert(s.startsWith("fo") === true);
assert(s.startsWith("foo") === true);
assert(s.startsWith("foob") === true);
assert(s.startsWith("fooba") === true);
assert(s.startsWith("foobar") === true);
assert(s.startsWith("foobar1") === false);
assert(s.startsWith("f", 0) === true);
assert(s.startsWith("fo", 0) === true);
assert(s.startsWith("foo", 0) === true);
assert(s.startsWith("foob", 0) === true);
assert(s.startsWith("fooba", 0) === true);
assert(s.startsWith("foobar", 0) === true);
assert(s.startsWith("foobar1", 0) === false);
assert(s.startsWith("foo", []) === true);
assert(s.startsWith("foo", null) === true);
assert(s.startsWith("foo", undefined) === true);
assert(s.startsWith("foo", false) === true);
assert(s.startsWith("foo", true) === false);
assert(s.startsWith("foo", "foo") === true);
assert(s.startsWith("foo", 0 - 1) === true);
assert(s.startsWith("foo", 42) === false);
assert(s.startsWith("bar", 3) === true);
assert(s.startsWith("bar", "3") === true);
assert(s.startsWith("bar1", 3) === false);
assert(s.startsWith() === false);
assert(s.startsWith("") === true);
assert(s.startsWith("", 0) === true);
assert(s.startsWith("", 1) === true);
assert(s.startsWith("", 0 - 1) === true);
assert(s.startsWith("", 42) === true);
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}