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/position/core.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'tests/unit/position') diff --git a/tests/unit/position/core.js b/tests/unit/position/core.js index 42615a787..80992a311 100644 --- a/tests/unit/position/core.js +++ b/tests/unit/position/core.js @@ -2,8 +2,9 @@ define( [ "qunit", "jquery", "lib/common", + "lib/helper", "ui/position" -], function( QUnit, $, common ) { +], function( QUnit, $, common, helper ) { var win = $( window ), scrollTopSupport = function() { @@ -18,7 +19,8 @@ var win = $( window ), QUnit.module( "position", { beforeEach: function() { win.scrollTop( 0 ).scrollLeft( 0 ); - } + }, + afterEach: helper.moduleAfterEach } ); common.testJshint( "position" ); -- cgit v1.2.3