42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
|
|
define([
|
||
|
|
'Core/defaultValue'
|
||
|
|
], function(
|
||
|
|
defaultValue) {
|
||
|
|
'use strict';
|
||
|
|
|
||
|
|
function createPackableArraySpecs(packable, unpackedArray, packedArray, namePrefix) {
|
||
|
|
namePrefix = defaultValue(namePrefix, '');
|
||
|
|
|
||
|
|
it(namePrefix + ' can pack', function() {
|
||
|
|
var actualPackedArray = packable.packArray(unpackedArray);
|
||
|
|
expect(actualPackedArray.length).toEqual(packedArray.length);
|
||
|
|
expect(actualPackedArray).toEqual(packedArray);
|
||
|
|
});
|
||
|
|
|
||
|
|
it(namePrefix + ' can roundtrip', function() {
|
||
|
|
var actualPackedArray = packable.packArray(unpackedArray);
|
||
|
|
var result = packable.unpackArray(actualPackedArray);
|
||
|
|
expect(result).toEqual(unpackedArray);
|
||
|
|
});
|
||
|
|
|
||
|
|
it(namePrefix + ' can unpack', function() {
|
||
|
|
var result = packable.unpackArray(packedArray);
|
||
|
|
expect(result).toEqual(unpackedArray);
|
||
|
|
});
|
||
|
|
|
||
|
|
it(namePrefix + ' packArray throws with undefined array', function() {
|
||
|
|
expect(function() {
|
||
|
|
packable.packArray(undefined);
|
||
|
|
}).toThrowDeveloperError();
|
||
|
|
});
|
||
|
|
|
||
|
|
it(namePrefix + ' unpackArray throws with undefined array', function() {
|
||
|
|
expect(function() {
|
||
|
|
packable.unpackArray(undefined);
|
||
|
|
}).toThrowDeveloperError();
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
return createPackableArraySpecs;
|
||
|
|
});
|