mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-27 15:46:10 +03:00
80 lines
2.5 KiB
JavaScript
80 lines
2.5 KiB
JavaScript
/* global QUnit, Util, console */
|
|
|
|
(function () {
|
|
|
|
var originalNow;
|
|
var now;
|
|
|
|
QUnit.module("spring", {
|
|
beforeEach: function () {
|
|
now = 0;
|
|
originalNow = OpenSeadragon.now;
|
|
|
|
OpenSeadragon.now = function() {
|
|
return now;
|
|
};
|
|
},
|
|
afterEach: function () {
|
|
OpenSeadragon.now = originalNow;
|
|
}
|
|
});
|
|
|
|
QUnit.test('regular spring', function(assert) {
|
|
var done = assert.async();
|
|
var spring = new OpenSeadragon.Spring({
|
|
initial: 5,
|
|
animationTime: 1,
|
|
springStiffness: 0.000001
|
|
});
|
|
|
|
assert.equal(spring.current.value, 5, 'initial current value');
|
|
assert.equal(spring.target.value, 5, 'initial target value');
|
|
|
|
spring.springTo(6);
|
|
assert.equal(spring.current.value, 5, 'current value after springTo');
|
|
assert.equal(spring.target.value, 6, 'target value after springTo');
|
|
|
|
now = 500;
|
|
spring.update();
|
|
Util.assessNumericValue(assert, 5.5, spring.current.value, 0.00001, 'current value after first update');
|
|
assert.equal(spring.target.value, 6, 'target value after first update');
|
|
|
|
now = 1000;
|
|
spring.update();
|
|
assert.equal(spring.current.value, 6, 'current value after second update');
|
|
assert.equal(spring.target.value, 6, 'target value after second update');
|
|
|
|
done();
|
|
});
|
|
|
|
QUnit.test('exponential spring', function(assert) {
|
|
var done = assert.async();
|
|
var spring = new OpenSeadragon.Spring({
|
|
exponential: true,
|
|
initial: 1,
|
|
animationTime: 1,
|
|
springStiffness: 0.000001
|
|
});
|
|
|
|
assert.equal(spring.current.value, 1, 'initial current value');
|
|
assert.equal(spring.target.value, 1, 'initial target value');
|
|
|
|
spring.springTo(2);
|
|
assert.equal(spring.current.value, 1, 'current value after springTo');
|
|
assert.equal(spring.target.value, 2, 'target value after springTo');
|
|
|
|
now = 500;
|
|
spring.update();
|
|
Util.assessNumericValue(assert, 1.41421, spring.current.value, 0.00001, 'current value after first update');
|
|
assert.equal(spring.target.value, 2, 'target value after first update');
|
|
|
|
now = 1000;
|
|
spring.update();
|
|
assert.equal(spring.current.value, 2, 'current value after second update');
|
|
assert.equal(spring.target.value, 2, 'target value after second update');
|
|
|
|
done();
|
|
});
|
|
|
|
})();
|