1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 08:37:46 +00:00

LibJS: Add Array.prototype.slice

This commit is contained in:
Kesse Jones 2020-04-18 17:50:19 -03:00 committed by Andreas Kling
parent 3474d7c88e
commit 856ab9c600
3 changed files with 95 additions and 0 deletions

View file

@ -0,0 +1,53 @@
load("test-common.js");
try {
assert(Array.prototype.slice.length === 2);
var array = ["hello", "friends", "serenity", 1];
var array_slice = array.slice();
assert(array_slice.length === array.length);
assert(array_slice.length === 4);
assert(array_slice[0] === "hello");
assert(array_slice[1] === "friends");
assert(array_slice[2] === "serenity");
assert(array_slice[3] === 1);
array_slice = array.slice(1)
assert(array_slice.length === 3);
assert(array_slice[0] === "friends");
assert(array_slice[1] === "serenity");
assert(array_slice[2] === 1);
array_slice = array.slice(0, 2);
assert(array_slice.length === 2);
assert(array_slice[0] === "hello");
assert(array_slice[1] === "friends");
array_slice = array.slice(-1);
assert(array_slice.length === 1);
assert(array_slice[0] === 1);
array_slice = array.slice(1, 1);
assert(array_slice.length === 0);
array_slice = array.slice(1, -1);
assert(array_slice.length === 2);
assert(array_slice[0] === "friends");
assert(array_slice[1] === "serenity");
array_slice = array.slice(2, -1);
assert(array_slice.length === 1);
assert(array_slice[0] === "serenity");
array_slice = array.slice(0, 100);
assert(array_slice.length === 4);
assert(array_slice[0] === "hello");
assert(array_slice[1] === "friends");
assert(array_slice[2] === "serenity");
assert(array_slice[3] === 1);
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}