Add a snapToZero rotation constraint

This commit is contained in:
Éric Lemoine
2013-03-04 19:21:41 +01:00
committed by Tim Schaub
parent 83225916c1
commit f20cf83c94
4 changed files with 67 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
goog.provide('ol.test.RotationConstraint');
describe('ol.RotationConstraint', function() {
describe('SnapToZero', function() {
it('returns expected rotation value', function() {
var rotationConstraint = ol.RotationConstraint.createSnapToZero(0.3);
expect(rotationConstraint(0.1, 0)).toEqual(0);
expect(rotationConstraint(0.2, 0)).toEqual(0);
expect(rotationConstraint(0.3, 0)).toEqual(0);
expect(rotationConstraint(0.4, 0)).toEqual(0.4);
expect(rotationConstraint(-0.1, 0)).toEqual(0);
expect(rotationConstraint(-0.2, 0)).toEqual(0);
expect(rotationConstraint(-0.3, 0)).toEqual(0);
expect(rotationConstraint(-0.4, 0)).toEqual(-0.4);
expect(rotationConstraint(1, -0.9)).toEqual(0);
expect(rotationConstraint(1, -0.8)).toEqual(0);
// floating-point arithmetic
expect(rotationConstraint(1, -0.7)).not.toEqual(0);
expect(rotationConstraint(1, -0.6)).toEqual(0.4);
expect(rotationConstraint(-1, 0.9)).toEqual(0);
expect(rotationConstraint(-1, 0.8)).toEqual(0);
// floating-point arithmetic
expect(rotationConstraint(-1, 0.7)).not.toEqual(0);
expect(rotationConstraint(-1, 0.6)).toEqual(-0.4);
});
});
});
goog.require('ol.RotationConstraint');

View File

@@ -49,6 +49,16 @@ describe('ol.View2D', function() {
});
});
describe('create rotation constraint', function() {
it('gives a correct rotation constraint function', function() {
var options = {};
var fn = ol.View2D.createConstraints_(options).rotation;
expect(fn(0.01, 0)).toEqual(0);
expect(fn(0.15, 0)).toEqual(0.15);
});
});
});
});