DSDSWeb/static/js/Cesium-1.53/Specs/Scene/PolylineMaterialAppearanceS...

78 lines
2.3 KiB
JavaScript

defineSuite([
'Scene/PolylineMaterialAppearance',
'Core/Cartesian3',
'Core/GeometryInstance',
'Core/PolylineGeometry',
'Scene/Appearance',
'Scene/Material',
'Scene/Primitive',
'Specs/createScene'
], function(
PolylineMaterialAppearance,
Cartesian3,
GeometryInstance,
PolylineGeometry,
Appearance,
Material,
Primitive,
createScene) {
'use strict';
var scene;
var primitive;
beforeAll(function() {
scene = createScene();
scene.primitives.destroyPrimitives = false;
});
afterAll(function() {
scene.destroyForSpecs();
});
afterEach(function() {
scene.primitives.removeAll();
primitive = primitive && !primitive.isDestroyed() && primitive.destroy();
});
it('constructor', function() {
var a = new PolylineMaterialAppearance();
expect(a.material).toBeDefined();
expect(a.material.type).toEqual(Material.ColorType);
expect(a.vertexShaderSource).toBeDefined();
expect(a.fragmentShaderSource).toBeDefined();
expect(a.renderState).toEqual(Appearance.getDefaultRenderState(true, false));
expect(a.vertexFormat).toEqual(PolylineMaterialAppearance.VERTEX_FORMAT);
expect(a.translucent).toEqual(true);
expect(a.closed).toEqual(false);
});
it('renders', function() {
primitive = new Primitive({
geometryInstances : new GeometryInstance({
geometry : new PolylineGeometry({
positions : [
new Cartesian3(0.0, -10000000, 0.0),
new Cartesian3(0.0, 1000000.0, 0.0)
],
width : 10.0,
vertexFormat : PolylineMaterialAppearance.VERTEX_FORMAT,
followSurface: false
})
}),
appearance : new PolylineMaterialAppearance({
material : Material.fromType(Material.PolylineOutlineType),
translucent : false
}),
asynchronous : false
});
expect(scene).toRender([0, 0, 0, 255]);
scene.primitives.add(primitive);
expect(scene).notToRender([0, 0, 0, 255]);
});
}, 'WebGL');