Add tests for ol.render.webgl.Replay
This commit is contained in:
@@ -1 +1,62 @@
|
||||
goog.provide('ol.test.render.webgl.Replay');
|
||||
|
||||
goog.require('ol.render.webgl.Replay');
|
||||
|
||||
describe('ol.render.Replay', function() {
|
||||
var replay;
|
||||
beforeEach(function() {
|
||||
replay = new ol.render.webgl.Replay(5, [-180, -90, 180, 90]);
|
||||
});
|
||||
|
||||
|
||||
describe('constructor', function() {
|
||||
it('stores view related data', function() {
|
||||
expect(replay.tolerance).to.be(5);
|
||||
expect(replay.maxExtent).to.eql([-180, -90, 180, 90]);
|
||||
expect(replay.origin).to.eql([0, 0]);
|
||||
});
|
||||
|
||||
it ('sets up the required matrices', function() {
|
||||
var mat3 = [1, 0, 0, 1, 0, 0];
|
||||
var mat4 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
|
||||
expect(replay.projectionMatrix_).to.eql(mat3);
|
||||
expect(replay.offsetRotateMatrix_).to.eql(mat3);
|
||||
expect(replay.offsetScaleMatrix_).to.eql(mat3);
|
||||
expect(replay.tmpMat4_).to.eql(mat4);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#replay', function() {
|
||||
var gl = {
|
||||
uniformMatrix4fv: function() {},
|
||||
uniform1f: function() {}
|
||||
};
|
||||
var context = {
|
||||
bindBuffer: function() {},
|
||||
getGL: function() {
|
||||
return gl;
|
||||
}
|
||||
};
|
||||
beforeEach(function() {
|
||||
replay.setUpProgram = function() {
|
||||
return {
|
||||
u_projectionMatrix: true,
|
||||
u_offsetScaleMatrix: true,
|
||||
u_offsetRotateMatrix: true,
|
||||
u_opacity: true
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
it('calculates the correct matrices', function() {
|
||||
var sin = Math.sin(Math.PI);
|
||||
replay.replay(context, [0, 0], 10, Math.PI, [10, 10], 1, 0, {}, undefined,
|
||||
false, undefined);
|
||||
|
||||
expect(replay.projectionMatrix_).to.eql([-0.02, -sin * 0.02, sin * 0.02,
|
||||
-0.02, 0, 0]);
|
||||
expect(replay.offsetRotateMatrix_).to.eql([-1, -sin, sin, -1, 0, 0]);
|
||||
expect(replay.offsetScaleMatrix_).to.eql([0.2, 0, 0, 0.2, 0, 0]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user