@@ -102,23 +102,40 @@ describe('FeedItemDisplay.vue', () => {
102102 expect ( feed ) . toEqual ( mockFeeds [ 0 ] )
103103 } )
104104
105- it ( 'should focus on new selected item when using screen reader mode' , async ( ) => {
105+ it ( 'should focus title on new selected item when using screen reader mode' , async ( ) => {
106106 const el = { focus : vi . fn ( ) }
107107 Object . defineProperty ( wrapper . vm . $refs , 'titleLink' , { value : el , configurable : true } )
108108
109109 vi . spyOn ( wrapper . vm , 'screenReaderMode' , 'get' ) . mockReturnValue ( true )
110- wrapper . vm . $options . watch . isSelected . call ( wrapper . vm , true )
110+ wrapper . vm . $options . watch . isSelected . handler . call ( wrapper . vm , true )
111111 await nextTick ( )
112112
113113 expect ( el . focus ) . toHaveBeenCalled ( )
114114 } )
115115
116- it ( 'should not focus on new selected item when not using screen reader mode' , async ( ) => {
116+ it ( 'should focus article pane when selected using keyboard navigation' , async ( ) => {
117+ await wrapper . setProps ( {
118+ selectedByKeyboard : true ,
119+ } )
117120 const el = { focus : vi . fn ( ) }
118- Object . defineProperty ( wrapper . vm . $refs , 'titleLink' , { value : el , configurable : true } )
121+ Object . defineProperty ( wrapper . vm . $refs , 'displayElement' , { value : el , configurable : true } )
122+
123+ vi . spyOn ( wrapper . vm , 'screenReaderMode' , 'get' ) . mockReturnValue ( false )
124+ wrapper . vm . $options . watch . isSelected . handler . call ( wrapper . vm , true )
125+ await nextTick ( )
126+
127+ expect ( el . focus ) . toHaveBeenCalled ( )
128+ } )
129+
130+ it ( 'should not focus article pane when selected without keyboard navigation' , async ( ) => {
131+ await wrapper . setProps ( {
132+ selectedByKeyboard : false ,
133+ } )
134+ const el = { focus : vi . fn ( ) }
135+ Object . defineProperty ( wrapper . vm . $refs , 'displayElement' , { value : el , configurable : true } )
119136
120137 vi . spyOn ( wrapper . vm , 'screenReaderMode' , 'get' ) . mockReturnValue ( false )
121- wrapper . vm . $options . watch . isSelected . call ( wrapper . vm , true )
138+ wrapper . vm . $options . watch . isSelected . handler . call ( wrapper . vm , true )
122139 await nextTick ( )
123140
124141 expect ( el . focus ) . not . toHaveBeenCalled ( )
0 commit comments