source: trip-planner-front/node_modules/@angular/material/bundles/material-menu-testing.umd.js@ 59329aa

Last change on this file since 59329aa was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 32.9 KB
Line 
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/testing'), require('@angular/cdk/coercion')) :
3 typeof define === 'function' && define.amd ? define('@angular/material/menu/testing', ['exports', '@angular/cdk/testing', '@angular/cdk/coercion'], factory) :
4 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.menu = global.ng.material.menu || {}, global.ng.material.menu.testing = {}), global.ng.cdk.testing, global.ng.cdk.coercion));
5}(this, (function (exports, testing, coercion) { 'use strict';
6
7 /*! *****************************************************************************
8 Copyright (c) Microsoft Corporation.
9
10 Permission to use, copy, modify, and/or distribute this software for any
11 purpose with or without fee is hereby granted.
12
13 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 PERFORMANCE OF THIS SOFTWARE.
20 ***************************************************************************** */
21 /* global Reflect, Promise */
22 var extendStatics = function (d, b) {
23 extendStatics = Object.setPrototypeOf ||
24 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25 function (d, b) { for (var p in b)
26 if (Object.prototype.hasOwnProperty.call(b, p))
27 d[p] = b[p]; };
28 return extendStatics(d, b);
29 };
30 function __extends(d, b) {
31 if (typeof b !== "function" && b !== null)
32 throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
33 extendStatics(d, b);
34 function __() { this.constructor = d; }
35 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
36 }
37 var __assign = function () {
38 __assign = Object.assign || function __assign(t) {
39 for (var s, i = 1, n = arguments.length; i < n; i++) {
40 s = arguments[i];
41 for (var p in s)
42 if (Object.prototype.hasOwnProperty.call(s, p))
43 t[p] = s[p];
44 }
45 return t;
46 };
47 return __assign.apply(this, arguments);
48 };
49 function __rest(s, e) {
50 var t = {};
51 for (var p in s)
52 if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
53 t[p] = s[p];
54 if (s != null && typeof Object.getOwnPropertySymbols === "function")
55 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
56 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
57 t[p[i]] = s[p[i]];
58 }
59 return t;
60 }
61 function __decorate(decorators, target, key, desc) {
62 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
63 if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
64 r = Reflect.decorate(decorators, target, key, desc);
65 else
66 for (var i = decorators.length - 1; i >= 0; i--)
67 if (d = decorators[i])
68 r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
69 return c > 3 && r && Object.defineProperty(target, key, r), r;
70 }
71 function __param(paramIndex, decorator) {
72 return function (target, key) { decorator(target, key, paramIndex); };
73 }
74 function __metadata(metadataKey, metadataValue) {
75 if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
76 return Reflect.metadata(metadataKey, metadataValue);
77 }
78 function __awaiter(thisArg, _arguments, P, generator) {
79 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
80 return new (P || (P = Promise))(function (resolve, reject) {
81 function fulfilled(value) { try {
82 step(generator.next(value));
83 }
84 catch (e) {
85 reject(e);
86 } }
87 function rejected(value) { try {
88 step(generator["throw"](value));
89 }
90 catch (e) {
91 reject(e);
92 } }
93 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
94 step((generator = generator.apply(thisArg, _arguments || [])).next());
95 });
96 }
97 function __generator(thisArg, body) {
98 var _ = { label: 0, sent: function () { if (t[0] & 1)
99 throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
100 return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
101 function verb(n) { return function (v) { return step([n, v]); }; }
102 function step(op) {
103 if (f)
104 throw new TypeError("Generator is already executing.");
105 while (_)
106 try {
107 if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
108 return t;
109 if (y = 0, t)
110 op = [op[0] & 2, t.value];
111 switch (op[0]) {
112 case 0:
113 case 1:
114 t = op;
115 break;
116 case 4:
117 _.label++;
118 return { value: op[1], done: false };
119 case 5:
120 _.label++;
121 y = op[1];
122 op = [0];
123 continue;
124 case 7:
125 op = _.ops.pop();
126 _.trys.pop();
127 continue;
128 default:
129 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
130 _ = 0;
131 continue;
132 }
133 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
134 _.label = op[1];
135 break;
136 }
137 if (op[0] === 6 && _.label < t[1]) {
138 _.label = t[1];
139 t = op;
140 break;
141 }
142 if (t && _.label < t[2]) {
143 _.label = t[2];
144 _.ops.push(op);
145 break;
146 }
147 if (t[2])
148 _.ops.pop();
149 _.trys.pop();
150 continue;
151 }
152 op = body.call(thisArg, _);
153 }
154 catch (e) {
155 op = [6, e];
156 y = 0;
157 }
158 finally {
159 f = t = 0;
160 }
161 if (op[0] & 5)
162 throw op[1];
163 return { value: op[0] ? op[1] : void 0, done: true };
164 }
165 }
166 var __createBinding = Object.create ? (function (o, m, k, k2) {
167 if (k2 === undefined)
168 k2 = k;
169 Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
170 }) : (function (o, m, k, k2) {
171 if (k2 === undefined)
172 k2 = k;
173 o[k2] = m[k];
174 });
175 function __exportStar(m, o) {
176 for (var p in m)
177 if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
178 __createBinding(o, m, p);
179 }
180 function __values(o) {
181 var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
182 if (m)
183 return m.call(o);
184 if (o && typeof o.length === "number")
185 return {
186 next: function () {
187 if (o && i >= o.length)
188 o = void 0;
189 return { value: o && o[i++], done: !o };
190 }
191 };
192 throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
193 }
194 function __read(o, n) {
195 var m = typeof Symbol === "function" && o[Symbol.iterator];
196 if (!m)
197 return o;
198 var i = m.call(o), r, ar = [], e;
199 try {
200 while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
201 ar.push(r.value);
202 }
203 catch (error) {
204 e = { error: error };
205 }
206 finally {
207 try {
208 if (r && !r.done && (m = i["return"]))
209 m.call(i);
210 }
211 finally {
212 if (e)
213 throw e.error;
214 }
215 }
216 return ar;
217 }
218 /** @deprecated */
219 function __spread() {
220 for (var ar = [], i = 0; i < arguments.length; i++)
221 ar = ar.concat(__read(arguments[i]));
222 return ar;
223 }
224 /** @deprecated */
225 function __spreadArrays() {
226 for (var s = 0, i = 0, il = arguments.length; i < il; i++)
227 s += arguments[i].length;
228 for (var r = Array(s), k = 0, i = 0; i < il; i++)
229 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
230 r[k] = a[j];
231 return r;
232 }
233 function __spreadArray(to, from, pack) {
234 if (pack || arguments.length === 2)
235 for (var i = 0, l = from.length, ar; i < l; i++) {
236 if (ar || !(i in from)) {
237 if (!ar)
238 ar = Array.prototype.slice.call(from, 0, i);
239 ar[i] = from[i];
240 }
241 }
242 return to.concat(ar || from);
243 }
244 function __await(v) {
245 return this instanceof __await ? (this.v = v, this) : new __await(v);
246 }
247 function __asyncGenerator(thisArg, _arguments, generator) {
248 if (!Symbol.asyncIterator)
249 throw new TypeError("Symbol.asyncIterator is not defined.");
250 var g = generator.apply(thisArg, _arguments || []), i, q = [];
251 return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
252 function verb(n) { if (g[n])
253 i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
254 function resume(n, v) { try {
255 step(g[n](v));
256 }
257 catch (e) {
258 settle(q[0][3], e);
259 } }
260 function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
261 function fulfill(value) { resume("next", value); }
262 function reject(value) { resume("throw", value); }
263 function settle(f, v) { if (f(v), q.shift(), q.length)
264 resume(q[0][0], q[0][1]); }
265 }
266 function __asyncDelegator(o) {
267 var i, p;
268 return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
269 function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
270 }
271 function __asyncValues(o) {
272 if (!Symbol.asyncIterator)
273 throw new TypeError("Symbol.asyncIterator is not defined.");
274 var m = o[Symbol.asyncIterator], i;
275 return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
276 function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
277 function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
278 }
279 function __makeTemplateObject(cooked, raw) {
280 if (Object.defineProperty) {
281 Object.defineProperty(cooked, "raw", { value: raw });
282 }
283 else {
284 cooked.raw = raw;
285 }
286 return cooked;
287 }
288 ;
289 var __setModuleDefault = Object.create ? (function (o, v) {
290 Object.defineProperty(o, "default", { enumerable: true, value: v });
291 }) : function (o, v) {
292 o["default"] = v;
293 };
294 function __importStar(mod) {
295 if (mod && mod.__esModule)
296 return mod;
297 var result = {};
298 if (mod != null)
299 for (var k in mod)
300 if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
301 __createBinding(result, mod, k);
302 __setModuleDefault(result, mod);
303 return result;
304 }
305 function __importDefault(mod) {
306 return (mod && mod.__esModule) ? mod : { default: mod };
307 }
308 function __classPrivateFieldGet(receiver, state, kind, f) {
309 if (kind === "a" && !f)
310 throw new TypeError("Private accessor was defined without a getter");
311 if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
312 throw new TypeError("Cannot read private member from an object whose class did not declare it");
313 return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
314 }
315 function __classPrivateFieldSet(receiver, state, value, kind, f) {
316 if (kind === "m")
317 throw new TypeError("Private method is not writable");
318 if (kind === "a" && !f)
319 throw new TypeError("Private accessor was defined without a setter");
320 if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
321 throw new TypeError("Cannot write private member to an object whose class did not declare it");
322 return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
323 }
324
325 var _MatMenuHarnessBase = /** @class */ (function (_super) {
326 __extends(_MatMenuHarnessBase, _super);
327 function _MatMenuHarnessBase() {
328 var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
329 _this._documentRootLocator = _this.documentRootLocatorFactory();
330 return _this;
331 }
332 // TODO: potentially extend MatButtonHarness
333 /** Whether the menu is disabled. */
334 _MatMenuHarnessBase.prototype.isDisabled = function () {
335 return __awaiter(this, void 0, void 0, function () {
336 var disabled, _a;
337 return __generator(this, function (_b) {
338 switch (_b.label) {
339 case 0: return [4 /*yield*/, this.host()];
340 case 1:
341 disabled = (_b.sent()).getAttribute('disabled');
342 _a = coercion.coerceBooleanProperty;
343 return [4 /*yield*/, disabled];
344 case 2: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
345 }
346 });
347 });
348 };
349 /** Whether the menu is open. */
350 _MatMenuHarnessBase.prototype.isOpen = function () {
351 return __awaiter(this, void 0, void 0, function () {
352 return __generator(this, function (_a) {
353 switch (_a.label) {
354 case 0: return [4 /*yield*/, this._getMenuPanel()];
355 case 1: return [2 /*return*/, !!(_a.sent())];
356 }
357 });
358 });
359 };
360 /** Gets the text of the menu's trigger element. */
361 _MatMenuHarnessBase.prototype.getTriggerText = function () {
362 return __awaiter(this, void 0, void 0, function () {
363 return __generator(this, function (_a) {
364 switch (_a.label) {
365 case 0: return [4 /*yield*/, this.host()];
366 case 1: return [2 /*return*/, (_a.sent()).text()];
367 }
368 });
369 });
370 };
371 /** Focuses the menu. */
372 _MatMenuHarnessBase.prototype.focus = function () {
373 return __awaiter(this, void 0, void 0, function () {
374 return __generator(this, function (_a) {
375 switch (_a.label) {
376 case 0: return [4 /*yield*/, this.host()];
377 case 1: return [2 /*return*/, (_a.sent()).focus()];
378 }
379 });
380 });
381 };
382 /** Blurs the menu. */
383 _MatMenuHarnessBase.prototype.blur = function () {
384 return __awaiter(this, void 0, void 0, function () {
385 return __generator(this, function (_a) {
386 switch (_a.label) {
387 case 0: return [4 /*yield*/, this.host()];
388 case 1: return [2 /*return*/, (_a.sent()).blur()];
389 }
390 });
391 });
392 };
393 /** Whether the menu is focused. */
394 _MatMenuHarnessBase.prototype.isFocused = function () {
395 return __awaiter(this, void 0, void 0, function () {
396 return __generator(this, function (_a) {
397 switch (_a.label) {
398 case 0: return [4 /*yield*/, this.host()];
399 case 1: return [2 /*return*/, (_a.sent()).isFocused()];
400 }
401 });
402 });
403 };
404 /** Opens the menu. */
405 _MatMenuHarnessBase.prototype.open = function () {
406 return __awaiter(this, void 0, void 0, function () {
407 return __generator(this, function (_a) {
408 switch (_a.label) {
409 case 0: return [4 /*yield*/, this.isOpen()];
410 case 1:
411 if (!!(_a.sent())) return [3 /*break*/, 3];
412 return [4 /*yield*/, this.host()];
413 case 2: return [2 /*return*/, (_a.sent()).click()];
414 case 3: return [2 /*return*/];
415 }
416 });
417 });
418 };
419 /** Closes the menu. */
420 _MatMenuHarnessBase.prototype.close = function () {
421 return __awaiter(this, void 0, void 0, function () {
422 var panel;
423 return __generator(this, function (_a) {
424 switch (_a.label) {
425 case 0: return [4 /*yield*/, this._getMenuPanel()];
426 case 1:
427 panel = _a.sent();
428 if (panel) {
429 return [2 /*return*/, panel.sendKeys(testing.TestKey.ESCAPE)];
430 }
431 return [2 /*return*/];
432 }
433 });
434 });
435 };
436 /**
437 * Gets a list of `MatMenuItemHarness` representing the items in the menu.
438 * @param filters Optionally filters which menu items are included.
439 */
440 _MatMenuHarnessBase.prototype.getItems = function (filters) {
441 return __awaiter(this, void 0, void 0, function () {
442 var panelId;
443 return __generator(this, function (_a) {
444 switch (_a.label) {
445 case 0: return [4 /*yield*/, this._getPanelId()];
446 case 1:
447 panelId = _a.sent();
448 if (panelId) {
449 return [2 /*return*/, this._documentRootLocator.locatorForAll(this._itemClass.with(Object.assign(Object.assign({}, (filters || {})), { ancestor: "#" + panelId })))()];
450 }
451 return [2 /*return*/, []];
452 }
453 });
454 });
455 };
456 /**
457 * Clicks an item in the menu, and optionally continues clicking items in subsequent sub-menus.
458 * @param itemFilter A filter used to represent which item in the menu should be clicked. The
459 * first matching menu item will be clicked.
460 * @param subItemFilters A list of filters representing the items to click in any subsequent
461 * sub-menus. The first item in the sub-menu matching the corresponding filter in
462 * `subItemFilters` will be clicked.
463 */
464 _MatMenuHarnessBase.prototype.clickItem = function (itemFilter) {
465 var subItemFilters = [];
466 for (var _i = 1; _i < arguments.length; _i++) {
467 subItemFilters[_i - 1] = arguments[_i];
468 }
469 return __awaiter(this, void 0, void 0, function () {
470 var items, menu;
471 return __generator(this, function (_a) {
472 switch (_a.label) {
473 case 0: return [4 /*yield*/, this.open()];
474 case 1:
475 _a.sent();
476 return [4 /*yield*/, this.getItems(itemFilter)];
477 case 2:
478 items = _a.sent();
479 if (!items.length) {
480 throw Error("Could not find item matching " + JSON.stringify(itemFilter));
481 }
482 if (!!subItemFilters.length) return [3 /*break*/, 4];
483 return [4 /*yield*/, items[0].click()];
484 case 3: return [2 /*return*/, _a.sent()];
485 case 4: return [4 /*yield*/, items[0].getSubmenu()];
486 case 5:
487 menu = _a.sent();
488 if (!menu) {
489 throw Error("Item matching " + JSON.stringify(itemFilter) + " does not have a submenu");
490 }
491 return [2 /*return*/, menu.clickItem.apply(menu, __spreadArray([], __read(subItemFilters)))];
492 }
493 });
494 });
495 };
496 _MatMenuHarnessBase.prototype.getRootHarnessLoader = function () {
497 return __awaiter(this, void 0, void 0, function () {
498 var panelId;
499 return __generator(this, function (_a) {
500 switch (_a.label) {
501 case 0: return [4 /*yield*/, this._getPanelId()];
502 case 1:
503 panelId = _a.sent();
504 return [2 /*return*/, this.documentRootLocatorFactory().harnessLoaderFor("#" + panelId)];
505 }
506 });
507 });
508 };
509 /** Gets the menu panel associated with this menu. */
510 _MatMenuHarnessBase.prototype._getMenuPanel = function () {
511 return __awaiter(this, void 0, void 0, function () {
512 var panelId;
513 return __generator(this, function (_a) {
514 switch (_a.label) {
515 case 0: return [4 /*yield*/, this._getPanelId()];
516 case 1:
517 panelId = _a.sent();
518 return [2 /*return*/, panelId ? this._documentRootLocator.locatorForOptional("#" + panelId)() : null];
519 }
520 });
521 });
522 };
523 /** Gets the id of the menu panel associated with this menu. */
524 _MatMenuHarnessBase.prototype._getPanelId = function () {
525 return __awaiter(this, void 0, void 0, function () {
526 var panelId;
527 return __generator(this, function (_a) {
528 switch (_a.label) {
529 case 0: return [4 /*yield*/, this.host()];
530 case 1: return [4 /*yield*/, (_a.sent()).getAttribute('aria-controls')];
531 case 2:
532 panelId = _a.sent();
533 return [2 /*return*/, panelId || null];
534 }
535 });
536 });
537 };
538 return _MatMenuHarnessBase;
539 }(testing.ContentContainerComponentHarness));
540 var _MatMenuItemHarnessBase = /** @class */ (function (_super) {
541 __extends(_MatMenuItemHarnessBase, _super);
542 function _MatMenuItemHarnessBase() {
543 return _super !== null && _super.apply(this, arguments) || this;
544 }
545 /** Whether the menu is disabled. */
546 _MatMenuItemHarnessBase.prototype.isDisabled = function () {
547 return __awaiter(this, void 0, void 0, function () {
548 var disabled, _a;
549 return __generator(this, function (_b) {
550 switch (_b.label) {
551 case 0: return [4 /*yield*/, this.host()];
552 case 1:
553 disabled = (_b.sent()).getAttribute('disabled');
554 _a = coercion.coerceBooleanProperty;
555 return [4 /*yield*/, disabled];
556 case 2: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
557 }
558 });
559 });
560 };
561 /** Gets the text of the menu item. */
562 _MatMenuItemHarnessBase.prototype.getText = function () {
563 return __awaiter(this, void 0, void 0, function () {
564 return __generator(this, function (_a) {
565 switch (_a.label) {
566 case 0: return [4 /*yield*/, this.host()];
567 case 1: return [2 /*return*/, (_a.sent()).text()];
568 }
569 });
570 });
571 };
572 /** Focuses the menu item. */
573 _MatMenuItemHarnessBase.prototype.focus = function () {
574 return __awaiter(this, void 0, void 0, function () {
575 return __generator(this, function (_a) {
576 switch (_a.label) {
577 case 0: return [4 /*yield*/, this.host()];
578 case 1: return [2 /*return*/, (_a.sent()).focus()];
579 }
580 });
581 });
582 };
583 /** Blurs the menu item. */
584 _MatMenuItemHarnessBase.prototype.blur = function () {
585 return __awaiter(this, void 0, void 0, function () {
586 return __generator(this, function (_a) {
587 switch (_a.label) {
588 case 0: return [4 /*yield*/, this.host()];
589 case 1: return [2 /*return*/, (_a.sent()).blur()];
590 }
591 });
592 });
593 };
594 /** Whether the menu item is focused. */
595 _MatMenuItemHarnessBase.prototype.isFocused = function () {
596 return __awaiter(this, void 0, void 0, function () {
597 return __generator(this, function (_a) {
598 switch (_a.label) {
599 case 0: return [4 /*yield*/, this.host()];
600 case 1: return [2 /*return*/, (_a.sent()).isFocused()];
601 }
602 });
603 });
604 };
605 /** Clicks the menu item. */
606 _MatMenuItemHarnessBase.prototype.click = function () {
607 return __awaiter(this, void 0, void 0, function () {
608 return __generator(this, function (_a) {
609 switch (_a.label) {
610 case 0: return [4 /*yield*/, this.host()];
611 case 1: return [2 /*return*/, (_a.sent()).click()];
612 }
613 });
614 });
615 };
616 /** Whether this item has a submenu. */
617 _MatMenuItemHarnessBase.prototype.hasSubmenu = function () {
618 return __awaiter(this, void 0, void 0, function () {
619 return __generator(this, function (_a) {
620 switch (_a.label) {
621 case 0: return [4 /*yield*/, this.host()];
622 case 1: return [2 /*return*/, (_a.sent()).matchesSelector(this._menuClass.hostSelector)];
623 }
624 });
625 });
626 };
627 /** Gets the submenu associated with this menu item, or null if none. */
628 _MatMenuItemHarnessBase.prototype.getSubmenu = function () {
629 return __awaiter(this, void 0, void 0, function () {
630 return __generator(this, function (_a) {
631 switch (_a.label) {
632 case 0: return [4 /*yield*/, this.hasSubmenu()];
633 case 1:
634 if (_a.sent()) {
635 return [2 /*return*/, new this._menuClass(this.locatorFactory)];
636 }
637 return [2 /*return*/, null];
638 }
639 });
640 });
641 };
642 return _MatMenuItemHarnessBase;
643 }(testing.ContentContainerComponentHarness));
644 /** Harness for interacting with a standard mat-menu in tests. */
645 var MatMenuHarness = /** @class */ (function (_super) {
646 __extends(MatMenuHarness, _super);
647 function MatMenuHarness() {
648 var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
649 _this._itemClass = MatMenuItemHarness;
650 return _this;
651 }
652 /**
653 * Gets a `HarnessPredicate` that can be used to search for a `MatMenuHarness` that meets certain
654 * criteria.
655 * @param options Options for filtering which menu instances are considered a match.
656 * @return a `HarnessPredicate` configured with the given options.
657 */
658 MatMenuHarness.with = function (options) {
659 if (options === void 0) { options = {}; }
660 return new testing.HarnessPredicate(MatMenuHarness, options)
661 .addOption('triggerText', options.triggerText, function (harness, text) { return testing.HarnessPredicate.stringMatches(harness.getTriggerText(), text); });
662 };
663 return MatMenuHarness;
664 }(_MatMenuHarnessBase));
665 /** The selector for the host element of a `MatMenu` instance. */
666 MatMenuHarness.hostSelector = '.mat-menu-trigger';
667 /** Harness for interacting with a standard mat-menu-item in tests. */
668 var MatMenuItemHarness = /** @class */ (function (_super) {
669 __extends(MatMenuItemHarness, _super);
670 function MatMenuItemHarness() {
671 var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
672 _this._menuClass = MatMenuHarness;
673 return _this;
674 }
675 /**
676 * Gets a `HarnessPredicate` that can be used to search for a `MatMenuItemHarness` that meets
677 * certain criteria.
678 * @param options Options for filtering which menu item instances are considered a match.
679 * @return a `HarnessPredicate` configured with the given options.
680 */
681 MatMenuItemHarness.with = function (options) {
682 var _this = this;
683 if (options === void 0) { options = {}; }
684 return new testing.HarnessPredicate(MatMenuItemHarness, options)
685 .addOption('text', options.text, function (harness, text) { return testing.HarnessPredicate.stringMatches(harness.getText(), text); })
686 .addOption('hasSubmenu', options.hasSubmenu, function (harness, hasSubmenu) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
687 switch (_a.label) {
688 case 0: return [4 /*yield*/, harness.hasSubmenu()];
689 case 1: return [2 /*return*/, (_a.sent()) === hasSubmenu];
690 }
691 }); }); });
692 };
693 return MatMenuItemHarness;
694 }(_MatMenuItemHarnessBase));
695 /** The selector for the host element of a `MatMenuItem` instance. */
696 MatMenuItemHarness.hostSelector = '.mat-menu-item';
697
698 /**
699 * @license
700 * Copyright Google LLC All Rights Reserved.
701 *
702 * Use of this source code is governed by an MIT-style license that can be
703 * found in the LICENSE file at https://angular.io/license
704 */
705
706 /**
707 * @license
708 * Copyright Google LLC All Rights Reserved.
709 *
710 * Use of this source code is governed by an MIT-style license that can be
711 * found in the LICENSE file at https://angular.io/license
712 */
713
714 exports.MatMenuHarness = MatMenuHarness;
715 exports.MatMenuItemHarness = MatMenuItemHarness;
716 exports._MatMenuHarnessBase = _MatMenuHarnessBase;
717 exports._MatMenuItemHarnessBase = _MatMenuItemHarnessBase;
718
719 Object.defineProperty(exports, '__esModule', { value: true });
720
721})));
722//# sourceMappingURL=material-menu-testing.umd.js.map
Note: See TracBrowser for help on using the repository browser.