mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-25 23:48:34 +02:00
73 lines
1.7 KiB
JavaScript
73 lines
1.7 KiB
JavaScript
var AnimationModule = require('../src/js/visuals/animation/index');
|
|
var PromiseAnimation = AnimationModule.PromiseAnimation;
|
|
var Animation = AnimationModule.Animation;
|
|
var Q = require('q');
|
|
|
|
describe('Promise animation', function() {
|
|
it('Will execute the closure', function() {
|
|
var value = 0;
|
|
var closure = function() {
|
|
value++;
|
|
};
|
|
|
|
var animation = new PromiseAnimation({
|
|
deferred: Q.defer(),
|
|
closure: closure
|
|
});
|
|
animation.play();
|
|
expect(value).toBe(1);
|
|
});
|
|
|
|
it('Will resolve a deferred', function() {
|
|
var value = 0;
|
|
var closure = function() {
|
|
value++;
|
|
};
|
|
|
|
var animation = new PromiseAnimation({
|
|
closure: closure
|
|
});
|
|
animation
|
|
.then(function() {
|
|
value++;
|
|
})
|
|
.then(function() {
|
|
if (value !== 2) {
|
|
console.log('second promise failed!!');
|
|
} else {
|
|
console.log('1 more test passed');
|
|
}
|
|
// TODO -- make this work (aka the tests keep running until
|
|
// this assertion finishes
|
|
expect(value).toBe(2);
|
|
});
|
|
|
|
animation.play();
|
|
expect(value).toBe(1);
|
|
});
|
|
|
|
it('will make one from a normal animation', function() {
|
|
// poor mans spy function
|
|
var value = 0;
|
|
var anim = new Animation({
|
|
closure: function() { value++; }
|
|
});
|
|
|
|
var animPromise = PromiseAnimation.fromAnimation(anim);
|
|
animPromise
|
|
.then(function() {
|
|
value++;
|
|
}).then(function() {
|
|
// TODO fix
|
|
expect(value).toBe(2);
|
|
if (value !== 2) {
|
|
console.log('a test failed!!');
|
|
} else {
|
|
console.log('another test passed');
|
|
}
|
|
});
|
|
|
|
animPromise.play();
|
|
expect(value).toBe(1);
|
|
});
|
|
});
|