From e7a10c70ae75c741992afdda60a433be205fd85e Mon Sep 17 00:00:00 2001 From: Michał Gołębiowski-Owczarek Date: Sat, 16 May 2020 09:16:24 +0200 Subject: 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 --- tests/unit/widget/animation.js | 4 +++- tests/unit/widget/classes.js | 4 +++- tests/unit/widget/core.js | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) (limited to 'tests/unit/widget') diff --git a/tests/unit/widget/animation.js b/tests/unit/widget/animation.js index bbd3ca854..dcacec75c 100644 --- a/tests/unit/widget/animation.js +++ b/tests/unit/widget/animation.js @@ -1,8 +1,9 @@ define( [ "qunit", "jquery", + "lib/helper", "ui/widget" -], function( QUnit, $ ) { +], function( QUnit, $, helper ) { QUnit.module( "widget animation", ( function() { var show = $.fn.show, @@ -26,6 +27,7 @@ QUnit.module( "widget animation", ( function() { $.fn.show = show; $.fn.fadeIn = fadeIn; $.fn.slideDown = slideDown; + return helper.moduleAfterEach.apply( this, arguments ); } }; }() ) ); diff --git a/tests/unit/widget/classes.js b/tests/unit/widget/classes.js index 28f61f272..357283b5e 100644 --- a/tests/unit/widget/classes.js +++ b/tests/unit/widget/classes.js @@ -1,8 +1,9 @@ define( [ "qunit", "jquery", + "lib/helper", "ui/widget" -], function( QUnit, $ ) { +], function( QUnit, $, helper ) { QUnit.module( "widget factory classes", { beforeEach: function() { @@ -50,6 +51,7 @@ QUnit.module( "widget factory classes", { _destroy: function() { this.span.remove(); this.element.unwrap(); + return helper.moduleAfterEach.apply( this, arguments ); } } ); }, diff --git a/tests/unit/widget/core.js b/tests/unit/widget/core.js index 283b55416..9e69a9253 100644 --- a/tests/unit/widget/core.js +++ b/tests/unit/widget/core.js @@ -2,8 +2,9 @@ define( [ "qunit", "jquery", "lib/common", + "lib/helper", "ui/widget" -], function( QUnit, $, common ) { +], function( QUnit, $, common, helper ) { QUnit.module( "widget factory", { afterEach: function() { @@ -11,6 +12,7 @@ QUnit.module( "widget factory", { delete $.ui.testWidget; delete $.fn.testWidget; } + return helper.moduleAfterEach.apply( this, arguments ); } } ); -- cgit v1.2.3