diff options
author | Michał Gołębiowski-Owczarek <m.goleb@gmail.com> | 2020-05-16 09:16:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-16 09:16:24 +0200 |
commit | e7a10c70ae75c741992afdda60a433be205fd85e (patch) | |
tree | 7c9f0d717f944107930608316ed346fbdf5f12c5 /tests/unit/tooltip/helper.js | |
parent | f4ef03e57edd7e51cb134e902679c7bddc3daaee (diff) | |
download | jquery-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.js | 31 |
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 ); + } + }; + } + } ); + +} ); |