mirror of
https://github.com/twbs/bootstrap.git
synced 2024-11-28 10:24:19 +01:00
Add test to make sure we enforce focus on modal (#27723)
This commit is contained in:
parent
72bd3f5930
commit
32ab52ba2e
@ -735,4 +735,45 @@ $(function () {
|
||||
done()
|
||||
}).bootstrapModal('show')
|
||||
})
|
||||
|
||||
QUnit.test('should enforce focus', function (assert) {
|
||||
assert.expect(4)
|
||||
var done = assert.async()
|
||||
|
||||
var $modal = $([
|
||||
'<div id="modal-test" data-show="false">',
|
||||
' <div class="modal-dialog">',
|
||||
' <div class="modal-content">',
|
||||
' <div class="modal-body" />',
|
||||
' </div>',
|
||||
' </div>',
|
||||
'</div>'
|
||||
].join(''))
|
||||
.bootstrapModal()
|
||||
.appendTo('#qunit-fixture')
|
||||
|
||||
var modal = $modal.data('bs.modal')
|
||||
var spy = sinon.spy(modal, '_enforceFocus')
|
||||
var spyDocOff = sinon.spy($(document), 'off')
|
||||
var spyDocOn = sinon.spy($(document), 'on')
|
||||
|
||||
$modal.one('shown.bs.modal', function () {
|
||||
assert.ok(spy.called, '_enforceFocus called')
|
||||
assert.ok(spyDocOff.withArgs('focusin.bs.modal'))
|
||||
assert.ok(spyDocOn.withArgs('focusin.bs.modal'))
|
||||
|
||||
var spyFocus = sinon.spy(modal._element, 'focus')
|
||||
var event = $.Event('focusin', {
|
||||
target: $('#qunit-fixture')[0]
|
||||
})
|
||||
|
||||
$(document).one('focusin', function () {
|
||||
assert.ok(spyFocus.called)
|
||||
done()
|
||||
})
|
||||
|
||||
$(document).trigger(event)
|
||||
})
|
||||
.bootstrapModal('show')
|
||||
})
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user