aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/tooltip/helper.js
diff options
context:
space:
mode:
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2020-05-16 09:16:24 +0200
committerGitHub <noreply@github.com>2020-05-16 09:16:24 +0200
commite7a10c70ae75c741992afdda60a433be205fd85e (patch)
tree7c9f0d717f944107930608316ed346fbdf5f12c5 /tests/unit/tooltip/helper.js
parentf4ef03e57edd7e51cb134e902679c7bddc3daaee (diff)
downloadjquery-ui-e7a10c70ae75c741992afdda60a433be205fd85e.tar.gz
jquery-ui-e7a10c70ae75c741992afdda60a433be205fd85e.zip
Tests: Ensure no timers are running at the end of each test (#1920)
This helps fix issues that make tooltip tests sometimes fail when run against jQuery 3.2 or newer due to timing differences. Details: * Add the `moduleAfterEach` function ensuring no timers are running. * Attach this function via `common.testWidget`. * Attach this function to most test suites. * Add a tooltip test helper cleaning up leftover timers. * Rename legacy `setup`/`teardown` hooks to `beforeEach`/`afterEach`. Closes gh-1920
Diffstat (limited to 'tests/unit/tooltip/helper.js')
-rw-r--r--tests/unit/tooltip/helper.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/unit/tooltip/helper.js b/tests/unit/tooltip/helper.js
new file mode 100644
index 000000000..01d4c03ac
--- /dev/null
+++ b/tests/unit/tooltip/helper.js
@@ -0,0 +1,31 @@
+define( [
+ "qunit",
+ "jquery",
+ "lib/helper",
+ "ui/widgets/tooltip"
+], function( QUnit, $, helper ) {
+
+ return $.extend( helper, {
+ beforeAfterEach: function() {
+ return {
+ afterEach: function() {
+ var index, timer,
+ timers = jQuery.timers;
+
+ jQuery.fx.stop();
+ var x = false;
+
+ for ( index = timers.length; index--; ) {
+ x = true;
+ timer = timers[ index ];
+ timer.anim.stop();
+ timers.splice( index, 1 );
+ }
+
+ return helper.moduleAfterEach.apply( this, arguments );
+ }
+ };
+ }
+ } );
+
+} );