mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-25 23:12:19 +00:00
76 lines
1.3 KiB
TypeScript
76 lines
1.3 KiB
TypeScript
var arr = changetype<i32[]>(Heap.allocate(sizeof<usize>() + 2 * sizeof<i32>()));
|
|
|
|
assert(arr.length == 0);
|
|
assert(arr.__capacity == 0);
|
|
|
|
arr.push(42);
|
|
|
|
assert(arr[0] == 42);
|
|
assert(arr.length == 1);
|
|
assert(arr.__capacity == 1);
|
|
|
|
var i = arr.pop();
|
|
|
|
assert(i == 42);
|
|
assert(arr.length == 0);
|
|
assert(arr.__capacity == 1);
|
|
|
|
arr.push(43);
|
|
|
|
assert(arr.length == 1);
|
|
assert(arr.__capacity == 1);
|
|
assert(arr[0] == 43);
|
|
|
|
arr.push(44);
|
|
|
|
assert(arr.length == 2);
|
|
assert(arr.__capacity == 2);
|
|
assert(arr[0] == 43);
|
|
assert(arr[1] == 44);
|
|
|
|
arr.push(45);
|
|
|
|
assert(arr.length == 3);
|
|
assert(arr.__capacity == 4);
|
|
assert(arr[0] == 43);
|
|
assert(arr[1] == 44);
|
|
assert(arr[2] == 45);
|
|
|
|
arr.unshift(42); // see FIXME in std:array
|
|
|
|
assert(arr.length == 4);
|
|
assert(arr.__capacity == 4);
|
|
assert(arr[0] == 42);
|
|
assert(arr[1] == 43);
|
|
assert(arr[2] == 44);
|
|
assert(arr[3] == 45);
|
|
|
|
arr.unshift(41);
|
|
|
|
assert(arr.length == 5);
|
|
assert(arr.__capacity == 8);
|
|
assert(arr[0] == 41);
|
|
assert(arr[1] == 42);
|
|
assert(arr[2] == 43);
|
|
assert(arr[3] == 44);
|
|
assert(arr[4] == 45);
|
|
|
|
i = arr.shift();
|
|
|
|
assert(i == 41);
|
|
assert(arr.length == 4);
|
|
assert(arr.__capacity == 8);
|
|
assert(arr[0] == 42);
|
|
assert(arr[1] == 43);
|
|
assert(arr[2] == 44);
|
|
assert(arr[3] == 45);
|
|
|
|
i = arr.pop();
|
|
|
|
assert(i == 45);
|
|
assert(arr.length == 3);
|
|
assert(arr.__capacity == 8);
|
|
assert(arr[0] == 42);
|
|
assert(arr[1] == 43);
|
|
assert(arr[2] == 44);
|