QUnit.test('should throw explicit error on undefined method', function (assert) {
assert.expect(1)
- var $el = $('<div id="modal-test"/>')
+ var $el = $('<div id="modal-test"><div class="modal-dialog" /></div>')
$el.bootstrapModal()
try {
$el.bootstrapModal('noMethod')
QUnit.test('should return jquery collection containing the element', function (assert) {
assert.expect(2)
- var $el = $('<div id="modal-test"/>')
+ var $el = $('<div id="modal-test"><div class="modal-dialog" /></div>')
var $modal = $el.bootstrapModal()
assert.ok($modal instanceof $, 'returns jquery collection')
assert.strictEqual($modal[0], $el[0], 'collection contains element')
assert.expect(1)
var done = assert.async()
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('shown.bs.modal', function () {
assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
done()
assert.expect(1)
var done = assert.async()
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('show.bs.modal', function () {
assert.ok(true, 'show event fired')
done()
assert.expect(1)
var done = assert.async()
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('show.bs.modal', function (e) {
e.preventDefault()
assert.ok(true, 'show event fired')
assert.expect(3)
var done = assert.async()
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('shown.bs.modal', function () {
assert.ok($('#modal-test').is(':visible'), 'modal visible')
assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
assert.expect(3)
var done = assert.async()
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('shown.bs.modal', function () {
assert.ok($('#modal-test').is(':visible'), 'modal visible')
assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
QUnit.test('should remove from dom when click [data-dismiss="modal"]', function (assert) {
assert.expect(3)
var done = assert.async()
-
- $('<div id="modal-test"><span class="close" data-dismiss="modal"/></div>')
+ $('<div id="modal-test"><div class="modal-dialog" /><span class="close" data-dismiss="modal"/></div>')
.on('shown.bs.modal', function () {
assert.ok($('#modal-test').is(':visible'), 'modal visible')
assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
assert.expect(2)
var done = assert.async()
- $('<div id="modal-test" data-backdrop="false"/>')
+ $('<div id="modal-test" data-backdrop="false"><div class="modal-dialog" /></div>')
.on('shown.bs.modal', function () {
assert.ok($('#modal-test').is(':visible'), 'modal visible')
$(this).bootstrapModal('hide')
assert.expect(3)
var done = assert.async()
- $('<div id="modal-test"><div class="contents"/></div>')
+ $('<div id="modal-test"><div class="modal-dialog" /><div class="contents"/></div>')
.on('shown.bs.modal', function () {
assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
$('.contents').trigger('click')
assert.expect(1)
var done = assert.async()
- $('<div id="modal-test" data-backdrop="false"><div class="contents"/></div>')
+ $('<div id="modal-test" data-backdrop="false"><div class="modal-dialog" /><div class="contents"/></div>')
.on('shown.bs.modal', function () {
$('#modal-test').trigger('click')
assert.ok($('#modal-test').is(':visible'), 'modal not hidden')
assert.expect(3)
var done = assert.async()
- var $div = $('<div id="modal-test"/>')
+ var $div = $('<div id="modal-test"><div class="modal-dialog" /></div>')
$div
.on('shown.bs.modal', function () {
assert.ok($('#modal-test').length, 'modal inserted into dom')
assert.expect(3)
var done = assert.async()
- var $div = $('<div id="modal-test"/>')
+ var $div = $('<div id="modal-test"><div class="modal-dialog" /></div>')
$div
.on('shown.bs.modal', function () {
assert.ok($('#modal-test').length, 'modal inserted into dom')
var triggered
- $('<div id="modal-test"><div class="contents"/></div>')
+ $('<div id="modal-test"><div class="modal-dialog" /><div class="contents"/></div>')
.on('shown.bs.modal', function () {
triggered = 0
$('#modal-test').trigger('click')
assert.expect(3)
var done = assert.async()
- $('<div id="modal-test" aria-hidden="true"/>')
+ $('<div id="modal-test" aria-hidden="true"><div class="modal-dialog" /></div>')
.on('shown.bs.modal', function () {
assert.notOk($('#modal-test').is('[aria-hidden]'), 'aria-hidden attribute removed')
$(this).bootstrapModal('hide')
assert.expect(3)
var done = assert.async()
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('shown.bs.modal', function () {
assert.ok($('#modal-test').is('[aria-modal]'), 'aria-modal attribute added')
assert.strictEqual($('#modal-test').attr('aria-modal'), 'true', 'correct aria-modal="true" added')
QUnit.test('should close reopened modal with [data-dismiss="modal"] click', function (assert) {
assert.expect(2)
var done = assert.async()
+ var html = [
+ '<div id="modal-test">',
+ ' <div class="modal-dialog">',
+ ' <div class="contents"><div id="close" data-dismiss="modal"/></div>',
+ ' </div>',
+ '</div>'
+ ].join('')
- $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>')
+ $(html)
.one('shown.bs.modal', function () {
$('#close').trigger('click')
})
QUnit.test('should restore focus to toggling element when modal is hidden after having been opened via data-api', function (assert) {
assert.expect(1)
var done = assert.async()
-
var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture')
+ var html = [
+ '<div id="modal-test">',
+ ' <div class="modal-dialog">',
+ ' <div class="contents"><div id="close" data-dismiss="modal"/></div>',
+ ' </div>',
+ '</div>'
+ ].join('')
- $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>')
+ $(html)
.on('hidden.bs.modal', function () {
setTimeout(function () {
assert.ok($(document.activeElement).is($toggleBtn), 'toggling element is once again focused')
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')
+ var html = [
+ '<div id="modal-test">',
+ ' <div class="modal-dialog">',
+ ' <div class="contents"><div id="close" data-dismiss="modal"/></div>',
+ ' </div>',
+ '</div>'
+ ].join('')
- $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div>')
+ $(html)
.one('show.bs.modal', function (e) {
e.preventDefault()
$otherBtn.trigger('focus')
assert.expect(1)
var done = assert.async()
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('shown.bs.modal', function () {
- var expectedPadding = $(this).getScrollbarWidth() + 'px'
- var currentPadding = $(this).css('padding-right')
+ var expectedPadding = parseInt($(this).getScrollbarWidth(), 10)
+ var currentPadding = parseInt($(this).css('padding-right'), 10)
assert.strictEqual(currentPadding, expectedPadding, 'modal padding should be adjusted while opening')
done()
})
assert.expect(2)
var done = assert.async()
var $body = $(document.body)
- var originalPadding = $body.css('padding-right')
+ var originalPadding = parseInt($body.css('padding-right'), 10)
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
- var currentPadding = $body.css('padding-right')
+ var currentPadding = parseInt($body.css('padding-right'), 10)
assert.strictEqual(currentPadding, originalPadding, 'body padding should be reset after closing')
$body.removeAttr('style')
done()
})
.on('shown.bs.modal', function () {
- var expectedPadding = parseFloat(originalPadding) + $(this).getScrollbarWidth() + 'px'
- var currentPadding = $body.css('padding-right')
+ var expectedPadding = parseInt(originalPadding, 10) + parseInt($(this).getScrollbarWidth(), 10)
+ var currentPadding = parseInt($body.css('padding-right'), 10)
assert.strictEqual(currentPadding, expectedPadding, 'body padding should be adjusted while opening')
$(this).bootstrapModal('hide')
})
var originalPadding = '0px'
$body.css('padding-right', originalPadding)
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
assert.strictEqual(document.body.getAttribute('data-padding-right'), null, 'data-padding-right should be cleared after closing')
$body.removeAttr('style')
$body.css('overflow', 'hidden') // Real scrollbar (for in-browser testing)
$('html').css('padding-right', '0px') // Simulated scrollbar (for PhantomJS)
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('shown.bs.modal', function () {
var currentPadding = $body.css('padding-right')
assert.strictEqual(currentPadding, originalPadding, 'body padding should not be adjusted')
assert.expect(2)
var done = assert.async()
var $element = $('<div class="fixed-top"></div>').appendTo('#qunit-fixture')
- var originalPadding = $element.css('padding-right')
+ var originalPadding = parseInt($element.css('padding-right'), 10)
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
- var currentPadding = $element.css('padding-right')
+ var currentPadding = parseInt($element.css('padding-right'), 10)
assert.strictEqual(currentPadding, originalPadding, 'fixed element padding should be reset after closing')
$element.remove()
done()
})
.on('shown.bs.modal', function () {
- var expectedPadding = parseFloat(originalPadding) + $(this).getScrollbarWidth() + 'px'
- var currentPadding = $element.css('padding-right')
+ var expectedPadding = parseFloat(originalPadding) + parseInt($(this).getScrollbarWidth(), 10)
+ var currentPadding = parseInt($element.css('padding-right'), 10)
assert.strictEqual(currentPadding, expectedPadding, 'fixed element padding should be adjusted while opening')
$(this).bootstrapModal('hide')
})
var originalPadding = '0px'
$element.css('padding-right', originalPadding)
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
assert.strictEqual($element[0].getAttribute('data-padding-right'), null, 'data-padding-right should be cleared after closing')
$element.remove()
assert.expect(2)
var done = assert.async()
var $element = $('<div class="sticky-top"></div>').appendTo('#qunit-fixture')
- var originalPadding = $element.css('margin-right')
+ var originalPadding = parseInt($element.css('margin-right'), 10)
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
- var currentPadding = $element.css('margin-right')
+ var currentPadding = parseInt($element.css('margin-right'), 10)
assert.strictEqual(currentPadding, originalPadding, 'sticky element margin should be reset after closing')
$element.remove()
done()
})
.on('shown.bs.modal', function () {
- var expectedPadding = parseFloat(originalPadding) - $(this).getScrollbarWidth() + 'px'
- var currentPadding = $element.css('margin-right')
+ var expectedPadding = parseFloat(originalPadding) - $(this).getScrollbarWidth()
+ var currentPadding = parseInt($element.css('margin-right'), 10)
assert.strictEqual(currentPadding, expectedPadding, 'sticky element margin should be adjusted while opening')
$(this).bootstrapModal('hide')
})
var originalPadding = '0px'
$element.css('margin-right', originalPadding)
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
assert.strictEqual($element[0].getAttribute('data-margin-right'), null, 'data-margin-right should be cleared after closing')
$element.remove()
var $body = $(document.body)
var $style = $('<style>body { padding-right: 42px; }</style>').appendTo('head')
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
assert.strictEqual($body.css('padding-left'), '0px', 'body does not have inline padding set')
$style.remove()
$body.css('color', 'red')
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
assert.strictEqual($body[0].style.paddingRight, '', 'body does not have inline padding set')
assert.strictEqual($body[0].style.color, 'red', 'body still has other inline styles set')
$body.css('padding-right', '5%')
- $('<div id="modal-test"/>')
+ $('<div id="modal-test"><div class="modal-dialog" /></div>')
.on('hidden.bs.modal', function () {
assert.strictEqual($body[0].style.paddingRight, '5%', 'body does not have inline padding set')
$body.removeAttr('style')
$('<map><area id="test" shape="default" data-toggle="modal" data-target="#modal-test" href="demo.html"/></map>')
.appendTo('#qunit-fixture')
- $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>')
+ var modalHtml = [
+ '<div id="modal-test">',
+ ' <div class="modal-dialog">',
+ ' <div class="contents"><div id="close" data-dismiss="modal"/></div>',
+ ' </div>',
+ '</div>'
+ ].join('')
+
+ $(modalHtml)
.appendTo('#qunit-fixture')
// We need to use CustomEvent here to have a working preventDefault in IE tests.
var done = assert.async()
var count = 0
- $('<div id="modal-test"/>').on('shown.bs.modal', function () {
+ $('<div id="modal-test"><div class="modal-dialog" /></div>').on('shown.bs.modal', function () {
count++
}).on('hidden.bs.modal', function () {
assert.strictEqual(count, 1, 'show() runs only once')