2
0
mirror of https://github.com/tenrok/bootstrap.git synced 2026-06-11 18:02:28 +03:00

fix(event-handler): remove the use of our event handler in unit test

This commit is contained in:
Johann-S
2018-06-07 22:21:31 +02:00
committed by XhmikosR
parent 2b78078779
commit 9313446274
9 changed files with 301 additions and 278 deletions
+49 -42
View File
@@ -73,7 +73,7 @@ $(function () {
assert.ok(!/height/i.test($el2.attr('style')), 'has height reset')
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should collapse only the first collapse', function (assert) {
@@ -167,7 +167,7 @@ $(function () {
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should add "collapsed" class to target when collapse is hidden', function (assert) {
@@ -183,7 +183,7 @@ $(function () {
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should remove "collapsed" class from all triggers targeting the collapse when the collapse is shown', function (assert) {
@@ -201,7 +201,7 @@ $(function () {
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should add "collapsed" class to all triggers targeting the collapse when the collapse is hidden', function (assert) {
@@ -219,7 +219,7 @@ $(function () {
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should not close a collapse when initialized with "show" option if already shown', function (assert) {
@@ -311,7 +311,7 @@ $(function () {
done()
})
EventHandler.trigger($target3[0], 'click')
$target3[0].dispatchEvent(new Event('click'))
})
QUnit.test('should allow dots in data-parent', function (assert) {
@@ -345,7 +345,7 @@ $(function () {
done()
})
EventHandler.trigger($target3[0], 'click')
$target3[0].dispatchEvent(new Event('click'))
})
QUnit.test('should set aria-expanded="true" on trigger/control when collapse is shown', function (assert) {
@@ -361,7 +361,7 @@ $(function () {
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should set aria-expanded="false" on trigger/control when collapse is hidden', function (assert) {
@@ -377,7 +377,7 @@ $(function () {
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should set aria-expanded="true" on all triggers targeting the collapse when the collapse is shown', function (assert) {
@@ -395,7 +395,7 @@ $(function () {
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should set aria-expanded="false" on all triggers targeting the collapse when the collapse is hidden', function (assert) {
@@ -413,7 +413,7 @@ $(function () {
done()
})
EventHandler.trigger($target[0], 'click')
$target[0].dispatchEvent(new Event('click'))
})
QUnit.test('should change aria-expanded from active accordion trigger/control to "false" and set the trigger/control for the newly active one to "true"', function (assert) {
@@ -447,7 +447,7 @@ $(function () {
done()
})
EventHandler.trigger($target3[0], 'click')
$target3[0].dispatchEvent(new Event('click'))
})
QUnit.test('should not fire show event if show is prevented because other element is still transitioning', function (assert) {
@@ -472,12 +472,12 @@ $(function () {
var $target2 = $('<a role="button" data-toggle="collapse" href="#body2"/>').appendTo($groups.eq(1))
var $body2 = $('<div id="body2" class="collapse" data-parent="#accordion"/>').appendTo($groups.eq(1))
EventHandler.trigger($target2[0], 'click')
$target2[0].dispatchEvent(new Event('click'))
$body2.toggleClass('show collapsing')
Collapse._getInstance($body2[0])._isTransitioning = true
EventHandler.trigger($target1[0], 'click')
$target1[0].dispatchEvent(new Event('click'))
setTimeout(function () {
assert.ok(!showFired, 'show event did not fire')
@@ -542,9 +542,9 @@ $(function () {
assert.ok($collapseTwo.hasClass('show'), '#collapseTwo is shown')
done()
})
EventHandler.trigger($triggerTwo[0], 'click')
$triggerTwo[0].dispatchEvent(new Event('click'))
})
EventHandler.trigger($trigger[0], 'click')
$trigger[0].dispatchEvent(new Event('click'))
})
QUnit.test('should allow accordion to contain nested elements', function (assert) {
@@ -582,9 +582,9 @@ $(function () {
assert.ok($collapseTwo.hasClass('show'), '#collapseTwo is shown')
done()
})
EventHandler.trigger($triggerTwo[0], 'click')
$triggerTwo[0].dispatchEvent(new Event('click'))
})
EventHandler.trigger($trigger[0], 'click')
$trigger[0].dispatchEvent(new Event('click'))
})
QUnit.test('should allow accordion to target multiple elements', function (assert) {
@@ -616,7 +616,7 @@ $(function () {
assert.ok($collapseOneTwo.hasClass('show'), '#collapseOneTwo is shown')
assert.ok(!$collapseTwoOne.hasClass('show'), '#collapseTwoOne is not shown')
assert.ok(!$collapseTwoTwo.hasClass('show'), '#collapseTwoTwo is not shown')
EventHandler.trigger($triggerTwo[0], 'click')
$triggerTwo[0].dispatchEvent(new Event('click'))
}
function secondTest() {
@@ -659,7 +659,7 @@ $(function () {
}
})
EventHandler.trigger($trigger[0], 'click')
$trigger[0].dispatchEvent(new Event('click'))
})
QUnit.test('should collapse accordion children but not nested accordion children', function (assert) {
@@ -690,26 +690,33 @@ $(function () {
var $collapseTwo = $('#collapseTwo')
var $nestedCollapseOne = $('#nestedCollapseOne')
EventHandler.one($collapseOne[0], 'shown.bs.collapse', function () {
function handlerCollapseOne() {
assert.ok($collapseOne.hasClass('show'), '#collapseOne is shown')
assert.ok(!$collapseTwo.hasClass('show'), '#collapseTwo is not shown')
assert.ok(!$('#nestedCollapseOne').hasClass('show'), '#nestedCollapseOne is not shown')
EventHandler.one($nestedCollapseOne[0], 'shown.bs.collapse', function () {
assert.ok($collapseOne.hasClass('show'), '#collapseOne is shown')
assert.ok(!$collapseTwo.hasClass('show'), '#collapseTwo is not shown')
$nestedCollapseOne[0].addEventListener('shown.bs.collapse', handlerNestedCollapseOne)
$nestedTrigger[0].dispatchEvent(new Event('click'))
$collapseOne[0].removeEventListener('shown.bs.collapse', handlerCollapseOne)
}
function handlerNestedCollapseOne() {
assert.ok($collapseOne.hasClass('show'), '#collapseOne is shown')
assert.ok(!$collapseTwo.hasClass('show'), '#collapseTwo is not shown')
assert.ok($nestedCollapseOne.hasClass('show'), '#nestedCollapseOne is shown')
$collapseTwo[0].addEventListener('shown.bs.collapse', function () {
assert.ok(!$collapseOne.hasClass('show'), '#collapseOne is not shown')
assert.ok($collapseTwo.hasClass('show'), '#collapseTwo is shown')
assert.ok($nestedCollapseOne.hasClass('show'), '#nestedCollapseOne is shown')
EventHandler.one($collapseTwo[0], 'shown.bs.collapse', function () {
assert.ok(!$collapseOne.hasClass('show'), '#collapseOne is not shown')
assert.ok($collapseTwo.hasClass('show'), '#collapseTwo is shown')
assert.ok($nestedCollapseOne.hasClass('show'), '#nestedCollapseOne is shown')
done()
})
EventHandler.trigger($triggerTwo[0], 'click')
done()
})
EventHandler.trigger($nestedTrigger[0], 'click')
})
EventHandler.trigger($trigger[0], 'click')
$triggerTwo[0].dispatchEvent(new Event('click'))
$nestedCollapseOne[0].removeEventListener('shown.bs.collapse', handlerNestedCollapseOne)
}
$collapseOne[0].addEventListener('shown.bs.collapse', handlerCollapseOne)
$trigger[0].dispatchEvent(new Event('click'))
})
QUnit.test('should not prevent event for input', function (assert) {
@@ -718,7 +725,7 @@ $(function () {
var $target = $('<input type="checkbox" data-toggle="collapse" data-target="#collapsediv1" />').appendTo('#qunit-fixture')
var $collapse = $('<div id="collapsediv1"/>').appendTo('#qunit-fixture')
EventHandler.one($collapse[0], 'shown.bs.collapse', function () {
$collapse[0].addEventListener('shown.bs.collapse', function () {
assert.ok($collapse.hasClass('show'))
assert.ok($target.attr('aria-expanded') === 'true')
assert.ok($target.prop('checked'))
@@ -753,11 +760,11 @@ $(function () {
assert.ok($trigger3.hasClass('collapsed'), 'trigger3 has collapsed class')
done()
})
EventHandler.trigger($trigger1[0], 'click')
$trigger1[0].dispatchEvent(new Event('click'))
})
EventHandler.trigger($trigger2[0], 'click')
$trigger2[0].dispatchEvent(new Event('click'))
})
EventHandler.trigger($trigger3[0], 'click')
$trigger3[0].dispatchEvent(new Event('click'))
})
QUnit.test('should set aria-expanded="true" to triggers targeting shown collaspe and aria-expanded="false" only when all the targeted collapses are shown', function (assert) {
@@ -785,11 +792,11 @@ $(function () {
assert.strictEqual($trigger3.attr('aria-expanded'), 'false', 'aria-expanded on trigger3 is "false"')
done()
})
EventHandler.trigger($trigger1[0], 'click')
$trigger1[0].dispatchEvent(new Event('click'))
})
EventHandler.trigger($trigger2[0], 'click')
$trigger2[0].dispatchEvent(new Event('click'))
})
EventHandler.trigger($trigger3[0], 'click')
$trigger3[0].dispatchEvent(new Event('click'))
})
QUnit.test('should not prevent interactions inside the collapse element', function (assert) {
@@ -803,7 +810,7 @@ $(function () {
'</div>'
var $collapse = $(htmlCollapse).appendTo('#qunit-fixture')
EventHandler.one($collapse[0], 'shown.bs.collapse', function () {
$collapse[0].addEventListener('shown.bs.collapse', function () {
assert.ok($target.prop('checked'), '$trigger is checked')
var $testCheckbox = $('#testCheckbox')
$testCheckbox.trigger($.Event('click'))