source: trip-planner-front/node_modules/@angular/material/bundles/material-tabs-testing.umd.js@ 1ad8e64

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

initial commit

  • Property mode set to 100644
File size: 34.1 KB
Line 
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/testing')) :
3 typeof define === 'function' && define.amd ? define('@angular/material/tabs/testing', ['exports', '@angular/cdk/testing'], factory) :
4 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.tabs = global.ng.material.tabs || {}, global.ng.material.tabs.testing = {}), global.ng.cdk.testing));
5}(this, (function (exports, testing) { '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 /** Harness for interacting with a standard Angular Material tab-label in tests. */
326 var MatTabHarness = /** @class */ (function (_super) {
327 __extends(MatTabHarness, _super);
328 function MatTabHarness() {
329 return _super !== null && _super.apply(this, arguments) || this;
330 }
331 /**
332 * Gets a `HarnessPredicate` that can be used to search for a `MatTabHarness` that meets
333 * certain criteria.
334 * @param options Options for filtering which tab instances are considered a match.
335 * @return a `HarnessPredicate` configured with the given options.
336 */
337 MatTabHarness.with = function (options) {
338 if (options === void 0) { options = {}; }
339 return new testing.HarnessPredicate(MatTabHarness, options)
340 .addOption('label', options.label, function (harness, label) { return testing.HarnessPredicate.stringMatches(harness.getLabel(), label); });
341 };
342 /** Gets the label of the tab. */
343 MatTabHarness.prototype.getLabel = function () {
344 return __awaiter(this, void 0, void 0, function () {
345 return __generator(this, function (_a) {
346 switch (_a.label) {
347 case 0: return [4 /*yield*/, this.host()];
348 case 1: return [2 /*return*/, (_a.sent()).text()];
349 }
350 });
351 });
352 };
353 /** Gets the aria-label of the tab. */
354 MatTabHarness.prototype.getAriaLabel = function () {
355 return __awaiter(this, void 0, void 0, function () {
356 return __generator(this, function (_a) {
357 switch (_a.label) {
358 case 0: return [4 /*yield*/, this.host()];
359 case 1: return [2 /*return*/, (_a.sent()).getAttribute('aria-label')];
360 }
361 });
362 });
363 };
364 /** Gets the value of the "aria-labelledby" attribute. */
365 MatTabHarness.prototype.getAriaLabelledby = function () {
366 return __awaiter(this, void 0, void 0, function () {
367 return __generator(this, function (_a) {
368 switch (_a.label) {
369 case 0: return [4 /*yield*/, this.host()];
370 case 1: return [2 /*return*/, (_a.sent()).getAttribute('aria-labelledby')];
371 }
372 });
373 });
374 };
375 /** Whether the tab is selected. */
376 MatTabHarness.prototype.isSelected = function () {
377 return __awaiter(this, void 0, void 0, function () {
378 var hostEl;
379 return __generator(this, function (_a) {
380 switch (_a.label) {
381 case 0: return [4 /*yield*/, this.host()];
382 case 1:
383 hostEl = _a.sent();
384 return [4 /*yield*/, hostEl.getAttribute('aria-selected')];
385 case 2: return [2 /*return*/, (_a.sent()) === 'true'];
386 }
387 });
388 });
389 };
390 /** Whether the tab is disabled. */
391 MatTabHarness.prototype.isDisabled = function () {
392 return __awaiter(this, void 0, void 0, function () {
393 var hostEl;
394 return __generator(this, function (_a) {
395 switch (_a.label) {
396 case 0: return [4 /*yield*/, this.host()];
397 case 1:
398 hostEl = _a.sent();
399 return [4 /*yield*/, hostEl.getAttribute('aria-disabled')];
400 case 2: return [2 /*return*/, (_a.sent()) === 'true'];
401 }
402 });
403 });
404 };
405 /** Selects the given tab by clicking on the label. Tab cannot be selected if disabled. */
406 MatTabHarness.prototype.select = function () {
407 return __awaiter(this, void 0, void 0, function () {
408 return __generator(this, function (_a) {
409 switch (_a.label) {
410 case 0: return [4 /*yield*/, this.host()];
411 case 1: return [4 /*yield*/, (_a.sent()).click()];
412 case 2:
413 _a.sent();
414 return [2 /*return*/];
415 }
416 });
417 });
418 };
419 /** Gets the text content of the tab. */
420 MatTabHarness.prototype.getTextContent = function () {
421 return __awaiter(this, void 0, void 0, function () {
422 var contentId, contentEl;
423 return __generator(this, function (_a) {
424 switch (_a.label) {
425 case 0: return [4 /*yield*/, this._getContentId()];
426 case 1:
427 contentId = _a.sent();
428 return [4 /*yield*/, this.documentRootLocatorFactory().locatorFor("#" + contentId)()];
429 case 2:
430 contentEl = _a.sent();
431 return [2 /*return*/, contentEl.text()];
432 }
433 });
434 });
435 };
436 /**
437 * Gets a `HarnessLoader` that can be used to load harnesses for components within the tab's
438 * content area.
439 * @deprecated Use `getHarness` or `getChildLoader` instead.
440 * @breaking-change 12.0.0
441 */
442 MatTabHarness.prototype.getHarnessLoaderForContent = function () {
443 return __awaiter(this, void 0, void 0, function () {
444 return __generator(this, function (_a) {
445 return [2 /*return*/, this.getRootHarnessLoader()];
446 });
447 });
448 };
449 MatTabHarness.prototype.getRootHarnessLoader = function () {
450 return __awaiter(this, void 0, void 0, function () {
451 var contentId;
452 return __generator(this, function (_a) {
453 switch (_a.label) {
454 case 0: return [4 /*yield*/, this._getContentId()];
455 case 1:
456 contentId = _a.sent();
457 return [2 /*return*/, this.documentRootLocatorFactory().harnessLoaderFor("#" + contentId)];
458 }
459 });
460 });
461 };
462 /** Gets the element id for the content of the current tab. */
463 MatTabHarness.prototype._getContentId = function () {
464 return __awaiter(this, void 0, void 0, function () {
465 var hostEl;
466 return __generator(this, function (_a) {
467 switch (_a.label) {
468 case 0: return [4 /*yield*/, this.host()];
469 case 1:
470 hostEl = _a.sent();
471 return [4 /*yield*/, hostEl.getAttribute('aria-controls')];
472 case 2:
473 // Tabs never have an empty "aria-controls" attribute.
474 return [2 /*return*/, (_a.sent())];
475 }
476 });
477 });
478 };
479 return MatTabHarness;
480 }(testing.ContentContainerComponentHarness));
481 /** The selector for the host element of a `MatTab` instance. */
482 MatTabHarness.hostSelector = '.mat-tab-label';
483
484 /** Harness for interacting with a standard mat-tab-group in tests. */
485 var MatTabGroupHarness = /** @class */ (function (_super) {
486 __extends(MatTabGroupHarness, _super);
487 function MatTabGroupHarness() {
488 return _super !== null && _super.apply(this, arguments) || this;
489 }
490 /**
491 * Gets a `HarnessPredicate` that can be used to search for a `MatTabGroupHarness` that meets
492 * certain criteria.
493 * @param options Options for filtering which tab group instances are considered a match.
494 * @return a `HarnessPredicate` configured with the given options.
495 */
496 MatTabGroupHarness.with = function (options) {
497 var _this = this;
498 if (options === void 0) { options = {}; }
499 return new testing.HarnessPredicate(MatTabGroupHarness, options)
500 .addOption('selectedTabLabel', options.selectedTabLabel, function (harness, label) { return __awaiter(_this, void 0, void 0, function () {
501 var selectedTab, _a, _b;
502 return __generator(this, function (_c) {
503 switch (_c.label) {
504 case 0: return [4 /*yield*/, harness.getSelectedTab()];
505 case 1:
506 selectedTab = _c.sent();
507 _b = (_a = testing.HarnessPredicate).stringMatches;
508 return [4 /*yield*/, selectedTab.getLabel()];
509 case 2: return [2 /*return*/, _b.apply(_a, [_c.sent(), label])];
510 }
511 });
512 }); });
513 };
514 /**
515 * Gets the list of tabs in the tab group.
516 * @param filter Optionally filters which tabs are included.
517 */
518 MatTabGroupHarness.prototype.getTabs = function (filter) {
519 if (filter === void 0) { filter = {}; }
520 return __awaiter(this, void 0, void 0, function () {
521 return __generator(this, function (_a) {
522 return [2 /*return*/, this.locatorForAll(MatTabHarness.with(filter))()];
523 });
524 });
525 };
526 /** Gets the selected tab of the tab group. */
527 MatTabGroupHarness.prototype.getSelectedTab = function () {
528 return __awaiter(this, void 0, void 0, function () {
529 var tabs, isSelected, i;
530 return __generator(this, function (_a) {
531 switch (_a.label) {
532 case 0: return [4 /*yield*/, this.getTabs()];
533 case 1:
534 tabs = _a.sent();
535 return [4 /*yield*/, testing.parallel(function () { return tabs.map(function (t) { return t.isSelected(); }); })];
536 case 2:
537 isSelected = _a.sent();
538 for (i = 0; i < tabs.length; i++) {
539 if (isSelected[i]) {
540 return [2 /*return*/, tabs[i]];
541 }
542 }
543 throw new Error('No selected tab could be found.');
544 }
545 });
546 });
547 };
548 /**
549 * Selects a tab in this tab group.
550 * @param filter An optional filter to apply to the child tabs. The first tab matching the filter
551 * will be selected.
552 */
553 MatTabGroupHarness.prototype.selectTab = function (filter) {
554 if (filter === void 0) { filter = {}; }
555 return __awaiter(this, void 0, void 0, function () {
556 var tabs;
557 return __generator(this, function (_a) {
558 switch (_a.label) {
559 case 0: return [4 /*yield*/, this.getTabs(filter)];
560 case 1:
561 tabs = _a.sent();
562 if (!tabs.length) {
563 throw Error("Cannot find mat-tab matching filter " + JSON.stringify(filter));
564 }
565 return [4 /*yield*/, tabs[0].select()];
566 case 2:
567 _a.sent();
568 return [2 /*return*/];
569 }
570 });
571 });
572 };
573 return MatTabGroupHarness;
574 }(testing.ComponentHarness));
575 /** The selector for the host element of a `MatTabGroup` instance. */
576 MatTabGroupHarness.hostSelector = '.mat-tab-group';
577
578 /** Harness for interacting with a standard Angular Material tab link in tests. */
579 var MatTabLinkHarness = /** @class */ (function (_super) {
580 __extends(MatTabLinkHarness, _super);
581 function MatTabLinkHarness() {
582 return _super !== null && _super.apply(this, arguments) || this;
583 }
584 /**
585 * Gets a `HarnessPredicate` that can be used to search for a `MatTabLinkHarness` that meets
586 * certain criteria.
587 * @param options Options for filtering which tab link instances are considered a match.
588 * @return a `HarnessPredicate` configured with the given options.
589 */
590 MatTabLinkHarness.with = function (options) {
591 if (options === void 0) { options = {}; }
592 return new testing.HarnessPredicate(MatTabLinkHarness, options)
593 .addOption('label', options.label, function (harness, label) { return testing.HarnessPredicate.stringMatches(harness.getLabel(), label); });
594 };
595 /** Gets the label of the link. */
596 MatTabLinkHarness.prototype.getLabel = function () {
597 return __awaiter(this, void 0, void 0, function () {
598 return __generator(this, function (_a) {
599 switch (_a.label) {
600 case 0: return [4 /*yield*/, this.host()];
601 case 1: return [2 /*return*/, (_a.sent()).text()];
602 }
603 });
604 });
605 };
606 /** Whether the link is active. */
607 MatTabLinkHarness.prototype.isActive = function () {
608 return __awaiter(this, void 0, void 0, function () {
609 var host;
610 return __generator(this, function (_a) {
611 switch (_a.label) {
612 case 0: return [4 /*yield*/, this.host()];
613 case 1:
614 host = _a.sent();
615 return [2 /*return*/, host.hasClass('mat-tab-label-active')];
616 }
617 });
618 });
619 };
620 /** Whether the link is disabled. */
621 MatTabLinkHarness.prototype.isDisabled = function () {
622 return __awaiter(this, void 0, void 0, function () {
623 var host;
624 return __generator(this, function (_a) {
625 switch (_a.label) {
626 case 0: return [4 /*yield*/, this.host()];
627 case 1:
628 host = _a.sent();
629 return [2 /*return*/, host.hasClass('mat-tab-disabled')];
630 }
631 });
632 });
633 };
634 /** Clicks on the link. */
635 MatTabLinkHarness.prototype.click = function () {
636 return __awaiter(this, void 0, void 0, function () {
637 return __generator(this, function (_a) {
638 switch (_a.label) {
639 case 0: return [4 /*yield*/, this.host()];
640 case 1: return [4 /*yield*/, (_a.sent()).click()];
641 case 2:
642 _a.sent();
643 return [2 /*return*/];
644 }
645 });
646 });
647 };
648 return MatTabLinkHarness;
649 }(testing.ComponentHarness));
650 /** The selector for the host element of a `MatTabLink` instance. */
651 MatTabLinkHarness.hostSelector = '.mat-tab-link';
652
653 /** Harness for interacting with a standard mat-tab-nav-bar in tests. */
654 var MatTabNavBarHarness = /** @class */ (function (_super) {
655 __extends(MatTabNavBarHarness, _super);
656 function MatTabNavBarHarness() {
657 return _super !== null && _super.apply(this, arguments) || this;
658 }
659 /**
660 * Gets a `HarnessPredicate` that can be used to search for a `MatTabNavBar` that meets
661 * certain criteria.
662 * @param options Options for filtering which tab nav bar instances are considered a match.
663 * @return a `HarnessPredicate` configured with the given options.
664 */
665 MatTabNavBarHarness.with = function (options) {
666 if (options === void 0) { options = {}; }
667 return new testing.HarnessPredicate(MatTabNavBarHarness, options);
668 };
669 /**
670 * Gets the list of links in the nav bar.
671 * @param filter Optionally filters which links are included.
672 */
673 MatTabNavBarHarness.prototype.getLinks = function (filter) {
674 if (filter === void 0) { filter = {}; }
675 return __awaiter(this, void 0, void 0, function () {
676 return __generator(this, function (_a) {
677 return [2 /*return*/, this.locatorForAll(MatTabLinkHarness.with(filter))()];
678 });
679 });
680 };
681 /** Gets the active link in the nav bar. */
682 MatTabNavBarHarness.prototype.getActiveLink = function () {
683 return __awaiter(this, void 0, void 0, function () {
684 var links, isActive, i;
685 return __generator(this, function (_a) {
686 switch (_a.label) {
687 case 0: return [4 /*yield*/, this.getLinks()];
688 case 1:
689 links = _a.sent();
690 return [4 /*yield*/, testing.parallel(function () { return links.map(function (t) { return t.isActive(); }); })];
691 case 2:
692 isActive = _a.sent();
693 for (i = 0; i < links.length; i++) {
694 if (isActive[i]) {
695 return [2 /*return*/, links[i]];
696 }
697 }
698 throw new Error('No active link could be found.');
699 }
700 });
701 });
702 };
703 /**
704 * Clicks a link inside the nav bar.
705 * @param filter An optional filter to apply to the child link. The first link matching the filter
706 * will be clicked.
707 */
708 MatTabNavBarHarness.prototype.clickLink = function (filter) {
709 if (filter === void 0) { filter = {}; }
710 return __awaiter(this, void 0, void 0, function () {
711 var tabs;
712 return __generator(this, function (_a) {
713 switch (_a.label) {
714 case 0: return [4 /*yield*/, this.getLinks(filter)];
715 case 1:
716 tabs = _a.sent();
717 if (!tabs.length) {
718 throw Error("Cannot find mat-tab-link matching filter " + JSON.stringify(filter));
719 }
720 return [4 /*yield*/, tabs[0].click()];
721 case 2:
722 _a.sent();
723 return [2 /*return*/];
724 }
725 });
726 });
727 };
728 return MatTabNavBarHarness;
729 }(testing.ComponentHarness));
730 /** The selector for the host element of a `MatTabNavBar` instance. */
731 MatTabNavBarHarness.hostSelector = '.mat-tab-nav-bar';
732
733 /**
734 * @license
735 * Copyright Google LLC All Rights Reserved.
736 *
737 * Use of this source code is governed by an MIT-style license that can be
738 * found in the LICENSE file at https://angular.io/license
739 */
740
741 /**
742 * @license
743 * Copyright Google LLC All Rights Reserved.
744 *
745 * Use of this source code is governed by an MIT-style license that can be
746 * found in the LICENSE file at https://angular.io/license
747 */
748
749 exports.MatTabGroupHarness = MatTabGroupHarness;
750 exports.MatTabHarness = MatTabHarness;
751 exports.MatTabLinkHarness = MatTabLinkHarness;
752 exports.MatTabNavBarHarness = MatTabNavBarHarness;
753
754 Object.defineProperty(exports, '__esModule', { value: true });
755
756})));
757//# sourceMappingURL=material-tabs-testing.umd.js.map
Note: See TracBrowser for help on using the repository browser.