Skip to content

Commit 7a42b4f

Browse files
committed
Add race condition tests.
1 parent 2b4d93a commit 7a42b4f

File tree

1 file changed

+41
-2
lines changed

1 file changed

+41
-2
lines changed

tests/spec/TweenSpec.js

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,47 @@ describe("TweenJS", function () {
9696
});
9797
});
9898

99-
100-
99+
describe("Race Conditions", function () {
100+
it("don't run newly added tweens", function (done) {
101+
var counter = 10;
102+
function addAnother() {
103+
if (counter < 0) { return; }
104+
counter--;
105+
createjs.Tween.get().wait(10).call(addAnother);
106+
}
107+
for (var i=0; i<counter; i++) {
108+
createjs.Tween.get().wait(10).call(addAnother);
109+
}
110+
createjs.Tween.tick(1000, false);
111+
expect(counter).toBe(0);
112+
done();
113+
114+
});
115+
116+
it("don't run removed tweens", function (done) {
117+
var counter = 1;
118+
function ended() { counter--; }
119+
var tween = createjs.Tween.get().wait(10).call(ended);
120+
var tween2 = createjs.Tween.get().wait(10).call(ended);
121+
tween.call(function() { tween2.paused = true; });
122+
createjs.Tween.tick(1000, false)
123+
expect(counter).toBe(0);
124+
done();
125+
});
126+
127+
it("do run tweens after a removed tween", function (done) {
128+
var counter = 2;
129+
function ended() { counter--; }
130+
var tween = createjs.Tween.get().wait(10).call(ended);
131+
var tween2 = createjs.Tween.get().wait(10).call(ended);
132+
var tween3 = createjs.Tween.get().wait(10).call(ended);
133+
tween.call(function() { tween2.paused = true; });
134+
createjs.Tween.tick(1000, false)
135+
expect(counter).toBe(0);
136+
done();
137+
});
138+
});
139+
101140
describe("Events", function () {
102141
it("change", function (done) {
103142
var obj = {x: 0};

0 commit comments

Comments
 (0)