Skip to content

Commit 291d42e

Browse files
committed
Add test for shiftKey label range
1 parent 921ac45 commit 291d42e

1 file changed

Lines changed: 22 additions & 5 deletions

File tree

test/test.js

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,25 @@ describe('check-all', function () {
4141
})
4242

4343
it('checks range', function () {
44+
const checkAll = document.querySelector('[data-check-all]')
45+
const count = document.querySelector('[data-check-all-count]')
46+
const checkboxes = document.querySelectorAll('[data-check-all-item]')
47+
checkboxes[1].dispatchEvent(new MouseEvent('click'))
48+
assert.equal(count.textContent, '1')
49+
assert.equal(document.querySelectorAll('[data-check-all-item]:checked').length, 1)
50+
assert(checkAll.indeterminate)
51+
52+
checkboxes[3].dispatchEvent(new MouseEvent('mousedown', {shiftKey: true, bubbles: true}))
53+
checkboxes[3].dispatchEvent(new MouseEvent('click', {shiftKey: true, bubbles: true}))
54+
assert.equal(count.textContent, '3')
55+
assert.notOk(checkboxes[0].checked)
56+
assert(checkboxes[1].checked)
57+
assert(checkboxes[2].checked)
58+
assert(checkboxes[3].checked)
59+
assert(checkAll.indeterminate)
60+
})
61+
62+
it('checks range with label click', function () {
4463
const checkAll = document.querySelector('[data-check-all]')
4564
const count = document.querySelector('[data-check-all-count]')
4665
const checkboxes = document.querySelectorAll('[data-check-all-item]')
@@ -49,11 +68,9 @@ describe('check-all', function () {
4968
assert.equal(document.querySelectorAll('[data-check-all-item]:checked').length, 1)
5069
assert(checkAll.indeterminate)
5170

52-
const event = document.createEvent('Events')
53-
event.initEvent('mousedown', true, true)
54-
event.shiftKey = true
55-
checkboxes[3].dispatchEvent(event)
56-
checkboxes[3].click()
71+
const label = checkboxes[3].closest('label')
72+
label.dispatchEvent(new MouseEvent('mousedown', {shiftKey: true, bubbles: true}))
73+
label.dispatchEvent(new MouseEvent('click', {shiftKey: true, bubbles: true}))
5774
assert.equal(count.textContent, '3')
5875
assert.notOk(checkboxes[0].checked)
5976
assert(checkboxes[1].checked)

0 commit comments

Comments
 (0)