@@ -23,17 +23,6 @@ class TestMenuItem extends MenuItem {
2323 }
2424}
2525
26- const createOnShownInfo = ( origin : string ) : Menus . OnShownInfoType => {
27- return {
28- menuIds : [ faker . datatype . number ( ) ] ,
29- contexts : [ 'link' ] ,
30- viewType : 'tab' ,
31- editable : true ,
32- pageUrl : `${ origin } /${ faker . random . word ( ) } ` ,
33- targetElementId : faker . datatype . number ( ) ,
34- } ;
35- } ;
36-
3726const createOnClickData = ( menuItemId : string ) : Menus . OnClickData => {
3827 return {
3928 menuItemId,
@@ -68,112 +57,38 @@ beforeEach(() => {
6857 menuManager = new MenuManager ( ) ;
6958} ) ;
7059
71- describe ( 'handleMenuShown' , ( ) => {
72- let origin : string ;
73- let info : Menus . OnShownInfoType ;
74- let tab : Tabs . Tab ;
75-
60+ describe ( 'updateEnabled' , ( ) => {
7661 beforeEach ( ( ) => {
7762 const callback : OnClickedCallback = ( nodeId ) => {
7863 void nodeId ;
7964 } ;
8065
8166 menuManager . registerMenuItem ( 'test1' , new TestMenuItem ( callback , true ) ) ;
8267 menuManager . registerMenuItem ( 'test2' , new TestMenuItem ( callback , false ) ) ;
83-
84- origin = faker . internet . url ( ) ;
85- info = createOnShownInfo ( origin ) ;
86- tab = createTab ( ) ;
8768 } ) ;
8869
8970 it ( 'updates whether menu items are enabled' , async ( ) => {
90- mockBrowser . runtime . getURL . expect ( '' ) . andReturn ( origin ) ;
91- mockBrowser . tabs . getCurrent . expect . andResolve ( tab ) ;
9271 mockBrowser . contextMenus . update . expect ( 'test1' , { enabled : true } ) ;
9372 mockBrowser . contextMenus . update . expect ( 'test2' , { enabled : false } ) ;
9473 mockBrowser . contextMenus . refresh . expect ;
9574
9675 // @ts -ignore
9776 menuManager . activeElement = createElement ( ) ;
9877
99- await menuManager . handleMenuShown ( info , tab ) ;
100- } ) ;
101-
102- it ( "no-op if context is not 'link'" , async ( ) => {
103- info . contexts = [ 'page' ] ;
104-
105- // @ts -ignore
106- menuManager . activeElement = createElement ( ) ;
107-
108- await menuManager . handleMenuShown ( info , tab ) ;
109- } ) ;
110-
111- it ( "no-op if viewType is not 'tab'" , async ( ) => {
112- info . viewType = 'popup' ;
113-
114- // @ts -ignore
115- menuManager . activeElement = createElement ( ) ;
116-
117- await menuManager . handleMenuShown ( info , tab ) ;
118- } ) ;
119-
120- it ( "no-op if pageUrl isn't provided" , async ( ) => {
121- delete info . pageUrl ;
122-
123- mockBrowser . runtime . getURL . expect ( '' ) . andReturn ( origin ) ;
124-
125- // @ts -ignore
126- menuManager . activeElement = createElement ( ) ;
127-
128- await menuManager . handleMenuShown ( info , tab ) ;
129- } ) ;
130-
131- it ( "no-op if pageUrl doesn't match" , async ( ) => {
132- info . pageUrl = faker . internet . url ( ) ;
133-
134- mockBrowser . runtime . getURL . expect ( '' ) . andReturn ( origin ) ;
135-
136- // @ts -ignore
137- menuManager . activeElement = createElement ( ) ;
138-
139- await menuManager . handleMenuShown ( info , tab ) ;
140- } ) ;
141-
142- it ( 'no-op if not in current tab' , async ( ) => {
143- mockBrowser . runtime . getURL . expect ( '' ) . andReturn ( origin ) ;
144-
145- const otherTab = createTab ( ) ;
146- mockBrowser . tabs . getCurrent . expect . andResolve ( otherTab ) ;
147-
148- // @ts -ignore
149- menuManager . activeElement = createElement ( ) ;
150-
151- await menuManager . handleMenuShown ( info , tab ) ;
78+ await menuManager . updateEnabled ( ) ;
15279 } ) ;
15380
15481 it ( "no-op if active element isn't provided" , async ( ) => {
15582 menuManager . activeElement = null ;
15683
157- mockBrowser . runtime . getURL . expect ( '' ) . andReturn ( origin ) ;
158- mockBrowser . tabs . getCurrent . expect . andResolve ( tab ) ;
159-
160- await menuManager . handleMenuShown ( info , tab ) ;
84+ await menuManager . updateEnabled ( ) ;
16185 } ) ;
16286
16387 it ( "no-op if nodeId isn't available" , async ( ) => {
16488 // @ts -ignore
16589 menuManager . activeElement = createElement ( false ) ;
16690
167- mockBrowser . runtime . getURL . expect ( '' ) . andReturn ( origin ) ;
168- mockBrowser . tabs . getCurrent . expect . andResolve ( tab ) ;
169-
170- await menuManager . handleMenuShown ( info , tab ) ;
171- } ) ;
172- } ) ;
173-
174- describe ( 'handleMenuShown' , ( ) => {
175- it ( 'succeeds' , ( ) => {
176- menuManager . handleMenuHidden ( ) ;
91+ await menuManager . updateEnabled ( ) ;
17792 } ) ;
17893} ) ;
17994
0 commit comments