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/lib/common.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'tests/lib/common.js') diff --git a/tests/lib/common.js b/tests/lib/common.js index 7d3b3db2a..dbb9eea8b 100644 --- a/tests/lib/common.js +++ b/tests/lib/common.js @@ -1,7 +1,8 @@ define( [ "qunit", - "jquery" ], -function( QUnit, $ ) { + "jquery", + "lib/helper" +], function( QUnit, $, helper ) { var exports = {}; @@ -66,7 +67,7 @@ function testBasicUsage( widget ) { } exports.testWidget = function( widget, settings ) { - QUnit.module( widget + ": common widget" ); + QUnit.module( widget + ": common widget", { afterEach: helper.moduleAfterEach } ); exports.testJshint( "/widgets/" + widget ); testWidgetDefaults( widget, settings.defaults ); -- cgit v1.2.3