DSDSWeb/static/js/Cesium-1.53/Specs/Core/GeometryAttributeSpec.js

81 lines
2.5 KiB
JavaScript

defineSuite([
'Core/GeometryAttribute',
'Core/ComponentDatatype'
], function(
GeometryAttribute,
ComponentDatatype) {
'use strict';
it('constructor', function() {
var color = new GeometryAttribute({
componentDatatype : ComponentDatatype.UNSIGNED_BYTE,
componentsPerAttribute : 4,
normalize : true,
values : new Uint8Array([
255, 0, 0, 255,
0, 255, 0, 255,
0, 0, 255, 255
])
});
expect(color.componentDatatype).toEqual(ComponentDatatype.UNSIGNED_BYTE);
expect(color.componentsPerAttribute).toEqual(4);
expect(color.normalize).toEqual(true);
expect(color.values).toEqual([
255, 0, 0, 255,
0, 255, 0, 255,
0, 0, 255, 255
]);
});
it('constructor throws without componentDatatype', function() {
expect(function() {
return new GeometryAttribute({
componentsPerAttribute : 4,
values : new Uint8Array([
255, 0, 0, 255,
0, 255, 0, 255,
0, 0, 255, 255
])
});
}).toThrowDeveloperError();
});
it('constructor throws without componentsPerAttribute', function() {
expect(function() {
return new GeometryAttribute({
componentDatatype : ComponentDatatype.UNSIGNED_BYTE,
values : new Uint8Array([
255, 0, 0, 255,
0, 255, 0, 255,
0, 0, 255, 255
])
});
}).toThrowDeveloperError();
});
it('constructor throws when componentsPerAttribute is less than 1 or greater than 4', function() {
expect(function() {
return new GeometryAttribute({
componentDatatype : ComponentDatatype.UNSIGNED_BYTE,
componentsPerAttribute : 7,
values : new Uint8Array([
255, 0, 0, 255,
0, 255, 0, 255,
0, 0, 255, 255
])
});
}).toThrowDeveloperError();
});
it('constructor throws without values', function() {
expect(function() {
return new GeometryAttribute({
componentDatatype : ComponentDatatype.UNSIGNED_BYTE,
componentsPerAttribute : 4
});
}).toThrowDeveloperError();
});
});