53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
|
|
defineSuite([
|
||
|
|
'Core/arraySlice',
|
||
|
|
'Core/FeatureDetection'
|
||
|
|
], function(
|
||
|
|
arraySlice,
|
||
|
|
FeatureDetection) {
|
||
|
|
'use strict';
|
||
|
|
|
||
|
|
var array = [1, 2, 3, 4, 5];
|
||
|
|
|
||
|
|
it('slices entire array', function() {
|
||
|
|
var slice = arraySlice(array);
|
||
|
|
expect(slice).toEqual(array);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('slices from a start index', function() {
|
||
|
|
var slice = arraySlice(array, 1);
|
||
|
|
expect(slice).toEqual([2, 3, 4, 5]);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('slices from with an end index', function() {
|
||
|
|
var slice = arraySlice(array, undefined, 3);
|
||
|
|
expect(slice).toEqual([1, 2, 3]);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('slices with a start and end index', function() {
|
||
|
|
var slice = arraySlice(array, 1, 3);
|
||
|
|
expect(slice).toEqual([2, 3]);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('slices typed arrays', function() {
|
||
|
|
if (!FeatureDetection.supportsTypedArrays()) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
var array = new Uint8Array([1, 2, 3, 4, 5]);
|
||
|
|
var slice = arraySlice(array);
|
||
|
|
expect(slice).toEqual(array);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('throws if begin is not a number', function() {
|
||
|
|
expect(function() {
|
||
|
|
return arraySlice(array, {});
|
||
|
|
}).toThrowDeveloperError();
|
||
|
|
});
|
||
|
|
|
||
|
|
it('throws if end is not a number', function() {
|
||
|
|
expect(function() {
|
||
|
|
return arraySlice(array, undefined, {});
|
||
|
|
}).toThrowDeveloperError();
|
||
|
|
});
|
||
|
|
});
|