@@ -248,13 +248,17 @@ describe('details-menu element', function() {
248
248
document . body . innerHTML = ''
249
249
} )
250
250
251
- it ( 'manages checked state' , function ( ) {
251
+ it ( 'manages checked state and fires events ' , function ( ) {
252
252
const details = document . querySelector ( 'details' )
253
253
const item = details . querySelector ( 'button' )
254
+ let eventCounter = 0
255
+ document . addEventListener ( 'details-menu-selected' , ( ) => eventCounter ++ , true )
256
+
254
257
assert . equal ( item . getAttribute ( 'aria-checked' ) , 'false' )
255
258
item . dispatchEvent ( new MouseEvent ( 'click' , { bubbles : true } ) )
256
259
assert . equal ( item . getAttribute ( 'aria-checked' ) , 'true' )
257
260
assert . equal ( details . querySelectorAll ( '[aria-checked="true"]' ) . length , 1 )
261
+ assert . equal ( eventCounter , 1 , 'selected event is fired once' )
258
262
} )
259
263
} )
260
264
@@ -278,13 +282,17 @@ describe('details-menu element', function() {
278
282
document . body . innerHTML = ''
279
283
} )
280
284
281
- it ( 'manages checked state' , function ( ) {
285
+ it ( 'manages checked state and fires events ' , function ( ) {
282
286
const details = document . querySelector ( 'details' )
283
287
const item = details . querySelector ( 'label' )
288
+ let eventCounter = 0
289
+ document . addEventListener ( 'details-menu-selected' , ( ) => eventCounter ++ , true )
290
+
284
291
assert . equal ( item . getAttribute ( 'aria-checked' ) , 'false' )
285
292
item . dispatchEvent ( new MouseEvent ( 'click' , { bubbles : true } ) )
286
293
assert . equal ( item . getAttribute ( 'aria-checked' ) , 'true' )
287
294
assert . equal ( details . querySelectorAll ( '[aria-checked="true"]' ) . length , 1 )
295
+ assert . equal ( eventCounter , 1 , 'selected event is fired once' )
288
296
} )
289
297
} )
290
298
0 commit comments