export default { async test ( { assert , component , target , window } ) { await component . lists . update ( ( ) => [ { text : 'item1' } , { text : 'item2' } , { text : 'item3' } ] ) ; await component . lists . update ( ( ) => [ { text : 'item3' } , { text : 'item2' } , { text : 'item1' } ] ) ; await component . lists . update ( ( ) => [ { text : 'item1' } , { text : 'item2' } , { text : 'item3' } ] ) ; assert . equal ( component . updated , 4 ) ; const [ item1 , item2 ] = target . childNodes ; const [ item1Btn1 , item1Btn2 ] = item1 . querySelectorAll ( 'button' ) ; const [ item2Btn1 , item2Btn2 ] = item2 . querySelectorAll ( 'button' ) ; const clickEvent = new window . MouseEvent ( 'click' ) ; await item1Btn1 . dispatchEvent ( clickEvent ) ; assert . equal ( component . getNormalCount ( ) , 1 ) ; await item1Btn2 . dispatchEvent ( clickEvent ) ; assert . equal ( component . getModifierCount ( ) , 1 ) ; await item2Btn1 . dispatchEvent ( clickEvent ) ; assert . equal ( component . getNormalCount ( ) , 2 ) ; await item2Btn2 . dispatchEvent ( clickEvent ) ; assert . equal ( component . getModifierCount ( ) , 2 ) ; } } ;