diff options
author | Chris Rebert <code@rebertia.com> | 2015-01-21 06:40:50 +0300 |
---|---|---|
committer | Chris Rebert <code@rebertia.com> | 2015-01-21 06:57:51 +0300 |
commit | b56d97f21065037523ec17f45685916df8aca678 (patch) | |
tree | b519beaf24b689866298bba284234e812db9ad53 /js/tests | |
parent | a8139a03921541a7b66f97a0cbbdd1f5a597bdb8 (diff) |
update JS unit tests to future-proof QUnit 1.16.0 API
[skip validator]
Diffstat (limited to 'js/tests')
-rw-r--r-- | js/tests/unit/affix.js | 12 | ||||
-rw-r--r-- | js/tests/unit/alert.js | 6 | ||||
-rw-r--r-- | js/tests/unit/button.js | 26 | ||||
-rw-r--r-- | js/tests/unit/carousel.js | 54 | ||||
-rw-r--r-- | js/tests/unit/collapse.js | 84 | ||||
-rw-r--r-- | js/tests/unit/dropdown.js | 18 | ||||
-rw-r--r-- | js/tests/unit/modal.js | 84 | ||||
-rw-r--r-- | js/tests/unit/popover.js | 6 | ||||
-rw-r--r-- | js/tests/unit/scrollspy.js | 24 | ||||
-rw-r--r-- | js/tests/unit/tab.js | 30 | ||||
-rw-r--r-- | js/tests/unit/tooltip.js | 108 |
11 files changed, 226 insertions, 226 deletions
diff --git a/js/tests/unit/affix.js b/js/tests/unit/affix.js index 3152d8d2e4..040fe98030 100644 --- a/js/tests/unit/affix.js +++ b/js/tests/unit/affix.js @@ -35,8 +35,8 @@ $(function () { ok(!$affix.hasClass('affix'), 'affix class was not added') }) - test('should trigger affixed event after affix', function () { - stop() + test('should trigger affixed event after affix', function (assert) { + var done = assert.async() var templateHTML = '<div id="affixTarget">' + '<ul>' @@ -57,7 +57,7 @@ $(function () { }).on('affixed.bs.affix', function () { ok(true, 'affixed event fired') $('#affixTarget, #affixAfter').remove() - start() + done() }) setTimeout(function () { @@ -69,8 +69,8 @@ $(function () { }, 0) }) - test('should affix-top when scrolling up to offset when parent has padding', function () { - stop() + test('should affix-top when scrolling up to offset when parent has padding', function (assert) { + var done = assert.async() var templateHTML = '<div id="padding-offset" style="padding-top: 20px;">' + '<div id="affixTopTarget">' @@ -87,7 +87,7 @@ $(function () { .on('affixed-top.bs.affix', function () { ok($('#affixTopTarget').hasClass('affix-top'), 'affix-top class applied') $('#padding-offset').remove() - start() + done() }) setTimeout(function () { diff --git a/js/tests/unit/alert.js b/js/tests/unit/alert.js index bc4eed6765..140a148385 100644 --- a/js/tests/unit/alert.js +++ b/js/tests/unit/alert.js @@ -55,13 +55,13 @@ $(function () { equal($('#qunit-fixture').find('.alert').length, 0, 'element removed from dom') }) - test('should not fire closed when close is prevented', function () { - stop() + test('should not fire closed when close is prevented', function (assert) { + var done = assert.async() $('<div class="alert"/>') .on('close.bs.alert', function (e) { e.preventDefault() ok(true, 'close event fired') - start() + done() }) .on('closed.bs.alert', function () { ok(false, 'closed event fired') diff --git a/js/tests/unit/button.js b/js/tests/unit/button.js index 320996483f..cb51d40b95 100644 --- a/js/tests/unit/button.js +++ b/js/tests/unit/button.js @@ -29,57 +29,57 @@ $(function () { strictEqual($button[0], $el[0], 'collection contains element') }) - test('should return set state to loading', function () { + test('should return set state to loading', function (assert) { var $btn = $('<button class="btn" data-loading-text="fat">mdo</button>') equal($btn.html(), 'mdo', 'btn text equals mdo') $btn.bootstrapButton('loading') - stop() + var done = assert.async() setTimeout(function () { equal($btn.html(), 'fat', 'btn text equals fat') ok($btn[0].hasAttribute('disabled'), 'btn is disabled') ok($btn.hasClass('disabled'), 'btn has disabled class') - start() + done() }, 0) }) - test('should return reset state', function () { + test('should return reset state', function (assert) { var $btn = $('<button class="btn" data-loading-text="fat">mdo</button>') equal($btn.html(), 'mdo', 'btn text equals mdo') $btn.bootstrapButton('loading') - stop() + var doneOne = assert.async() setTimeout(function () { equal($btn.html(), 'fat', 'btn text equals fat') ok($btn[0].hasAttribute('disabled'), 'btn is disabled') ok($btn.hasClass('disabled'), 'btn has disabled class') - start() - stop() + doneOne() + var doneTwo = assert.async() $btn.bootstrapButton('reset') setTimeout(function () { equal($btn.html(), 'mdo', 'btn text equals mdo') ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled') ok(!$btn.hasClass('disabled'), 'btn does not have disabled class') - start() + doneTwo() }, 0) }, 0) }) - test('should work with an empty string as reset state', function () { + test('should work with an empty string as reset state', function (assert) { var $btn = $('<button class="btn" data-loading-text="fat"/>') equal($btn.html(), '', 'btn text equals ""') $btn.bootstrapButton('loading') - stop() + var doneOne = assert.async() setTimeout(function () { equal($btn.html(), 'fat', 'btn text equals fat') ok($btn[0].hasAttribute('disabled'), 'btn is disabled') ok($btn.hasClass('disabled'), 'btn has disabled class') - start() - stop() + doneOne() + var doneTwo = assert.async() $btn.bootstrapButton('reset') setTimeout(function () { equal($btn.html(), '', 'btn text equals ""') ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled') ok(!$btn.hasClass('disabled'), 'btn does not have disabled class') - start() + doneTwo() }, 0) }, 0) }) diff --git a/js/tests/unit/carousel.js b/js/tests/unit/carousel.js index 008b720825..9f6f9ccf2d 100644 --- a/js/tests/unit/carousel.js +++ b/js/tests/unit/carousel.js @@ -29,13 +29,13 @@ $(function () { strictEqual($carousel[0], $el[0], 'collection contains element') }) - test('should not fire slid when slide is prevented', function () { - stop() + test('should not fire slid when slide is prevented', function (assert) { + var done = assert.async() $('<div class="carousel"/>') .on('slide.bs.carousel', function (e) { e.preventDefault() ok(true, 'slide event fired') - start() + done() }) .on('slid.bs.carousel', function () { ok(false, 'slid event fired') @@ -43,7 +43,7 @@ $(function () { .bootstrapCarousel('next') }) - test('should reset when slide is prevented', function () { + test('should reset when slide is prevented', function (assert) { var carouselHTML = '<div id="carousel-example-generic" class="carousel slide">' + '<ol class="carousel-indicators">' + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>' @@ -66,7 +66,7 @@ $(function () { + '</div>' var $carousel = $(carouselHTML) - stop() + var done = assert.async() $carousel .one('slide.bs.carousel', function (e) { e.preventDefault() @@ -82,13 +82,13 @@ $(function () { ok(!$carousel.find('.carousel-indicators li:eq(0)').is('.active'), 'first indicator still active') ok($carousel.find('.item:eq(1)').is('.active'), 'second item active') ok($carousel.find('.carousel-indicators li:eq(1)').is('.active'), 'second indicator active') - start() + done() }, 0) }) .bootstrapCarousel('next') }) - test('should fire slide event with direction', function () { + test('should fire slide event with direction', function (assert) { var carouselHTML = '<div id="myCarousel" class="carousel slide">' + '<div class="carousel-inner">' + '<div class="item active">' @@ -124,7 +124,7 @@ $(function () { + '</div>' var $carousel = $(carouselHTML) - stop() + var done = assert.async() $carousel .one('slide.bs.carousel', function (e) { @@ -135,14 +135,14 @@ $(function () { .one('slide.bs.carousel', function (e) { ok(e.direction, 'direction present on prev') strictEqual(e.direction, 'right', 'direction is right on prev') - start() + done() }) .bootstrapCarousel('prev') }) .bootstrapCarousel('next') }) - test('should fire slid event with direction', function () { + test('should fire slid event with direction', function (assert) { var carouselHTML = '<div id="myCarousel" class="carousel slide">' + '<div class="carousel-inner">' + '<div class="item active">' @@ -178,7 +178,7 @@ $(function () { + '</div>' var $carousel = $(carouselHTML) - stop() + var done = assert.async() $carousel .one('slid.bs.carousel', function (e) { @@ -189,14 +189,14 @@ $(function () { .one('slid.bs.carousel', function (e) { ok(e.direction, 'direction present on prev') strictEqual(e.direction, 'right', 'direction is right on prev') - start() + done() }) .bootstrapCarousel('prev') }) .bootstrapCarousel('next') }) - test('should fire slide event with relatedTarget', function () { + test('should fire slide event with relatedTarget', function (assert) { var template = '<div id="myCarousel" class="carousel slide">' + '<div class="carousel-inner">' + '<div class="item active">' @@ -231,18 +231,18 @@ $(function () { + '<a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>' + '</div>' - stop() + var done = assert.async() $(template) .on('slide.bs.carousel', function (e) { ok(e.relatedTarget, 'relatedTarget present') ok($(e.relatedTarget).hasClass('item'), 'relatedTarget has class "item"') - start() + done() }) .bootstrapCarousel('next') }) - test('should fire slid event with relatedTarget', function () { + test('should fire slid event with relatedTarget', function (assert) { var template = '<div id="myCarousel" class="carousel slide">' + '<div class="carousel-inner">' + '<div class="item active">' @@ -277,13 +277,13 @@ $(function () { + '<a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>' + '</div>' - stop() + var done = assert.async() $(template) .on('slid.bs.carousel', function (e) { ok(e.relatedTarget, 'relatedTarget present') ok($(e.relatedTarget).hasClass('item'), 'relatedTarget has class "item"') - start() + done() }) .bootstrapCarousel('next') }) @@ -542,7 +542,7 @@ $(function () { }) }) - test('should wrap around from end to start when wrap option is true', function () { + test('should wrap around from end to start when wrap option is true', function (assert) { var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="true">' + '<ol class="carousel-indicators">' + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>' @@ -566,7 +566,7 @@ $(function () { var $carousel = $(carouselHTML) var getActiveId = function () { return $carousel.find('.item.active').attr('id') } - stop() + var done = assert.async() $carousel .one('slid.bs.carousel', function () { @@ -577,7 +577,7 @@ $(function () { $carousel .one('slid.bs.carousel', function () { strictEqual(getActiveId(), 'one', 'carousel wrapped around and slid from 3rd to 1st slide') - start() + done() }) .bootstrapCarousel('next') }) @@ -586,7 +586,7 @@ $(function () { .bootstrapCarousel('next') }) - test('should wrap around from start to end when wrap option is true', function () { + test('should wrap around from start to end when wrap option is true', function (assert) { var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="true">' + '<ol class="carousel-indicators">' + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>' @@ -609,17 +609,17 @@ $(function () { + '</div>' var $carousel = $(carouselHTML) - stop() + var done = assert.async() $carousel .on('slid.bs.carousel', function () { strictEqual($carousel.find('.item.active').attr('id'), 'three', 'carousel wrapped around and slid from 1st to 3rd slide') - start() + done() }) .bootstrapCarousel('prev') }) - test('should stay at the end when the next method is called and wrap is false', function () { + test('should stay at the end when the next method is called and wrap is false', function (assert) { var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="false">' + '<ol class="carousel-indicators">' + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>' @@ -643,7 +643,7 @@ $(function () { var $carousel = $(carouselHTML) var getActiveId = function () { return $carousel.find('.item.active').attr('id') } - stop() + var done = assert.async() $carousel .one('slid.bs.carousel', function () { @@ -657,7 +657,7 @@ $(function () { }) .bootstrapCarousel('next') strictEqual(getActiveId(), 'three', 'carousel did not wrap around and stayed on 3rd slide') - start() + done() }) .bootstrapCarousel('next') }) diff --git a/js/tests/unit/collapse.js b/js/tests/unit/collapse.js index 30d00e4135..ad59d87dbc 100644 --- a/js/tests/unit/collapse.js +++ b/js/tests/unit/collapse.js @@ -43,14 +43,14 @@ $(function () { ok(/height/i.test($el.attr('style')), 'has height set') }) - test('should not fire shown when show is prevented', function () { - stop() + test('should not fire shown when show is prevented', function (assert) { + var done = assert.async() $('<div class="collapse"/>') .on('show.bs.collapse', function (e) { e.preventDefault() ok(true, 'show event fired') - start() + done() }) .on('shown.bs.collapse', function () { ok(false, 'shown event fired') @@ -58,8 +58,8 @@ $(function () { .bootstrapCollapse('show') }) - test('should reset style to auto after finishing opening collapse', function () { - stop() + test('should reset style to auto after finishing opening collapse', function (assert) { + var done = assert.async() $('<div class="collapse" style="height: 0px"/>') .on('show.bs.collapse', function () { @@ -67,13 +67,13 @@ $(function () { }) .on('shown.bs.collapse', function () { strictEqual(this.style.height, '', 'height is auto') - start() + done() }) .bootstrapCollapse('show') }) - test('should remove "collapsed" class from target when collapse is shown', function () { - stop() + test('should remove "collapsed" class from target when collapse is shown', function (assert) { + var done = assert.async() var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture') @@ -81,14 +81,14 @@ $(function () { .appendTo('#qunit-fixture') .on('shown.bs.collapse', function () { ok(!$target.hasClass('collapsed')) - start() + done() }) $target.click() }) - test('should add "collapsed" class to target when collapse is hidden', function () { - stop() + test('should add "collapsed" class to target when collapse is hidden', function (assert) { + var done = assert.async() var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture') @@ -96,14 +96,14 @@ $(function () { .appendTo('#qunit-fixture') .on('hidden.bs.collapse', function () { ok($target.hasClass('collapsed')) - start() + done() }) $target.click() }) - test('should not close a collapse when initialized with "show" if already shown', function () { - stop() + test('should not close a collapse when initialized with "show" if already shown', function (assert) { + var done = assert.async() expect(0) @@ -115,11 +115,11 @@ $(function () { $test.bootstrapCollapse('show') - setTimeout(start, 0) + setTimeout(done, 0) }) - test('should open a collapse when initialized with "show" if not already shown', function () { - stop() + test('should open a collapse when initialized with "show" if not already shown', function (assert) { + var done = assert.async() expect(1) @@ -131,11 +131,11 @@ $(function () { $test.bootstrapCollapse('show') - setTimeout(start, 0) + setTimeout(done, 0) }) - test('should remove "collapsed" class from active accordion target', function () { - stop() + test('should remove "collapsed" class from active accordion target', function (assert) { + var done = assert.async() var accordionHTML = '<div class="panel-group" id="accordion">' + '<div class="panel"/>' @@ -161,14 +161,14 @@ $(function () { ok($target2.hasClass('collapsed'), 'inactive target 2 does have class "collapsed"') ok(!$target3.hasClass('collapsed'), 'active target 3 does not have class "collapsed"') - start() + done() }) $target3.click() }) - test('should allow dots in data-parent', function () { - stop() + test('should allow dots in data-parent', function (assert) { + var done = assert.async() var accordionHTML = '<div class="panel-group accordion">' + '<div class="panel"/>' @@ -194,14 +194,14 @@ $(function () { ok($target2.hasClass('collapsed'), 'inactive target 2 does have class "collapsed"') ok(!$target3.hasClass('collapsed'), 'active target 3 does not have class "collapsed"') - start() + done() }) $target3.click() }) - test('should set aria-expanded="true" on target when collapse is shown', function () { - stop() + test('should set aria-expanded="true" on target when collapse is shown', function (assert) { + var done = assert.async() var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1" aria-expanded="false"/>').appendTo('#qunit-fixture') @@ -209,14 +209,14 @@ $(function () { .appendTo('#qunit-fixture') .on('shown.bs.collapse', function () { equal($target.attr('aria-expanded'), 'true', 'aria-expanded on target is "true"') - start() + done() }) $target.click() }) - test('should set aria-expanded="false" on target when collapse is hidden', function () { - stop() + test('should set aria-expanded="false" on target when collapse is hidden', function (assert) { + var done = assert.async() var $target = $('<a data-toggle="collapse" href="#test1" aria-expanded="true"/>').appendTo('#qunit-fixture') @@ -224,14 +224,14 @@ $(function () { .appendTo('#qunit-fixture') .on('hidden.bs.collapse', function () { equal($target.attr('aria-expanded'), 'false', 'aria-expanded on target is "false"') - start() + done() }) $target.click() }) - test('should change aria-expanded from active accordion target to "false" and set the newly active one to "true"', function () { - stop() + test('should change aria-expanded from active accordion target to "false" and set the newly active one to "true"', function (assert) { + var done = assert.async() var accordionHTML = '<div class="panel-group" id="accordion">' + '<div class="panel"/>' @@ -257,14 +257,14 @@ $(function () { equal($target2.attr('aria-expanded'), 'false', 'inactive target 2 has aria-expanded="false"') equal($target3.attr('aria-expanded'), 'true', 'active target 3 has aria-expanded="false"') - start() + done() }) $target3.click() }) - test('should not fire show event if show is prevented because other element is still transitioning', function () { - stop() + test('should not fire show event if show is prevented because other element is still transitioning', function (assert) { + var done = assert.async() var accordionHTML = '<div id="accordion">' + '<div class="panel"/>' @@ -294,12 +294,12 @@ $(function () { setTimeout(function () { ok(!showFired, 'show event didn\'t fire') - start() + done() }, 1) }) - test('should add "collapsed" class to target when collapse is hidden via manual invocation', function () { - stop() + test('should add "collapsed" class to target when collapse is hidden via manual invocation', function (assert) { + var done = assert.async() var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture') @@ -307,13 +307,13 @@ $(function () { .appendTo('#qunit-fixture') .on('hidden.bs.collapse', function () { ok($target.hasClass('collapsed')) - start() + done() }) .bootstrapCollapse('hide') }) - test('should remove "collapsed" class from target when collapse is shown via manual invocation', function () { - stop() + test('should remove "collapsed" class from target when collapse is shown via manual invocation', function (assert) { + var done = assert.async() var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture') @@ -321,7 +321,7 @@ $(function () { .appendTo('#qunit-fixture') .on('shown.bs.collapse', function () { ok(!$target.hasClass('collapsed')) - start() + done() }) .bootstrapCollapse('show') }) diff --git a/js/tests/unit/dropdown.js b/js/tests/unit/dropdown.js index 3cdf637ee0..9a7fbcff25 100644 --- a/js/tests/unit/dropdown.js +++ b/js/tests/unit/dropdown.js @@ -157,7 +157,7 @@ $(function () { strictEqual($('#qunit-fixture .open').length, 0, '"open" class removed') }) - test('should fire show and hide event', function () { + test('should fire show and hide event', function (assert) { var dropdownHTML = '<ul class="tabs">' + '<li class="dropdown">' + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>' @@ -174,7 +174,7 @@ $(function () { .find('[data-toggle="dropdown"]') .bootstrapDropdown() - stop() + var done = assert.async() $dropdown .parent('.dropdown') @@ -183,7 +183,7 @@ $(function () { }) .on('hide.bs.dropdown', function () { ok(true, 'hide was fired') - start() + done() }) $dropdown.click() @@ -191,7 +191,7 @@ $(function () { }) - test('should fire shown and hidden event', function () { + test('should fire shown and hidden event', function (assert) { var dropdownHTML = '<ul class="tabs">' + '<li class="dropdown">' + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>' @@ -208,7 +208,7 @@ $(function () { .find('[data-toggle="dropdown"]') .bootstrapDropdown() - stop() + var done = assert.async() $dropdown .parent('.dropdown') @@ -217,15 +217,15 @@ $(function () { }) .on('hidden.bs.dropdown', function () { ok(true, 'hidden was fired') - start() + done() }) $dropdown.click() $(document.body).click() }) - test('should ignore keyboard events within <input>s and <textarea>s', function () { - stop() + test('should ignore keyboard events within <input>s and <textarea>s', function (assert) { + var done = assert.async() var dropdownHTML = '<ul class="tabs">' + '<li class="dropdown">' @@ -259,7 +259,7 @@ $(function () { $textarea.focus().trigger($.Event('keydown', { which: 38 })) ok($(document.activeElement).is($textarea), 'textarea still focused') - start() + done() }) $dropdown.click() diff --git a/js/tests/unit/modal.js b/js/tests/unit/modal.js index efd478b20b..3a4a880894 100644 --- a/js/tests/unit/modal.js +++ b/js/tests/unit/modal.js @@ -33,36 +33,36 @@ $(function () { ok($.fn.bootstrapModal.Constructor.DEFAULTS, 'default object exposed') }) - test('should insert into dom when show method is called', function () { - stop() + test('should insert into dom when show method is called', function (assert) { + var done = assert.async() $('<div id="modal-test"/>') .on('shown.bs.modal', function () { notEqual($('#modal-test').length, 0, 'modal inserted into dom') - start() + done() }) .bootstrapModal('show') }) - test('should fire show event', function () { - stop() + test('should fire show event', function (assert) { + var done = assert.async() $('<div id="modal-test"/>') .on('show.bs.modal', function () { ok(true, 'show event fired') - start() + done() }) .bootstrapModal('show') }) - test('should not fire shown when show was prevented', function () { - stop() + test('should not fire shown when show was prevented', function (assert) { + var done = assert.async() $('<div id="modal-test"/>') .on('show.bs.modal', function (e) { e.preventDefault() ok(true, 'show event fired') - start() + done() }) .on('shown.bs.modal', function () { ok(false, 'shown event fired') @@ -70,8 +70,8 @@ $(function () { .bootstrapModal('show') }) - test('should hide modal when hide is called', function () { - stop() + test('should hide modal when hide is called', function (assert) { + var done = assert.async() $('<div id="modal-test"/>') .on('shown.bs.modal', function () { @@ -81,13 +81,13 @@ $(function () { }) .on('hidden.bs.modal', function () { ok(!$('#modal-test').is(':visible'), 'modal hidden') - start() + done() }) .bootstrapModal('show') }) - test('should toggle when toggle is called', function () { - stop() + test('should toggle when toggle is called', function (assert) { + var done = assert.async() $('<div id="modal-test"/>') .on('shown.bs.modal', function () { @@ -97,13 +97,13 @@ $(function () { }) .on('hidden.bs.modal', function () { ok(!$('#modal-test').is(':visible'), 'modal hidden') - start() + done() }) .bootstrapModal('toggle') }) - test('should remove from dom when click [data-dismiss="modal"]', function () { - stop() + test('should remove from dom when click [data-dismiss="modal"]', function (assert) { + var done = assert.async() $('<div id="modal-test"><span class="close" data-dismiss="modal"/></div>') .on('shown.bs.modal', function () { @@ -113,13 +113,13 @@ $(function () { }) .on('hidden.bs.modal', function () { ok(!$('#modal-test').is(':visible'), 'modal hidden') - start() + done() }) .bootstrapModal('toggle') }) - test('should allow modal close with "backdrop:false"', function () { - stop() + test('should allow modal close with "backdrop:false"', function (assert) { + var done = assert.async() $('<div id="modal-test" data-backdrop="false"/>') .on('shown.bs.modal', function () { @@ -128,13 +128,13 @@ $(function () { }) .on('hidden.bs.modal', function () { ok(!$('#modal-test').is(':visible'), 'modal hidden') - start() + done() }) .bootstrapModal('show') }) - test('should close modal when clicking outside of modal-content', function () { - stop() + test('should close modal when clicking outside of modal-content', function (assert) { + var done = assert.async() $('<div id="modal-test"><div class="contents"/></div>') .on('shown.bs.modal', function () { @@ -145,13 +145,13 @@ $(function () { }) .on('hidden.bs.modal', function () { ok(!$('#modal-test').is(':visible'), 'modal hidden') - start() + done() }) .bootstrapModal('show') }) - test('should close modal when escape key is pressed via keydown', function () { - stop() + test('should close modal when escape key is pressed via keydown', function (assert) { + var done = assert.async() var div = $('<div id="modal-test"/>') div @@ -163,14 +163,14 @@ $(function () { setTimeout(function () { ok(!$('#modal-test').is(':visible'), 'modal hidden') div.remove() - start() + done() }, 0) }) .bootstrapModal('show') }) - test('should not close modal when escape key is pressed via keyup', function () { - stop() + test('should not close modal when escape key is pressed via keyup', function (assert) { + var done = assert.async() var div = $('<div id="modal-test"/>') div @@ -182,14 +182,14 @@ $(function () { setTimeout(function () { ok($('#modal-test').is(':visible'), 'modal still visible') div.remove() - start() + done() }, 0) }) .bootstrapModal('show') }) - test('should trigger hide event once when clicking outside of modal-content', function () { - stop() + test('should trigger hide event once when clicking outside of modal-content', function (assert) { + var done = assert.async() var triggered @@ -201,13 +201,13 @@ $(function () { .on('hide.bs.modal', function () { triggered += 1 strictEqual(triggered, 1, 'modal hide triggered once') - start() + done() }) .bootstrapModal('show') }) - test('should close reopened modal with [data-dismiss="modal"] click', function () { - stop() + test('should close reopened modal with [data-dismiss="modal"] click', function (assert) { + var done = assert.async() $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>') .on('shown.bs.modal', function () { @@ -217,15 +217,15 @@ $(function () { .one('hidden.bs.modal', function () { $(this) .one('hidden.bs.modal', function () { - start() + done() }) .bootstrapModal('show') }) .bootstrapModal('show') }) - test('should restore focus to toggling element when modal is hidden after having been opened via data-api', function () { - stop() + test('should restore focus to toggling element when modal is hidden after having been opened via data-api', function (assert) { + var done = assert.async() var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture') @@ -233,7 +233,7 @@ $(function () { .on('hidden.bs.modal', function () { setTimeout(function () { ok($(document.activeElement).is($toggleBtn), 'toggling element is once again focused') - start() + done() }, 0) }) .on('shown.bs.modal', function () { @@ -244,8 +244,8 @@ $(function () { $toggleBtn.click() }) - test('should not restore focus to toggling element if the associated show event gets prevented', function () { - stop() + test('should not restore focus to toggling element if the associated show event gets prevented', function (assert) { + var done = assert.async() var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture') var $otherBtn = $('<button id="other-btn"/>').appendTo('#qunit-fixture') @@ -260,7 +260,7 @@ $(function () { .on('hidden.bs.modal', function () { setTimeout(function () { ok($(document.activeElement).is($otherBtn), 'focus returned to toggling element') - start() + done() }, 0) }) .on('shown.bs.modal', function () { diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js index e1a2edef71..7ae35e2e87 100644 --- a/js/tests/unit/popover.js +++ b/js/tests/unit/popover.js @@ -188,7 +188,7 @@ $(function () { equal($('.popover').length, 0, 'popover was removed') }) - test('should detach popover content rather than removing it so that event handlers are left intact', function () { + test('should detach popover content rather than removing it so that event handlers are left intact', function (assert) { var $content = $('<div class="content-with-handler"><a class="btn btn-warning">Button with event handler</a></div>').appendTo('#qunit-fixture') var handlerCalled = false @@ -207,7 +207,7 @@ $(function () { } }) - stop() + var done = assert.async() $div .one('shown.bs.popover', function () { $div @@ -217,7 +217,7 @@ $(function () { $('.content-with-handler .btn').click() $div.bootstrapPopover('destroy') ok(handlerCalled, 'content\'s event handler still present') - start() + done() }) .bootstrapPopover('show') }) diff --git a/js/tests/unit/scrollspy.js b/js/tests/unit/scrollspy.js index 0c90814919..028da4bd9b 100644 --- a/js/tests/unit/scrollspy.js +++ b/js/tests/unit/scrollspy.js @@ -29,8 +29,8 @@ $(function () { strictEqual($scrollspy[0], $el[0], 'collection contains element') }) - test('should only switch "active" class on current target', function () { - stop() + test('should only switch "active" class on current target', function (assert) { + var done = assert.async() var sectionHTML = '<div id="root" class="active">' + '<div class="topbar">' @@ -67,14 +67,14 @@ $(function () { $scrollspy.on('scroll.bs.scrollspy', function () { ok($section.hasClass('active'), '"active" class still on root node') - start() + done() }) $scrollspy.scrollTop(350) }) - test('should correctly select middle navigation option when large offset is used', function () { - stop() + test('should correctly select middle navigation option when large offset is used', function (assert) { + var done = assert.async() var sectionHTML = '<div id="header" style="height: 500px;"></div>' + '<nav id="navigation" class="navbar">' @@ -100,13 +100,13 @@ $(function () { ok(!$section.find('#one-link').parent().hasClass('active'), '"active" class removed from first section') ok($section.find('#two-link').parent().hasClass('active'), '"active" class on middle section') ok(!$section.find('#three-link').parent().hasClass('active'), '"active" class not on last section') - start() + done() }) $scrollspy.scrollTop(550) }) - test('should add the active class to the correct element', function () { + test('should add the active class to the correct element', function (assert) { var navbarHtml = '<nav class="navbar">' + '<ul class="nav">' @@ -128,10 +128,10 @@ $(function () { var testElementIsActiveAfterScroll = function (element, target) { var deferred = $.Deferred() var scrollHeight = Math.ceil($content.scrollTop() + $(target).position().top) - stop() + var done = assert.async() $content.one('scroll', function () { ok($(element).hasClass('active'), 'target:' + target + ', element' + element) - start() + done() deferred.resolve() }) $content.scrollTop(scrollHeight) @@ -142,8 +142,8 @@ $(function () { .then(function () { return testElementIsActiveAfterScroll('#li-2', '#div-2') }) }) - test('should clear selection if above the first section', function () { - stop() + test('should clear selection if above the first section', function (assert) { + var done = assert.async() var sectionHTML = '<div id="header" style="height: 500px;"></div>' + '<nav id="navigation" class="navbar">' @@ -176,7 +176,7 @@ $(function () { $scrollspy .one('scroll.bs.scrollspy', function () { strictEqual($('.active').length, 0, 'selection cleared') - start() + done() }) .scrollTop(0) }) diff --git a/js/tests/unit/tab.js b/js/tests/unit/tab.js index 9b2a18d572..fa87169161 100644 --- a/js/tests/unit/tab.js +++ b/js/tests/unit/tab.js @@ -59,14 +59,14 @@ $(function () { equal($('#qunit-fixture').find('.active').attr('id'), 'home') }) - test('should not fire shown when show is prevented', function () { - stop() + test('should not fire shown when show is prevented', function (assert) { + var done = assert.async() $('<div class="tab"/>') .on('show.bs.tab', function (e) { e.preventDefault() ok(true, 'show event fired') - start() + done() }) .on('shown.bs.tab', function () { ok(false, 'shown event fired') @@ -74,8 +74,8 @@ $(function () { .bootstrapTab('show') }) - test('show and shown events should reference correct relatedTarget', function () { - stop() + test('show and shown events should reference correct relatedTarget', function (assert) { + var done = assert.async() var dropHTML = '<ul class="drop">' + '<li class="dropdown"><a data-toggle="dropdown" href="#">1</a>' @@ -93,7 +93,7 @@ $(function () { .find('ul > li:last a') .on('show.bs.tab', function (e) { equal(e.relatedTarget.hash, '#1-1', 'references correct element as relatedTarget') - start() + done() }) .on('shown.bs.tab', function (e) { equal(e.relatedTarget.hash, '#1-1', 'references correct element as relatedTarget') @@ -101,8 +101,8 @@ $(function () { .bootstrapTab('show') }) - test('should fire hide and hidden events', function () { - stop() + test('should fire hide and hidden events', function (assert) { + var done = assert.async() var tabsHTML = '<ul class="tabs">' + '<li><a href="#home">Home</a></li>' @@ -123,7 +123,7 @@ $(function () { .find('li:first a') .on('hidden.bs.tab', function () { ok(true, 'hidden event fired') - start() + done() }) .bootstrapTab('show') .end() @@ -131,8 +131,8 @@ $(function () { .bootstrapTab('show') }) - test('should not fire hidden when hide is prevented', function () { - stop() + test('should not fire hidden when hide is prevented', function (assert) { + var done = assert.async() var tabsHTML = '<ul class="tabs">' + '<li><a href="#home">Home</a></li>' @@ -144,7 +144,7 @@ $(function () { .on('hide.bs.tab', function (e) { e.preventDefault() ok(true, 'hide event fired') - start() + done() }) .on('hidden.bs.tab', function () { ok(false, 'hidden event fired') @@ -155,8 +155,8 @@ $(function () { .bootstrapTab('show') }) - test('hide and hidden events contain correct relatedTarget', function () { - stop() + test('hide and hidden events contain correct relatedTarget', function (assert) { + var done = assert.async() var tabsHTML = '<ul class="tabs">' + '<li><a href="#home">Home</a></li>' @@ -170,7 +170,7 @@ $(function () { }) .on('hidden.bs.tab', function (e) { equal(e.relatedTarget.hash, '#profile', 'references correct element as relatedTarget') - start() + done() }) .bootstrapTab('show') .end() diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js index 2264ca3727..38298bdd82 100644 --- a/js/tests/unit/tooltip.js +++ b/js/tests/unit/tooltip.js @@ -115,37 +115,37 @@ $(function () { equal($('.tooltip').length, 0, 'tooltip removed') }) - test('should fire show event', function () { - stop() + test('should fire show event', function (assert) { + var done = assert.async() $('<div title="tooltip title"/>') .on('show.bs.tooltip', function () { ok(true, 'show event fired') - start() + done() }) .bootstrapTooltip('show') }) - test('should fire shown event', function () { - stop() + test('should fire shown event', function (assert) { + var done = assert.async() $('<div title="tooltip title"></div>') .appendTo('#qunit-fixture') .on('shown.bs.tooltip', function () { ok(true, 'shown was called') - start() + done() }) .bootstrapTooltip('show') }) - test('should not fire shown event when show was prevented', function () { - stop() + test('should not fire shown event when show was prevented', function (assert) { + var done = assert.async() $('<div title="tooltip title"/>') .on('show.bs.tooltip', function (e) { e.preventDefault() ok(true, 'show event fired') - start() + done() }) .on('shown.bs.tooltip', function () { ok(false, 'shown event fired') @@ -153,8 +153,8 @@ $(function () { .bootstrapTooltip('show') }) - test('should fire hide event', function () { - stop() + test('should fire hide event', function (assert) { + var done = assert.async() $('<div title="tooltip title"/>') .appendTo('#qunit-fixture') @@ -163,13 +163,13 @@ $(function () { }) .on('hide.bs.tooltip', function () { ok(true, 'hide event fired') - start() + done() }) .bootstrapTooltip('show') }) - test('should fire hidden event', function () { - stop() + test('should fire hidden event', function (assert) { + var done = assert.async() $('<div title="tooltip title"/>') .appendTo('#qunit-fixture') @@ -178,13 +178,13 @@ $(function () { }) .on('hidden.bs.tooltip', function () { ok(true, 'hidden event fired') - start() + done() }) .bootstrapTooltip('show') }) - test('should not fire hidden event when hide was prevented', function () { - stop() + test('should not fire hidden event when hide was prevented', function (assert) { + var done = assert.async() $('<div title="tooltip title"/>') .appendTo('#qunit-fixture') @@ -194,7 +194,7 @@ $(function () { .on('hide.bs.tooltip', function (e) { e.preventDefault() ok(true, 'hide event fired') - start() + done() }) .on('hidden.bs.tooltip', function () { ok(false, 'hidden event fired') @@ -699,8 +699,8 @@ $(function () { ok(passed, '.tooltip(\'show\') should not throw an error if element no longer is in dom') }) - test('should place tooltip on top of element', function () { - stop() + test('should place tooltip on top of element', function (assert) { + var done = assert.async() var containerHTML = '<div>' + '<p style="margin-top: 200px">' @@ -732,12 +732,12 @@ $(function () { setTimeout(function () { ok(Math.round($tooltip.offset().top + $tooltip.outerHeight()) <= Math.round($trigger.offset().top)) - start() + done() }, 0) }) - test('should place tooltip inside viewport', function () { - stop() + test('should place tooltip inside viewport', function (assert) { + var done = assert.async() var $container = $('<div/>') .css({ @@ -763,12 +763,12 @@ $(function () { setTimeout(function () { ok($('.tooltip').offset().left >= 0) - start() + done() }, 0) }) - test('should show tooltip if leave event hasn\'t occurred before delay expires', function () { - stop() + test('should show tooltip if leave event hasn\'t occurred before delay expires', function (assert) { + var done = assert.async() var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>') .appendTo('#qunit-fixture') @@ -780,14 +780,14 @@ $(function () { setTimeout(function () { ok($('.tooltip').is('.fade.in'), '200ms: tooltip is faded in') - start() + done() }, 200) $tooltip.trigger('mouseenter') }) - test('should not show tooltip if leave event occurs before delay expires', function () { - stop() + test('should not show tooltip if leave event occurs before delay expires', function (assert) { + var done = assert.async() var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>') .appendTo('#qunit-fixture') @@ -800,14 +800,14 @@ $(function () { setTimeout(function () { ok(!$('.tooltip').is('.fade.in'), '200ms: tooltip not faded in') - start() + done() }, 200) $tooltip.trigger('mouseenter') }) - test('should not hide tooltip if leave event occurs and enter event occurs within the hide delay', function () { - stop() + test('should not hide tooltip if leave event occurs and enter event occurs within the hide delay', function (assert) { + var done = assert.async() var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>') .appendTo('#qunit-fixture') @@ -824,15 +824,15 @@ $(function () { setTimeout(function () { ok($('.tooltip').is('.fade.in'), '200ms: tooltip still faded in') - start() + done() }, 200) }, 0) $tooltip.trigger('mouseenter') }) - test('should not show tooltip if leave event occurs before delay expires', function () { - stop() + test('should not show tooltip if leave event occurs before delay expires', function (assert) { + var done = assert.async() var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>') .appendTo('#qunit-fixture') @@ -845,14 +845,14 @@ $(function () { setTimeout(function () { ok(!$('.tooltip').is('.fade.in'), '200ms: tooltip not faded in') - start() + done() }, 200) $tooltip.trigger('mouseenter') }) - test('should not show tooltip if leave event occurs before delay expires, even if hide delay is 0', function () { - stop() + test('should not show tooltip if leave event occurs before delay expires, even if hide delay is 0', function (assert) { + var done = assert.async() var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>') .appendTo('#qunit-fixture') @@ -865,14 +865,14 @@ $(function () { setTimeout(function () { ok(!$('.tooltip').is('.fade.in'), '250ms: tooltip not faded in') - start() + done() }, 250) $tooltip.trigger('mouseenter') }) - test('should wait 200ms before hiding the tooltip', function () { - stop() + test('should wait 200ms before hiding the tooltip', function (assert) { + var done = assert.async() var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>') .appendTo('#qunit-fixture') @@ -889,7 +889,7 @@ $(function () { setTimeout(function () { ok(!$tooltip.data('bs.tooltip').$tip.is('.in'), '200ms: tooltip removed') - start() + done() }, 200) }, 0) @@ -897,14 +897,14 @@ $(function () { $tooltip.trigger('mouseenter') }) - test('should correctly position tooltips on SVG elements', function () { + test('should correctly position tooltips on SVG elements', function (assert) { if (!window.SVGElement) { // Skip IE8 since it doesn't support SVG expect(0) return } - stop() + var done = assert.async() var styles = '<style>' + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }' @@ -928,15 +928,15 @@ $(function () { ok(Math.abs(offset.left - 88) <= 1, 'tooltip has correct horizontal location') $circle.bootstrapTooltip('hide') equal($('.tooltip').length, 0, 'tooltip removed from dom') - start() + done() }) .bootstrapTooltip({ container: 'body', placement: 'top', trigger: 'manual' }) $circle.bootstrapTooltip('show') }) - test('should correctly determine auto placement based on container rather than parent', function () { - stop() + test('should correctly determine auto placement based on container rather than parent', function (assert) { + var done = assert.async() var styles = '<style>' + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }' @@ -965,7 +965,7 @@ $(function () { $styles.remove() $(this).remove() equal($('.tooltip').length, 0, 'tooltip removed from dom') - start() + done() }) .bootstrapTooltip({ container: 'body', @@ -1037,8 +1037,8 @@ $(function () { equal(currentUid, $('#tt-content').text()) }) - test('should position arrow correctly when tooltip is moved to not appear offscreen', function () { - stop() + test('should position arrow correctly when tooltip is moved to not appear offscreen', function (assert) { + var done = assert.async() var styles = '<style>' + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }' @@ -1059,7 +1059,7 @@ $(function () { $styles.remove() $(this).remove() equal($('.tooltip').length, 0, 'tooltip removed from dom') - start() + done() }) .bootstrapTooltip({ container: 'body', @@ -1069,14 +1069,14 @@ $(function () { .bootstrapTooltip('show') }) - test('should correctly position tooltips on transformed elements', function () { + test('should correctly position tooltips on transformed elements', function (assert) { var styleProps = document.documentElement.style if (!('transform' in styleProps) && !('webkitTransform' in styleProps) && !('msTransform' in styleProps)) { expect(0) return } - stop() + var done = assert.async() var styles = '<style>' + '#qunit-fixture { top: 0; left: 0; }' @@ -1096,7 +1096,7 @@ $(function () { ok(Math.abs(offset.left - 88) <= 1, 'tooltip has correct horizontal location') ok(Math.abs(offset.top - 126) <= 1, 'tooltip has correct vertical location') $element.bootstrapTooltip('hide') - start() + done() }) .bootstrapTooltip({ container: 'body', |