You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Cesium-Prequel/Specs/Core/GeometryInstanceAttributeSp...

56 lines
1.8 KiB
JavaScript

import { ComponentDatatype } from "../../Source/Cesium.js";
import { GeometryInstanceAttribute } from "../../Source/Cesium.js";
describe("Core/GeometryInstanceAttribute", function () {
it("constructor", function () {
var color = new GeometryInstanceAttribute({
componentDatatype: ComponentDatatype.UNSIGNED_BYTE,
componentsPerAttribute: 4,
normalize: true,
value: new Uint8Array([255, 255, 0, 255]),
});
expect(color.componentDatatype).toEqual(ComponentDatatype.UNSIGNED_BYTE);
expect(color.componentsPerAttribute).toEqual(4);
expect(color.normalize).toEqual(true);
expect(color.value).toEqual([255, 255, 0, 255]);
});
it("constructor throws without componentDatatype", function () {
expect(function () {
return new GeometryInstanceAttribute({
componentsPerAttribute: 4,
value: new Uint8Array([255, 255, 0, 255]),
});
}).toThrowDeveloperError();
});
it("constructor throws without componentsPerAttribute", function () {
expect(function () {
return new GeometryInstanceAttribute({
componentDatatype: ComponentDatatype.UNSIGNED_BYTE,
value: new Uint8Array([255, 255, 0, 255]),
});
}).toThrowDeveloperError();
});
it("constructor throws when componentsPerAttribute is less than 1 or greater than 4", function () {
expect(function () {
return new GeometryInstanceAttribute({
componentDatatype: ComponentDatatype.UNSIGNED_BYTE,
componentsPerAttribute: 7,
value: new Uint8Array([255, 255, 0, 255]),
});
}).toThrowDeveloperError();
});
it("constructor throws without values", function () {
expect(function () {
return new GeometryInstanceAttribute({
componentDatatype: ComponentDatatype.UNSIGNED_BYTE,
componentsPerAttribute: 4,
});
}).toThrowDeveloperError();
});
});