@@ -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