@@ -37,14 +37,14 @@ describe('CdkContextMenuTrigger', () => {
37
37
}
38
38
39
39
/** Get the context in which the context menu should trigger. */
40
- function getMenuContext ( ) {
40
+ function getMenuTrigger ( ) {
41
41
return fixture . componentInstance . triggerElement . nativeElement ;
42
42
}
43
43
44
44
/** Open up the context menu and run change detection. */
45
45
function openContextMenu ( ) {
46
46
// right click triggers a context menu event
47
- dispatchMouseEvent ( getMenuContext ( ) , 'contextmenu' ) ;
47
+ dispatchMouseEvent ( getMenuTrigger ( ) , 'contextmenu' ) ;
48
48
fixture . detectChanges ( ) ;
49
49
}
50
50
@@ -57,7 +57,7 @@ describe('CdkContextMenuTrigger', () => {
57
57
it ( 'should close out the context menu when clicking in the context' , ( ) => {
58
58
openContextMenu ( ) ;
59
59
60
- getMenuContext ( ) . click ( ) ;
60
+ getMenuTrigger ( ) . click ( ) ;
61
61
fixture . detectChanges ( ) ;
62
62
63
63
expect ( getContextMenu ( ) ) . not . toBeDefined ( ) ;
@@ -143,6 +143,22 @@ describe('CdkContextMenuTrigger', () => {
143
143
fixture . detectChanges ( ) ;
144
144
expect ( getContextMenu ( ) ) . toBeDefined ( ) ;
145
145
} ) ;
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
+ } ) ;
146
162
} ) ;
147
163
148
164
describe ( 'nested context menu triggers' , ( ) => {
0 commit comments