From: Timo Tijhof Date: Fri, 11 Jul 2014 01:25:19 +0000 (+0200) Subject: QUnit: Detect unfinished jQuery effects or ajax requests in teardown X-Git-Tag: 1.31.0-rc.0~14987^2 X-Git-Url: http://git.cyclocoop.org/%27-%20%20.%20url_absolue%28find_in_path%28%27spip_style.css%27%29%29%20%20%20.%20url_absolue%28find_in_path%28%27prive/spip_style.css%27%29%29%20.%20%27?a=commitdiff_plain;h=b90c69cdf70ae55a7ae608b074893d140d0a96b6;p=lhc%2Fweb%2Fwiklou.git QUnit: Detect unfinished jQuery effects or ajax requests in teardown Based on jQuery test suite https://github.com/jquery/jquery/blob/bcca4f041/test/data/testrunner.js#L113-L125 Change-Id: I1dba146a6795887c23c806f292c6425662ea4aad --- diff --git a/tests/qunit/data/testrunner.js b/tests/qunit/data/testrunner.js index 50e89da8bc..f3f884a49a 100644 --- a/tests/qunit/data/testrunner.js +++ b/tests/qunit/data/testrunner.js @@ -240,6 +240,18 @@ // As a convenience feature, automatically restore warnings if they're // still suppressed by the end of the test. restoreWarnings(); + + // Check for (and clean up, if possible) incomplete animations/requests/etc. + if ( $.timers && $.timers.length !== 0 ) { + // Test may need to use fake timers, wait for animations or + // call $.fx.stop(). + throw new Error( 'Unfinished animations: ' + $.timers.length ); + } + if ( $.active !== undefined && $.active !== 0 ) { + // Test may need to use fake XHR, wait for requests or + // call abort(). + throw new Error( 'Unfinished AJAX requests: ' + $.active ); + } } }; };