j2s/tests/array/length.js

26 lines
823 B
JavaScript
Raw Normal View History

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;
})