From 68cfdc2cdde192ba41f20baf3015e6607a66fe5b Mon Sep 17 00:00:00 2001 From: Michael Casebolt Date: Fri, 15 Sep 2017 14:45:40 -0700 Subject: [PATCH] Add a test for tween removal during an update. --- test/unit/tests.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/unit/tests.js b/test/unit/tests.js index da469bd..d62cf68 100644 --- a/test/unit/tests.js +++ b/test/unit/tests.js @@ -1299,6 +1299,36 @@ }, + 'Stopping a tween within an update callback will not cause an error.': function(test) { + TWEEN.removeAll(); + + var tweenA = new TWEEN.Tween({x: 1, y: 2}) + .to({x: 3, y: 4}, 1000) + .onUpdate(function(values) { + tweenB.stop(); + }) + .start(0); + var tweenB = new TWEEN.Tween({x: 5, y: 6}) + .to({x: 7, y: 8}) + .onUpdate(function(values) { + tweenA.stop(); + }) + .start(0); + + let success = true; + + try { + TWEEN.update(500); + } + catch (exception) { + success = false; + } + finally { + test.ok(success); + test.done(); + } + } + }; return tests;