Commit d5a2b27e authored by Chris Rebert's avatar Chris Rebert

Merge pull request #15503 from twbs/qunit

Update QUnit to v1.17.0.
parents d9f437f4 1652efc3
...@@ -35,8 +35,8 @@ $(function () { ...@@ -35,8 +35,8 @@ $(function () {
ok(!$affix.hasClass('affix'), 'affix class was not added') ok(!$affix.hasClass('affix'), 'affix class was not added')
}) })
test('should trigger affixed event after affix', function () { test('should trigger affixed event after affix', function (assert) {
stop() var done = assert.async()
var templateHTML = '<div id="affixTarget">' var templateHTML = '<div id="affixTarget">'
+ '<ul>' + '<ul>'
...@@ -57,7 +57,7 @@ $(function () { ...@@ -57,7 +57,7 @@ $(function () {
}).on('affixed.bs.affix', function () { }).on('affixed.bs.affix', function () {
ok(true, 'affixed event fired') ok(true, 'affixed event fired')
$('#affixTarget, #affixAfter').remove() $('#affixTarget, #affixAfter').remove()
start() done()
}) })
setTimeout(function () { setTimeout(function () {
...@@ -69,8 +69,8 @@ $(function () { ...@@ -69,8 +69,8 @@ $(function () {
}, 0) }, 0)
}) })
test('should affix-top when scrolling up to offset when parent has padding', function () { test('should affix-top when scrolling up to offset when parent has padding', function (assert) {
stop() var done = assert.async()
var templateHTML = '<div id="padding-offset" style="padding-top: 20px;">' var templateHTML = '<div id="padding-offset" style="padding-top: 20px;">'
+ '<div id="affixTopTarget">' + '<div id="affixTopTarget">'
...@@ -87,7 +87,7 @@ $(function () { ...@@ -87,7 +87,7 @@ $(function () {
.on('affixed-top.bs.affix', function () { .on('affixed-top.bs.affix', function () {
ok($('#affixTopTarget').hasClass('affix-top'), 'affix-top class applied') ok($('#affixTopTarget').hasClass('affix-top'), 'affix-top class applied')
$('#padding-offset').remove() $('#padding-offset').remove()
start() done()
}) })
setTimeout(function () { setTimeout(function () {
......
...@@ -55,13 +55,13 @@ $(function () { ...@@ -55,13 +55,13 @@ $(function () {
equal($('#qunit-fixture').find('.alert').length, 0, 'element removed from dom') equal($('#qunit-fixture').find('.alert').length, 0, 'element removed from dom')
}) })
test('should not fire closed when close is prevented', function () { test('should not fire closed when close is prevented', function (assert) {
stop() var done = assert.async()
$('<div class="alert"/>') $('<div class="alert"/>')
.on('close.bs.alert', function (e) { .on('close.bs.alert', function (e) {
e.preventDefault() e.preventDefault()
ok(true, 'close event fired') ok(true, 'close event fired')
start() done()
}) })
.on('closed.bs.alert', function () { .on('closed.bs.alert', function () {
ok(false, 'closed event fired') ok(false, 'closed event fired')
......
...@@ -29,57 +29,57 @@ $(function () { ...@@ -29,57 +29,57 @@ $(function () {
strictEqual($button[0], $el[0], 'collection contains element') 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>') var $btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
equal($btn.html(), 'mdo', 'btn text equals mdo') equal($btn.html(), 'mdo', 'btn text equals mdo')
$btn.bootstrapButton('loading') $btn.bootstrapButton('loading')
stop() var done = assert.async()
setTimeout(function () { setTimeout(function () {
equal($btn.html(), 'fat', 'btn text equals fat') equal($btn.html(), 'fat', 'btn text equals fat')
ok($btn[0].hasAttribute('disabled'), 'btn is disabled') ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
ok($btn.hasClass('disabled'), 'btn has disabled class') ok($btn.hasClass('disabled'), 'btn has disabled class')
start() done()
}, 0) }, 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>') var $btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
equal($btn.html(), 'mdo', 'btn text equals mdo') equal($btn.html(), 'mdo', 'btn text equals mdo')
$btn.bootstrapButton('loading') $btn.bootstrapButton('loading')
stop() var doneOne = assert.async()
setTimeout(function () { setTimeout(function () {
equal($btn.html(), 'fat', 'btn text equals fat') equal($btn.html(), 'fat', 'btn text equals fat')
ok($btn[0].hasAttribute('disabled'), 'btn is disabled') ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
ok($btn.hasClass('disabled'), 'btn has disabled class') ok($btn.hasClass('disabled'), 'btn has disabled class')
start() doneOne()
stop() var doneTwo = assert.async()
$btn.bootstrapButton('reset') $btn.bootstrapButton('reset')
setTimeout(function () { setTimeout(function () {
equal($btn.html(), 'mdo', 'btn text equals mdo') equal($btn.html(), 'mdo', 'btn text equals mdo')
ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled') ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled')
ok(!$btn.hasClass('disabled'), 'btn does not have disabled class') ok(!$btn.hasClass('disabled'), 'btn does not have disabled class')
start() doneTwo()
}, 0) }, 0)
}, 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"/>') var $btn = $('<button class="btn" data-loading-text="fat"/>')
equal($btn.html(), '', 'btn text equals ""') equal($btn.html(), '', 'btn text equals ""')
$btn.bootstrapButton('loading') $btn.bootstrapButton('loading')
stop() var doneOne = assert.async()
setTimeout(function () { setTimeout(function () {
equal($btn.html(), 'fat', 'btn text equals fat') equal($btn.html(), 'fat', 'btn text equals fat')
ok($btn[0].hasAttribute('disabled'), 'btn is disabled') ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
ok($btn.hasClass('disabled'), 'btn has disabled class') ok($btn.hasClass('disabled'), 'btn has disabled class')
start() doneOne()
stop() var doneTwo = assert.async()
$btn.bootstrapButton('reset') $btn.bootstrapButton('reset')
setTimeout(function () { setTimeout(function () {
equal($btn.html(), '', 'btn text equals ""') equal($btn.html(), '', 'btn text equals ""')
ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled') ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled')
ok(!$btn.hasClass('disabled'), 'btn does not have disabled class') ok(!$btn.hasClass('disabled'), 'btn does not have disabled class')
start() doneTwo()
}, 0) }, 0)
}, 0) }, 0)
}) })
......
...@@ -29,13 +29,13 @@ $(function () { ...@@ -29,13 +29,13 @@ $(function () {
strictEqual($carousel[0], $el[0], 'collection contains element') strictEqual($carousel[0], $el[0], 'collection contains element')
}) })
test('should not fire slid when slide is prevented', function () { test('should not fire slid when slide is prevented', function (assert) {
stop() var done = assert.async()
$('<div class="carousel"/>') $('<div class="carousel"/>')
.on('slide.bs.carousel', function (e) { .on('slide.bs.carousel', function (e) {
e.preventDefault() e.preventDefault()
ok(true, 'slide event fired') ok(true, 'slide event fired')
start() done()
}) })
.on('slid.bs.carousel', function () { .on('slid.bs.carousel', function () {
ok(false, 'slid event fired') ok(false, 'slid event fired')
...@@ -43,7 +43,7 @@ $(function () { ...@@ -43,7 +43,7 @@ $(function () {
.bootstrapCarousel('next') .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">' var carouselHTML = '<div id="carousel-example-generic" class="carousel slide">'
+ '<ol class="carousel-indicators">' + '<ol class="carousel-indicators">'
+ '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>' + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
...@@ -66,7 +66,7 @@ $(function () { ...@@ -66,7 +66,7 @@ $(function () {
+ '</div>' + '</div>'
var $carousel = $(carouselHTML) var $carousel = $(carouselHTML)
stop() var done = assert.async()
$carousel $carousel
.one('slide.bs.carousel', function (e) { .one('slide.bs.carousel', function (e) {
e.preventDefault() e.preventDefault()
...@@ -82,13 +82,13 @@ $(function () { ...@@ -82,13 +82,13 @@ $(function () {
ok(!$carousel.find('.carousel-indicators li:eq(0)').is('.active'), 'first indicator still active') 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('.item:eq(1)').is('.active'), 'second item active')
ok($carousel.find('.carousel-indicators li:eq(1)').is('.active'), 'second indicator active') ok($carousel.find('.carousel-indicators li:eq(1)').is('.active'), 'second indicator active')
start() done()
}, 0) }, 0)
}) })
.bootstrapCarousel('next') .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">' var carouselHTML = '<div id="myCarousel" class="carousel slide">'
+ '<div class="carousel-inner">' + '<div class="carousel-inner">'
+ '<div class="item active">' + '<div class="item active">'
...@@ -124,7 +124,7 @@ $(function () { ...@@ -124,7 +124,7 @@ $(function () {
+ '</div>' + '</div>'
var $carousel = $(carouselHTML) var $carousel = $(carouselHTML)
stop() var done = assert.async()
$carousel $carousel
.one('slide.bs.carousel', function (e) { .one('slide.bs.carousel', function (e) {
...@@ -135,14 +135,14 @@ $(function () { ...@@ -135,14 +135,14 @@ $(function () {
.one('slide.bs.carousel', function (e) { .one('slide.bs.carousel', function (e) {
ok(e.direction, 'direction present on prev') ok(e.direction, 'direction present on prev')
strictEqual(e.direction, 'right', 'direction is right on prev') strictEqual(e.direction, 'right', 'direction is right on prev')
start() done()
}) })
.bootstrapCarousel('prev') .bootstrapCarousel('prev')
}) })
.bootstrapCarousel('next') .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">' var carouselHTML = '<div id="myCarousel" class="carousel slide">'
+ '<div class="carousel-inner">' + '<div class="carousel-inner">'
+ '<div class="item active">' + '<div class="item active">'
...@@ -178,7 +178,7 @@ $(function () { ...@@ -178,7 +178,7 @@ $(function () {
+ '</div>' + '</div>'
var $carousel = $(carouselHTML) var $carousel = $(carouselHTML)
stop() var done = assert.async()
$carousel $carousel
.one('slid.bs.carousel', function (e) { .one('slid.bs.carousel', function (e) {
...@@ -189,14 +189,14 @@ $(function () { ...@@ -189,14 +189,14 @@ $(function () {
.one('slid.bs.carousel', function (e) { .one('slid.bs.carousel', function (e) {
ok(e.direction, 'direction present on prev') ok(e.direction, 'direction present on prev')
strictEqual(e.direction, 'right', 'direction is right on prev') strictEqual(e.direction, 'right', 'direction is right on prev')
start() done()
}) })
.bootstrapCarousel('prev') .bootstrapCarousel('prev')
}) })
.bootstrapCarousel('next') .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">' var template = '<div id="myCarousel" class="carousel slide">'
+ '<div class="carousel-inner">' + '<div class="carousel-inner">'
+ '<div class="item active">' + '<div class="item active">'
...@@ -231,18 +231,18 @@ $(function () { ...@@ -231,18 +231,18 @@ $(function () {
+ '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>' + '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>'
+ '</div>' + '</div>'
stop() var done = assert.async()
$(template) $(template)
.on('slide.bs.carousel', function (e) { .on('slide.bs.carousel', function (e) {
ok(e.relatedTarget, 'relatedTarget present') ok(e.relatedTarget, 'relatedTarget present')
ok($(e.relatedTarget).hasClass('item'), 'relatedTarget has class "item"') ok($(e.relatedTarget).hasClass('item'), 'relatedTarget has class "item"')
start() done()
}) })
.bootstrapCarousel('next') .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">' var template = '<div id="myCarousel" class="carousel slide">'
+ '<div class="carousel-inner">' + '<div class="carousel-inner">'
+ '<div class="item active">' + '<div class="item active">'
...@@ -277,13 +277,13 @@ $(function () { ...@@ -277,13 +277,13 @@ $(function () {
+ '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>' + '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>'
+ '</div>' + '</div>'
stop() var done = assert.async()
$(template) $(template)
.on('slid.bs.carousel', function (e) { .on('slid.bs.carousel', function (e) {
ok(e.relatedTarget, 'relatedTarget present') ok(e.relatedTarget, 'relatedTarget present')
ok($(e.relatedTarget).hasClass('item'), 'relatedTarget has class "item"') ok($(e.relatedTarget).hasClass('item'), 'relatedTarget has class "item"')
start() done()
}) })
.bootstrapCarousel('next') .bootstrapCarousel('next')
}) })
...@@ -542,7 +542,7 @@ $(function () { ...@@ -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">' var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="true">'
+ '<ol class="carousel-indicators">' + '<ol class="carousel-indicators">'
+ '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>' + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
...@@ -566,7 +566,7 @@ $(function () { ...@@ -566,7 +566,7 @@ $(function () {
var $carousel = $(carouselHTML) var $carousel = $(carouselHTML)
var getActiveId = function () { return $carousel.find('.item.active').attr('id') } var getActiveId = function () { return $carousel.find('.item.active').attr('id') }
stop() var done = assert.async()
$carousel $carousel
.one('slid.bs.carousel', function () { .one('slid.bs.carousel', function () {
...@@ -577,7 +577,7 @@ $(function () { ...@@ -577,7 +577,7 @@ $(function () {
$carousel $carousel
.one('slid.bs.carousel', function () { .one('slid.bs.carousel', function () {
strictEqual(getActiveId(), 'one', 'carousel wrapped around and slid from 3rd to 1st slide') strictEqual(getActiveId(), 'one', 'carousel wrapped around and slid from 3rd to 1st slide')
start() done()
}) })
.bootstrapCarousel('next') .bootstrapCarousel('next')
}) })
...@@ -586,7 +586,7 @@ $(function () { ...@@ -586,7 +586,7 @@ $(function () {
.bootstrapCarousel('next') .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">' var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="true">'
+ '<ol class="carousel-indicators">' + '<ol class="carousel-indicators">'
+ '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>' + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
...@@ -609,17 +609,17 @@ $(function () { ...@@ -609,17 +609,17 @@ $(function () {
+ '</div>' + '</div>'
var $carousel = $(carouselHTML) var $carousel = $(carouselHTML)
stop() var done = assert.async()
$carousel $carousel
.on('slid.bs.carousel', function () { .on('slid.bs.carousel', function () {
strictEqual($carousel.find('.item.active').attr('id'), 'three', 'carousel wrapped around and slid from 1st to 3rd slide') strictEqual($carousel.find('.item.active').attr('id'), 'three', 'carousel wrapped around and slid from 1st to 3rd slide')
start() done()
}) })
.bootstrapCarousel('prev') .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">' var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="false">'
+ '<ol class="carousel-indicators">' + '<ol class="carousel-indicators">'
+ '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>' + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
...@@ -643,7 +643,7 @@ $(function () { ...@@ -643,7 +643,7 @@ $(function () {
var $carousel = $(carouselHTML) var $carousel = $(carouselHTML)
var getActiveId = function () { return $carousel.find('.item.active').attr('id') } var getActiveId = function () { return $carousel.find('.item.active').attr('id') }
stop() var done = assert.async()
$carousel $carousel
.one('slid.bs.carousel', function () { .one('slid.bs.carousel', function () {
...@@ -657,7 +657,7 @@ $(function () { ...@@ -657,7 +657,7 @@ $(function () {
}) })
.bootstrapCarousel('next') .bootstrapCarousel('next')
strictEqual(getActiveId(), 'three', 'carousel did not wrap around and stayed on 3rd slide') strictEqual(getActiveId(), 'three', 'carousel did not wrap around and stayed on 3rd slide')
start() done()
}) })
.bootstrapCarousel('next') .bootstrapCarousel('next')
}) })
......
...@@ -43,14 +43,14 @@ $(function () { ...@@ -43,14 +43,14 @@ $(function () {
ok(/height/i.test($el.attr('style')), 'has height set') ok(/height/i.test($el.attr('style')), 'has height set')
}) })
test('should not fire shown when show is prevented', function () { test('should not fire shown when show is prevented', function (assert) {
stop() var done = assert.async()
$('<div class="collapse"/>') $('<div class="collapse"/>')
.on('show.bs.collapse', function (e) { .on('show.bs.collapse', function (e) {
e.preventDefault() e.preventDefault()
ok(true, 'show event fired') ok(true, 'show event fired')
start() done()
}) })
.on('shown.bs.collapse', function () { .on('shown.bs.collapse', function () {
ok(false, 'shown event fired') ok(false, 'shown event fired')
...@@ -58,8 +58,8 @@ $(function () { ...@@ -58,8 +58,8 @@ $(function () {
.bootstrapCollapse('show') .bootstrapCollapse('show')
}) })
test('should reset style to auto after finishing opening collapse', function () { test('should reset style to auto after finishing opening collapse', function (assert) {
stop() var done = assert.async()
$('<div class="collapse" style="height: 0px"/>') $('<div class="collapse" style="height: 0px"/>')
.on('show.bs.collapse', function () { .on('show.bs.collapse', function () {
...@@ -67,13 +67,13 @@ $(function () { ...@@ -67,13 +67,13 @@ $(function () {
}) })
.on('shown.bs.collapse', function () { .on('shown.bs.collapse', function () {
strictEqual(this.style.height, '', 'height is auto') strictEqual(this.style.height, '', 'height is auto')
start() done()
}) })
.bootstrapCollapse('show') .bootstrapCollapse('show')
}) })
test('should remove "collapsed" class from target when collapse is shown', function () { test('should remove "collapsed" class from target when collapse is shown', function (assert) {
stop() var done = assert.async()
var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture') var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture')
...@@ -81,14 +81,14 @@ $(function () { ...@@ -81,14 +81,14 @@ $(function () {
.appendTo('#qunit-fixture') .appendTo('#qunit-fixture')
.on('shown.bs.collapse', function () { .on('shown.bs.collapse', function () {
ok(!$target.hasClass('collapsed')) ok(!$target.hasClass('collapsed'))
start() done()
}) })
$target.click() $target.click()
}) })
test('should add "collapsed" class to target when collapse is hidden', function () { test('should add "collapsed" class to target when collapse is hidden', function (assert) {
stop() var done = assert.async()
var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture') var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture')
...@@ -96,14 +96,14 @@ $(function () { ...@@ -96,14 +96,14 @@ $(function () {
.appendTo('#qunit-fixture') .appendTo('#qunit-fixture')
.on('hidden.bs.collapse', function () { .on('hidden.bs.collapse', function () {
ok($target.hasClass('collapsed')) ok($target.hasClass('collapsed'))
start() done()
}) })
$target.click() $target.click()
}) })
test('should not close a collapse when initialized with "show" if already shown', function () { test('should not close a collapse when initialized with "show" if already shown', function (assert) {
stop() var done = assert.async()
expect(0) expect(0)
...@@ -115,11 +115,11 @@ $(function () { ...@@ -115,11 +115,11 @@ $(function () {
$test.bootstrapCollapse('show') $test.bootstrapCollapse('show')
setTimeout(start, 0) setTimeout(done, 0)
}) })
test('should open a collapse when initialized with "show" if not already shown', function () { test('should open a collapse when initialized with "show" if not already shown', function (assert) {
stop() var done = assert.async()
expect(1) expect(1)
...@@ -131,11 +131,11 @@ $(function () { ...@@ -131,11 +131,11 @@ $(function () {
$test.bootstrapCollapse('show') $test.bootstrapCollapse('show')
setTimeout(start, 0) setTimeout(done, 0)
}) })
test('should remove "collapsed" class from active accordion target', function () { test('should remove "collapsed" class from active accordion target', function (assert) {
stop() var done = assert.async()
var accordionHTML = '<div class="panel-group" id="accordion">' var accordionHTML = '<div class="panel-group" id="accordion">'
+ '<div class="panel"/>' + '<div class="panel"/>'
...@@ -161,14 +161,14 @@ $(function () { ...@@ -161,14 +161,14 @@ $(function () {
ok($target2.hasClass('collapsed'), 'inactive target 2 does have class "collapsed"') ok($target2.hasClass('collapsed'), 'inactive target 2 does have class "collapsed"')
ok(!$target3.hasClass('collapsed'), 'active target 3 does not have class "collapsed"') ok(!$target3.hasClass('collapsed'), 'active target 3 does not have class "collapsed"')
start() done()
}) })
$target3.click() $target3.click()
}) })
test('should allow dots in data-parent', function () { test('should allow dots in data-parent', function (assert) {
stop() var done = assert.async()
var accordionHTML = '<div class="panel-group accordion">' var accordionHTML = '<div class="panel-group accordion">'
+ '<div class="panel"/>' + '<div class="panel"/>'
...@@ -194,14 +194,14 @@ $(function () { ...@@ -194,14 +194,14 @@ $(function () {
ok($target2.hasClass('collapsed'), 'inactive target 2 does have class "collapsed"') ok($target2.hasClass('collapsed'), 'inactive target 2 does have class "collapsed"')
ok(!$target3.hasClass('collapsed'), 'active target 3 does not have class "collapsed"') ok(!$target3.hasClass('collapsed'), 'active target 3 does not have class "collapsed"')
start() done()
}) })
$target3.click() $target3.click()
}) })
test('should set aria-expanded="true" on target when collapse is shown', function () { test('should set aria-expanded="true" on target when collapse is shown', function (assert) {
stop() var done = assert.async()
var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1" aria-expanded="false"/>').appendTo('#qunit-fixture') var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1" aria-expanded="false"/>').appendTo('#qunit-fixture')
...@@ -209,14 +209,14 @@ $(function () { ...@@ -209,14 +209,14 @@ $(function () {
.appendTo('#qunit-fixture') .appendTo('#qunit-fixture')
.on('shown.bs.collapse', function () { .on('shown.bs.collapse', function () {
equal($target.attr('aria-expanded'), 'true', 'aria-expanded on target is "true"') equal($target.attr('aria-expanded'), 'true', 'aria-expanded on target is "true"')
start() done()
}) })
$target.click() $target.click()
}) })
test('should set aria-expanded="false" on target when collapse is hidden', function () { test('should set aria-expanded="false" on target when collapse is hidden', function (assert) {
stop() var done = assert.async()
var $target = $('<a data-toggle="collapse" href="#test1" aria-expanded="true"/>').appendTo('#qunit-fixture') var $target = $('<a data-toggle="collapse" href="#test1" aria-expanded="true"/>').appendTo('#qunit-fixture')
...@@ -224,14 +224,14 @@ $(function () { ...@@ -224,14 +224,14 @@ $(function () {
.appendTo('#qunit-fixture') .appendTo('#qunit-fixture')
.on('hidden.bs.collapse', function () { .on('hidden.bs.collapse', function () {
equal($target.attr('aria-expanded'), 'false', 'aria-expanded on target is "false"') equal($target.attr('aria-expanded'), 'false', 'aria-expanded on target is "false"')
start() done()
}) })
$target.click() $target.click()
}) })
test('should change aria-expanded from active accordion target to "false" and set the newly active one to "true"', function () { test('should change aria-expanded from active accordion target to "false" and set the newly active one to "true"', function (assert) {
stop() var done = assert.async()
var accordionHTML = '<div class="panel-group" id="accordion">' var accordionHTML = '<div class="panel-group" id="accordion">'
+ '<div class="panel"/>' + '<div class="panel"/>'
...@@ -257,14 +257,14 @@ $(function () { ...@@ -257,14 +257,14 @@ $(function () {
equal($target2.attr('aria-expanded'), 'false', 'inactive target 2 has aria-expanded="false"') 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"') equal($target3.attr('aria-expanded'), 'true', 'active target 3 has aria-expanded="false"')
start() done()
}) })
$target3.click() $target3.click()
}) })
test('should not fire show event if show is prevented because other element is still transitioning', function () { test('should not fire show event if show is prevented because other element is still transitioning', function (assert) {
stop() var done = assert.async()
var accordionHTML = '<div id="accordion">' var accordionHTML = '<div id="accordion">'
+ '<div class="panel"/>' + '<div class="panel"/>'
...@@ -294,12 +294,12 @@ $(function () { ...@@ -294,12 +294,12 @@ $(function () {
setTimeout(function () { setTimeout(function () {
ok(!showFired, 'show event didn\'t fire') ok(!showFired, 'show event didn\'t fire')
start() done()
}, 1) }, 1)
}) })
test('should add "collapsed" class to target when collapse is hidden via manual invocation', function () { test('should add "collapsed" class to target when collapse is hidden via manual invocation', function (assert) {
stop() var done = assert.async()
var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture') var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture')
...@@ -307,13 +307,13 @@ $(function () { ...@@ -307,13 +307,13 @@ $(function () {
.appendTo('#qunit-fixture') .appendTo('#qunit-fixture')
.on('hidden.bs.collapse', function () { .on('hidden.bs.collapse', function () {
ok($target.hasClass('collapsed')) ok($target.hasClass('collapsed'))
start() done()
}) })
.bootstrapCollapse('hide') .bootstrapCollapse('hide')
}) })
test('should remove "collapsed" class from target when collapse is shown via manual invocation', function () { test('should remove "collapsed" class from target when collapse is shown via manual invocation', function (assert) {
stop() var done = assert.async()
var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture') var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture')
...@@ -321,7 +321,7 @@ $(function () { ...@@ -321,7 +321,7 @@ $(function () {
.appendTo('#qunit-fixture') .appendTo('#qunit-fixture')
.on('shown.bs.collapse', function () { .on('shown.bs.collapse', function () {
ok(!$target.hasClass('collapsed')) ok(!$target.hasClass('collapsed'))
start() done()
}) })
.bootstrapCollapse('show') .bootstrapCollapse('show')
}) })
......
...@@ -157,7 +157,7 @@ $(function () { ...@@ -157,7 +157,7 @@ $(function () {
strictEqual($('#qunit-fixture .open').length, 0, '"open" class removed') 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">' var dropdownHTML = '<ul class="tabs">'
+ '<li class="dropdown">' + '<li class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>' + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
...@@ -174,7 +174,7 @@ $(function () { ...@@ -174,7 +174,7 @@ $(function () {
.find('[data-toggle="dropdown"]') .find('[data-toggle="dropdown"]')
.bootstrapDropdown() .bootstrapDropdown()
stop() var done = assert.async()
$dropdown $dropdown
.parent('.dropdown') .parent('.dropdown')
...@@ -183,7 +183,7 @@ $(function () { ...@@ -183,7 +183,7 @@ $(function () {
}) })
.on('hide.bs.dropdown', function () { .on('hide.bs.dropdown', function () {
ok(true, 'hide was fired') ok(true, 'hide was fired')
start() done()
}) })
$dropdown.click() $dropdown.click()
...@@ -191,7 +191,7 @@ $(function () { ...@@ -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">' var dropdownHTML = '<ul class="tabs">'
+ '<li class="dropdown">' + '<li class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>' + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
...@@ -208,7 +208,7 @@ $(function () { ...@@ -208,7 +208,7 @@ $(function () {
.find('[data-toggle="dropdown"]') .find('[data-toggle="dropdown"]')
.bootstrapDropdown() .bootstrapDropdown()
stop() var done = assert.async()
$dropdown $dropdown
.parent('.dropdown') .parent('.dropdown')
...@@ -217,15 +217,15 @@ $(function () { ...@@ -217,15 +217,15 @@ $(function () {
}) })
.on('hidden.bs.dropdown', function () { .on('hidden.bs.dropdown', function () {
ok(true, 'hidden was fired') ok(true, 'hidden was fired')
start() done()
}) })
$dropdown.click() $dropdown.click()
$(document.body).click() $(document.body).click()
}) })
test('should ignore keyboard events within <input>s and <textarea>s', function () { test('should ignore keyboard events within <input>s and <textarea>s', function (assert) {
stop() var done = assert.async()
var dropdownHTML = '<ul class="tabs">' var dropdownHTML = '<ul class="tabs">'
+ '<li class="dropdown">' + '<li class="dropdown">'
...@@ -259,7 +259,7 @@ $(function () { ...@@ -259,7 +259,7 @@ $(function () {
$textarea.focus().trigger($.Event('keydown', { which: 38 })) $textarea.focus().trigger($.Event('keydown', { which: 38 }))
ok($(document.activeElement).is($textarea), 'textarea still focused') ok($(document.activeElement).is($textarea), 'textarea still focused')
start() done()
}) })
$dropdown.click() $dropdown.click()
......
...@@ -33,36 +33,36 @@ $(function () { ...@@ -33,36 +33,36 @@ $(function () {
ok($.fn.bootstrapModal.Constructor.DEFAULTS, 'default object exposed') ok($.fn.bootstrapModal.Constructor.DEFAULTS, 'default object exposed')
}) })
test('should insert into dom when show method is called', function () { test('should insert into dom when show method is called', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test"/>') $('<div id="modal-test"/>')
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
notEqual($('#modal-test').length, 0, 'modal inserted into dom') notEqual($('#modal-test').length, 0, 'modal inserted into dom')
start() done()
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should fire show event', function () { test('should fire show event', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test"/>') $('<div id="modal-test"/>')
.on('show.bs.modal', function () { .on('show.bs.modal', function () {
ok(true, 'show event fired') ok(true, 'show event fired')
start() done()
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should not fire shown when show was prevented', function () { test('should not fire shown when show was prevented', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test"/>') $('<div id="modal-test"/>')
.on('show.bs.modal', function (e) { .on('show.bs.modal', function (e) {
e.preventDefault() e.preventDefault()
ok(true, 'show event fired') ok(true, 'show event fired')
start() done()
}) })
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
ok(false, 'shown event fired') ok(false, 'shown event fired')
...@@ -70,8 +70,8 @@ $(function () { ...@@ -70,8 +70,8 @@ $(function () {
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should hide modal when hide is called', function () { test('should hide modal when hide is called', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test"/>') $('<div id="modal-test"/>')
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
...@@ -81,13 +81,13 @@ $(function () { ...@@ -81,13 +81,13 @@ $(function () {
}) })
.on('hidden.bs.modal', function () { .on('hidden.bs.modal', function () {
ok(!$('#modal-test').is(':visible'), 'modal hidden') ok(!$('#modal-test').is(':visible'), 'modal hidden')
start() done()
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should toggle when toggle is called', function () { test('should toggle when toggle is called', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test"/>') $('<div id="modal-test"/>')
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
...@@ -97,13 +97,13 @@ $(function () { ...@@ -97,13 +97,13 @@ $(function () {
}) })
.on('hidden.bs.modal', function () { .on('hidden.bs.modal', function () {
ok(!$('#modal-test').is(':visible'), 'modal hidden') ok(!$('#modal-test').is(':visible'), 'modal hidden')
start() done()
}) })
.bootstrapModal('toggle') .bootstrapModal('toggle')
}) })
test('should remove from dom when click [data-dismiss="modal"]', function () { test('should remove from dom when click [data-dismiss="modal"]', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test"><span class="close" data-dismiss="modal"/></div>') $('<div id="modal-test"><span class="close" data-dismiss="modal"/></div>')
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
...@@ -113,13 +113,13 @@ $(function () { ...@@ -113,13 +113,13 @@ $(function () {
}) })
.on('hidden.bs.modal', function () { .on('hidden.bs.modal', function () {
ok(!$('#modal-test').is(':visible'), 'modal hidden') ok(!$('#modal-test').is(':visible'), 'modal hidden')
start() done()
}) })
.bootstrapModal('toggle') .bootstrapModal('toggle')
}) })
test('should allow modal close with "backdrop:false"', function () { test('should allow modal close with "backdrop:false"', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test" data-backdrop="false"/>') $('<div id="modal-test" data-backdrop="false"/>')
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
...@@ -128,13 +128,13 @@ $(function () { ...@@ -128,13 +128,13 @@ $(function () {
}) })
.on('hidden.bs.modal', function () { .on('hidden.bs.modal', function () {
ok(!$('#modal-test').is(':visible'), 'modal hidden') ok(!$('#modal-test').is(':visible'), 'modal hidden')
start() done()
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should close modal when clicking outside of modal-content', function () { test('should close modal when clicking outside of modal-content', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test"><div class="contents"/></div>') $('<div id="modal-test"><div class="contents"/></div>')
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
...@@ -145,13 +145,13 @@ $(function () { ...@@ -145,13 +145,13 @@ $(function () {
}) })
.on('hidden.bs.modal', function () { .on('hidden.bs.modal', function () {
ok(!$('#modal-test').is(':visible'), 'modal hidden') ok(!$('#modal-test').is(':visible'), 'modal hidden')
start() done()
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should close modal when escape key is pressed via keydown', function () { test('should close modal when escape key is pressed via keydown', function (assert) {
stop() var done = assert.async()
var div = $('<div id="modal-test"/>') var div = $('<div id="modal-test"/>')
div div
...@@ -163,14 +163,14 @@ $(function () { ...@@ -163,14 +163,14 @@ $(function () {
setTimeout(function () { setTimeout(function () {
ok(!$('#modal-test').is(':visible'), 'modal hidden') ok(!$('#modal-test').is(':visible'), 'modal hidden')
div.remove() div.remove()
start() done()
}, 0) }, 0)
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should not close modal when escape key is pressed via keyup', function () { test('should not close modal when escape key is pressed via keyup', function (assert) {
stop() var done = assert.async()
var div = $('<div id="modal-test"/>') var div = $('<div id="modal-test"/>')
div div
...@@ -182,14 +182,14 @@ $(function () { ...@@ -182,14 +182,14 @@ $(function () {
setTimeout(function () { setTimeout(function () {
ok($('#modal-test').is(':visible'), 'modal still visible') ok($('#modal-test').is(':visible'), 'modal still visible')
div.remove() div.remove()
start() done()
}, 0) }, 0)
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should trigger hide event once when clicking outside of modal-content', function () { test('should trigger hide event once when clicking outside of modal-content', function (assert) {
stop() var done = assert.async()
var triggered var triggered
...@@ -201,31 +201,36 @@ $(function () { ...@@ -201,31 +201,36 @@ $(function () {
.on('hide.bs.modal', function () { .on('hide.bs.modal', function () {
triggered += 1 triggered += 1
strictEqual(triggered, 1, 'modal hide triggered once') strictEqual(triggered, 1, 'modal hide triggered once')
start() done()
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should close reopened modal with [data-dismiss="modal"] click', function () { test('should close reopened modal with [data-dismiss="modal"] click', function (assert) {
stop() var done = assert.async()
$('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>') $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>')
.on('shown.bs.modal', function () { .one('shown.bs.modal', function () {
$('#close').click() $('#close').click()
ok(!$('#modal-test').is(':visible'), 'modal hidden')
}) })
.one('hidden.bs.modal', function () { .one('hidden.bs.modal', function () {
// after one open-close cycle
ok(!$('#modal-test').is(':visible'), 'modal hidden')
$(this) $(this)
.one('shown.bs.modal', function () {
$('#close').click()
})
.one('hidden.bs.modal', function () { .one('hidden.bs.modal', function () {
start() ok(!$('#modal-test').is(':visible'), 'modal hidden')
done()
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
.bootstrapModal('show') .bootstrapModal('show')
}) })
test('should restore focus to toggling element when modal is hidden after having been opened via data-api', function () { test('should restore focus to toggling element when modal is hidden after having been opened via data-api', function (assert) {
stop() var done = assert.async()
var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture') var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture')
...@@ -233,7 +238,7 @@ $(function () { ...@@ -233,7 +238,7 @@ $(function () {
.on('hidden.bs.modal', function () { .on('hidden.bs.modal', function () {
setTimeout(function () { setTimeout(function () {
ok($(document.activeElement).is($toggleBtn), 'toggling element is once again focused') ok($(document.activeElement).is($toggleBtn), 'toggling element is once again focused')
start() done()
}, 0) }, 0)
}) })
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
...@@ -244,8 +249,8 @@ $(function () { ...@@ -244,8 +249,8 @@ $(function () {
$toggleBtn.click() $toggleBtn.click()
}) })
test('should not restore focus to toggling element if the associated show event gets prevented', function () { test('should not restore focus to toggling element if the associated show event gets prevented', function (assert) {
stop() var done = assert.async()
var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture') var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture')
var $otherBtn = $('<button id="other-btn"/>').appendTo('#qunit-fixture') var $otherBtn = $('<button id="other-btn"/>').appendTo('#qunit-fixture')
...@@ -260,7 +265,7 @@ $(function () { ...@@ -260,7 +265,7 @@ $(function () {
.on('hidden.bs.modal', function () { .on('hidden.bs.modal', function () {
setTimeout(function () { setTimeout(function () {
ok($(document.activeElement).is($otherBtn), 'focus returned to toggling element') ok($(document.activeElement).is($otherBtn), 'focus returned to toggling element')
start() done()
}, 0) }, 0)
}) })
.on('shown.bs.modal', function () { .on('shown.bs.modal', function () {
......
...@@ -188,7 +188,7 @@ $(function () { ...@@ -188,7 +188,7 @@ $(function () {
equal($('.popover').length, 0, 'popover was removed') 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 $content = $('<div class="content-with-handler"><a class="btn btn-warning">Button with event handler</a></div>').appendTo('#qunit-fixture')
var handlerCalled = false var handlerCalled = false
...@@ -207,7 +207,7 @@ $(function () { ...@@ -207,7 +207,7 @@ $(function () {
} }
}) })
stop() var done = assert.async()
$div $div
.one('shown.bs.popover', function () { .one('shown.bs.popover', function () {
$div $div
...@@ -217,7 +217,7 @@ $(function () { ...@@ -217,7 +217,7 @@ $(function () {
$('.content-with-handler .btn').click() $('.content-with-handler .btn').click()
$div.bootstrapPopover('destroy') $div.bootstrapPopover('destroy')
ok(handlerCalled, 'content\'s event handler still present') ok(handlerCalled, 'content\'s event handler still present')
start() done()
}) })
.bootstrapPopover('show') .bootstrapPopover('show')
}) })
......
...@@ -29,8 +29,8 @@ $(function () { ...@@ -29,8 +29,8 @@ $(function () {
strictEqual($scrollspy[0], $el[0], 'collection contains element') strictEqual($scrollspy[0], $el[0], 'collection contains element')
}) })
test('should only switch "active" class on current target', function () { test('should only switch "active" class on current target', function (assert) {
stop() var done = assert.async()
var sectionHTML = '<div id="root" class="active">' var sectionHTML = '<div id="root" class="active">'
+ '<div class="topbar">' + '<div class="topbar">'
...@@ -67,14 +67,14 @@ $(function () { ...@@ -67,14 +67,14 @@ $(function () {
$scrollspy.on('scroll.bs.scrollspy', function () { $scrollspy.on('scroll.bs.scrollspy', function () {
ok($section.hasClass('active'), '"active" class still on root node') ok($section.hasClass('active'), '"active" class still on root node')
start() done()
}) })
$scrollspy.scrollTop(350) $scrollspy.scrollTop(350)
}) })
test('should correctly select middle navigation option when large offset is used', function () { test('should correctly select middle navigation option when large offset is used', function (assert) {
stop() var done = assert.async()
var sectionHTML = '<div id="header" style="height: 500px;"></div>' var sectionHTML = '<div id="header" style="height: 500px;"></div>'
+ '<nav id="navigation" class="navbar">' + '<nav id="navigation" class="navbar">'
...@@ -100,13 +100,13 @@ $(function () { ...@@ -100,13 +100,13 @@ $(function () {
ok(!$section.find('#one-link').parent().hasClass('active'), '"active" class removed from first section') 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('#two-link').parent().hasClass('active'), '"active" class on middle section')
ok(!$section.find('#three-link').parent().hasClass('active'), '"active" class not on last section') ok(!$section.find('#three-link').parent().hasClass('active'), '"active" class not on last section')
start() done()
}) })
$scrollspy.scrollTop(550) $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 = var navbarHtml =
'<nav class="navbar">' '<nav class="navbar">'
+ '<ul class="nav">' + '<ul class="nav">'
...@@ -128,10 +128,10 @@ $(function () { ...@@ -128,10 +128,10 @@ $(function () {
var testElementIsActiveAfterScroll = function (element, target) { var testElementIsActiveAfterScroll = function (element, target) {
var deferred = $.Deferred() var deferred = $.Deferred()
var scrollHeight = Math.ceil($content.scrollTop() + $(target).position().top) var scrollHeight = Math.ceil($content.scrollTop() + $(target).position().top)
stop() var done = assert.async()
$content.one('scroll', function () { $content.one('scroll', function () {
ok($(element).hasClass('active'), 'target:' + target + ', element' + element) ok($(element).hasClass('active'), 'target:' + target + ', element' + element)
start() done()
deferred.resolve() deferred.resolve()
}) })
$content.scrollTop(scrollHeight) $content.scrollTop(scrollHeight)
...@@ -142,8 +142,8 @@ $(function () { ...@@ -142,8 +142,8 @@ $(function () {
.then(function () { return testElementIsActiveAfterScroll('#li-2', '#div-2') }) .then(function () { return testElementIsActiveAfterScroll('#li-2', '#div-2') })
}) })
test('should clear selection if above the first section', function () { test('should clear selection if above the first section', function (assert) {
stop() var done = assert.async()
var sectionHTML = '<div id="header" style="height: 500px;"></div>' var sectionHTML = '<div id="header" style="height: 500px;"></div>'
+ '<nav id="navigation" class="navbar">' + '<nav id="navigation" class="navbar">'
...@@ -176,7 +176,7 @@ $(function () { ...@@ -176,7 +176,7 @@ $(function () {
$scrollspy $scrollspy
.one('scroll.bs.scrollspy', function () { .one('scroll.bs.scrollspy', function () {
strictEqual($('.active').length, 0, 'selection cleared') strictEqual($('.active').length, 0, 'selection cleared')
start() done()
}) })
.scrollTop(0) .scrollTop(0)
}) })
......
...@@ -59,14 +59,14 @@ $(function () { ...@@ -59,14 +59,14 @@ $(function () {
equal($('#qunit-fixture').find('.active').attr('id'), 'home') equal($('#qunit-fixture').find('.active').attr('id'), 'home')
}) })
test('should not fire shown when show is prevented', function () { test('should not fire shown when show is prevented', function (assert) {
stop() var done = assert.async()
$('<div class="tab"/>') $('<div class="tab"/>')
.on('show.bs.tab', function (e) { .on('show.bs.tab', function (e) {
e.preventDefault() e.preventDefault()
ok(true, 'show event fired') ok(true, 'show event fired')
start() done()
}) })
.on('shown.bs.tab', function () { .on('shown.bs.tab', function () {
ok(false, 'shown event fired') ok(false, 'shown event fired')
...@@ -74,8 +74,8 @@ $(function () { ...@@ -74,8 +74,8 @@ $(function () {
.bootstrapTab('show') .bootstrapTab('show')
}) })
test('show and shown events should reference correct relatedTarget', function () { test('show and shown events should reference correct relatedTarget', function (assert) {
stop() var done = assert.async()
var dropHTML = '<ul class="drop">' var dropHTML = '<ul class="drop">'
+ '<li class="dropdown"><a data-toggle="dropdown" href="#">1</a>' + '<li class="dropdown"><a data-toggle="dropdown" href="#">1</a>'
...@@ -93,16 +93,16 @@ $(function () { ...@@ -93,16 +93,16 @@ $(function () {
.find('ul > li:last a') .find('ul > li:last a')
.on('show.bs.tab', function (e) { .on('show.bs.tab', function (e) {
equal(e.relatedTarget.hash, '#1-1', 'references correct element as relatedTarget') equal(e.relatedTarget.hash, '#1-1', 'references correct element as relatedTarget')
start()
}) })
.on('shown.bs.tab', function (e) { .on('shown.bs.tab', function (e) {
equal(e.relatedTarget.hash, '#1-1', 'references correct element as relatedTarget') equal(e.relatedTarget.hash, '#1-1', 'references correct element as relatedTarget')
done()
}) })
.bootstrapTab('show') .bootstrapTab('show')
}) })
test('should fire hide and hidden events', function () { test('should fire hide and hidden events', function (assert) {
stop() var done = assert.async()
var tabsHTML = '<ul class="tabs">' var tabsHTML = '<ul class="tabs">'
+ '<li><a href="#home">Home</a></li>' + '<li><a href="#home">Home</a></li>'
...@@ -123,7 +123,7 @@ $(function () { ...@@ -123,7 +123,7 @@ $(function () {
.find('li:first a') .find('li:first a')
.on('hidden.bs.tab', function () { .on('hidden.bs.tab', function () {
ok(true, 'hidden event fired') ok(true, 'hidden event fired')
start() done()
}) })
.bootstrapTab('show') .bootstrapTab('show')
.end() .end()
...@@ -131,8 +131,8 @@ $(function () { ...@@ -131,8 +131,8 @@ $(function () {
.bootstrapTab('show') .bootstrapTab('show')
}) })
test('should not fire hidden when hide is prevented', function () { test('should not fire hidden when hide is prevented', function (assert) {
stop() var done = assert.async()
var tabsHTML = '<ul class="tabs">' var tabsHTML = '<ul class="tabs">'
+ '<li><a href="#home">Home</a></li>' + '<li><a href="#home">Home</a></li>'
...@@ -144,7 +144,7 @@ $(function () { ...@@ -144,7 +144,7 @@ $(function () {
.on('hide.bs.tab', function (e) { .on('hide.bs.tab', function (e) {
e.preventDefault() e.preventDefault()
ok(true, 'hide event fired') ok(true, 'hide event fired')
start() done()
}) })
.on('hidden.bs.tab', function () { .on('hidden.bs.tab', function () {
ok(false, 'hidden event fired') ok(false, 'hidden event fired')
...@@ -155,8 +155,8 @@ $(function () { ...@@ -155,8 +155,8 @@ $(function () {
.bootstrapTab('show') .bootstrapTab('show')
}) })
test('hide and hidden events contain correct relatedTarget', function () { test('hide and hidden events contain correct relatedTarget', function (assert) {
stop() var done = assert.async()
var tabsHTML = '<ul class="tabs">' var tabsHTML = '<ul class="tabs">'
+ '<li><a href="#home">Home</a></li>' + '<li><a href="#home">Home</a></li>'
...@@ -170,7 +170,7 @@ $(function () { ...@@ -170,7 +170,7 @@ $(function () {
}) })
.on('hidden.bs.tab', function (e) { .on('hidden.bs.tab', function (e) {
equal(e.relatedTarget.hash, '#profile', 'references correct element as relatedTarget') equal(e.relatedTarget.hash, '#profile', 'references correct element as relatedTarget')
start() done()
}) })
.bootstrapTab('show') .bootstrapTab('show')
.end() .end()
......
This diff is collapsed.
/*! /*!
* QUnit 1.15.0 * QUnit 1.17.0
* http://qunitjs.com/ * http://qunitjs.com/
* *
* Copyright 2014 jQuery Foundation and other contributors * Copyright jQuery Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* http://jquery.org/license * http://jquery.org/license
* *
* Date: 2014-08-08T16:00Z * Date: 2015-01-19T11:58Z
*/ */
/** Font Family and Sizes */ /** Font Family and Sizes */
...@@ -77,6 +77,18 @@ ...@@ -77,6 +77,18 @@
#qunit-modulefilter-container { #qunit-modulefilter-container {
float: right; float: right;
padding: 0.2em;
}
.qunit-url-config {
display: inline-block;
padding: 0.1em;
}
.qunit-filter {
display: block;
float: right;
margin-left: 1em;
} }
/** Tests: Pass/Fail */ /** Tests: Pass/Fail */
...@@ -91,7 +103,19 @@ ...@@ -91,7 +103,19 @@
list-style-position: inside; list-style-position: inside;
} }
#qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running { #qunit-tests > li {
display: none;
}
#qunit-tests li.running,
#qunit-tests li.pass,
#qunit-tests li.fail,
#qunit-tests li.skipped {
display: list-item;
}
#qunit-tests.hidepass li.running,
#qunit-tests.hidepass li.pass {
display: none; display: none;
} }
...@@ -99,6 +123,10 @@ ...@@ -99,6 +123,10 @@
cursor: pointer; cursor: pointer;
} }
#qunit-tests li.skipped strong {
cursor: default;
}
#qunit-tests li a { #qunit-tests li a {
padding: 0.5em; padding: 0.5em;
color: #C2CCD1; color: #C2CCD1;
...@@ -211,6 +239,21 @@ ...@@ -211,6 +239,21 @@
#qunit-banner.qunit-fail { background-color: #EE5757; } #qunit-banner.qunit-fail { background-color: #EE5757; }
/*** Skipped tests */
#qunit-tests .skipped {
background-color: #EBECE9;
}
#qunit-tests .qunit-skipped-label {
background-color: #F4FF77;
display: inline-block;
font-style: normal;
color: #366097;
line-height: 1.8em;
padding: 0 0.5em;
margin: -0.4em 0.4em -0.4em 0;
}
/** Result */ /** Result */
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment