@@ -37,14 +37,14 @@ describe('CdkContextMenuTrigger', () => {
3737 }
3838
3939 /** Get the context in which the context menu should trigger. */
40- function getMenuContext ( ) {
40+ function getMenuTrigger ( ) {
4141 return fixture . componentInstance . triggerElement . nativeElement ;
4242 }
4343
4444 /** Open up the context menu and run change detection. */
4545 function openContextMenu ( ) {
4646 // right click triggers a context menu event
47- dispatchMouseEvent ( getMenuContext ( ) , 'contextmenu' ) ;
47+ dispatchMouseEvent ( getMenuTrigger ( ) , 'contextmenu' ) ;
4848 fixture . detectChanges ( ) ;
4949 }
5050
@@ -57,7 +57,7 @@ describe('CdkContextMenuTrigger', () => {
5757 it ( 'should close out the context menu when clicking in the context' , ( ) => {
5858 openContextMenu ( ) ;
5959
60- getMenuContext ( ) . click ( ) ;
60+ getMenuTrigger ( ) . click ( ) ;
6161 fixture . detectChanges ( ) ;
6262
6363 expect ( getContextMenu ( ) ) . not . toBeDefined ( ) ;
@@ -143,6 +143,22 @@ describe('CdkContextMenuTrigger', () => {
143143 fixture . detectChanges ( ) ;
144144 expect ( getContextMenu ( ) ) . toBeDefined ( ) ;
145145 } ) ;
146+
147+ it ( 'should toggle aria-controls depending on if the menu is open' , ( ) => {
148+ const trigger = getMenuTrigger ( ) ;
149+
150+ expect ( trigger . hasAttribute ( 'aria-controls' ) ) . toBe ( false ) ;
151+ expect ( getContextMenu ( ) ) . not . toBeDefined ( ) ;
152+
153+ openContextMenu ( ) ;
154+ expect ( trigger . getAttribute ( 'aria-controls' ) ) . toBeTruthy ( ) ;
155+ expect ( getContextMenu ( ) ) . toBeDefined ( ) ;
156+
157+ trigger . click ( ) ;
158+ fixture . detectChanges ( ) ;
159+ expect ( trigger . hasAttribute ( 'aria-controls' ) ) . toBe ( false ) ;
160+ expect ( getContextMenu ( ) ) . not . toBeDefined ( ) ;
161+ } ) ;
146162 } ) ;
147163
148164 describe ( 'nested context menu triggers' , ( ) => {
0 commit comments