38 lines
874 B
JavaScript
38 lines
874 B
JavaScript
var arr;
|
|
|
|
// should have a length of 0
|
|
assert.equal(Array.of.length, 0);
|
|
|
|
//should return an array from arguments
|
|
arr = Array.of(1, 'a', 3);
|
|
assert.deepEqual(arr, [1, 'a', 3]);
|
|
assert.isTrue(arr instanceof Array);
|
|
|
|
//should work with no arguments
|
|
arr = Array.of();
|
|
assert.deepEqual(arr, []);
|
|
assert.isTrue(arr instanceof Array);
|
|
|
|
//should work with sub-classed array
|
|
class MyArray extends Array {}
|
|
|
|
arr = MyArray.of(4, 'b');
|
|
assert.equal(arr[0], 4);
|
|
assert.equal(arr[1], 'b');
|
|
assert.equal(arr.length, 2);
|
|
assert.isTrue(arr instanceof MyArray);
|
|
|
|
//should call with exotic array
|
|
class ExoticArray {
|
|
constructor(len) {
|
|
this.length = len;
|
|
}
|
|
}
|
|
arr = Array.of.call(ExoticArray, 5, 'c', 6, 'd');
|
|
assert.equal(arr[0], 5);
|
|
assert.equal(arr[1], 'c');
|
|
assert.equal(arr[2], 6);
|
|
assert.equal(arr[3], 'd');
|
|
assert.equal(arr.length, 4);
|
|
assert.isTrue(arr instanceof ExoticArray);
|