MCPcopy Create free account
hub / github.com/angular/components / clickItemImplementation

Function clickItemImplementation

src/material/menu/testing/menu-harness.ts:216–234  ·  view source on GitHub ↗
(
  items: MatMenuItemHarness[],
  itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>,
  subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[],
)

Source from the content-addressed store, hash-verified

214}
215
216export async function clickItemImplementation(
217 items: MatMenuItemHarness[],
218 itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>,
219 subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[],
220): Promise<void> {
221 if (!items.length) {
222 throw Error(`Could not find item matching ${JSON.stringify(itemFilter)}`);
223 }
224
225 if (!subItemFilters.length) {
226 return await items[0].click();
227 }
228
229 const menu = await items[0].getSubmenu();
230 if (!menu) {
231 throw Error(`Item matching ${JSON.stringify(itemFilter)} does not have a submenu`);
232 }
233 return menu.clickItem(...(subItemFilters as [Omit<MenuItemHarnessFilters, 'ancestor'>]));
234}

Callers 2

clickItemMethod · 0.90
clickItemMethod · 0.85

Calls 3

clickMethod · 0.65
getSubmenuMethod · 0.45
clickItemMethod · 0.45

Tested by

no test coverage detected