Get rid of goog.isArrayLike

With this change, it's no longer possible to extend an array with
an "array like" object (an object with a 'length' property).
We were not using this feature in the library.
This commit is contained in:
Frederic Junod
2016-07-04 16:17:33 +02:00
parent b5da32340e
commit 89e377cb48
2 changed files with 1 additions and 27 deletions

View File

@@ -187,7 +187,7 @@ ol.array.flatten = function(arr) {
*/ */
ol.array.extend = function(arr, data) { ol.array.extend = function(arr, data) {
var i; var i;
var extension = goog.isArrayLike(data) ? data : [data]; var extension = Array.isArray(data) ? data : [data];
var length = extension.length; var length = extension.length;
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
arr[arr.length] = extension[i]; arr[arr.length] = extension[i];

View File

@@ -372,18 +372,6 @@ describe('ol.array', function() {
ol.array.extend(a, 2); ol.array.extend(a, 2);
expect(a).to.eql([0, 1, 2]); expect(a).to.eql([0, 1, 2]);
}); });
it('extends an array in place with an arraylike object', function() {
var a = [0, 1];
var arrayLikeObject = {0: 2, 1: 3, length: 2};
ol.array.extend(a, arrayLikeObject);
expect(a).to.eql([0, 1, 2, 3]);
});
it('extends an array in place with an empty arraylike object', function() {
var a = [0, 1];
var arrayLikeObject = {length: 0};
ol.array.extend(a, arrayLikeObject);
expect(a).to.eql([0, 1]);
});
it('extends an array in place with a big array', function() { it('extends an array in place with a big array', function() {
var a = []; var a = [];
var i = 250000; // original test has 1.000.000, but that was too slow var i = 250000; // original test has 1.000.000, but that was too slow
@@ -394,20 +382,6 @@ describe('ol.array', function() {
ol.array.extend(a, bigArray); ol.array.extend(a, bigArray);
expect(a).to.eql(bigArray); expect(a).to.eql(bigArray);
}); });
it('extends an array in place with arguments', function() {
var f = function() {
return arguments;
};
var a = [0];
ol.array.extend(a, f(1, 2, 3));
expect(a).to.eql([0, 1, 2, 3]);
});
it('extends an array with a NodeList (from querySelectorAll)', function() {
var a = [];
ol.array.extend(a, document.querySelectorAll('head'));
expect(a.length).to.be(1);
expect(a[0]).to.be(document.head);
});
}); });
describe('find', function() { describe('find', function() {