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/spinner/core.js | 5 +++-- tests/unit/spinner/deprecated.js | 4 +++- tests/unit/spinner/events.js | 5 +++-- tests/unit/spinner/methods.js | 5 +++-- tests/unit/spinner/options.js | 5 +++-- 5 files changed, 15 insertions(+), 9 deletions(-) (limited to 'tests/unit/spinner') diff --git a/tests/unit/spinner/core.js b/tests/unit/spinner/core.js index 526f2ecf8..6c8c9bdf3 100644 --- a/tests/unit/spinner/core.js +++ b/tests/unit/spinner/core.js @@ -1,13 +1,14 @@ define( [ "qunit", "jquery", + "lib/helper", "./helper", "ui/widgets/spinner" -], function( QUnit, $, testHelper ) { +], function( QUnit, $, helper, testHelper ) { var simulateKeyDownUp = testHelper.simulateKeyDownUp; -QUnit.module( "spinner: core" ); +QUnit.module( "spinner: core", { afterEach: helper.moduleAfterEach } ); QUnit.test( "markup structure", function( assert ) { assert.expect( 6 ); diff --git a/tests/unit/spinner/deprecated.js b/tests/unit/spinner/deprecated.js index baa36acf3..f259ceb2e 100644 --- a/tests/unit/spinner/deprecated.js +++ b/tests/unit/spinner/deprecated.js @@ -1,8 +1,9 @@ define( [ "qunit", "jquery", + "lib/helper", "ui/widgets/spinner" -], function( QUnit, $ ) { +], function( QUnit, $, helper ) { var originalSpinner = $.ui.spinner.prototype; QUnit.module( "spinner: deprecated", { @@ -26,6 +27,7 @@ QUnit.module( "spinner: deprecated", { afterEach: function() { $.ui.spinner.prototype = originalSpinner; + return helper.moduleAfterEach.apply( this, arguments ); } } ); diff --git a/tests/unit/spinner/events.js b/tests/unit/spinner/events.js index 9c69470ab..9583a9ec2 100644 --- a/tests/unit/spinner/events.js +++ b/tests/unit/spinner/events.js @@ -1,13 +1,14 @@ define( [ "qunit", "jquery", + "lib/helper", "./helper", "ui/widgets/spinner" -], function( QUnit, $, testHelper ) { +], function( QUnit, $, helper, testHelper ) { var simulateKeyDownUp = testHelper.simulateKeyDownUp; -QUnit.module( "spinner: events" ); +QUnit.module( "spinner: events", { afterEach: helper.moduleAfterEach } ); QUnit.test( "start", function( assert ) { assert.expect( 10 ); diff --git a/tests/unit/spinner/methods.js b/tests/unit/spinner/methods.js index a7af2956d..8af1a6b6e 100644 --- a/tests/unit/spinner/methods.js +++ b/tests/unit/spinner/methods.js @@ -1,13 +1,14 @@ define( [ "qunit", "jquery", + "lib/helper", "./helper", "ui/widgets/spinner" -], function( QUnit, $, testHelper ) { +], function( QUnit, $, helper, testHelper ) { var simulateKeyDownUp = testHelper.simulateKeyDownUp; -QUnit.module( "spinner: methods" ); +QUnit.module( "spinner: methods", { afterEach: helper.moduleAfterEach } ); QUnit.test( "destroy", function( assert ) { assert.expect( 1 ); diff --git a/tests/unit/spinner/options.js b/tests/unit/spinner/options.js index 5b1e5db98..7d802b2a4 100644 --- a/tests/unit/spinner/options.js +++ b/tests/unit/spinner/options.js @@ -1,12 +1,13 @@ define( [ "qunit", "jquery", + "lib/helper", "ui/widgets/spinner", "globalize", "globalize/ja-JP" -], function( QUnit, $ ) { +], function( QUnit, $, helper ) { -QUnit.module( "spinner: options" ); +QUnit.module( "spinner: options", { afterEach: helper.moduleAfterEach } ); // Culture is tested after numberFormat, since it depends on numberFormat -- cgit v1.2.3