54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
import {create} from '../../../../src/ol/worker/webgl.js';
|
|
import {
|
|
WebGLWorkerMessageType
|
|
} from '../../../../src/ol/renderer/webgl/Layer.js';
|
|
|
|
|
|
describe('ol/worker/webgl', function() {
|
|
|
|
let worker;
|
|
beforeEach(function() {
|
|
worker = create();
|
|
});
|
|
|
|
afterEach(function() {
|
|
if (worker) {
|
|
worker.terminate();
|
|
}
|
|
worker = null;
|
|
});
|
|
|
|
describe('messaging', function() {
|
|
describe('GENERATE_BUFFERS', function() {
|
|
it('responds with buffer data', function(done) {
|
|
worker.addEventListener('error', function(error) {
|
|
expect().fail(error.message);
|
|
});
|
|
|
|
worker.addEventListener('message', function(event) {
|
|
expect(event.data.type).to.eql(WebGLWorkerMessageType.GENERATE_BUFFERS);
|
|
expect(event.data.renderInstructions.byteLength).to.greaterThan(0);
|
|
expect(event.data.indexBuffer.byteLength).to.greaterThan(0);
|
|
expect(event.data.vertexBuffer.byteLength).to.greaterThan(0);
|
|
expect(event.data.testInt).to.be(101);
|
|
expect(event.data.testString).to.be('abcd');
|
|
done();
|
|
});
|
|
|
|
const instructions = new Float32Array(10);
|
|
|
|
const message = {
|
|
type: WebGLWorkerMessageType.GENERATE_BUFFERS,
|
|
renderInstructions: instructions,
|
|
customAttributesCount: 0,
|
|
testInt: 101,
|
|
testString: 'abcd'
|
|
};
|
|
|
|
worker.postMessage(message);
|
|
});
|
|
});
|
|
});
|
|
|
|
});
|