2023-11-04 09:38:48 +00:00
|
|
|
return new UnitTest('length & capacity', function() { return 'length' in Array.prototype; })
|
|
|
|
.add('empty literal', function() { return [].length === 0 })
|
|
|
|
.add('filled literal', function() { return [1, 2, 3].length === 3 })
|
|
|
|
.add('set length', function() {
|
|
|
|
var a = [];
|
|
|
|
a.length = 10;
|
|
|
|
return a.length === 10;
|
|
|
|
})
|
|
|
|
.add('length after set', function() {
|
|
|
|
var a = [];
|
2024-01-06 15:49:36 +00:00
|
|
|
a[5] = 5;
|
2023-11-04 09:38:48 +00:00
|
|
|
return a.length === 6;
|
|
|
|
})
|
2024-01-06 15:49:36 +00:00
|
|
|
.add('length after set (big)', function() {
|
2023-11-04 09:38:48 +00:00
|
|
|
var a = [1, 2];
|
2024-01-06 15:49:36 +00:00
|
|
|
a[5000] = 5;
|
2023-11-04 09:38:48 +00:00
|
|
|
return a.length === 5001;
|
|
|
|
})
|
|
|
|
.add('expand test', function() {
|
|
|
|
var a = [];
|
|
|
|
for (var i = 0; i < 1000; i++) {
|
|
|
|
a[i] = i * 50;
|
|
|
|
if (a[i] !== i * 50) return false;
|
|
|
|
}
|
|
|
|
return a.length === 1000;
|
|
|
|
})
|