Port new unit test for dropdown from v4 (#28913)

Add unit test from #28912 to v5
This commit is contained in:
Patrick H. Lauke 2019-06-25 12:57:41 +01:00 committed by XhmikosR
parent ad62301a5b
commit f2c63ac729
1 changed files with 25 additions and 0 deletions

View File

@ -71,6 +71,31 @@ $(function () {
$dropdown.trigger($.Event('click'))
})
QUnit.test('should not open dropdown if escape key was pressed on the toggle', function (assert) {
assert.expect(1)
var done = assert.async()
var dropdownHTML = '<div class="tabs">' +
'<div class="dropdown">' +
'<button disabled href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button>' +
'<div class="dropdown-menu">' +
'<a class="dropdown-item" href="#">Secondary link</a>' +
'<a class="dropdown-item" href="#">Something else here</a>' +
'<div class="divider"/>' +
'<a class="dropdown-item" href="#">Another link</a>' +
'</div>' +
'</div>' +
'</div>'
$(dropdownHTML).appendTo('#qunit-fixture')
var $dropdown = $('#qunit-fixture').find('[data-toggle="dropdown"]').bootstrapDropdown()
var $button = $('button[data-toggle="dropdown"]')
// Key escape
$button.trigger('focus').trigger($.Event('keydown', {
which: 27
}))
assert.ok(!$dropdown.parent('.dropdown').hasClass('show'), 'dropdown menu is not shown after escape pressed')
done()
})
QUnit.test('should not add class position-static to dropdown if boundary not set', function (assert) {
assert.expect(1)
var done = assert.async()