0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-01-29 21:52:22 +01:00

fix up tests

This commit is contained in:
fat 2015-05-13 13:46:08 -07:00
parent b0d142334f
commit c2ced2292a

View File

@ -112,7 +112,7 @@ $(function () {
var $scrollspy = $section var $scrollspy = $section
.show() .show()
.find('#scrollspy-example') .find('#scrollspy-example')
.bootstrapScrollspy({ target: $('#ss-target') }) .bootstrapScrollspy({ target: document.getElementById('#ss-target') })
$scrollspy.on('scroll.bs.scrollspy', function () { $scrollspy.on('scroll.bs.scrollspy', function () {
assert.ok($section.hasClass('active'), '"active" class still on root node') assert.ok($section.hasClass('active'), '"active" class still on root node')
@ -321,89 +321,89 @@ $(function () {
}) })
QUnit.test('should allow passed in option offset method: offset', function (assert) { QUnit.test('should allow passed in option offset method: offset', function (assert) {
assert.expect(4) assert.expect(4)
var testOffsetMethod = function (type) { var testOffsetMethod = function (type) {
var deferred = $.Deferred() var deferred = $.Deferred()
var navbarHtml = var navbarHtml =
'<nav class="navbar"' + (type === 'data' ? ' id="navbar-offset-method-menu"' : '') + '>' '<nav class="navbar"' + (type === 'data' ? ' id="navbar-offset-method-menu"' : '') + '>'
+ '<ul class="nav">' + '<ul class="nav">'
+ '<li id="li-' + type + 'm-1"><a href="#div-' + type + 'm-1">div 1</a></li>' + '<li id="li-' + type + 'm-1"><a href="#div-' + type + 'm-1">div 1</a></li>'
+ '<li id="li-' + type + 'm-2"><a href="#div-' + type + 'm-2">div 2</a></li>' + '<li id="li-' + type + 'm-2"><a href="#div-' + type + 'm-2">div 2</a></li>'
+ '<li id="li-' + type + 'm-3"><a href="#div-' + type + 'm-3">div 3</a></li>' + '<li id="li-' + type + 'm-3"><a href="#div-' + type + 'm-3">div 3</a></li>'
+ '</ul>' + '</ul>'
+ '</nav>' + '</nav>'
var contentHtml = var contentHtml =
'<div class="content"' + (type === 'data' ? ' data-spy="scroll" data-target="#navbar-offset-method-menu" data-offset="0" data-method="offset"' : '') + ' style="position: relative; overflow: auto; height: 100px">' '<div class="content"' + (type === 'data' ? ' data-spy="scroll" data-target="#navbar-offset-method-menu" data-offset="0" data-method="offset"' : '') + ' style="position: relative; overflow: auto; height: 100px">'
+ '<div id="div-' + type + 'm-1" style="position: relative; height: 200px; padding: 0; margin: 0">div 1</div>' + '<div id="div-' + type + 'm-1" style="position: relative; height: 200px; padding: 0; margin: 0">div 1</div>'
+ '<div id="div-' + type + 'm-2" style="position: relative; height: 150px; padding: 0; margin: 0">div 2</div>' + '<div id="div-' + type + 'm-2" style="position: relative; height: 150px; padding: 0; margin: 0">div 2</div>'
+ '<div id="div-' + type + 'm-3" style="position: relative; height: 250px; padding: 0; margin: 0">div 3</div>' + '<div id="div-' + type + 'm-3" style="position: relative; height: 250px; padding: 0; margin: 0">div 3</div>'
+ '</div>' + '</div>'
$(navbarHtml).appendTo('#qunit-fixture') $(navbarHtml).appendTo('#qunit-fixture')
var $content = $(contentHtml) var $content = $(contentHtml)
.appendTo('#qunit-fixture') .appendTo('#qunit-fixture')
if (type === 'js') $content.bootstrapScrollspy({ target: '.navbar', offset: 0, method: 'offset' }) if (type === 'js') $content.bootstrapScrollspy({ target: '.navbar', offset: 0, method: 'offset' })
else if (type === 'data') $(window).trigger('load.bs.scrollspy.data-api') else if (type === 'data') $(window).trigger('load.bs.scrollspy.data-api')
var $target = $('#div-' + type + 'm-2') var $target = $('#div-' + type + 'm-2')
var scrollspy = $content.data('bs.scrollspy') var scrollspy = $content.data('bs.scrollspy')
assert.ok(scrollspy._offsets[1] === $target.offset().top, 'offsed method with ' + type + ' option') assert.ok(scrollspy._offsets[1] === $target.offset().top, 'offsed method with ' + type + ' option')
assert.ok(scrollspy._offsets[1] !== $target.position().top, 'position method with ' + type + ' option') assert.ok(scrollspy._offsets[1] !== $target.position().top, 'position method with ' + type + ' option')
deferred.resolve() deferred.resolve()
return deferred.promise() return deferred.promise()
} }
$.when(testOffsetMethod('js')) $.when(testOffsetMethod('js'))
.then(function () { testOffsetMethod('data') }) .then(function () { testOffsetMethod('data') })
}) })
QUnit.test('should allow passed in option offset method: position', function (assert) { QUnit.test('should allow passed in option offset method: position', function (assert) {
assert.expect(4) assert.expect(4)
var testOffsetMethod = function (type) { var testOffsetMethod = function (type) {
var deferred = $.Deferred() var deferred = $.Deferred()
var navbarHtml = var navbarHtml =
'<nav class="navbar"' + (type === 'data' ? ' id="navbar-offset-method-menu"' : '') + '>' '<nav class="navbar"' + (type === 'data' ? ' id="navbar-offset-method-menu"' : '') + '>'
+ '<ul class="nav">' + '<ul class="nav">'
+ '<li id="li-' + type + 'm-1"><a href="#div-' + type + 'm-1">div 1</a></li>' + '<li id="li-' + type + 'm-1"><a href="#div-' + type + 'm-1">div 1</a></li>'
+ '<li id="li-' + type + 'm-2"><a href="#div-' + type + 'm-2">div 2</a></li>' + '<li id="li-' + type + 'm-2"><a href="#div-' + type + 'm-2">div 2</a></li>'
+ '<li id="li-' + type + 'm-3"><a href="#div-' + type + 'm-3">div 3</a></li>' + '<li id="li-' + type + 'm-3"><a href="#div-' + type + 'm-3">div 3</a></li>'
+ '</ul>' + '</ul>'
+ '</nav>' + '</nav>'
var contentHtml = var contentHtml =
'<div class="content"' + (type === 'data' ? ' data-spy="scroll" data-target="#navbar-offset-method-menu" data-offset="0" data-method="position"' : '') + ' style="position: relative; overflow: auto; height: 100px">' '<div class="content"' + (type === 'data' ? ' data-spy="scroll" data-target="#navbar-offset-method-menu" data-offset="0" data-method="position"' : '') + ' style="position: relative; overflow: auto; height: 100px">'
+ '<div id="div-' + type + 'm-1" style="position: relative; height: 200px; padding: 0; margin: 0">div 1</div>' + '<div id="div-' + type + 'm-1" style="position: relative; height: 200px; padding: 0; margin: 0">div 1</div>'
+ '<div id="div-' + type + 'm-2" style="position: relative; height: 150px; padding: 0; margin: 0">div 2</div>' + '<div id="div-' + type + 'm-2" style="position: relative; height: 150px; padding: 0; margin: 0">div 2</div>'
+ '<div id="div-' + type + 'm-3" style="position: relative; height: 250px; padding: 0; margin: 0">div 3</div>' + '<div id="div-' + type + 'm-3" style="position: relative; height: 250px; padding: 0; margin: 0">div 3</div>'
+ '</div>' + '</div>'
$(navbarHtml).appendTo('#qunit-fixture') $(navbarHtml).appendTo('#qunit-fixture')
var $content = $(contentHtml) var $content = $(contentHtml)
.appendTo('#qunit-fixture') .appendTo('#qunit-fixture')
if (type === 'js') $content.bootstrapScrollspy({ target: '.navbar', offset: 0, method: 'position' }) if (type === 'js') $content.bootstrapScrollspy({ target: '.navbar', offset: 0, method: 'position' })
else if (type === 'data') $(window).trigger('load.bs.scrollspy.data-api') else if (type === 'data') $(window).trigger('load.bs.scrollspy.data-api')
var $target = $('#div-' + type + 'm-2') var $target = $('#div-' + type + 'm-2')
var scrollspy = $content.data('bs.scrollspy') var scrollspy = $content.data('bs.scrollspy')
assert.ok(scrollspy._offsets[1] !== $target.offset().top, 'offsed method with ' + type + ' option') assert.ok(scrollspy._offsets[1] !== $target.offset().top, 'offsed method with ' + type + ' option')
assert.ok(scrollspy._offsets[1] === $target.position().top, 'position method with ' + type + ' option') assert.ok(scrollspy._offsets[1] === $target.position().top, 'position method with ' + type + ' option')
deferred.resolve() deferred.resolve()
return deferred.promise() return deferred.promise()
} }
$.when(testOffsetMethod('js')) $.when(testOffsetMethod('js'))
.then(function () { testOffsetMethod('data') }) .then(function () { testOffsetMethod('data') })
}) })
}) })