source: trip-planner-front/node_modules/@angular/material/bundles/material-chips-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: 46.6 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/chips/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.chips = global.ng.material.chips || {}, global.ng.material.chips.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 Material chip avatar in tests. */
326 var MatChipAvatarHarness = /** @class */ (function (_super) {
327 __extends(MatChipAvatarHarness, _super);
328 function MatChipAvatarHarness() {
329 return _super !== null && _super.apply(this, arguments) || this;
330 }
331 /**
332 * Gets a `HarnessPredicate` that can be used to search for a `MatChipAvatarHarness` that meets
333 * certain criteria.
334 * @param options Options for filtering which input instances are considered a match.
335 * @return a `HarnessPredicate` configured with the given options.
336 */
337 MatChipAvatarHarness.with = function (options) {
338 if (options === void 0) { options = {}; }
339 return new testing.HarnessPredicate(MatChipAvatarHarness, options);
340 };
341 return MatChipAvatarHarness;
342 }(testing.ComponentHarness));
343 MatChipAvatarHarness.hostSelector = '.mat-chip-avatar';
344
345 /** Harness for interacting with a standard Material chip remove button in tests. */
346 var MatChipRemoveHarness = /** @class */ (function (_super) {
347 __extends(MatChipRemoveHarness, _super);
348 function MatChipRemoveHarness() {
349 return _super !== null && _super.apply(this, arguments) || this;
350 }
351 /**
352 * Gets a `HarnessPredicate` that can be used to search for a `MatChipRemoveHarness` that meets
353 * certain criteria.
354 * @param options Options for filtering which input instances are considered a match.
355 * @return a `HarnessPredicate` configured with the given options.
356 */
357 MatChipRemoveHarness.with = function (options) {
358 if (options === void 0) { options = {}; }
359 return new testing.HarnessPredicate(MatChipRemoveHarness, options);
360 };
361 /** Clicks the remove button. */
362 MatChipRemoveHarness.prototype.click = function () {
363 return __awaiter(this, void 0, void 0, function () {
364 return __generator(this, function (_a) {
365 switch (_a.label) {
366 case 0: return [4 /*yield*/, this.host()];
367 case 1: return [2 /*return*/, (_a.sent()).click()];
368 }
369 });
370 });
371 };
372 return MatChipRemoveHarness;
373 }(testing.ComponentHarness));
374 MatChipRemoveHarness.hostSelector = '.mat-chip-remove';
375
376 /** Harness for interacting with a standard selectable Angular Material chip in tests. */
377 var MatChipHarness = /** @class */ (function (_super) {
378 __extends(MatChipHarness, _super);
379 function MatChipHarness() {
380 return _super !== null && _super.apply(this, arguments) || this;
381 }
382 /**
383 * Gets a `HarnessPredicate` that can be used to search for a `MatChipHarness` that meets
384 * certain criteria.
385 * @param options Options for filtering which chip instances are considered a match.
386 * @return a `HarnessPredicate` configured with the given options.
387 */
388 MatChipHarness.with = function (options) {
389 var _this = this;
390 if (options === void 0) { options = {}; }
391 return new testing.HarnessPredicate(MatChipHarness, options)
392 .addOption('text', options.text, function (harness, label) { return testing.HarnessPredicate.stringMatches(harness.getText(), label); })
393 .addOption('selected', options.selected, function (harness, selected) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
394 switch (_a.label) {
395 case 0: return [4 /*yield*/, harness.isSelected()];
396 case 1: return [2 /*return*/, (_a.sent()) === selected];
397 }
398 }); }); });
399 };
400 /** Gets the text of the chip. */
401 MatChipHarness.prototype.getText = function () {
402 return __awaiter(this, void 0, void 0, function () {
403 return __generator(this, function (_a) {
404 switch (_a.label) {
405 case 0: return [4 /*yield*/, this.host()];
406 case 1: return [2 /*return*/, (_a.sent()).text({
407 exclude: '.mat-chip-avatar, .mat-chip-trailing-icon, .mat-icon'
408 })];
409 }
410 });
411 });
412 };
413 /**
414 * Whether the chip is selected.
415 * @deprecated Use `MatChipOptionHarness.isSelected` instead.
416 * @breaking-change 12.0.0
417 */
418 MatChipHarness.prototype.isSelected = function () {
419 return __awaiter(this, void 0, void 0, function () {
420 return __generator(this, function (_a) {
421 switch (_a.label) {
422 case 0: return [4 /*yield*/, this.host()];
423 case 1: return [2 /*return*/, (_a.sent()).hasClass('mat-chip-selected')];
424 }
425 });
426 });
427 };
428 /** Whether the chip is disabled. */
429 MatChipHarness.prototype.isDisabled = function () {
430 return __awaiter(this, void 0, void 0, function () {
431 return __generator(this, function (_a) {
432 switch (_a.label) {
433 case 0: return [4 /*yield*/, this.host()];
434 case 1: return [2 /*return*/, (_a.sent()).hasClass('mat-chip-disabled')];
435 }
436 });
437 });
438 };
439 /**
440 * Selects the given chip. Only applies if it's selectable.
441 * @deprecated Use `MatChipOptionHarness.select` instead.
442 * @breaking-change 12.0.0
443 */
444 MatChipHarness.prototype.select = function () {
445 return __awaiter(this, void 0, void 0, function () {
446 return __generator(this, function (_a) {
447 switch (_a.label) {
448 case 0: return [4 /*yield*/, this.isSelected()];
449 case 1:
450 if (!!(_a.sent())) return [3 /*break*/, 3];
451 return [4 /*yield*/, this.toggle()];
452 case 2:
453 _a.sent();
454 _a.label = 3;
455 case 3: return [2 /*return*/];
456 }
457 });
458 });
459 };
460 /**
461 * Deselects the given chip. Only applies if it's selectable.
462 * @deprecated Use `MatChipOptionHarness.deselect` instead.
463 * @breaking-change 12.0.0
464 */
465 MatChipHarness.prototype.deselect = function () {
466 return __awaiter(this, void 0, void 0, function () {
467 return __generator(this, function (_a) {
468 switch (_a.label) {
469 case 0: return [4 /*yield*/, this.isSelected()];
470 case 1:
471 if (!_a.sent()) return [3 /*break*/, 3];
472 return [4 /*yield*/, this.toggle()];
473 case 2:
474 _a.sent();
475 _a.label = 3;
476 case 3: return [2 /*return*/];
477 }
478 });
479 });
480 };
481 /**
482 * Toggles the selected state of the given chip. Only applies if it's selectable.
483 * @deprecated Use `MatChipOptionHarness.toggle` instead.
484 * @breaking-change 12.0.0
485 */
486 MatChipHarness.prototype.toggle = function () {
487 return __awaiter(this, void 0, void 0, function () {
488 return __generator(this, function (_a) {
489 switch (_a.label) {
490 case 0: return [4 /*yield*/, this.host()];
491 case 1: return [2 /*return*/, (_a.sent()).sendKeys(' ')];
492 }
493 });
494 });
495 };
496 /** Removes the given chip. Only applies if it's removable. */
497 MatChipHarness.prototype.remove = function () {
498 return __awaiter(this, void 0, void 0, function () {
499 return __generator(this, function (_a) {
500 switch (_a.label) {
501 case 0: return [4 /*yield*/, this.host()];
502 case 1: return [4 /*yield*/, (_a.sent()).sendKeys(testing.TestKey.DELETE)];
503 case 2:
504 _a.sent();
505 return [2 /*return*/];
506 }
507 });
508 });
509 };
510 /**
511 * Gets the remove button inside of a chip.
512 * @param filter Optionally filters which remove buttons are included.
513 */
514 MatChipHarness.prototype.getRemoveButton = function (filter) {
515 if (filter === void 0) { filter = {}; }
516 return __awaiter(this, void 0, void 0, function () {
517 return __generator(this, function (_a) {
518 return [2 /*return*/, this.locatorFor(MatChipRemoveHarness.with(filter))()];
519 });
520 });
521 };
522 /**
523 * Gets the avatar inside a chip.
524 * @param filter Optionally filters which avatars are included.
525 */
526 MatChipHarness.prototype.getAvatar = function (filter) {
527 if (filter === void 0) { filter = {}; }
528 return __awaiter(this, void 0, void 0, function () {
529 return __generator(this, function (_a) {
530 return [2 /*return*/, this.locatorForOptional(MatChipAvatarHarness.with(filter))()];
531 });
532 });
533 };
534 return MatChipHarness;
535 }(testing.ContentContainerComponentHarness));
536 /** The selector for the host element of a `MatChip` instance. */
537 MatChipHarness.hostSelector = '.mat-chip';
538
539 /** Harness for interacting with a standard Material chip inputs in tests. */
540 var MatChipInputHarness = /** @class */ (function (_super) {
541 __extends(MatChipInputHarness, _super);
542 function MatChipInputHarness() {
543 return _super !== null && _super.apply(this, arguments) || this;
544 }
545 /**
546 * Gets a `HarnessPredicate` that can be used to search for a `MatChipInputHarness` that meets
547 * certain criteria.
548 * @param options Options for filtering which input instances are considered a match.
549 * @return a `HarnessPredicate` configured with the given options.
550 */
551 MatChipInputHarness.with = function (options) {
552 var _this = this;
553 if (options === void 0) { options = {}; }
554 return new testing.HarnessPredicate(MatChipInputHarness, options)
555 .addOption('value', options.value, function (harness, value) { return __awaiter(_this, void 0, void 0, function () {
556 return __generator(this, function (_a) {
557 switch (_a.label) {
558 case 0: return [4 /*yield*/, harness.getValue()];
559 case 1: return [2 /*return*/, (_a.sent()) === value];
560 }
561 });
562 }); })
563 .addOption('placeholder', options.placeholder, function (harness, placeholder) { return __awaiter(_this, void 0, void 0, function () {
564 return __generator(this, function (_a) {
565 switch (_a.label) {
566 case 0: return [4 /*yield*/, harness.getPlaceholder()];
567 case 1: return [2 /*return*/, (_a.sent()) === placeholder];
568 }
569 });
570 }); });
571 };
572 /** Whether the input is disabled. */
573 MatChipInputHarness.prototype.isDisabled = 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()).getProperty('disabled')];
579 }
580 });
581 });
582 };
583 /** Whether the input is required. */
584 MatChipInputHarness.prototype.isRequired = 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()).getProperty('required')];
590 }
591 });
592 });
593 };
594 /** Gets the value of the input. */
595 MatChipInputHarness.prototype.getValue = 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 [4 /*yield*/, (_a.sent()).getProperty('value')];
601 case 2:
602 // The "value" property of the native input is never undefined.
603 return [2 /*return*/, (_a.sent())];
604 }
605 });
606 });
607 };
608 /** Gets the placeholder of the input. */
609 MatChipInputHarness.prototype.getPlaceholder = function () {
610 return __awaiter(this, void 0, void 0, function () {
611 return __generator(this, function (_a) {
612 switch (_a.label) {
613 case 0: return [4 /*yield*/, this.host()];
614 case 1: return [4 /*yield*/, (_a.sent()).getProperty('placeholder')];
615 case 2: return [2 /*return*/, (_a.sent())];
616 }
617 });
618 });
619 };
620 /**
621 * Focuses the input and returns a promise that indicates when the
622 * action is complete.
623 */
624 MatChipInputHarness.prototype.focus = function () {
625 return __awaiter(this, void 0, void 0, function () {
626 return __generator(this, function (_a) {
627 switch (_a.label) {
628 case 0: return [4 /*yield*/, this.host()];
629 case 1: return [2 /*return*/, (_a.sent()).focus()];
630 }
631 });
632 });
633 };
634 /**
635 * Blurs the input and returns a promise that indicates when the
636 * action is complete.
637 */
638 MatChipInputHarness.prototype.blur = function () {
639 return __awaiter(this, void 0, void 0, function () {
640 return __generator(this, function (_a) {
641 switch (_a.label) {
642 case 0: return [4 /*yield*/, this.host()];
643 case 1: return [2 /*return*/, (_a.sent()).blur()];
644 }
645 });
646 });
647 };
648 /** Whether the input is focused. */
649 MatChipInputHarness.prototype.isFocused = function () {
650 return __awaiter(this, void 0, void 0, function () {
651 return __generator(this, function (_a) {
652 switch (_a.label) {
653 case 0: return [4 /*yield*/, this.host()];
654 case 1: return [2 /*return*/, (_a.sent()).isFocused()];
655 }
656 });
657 });
658 };
659 /**
660 * Sets the value of the input. The value will be set by simulating
661 * keypresses that correspond to the given value.
662 */
663 MatChipInputHarness.prototype.setValue = function (newValue) {
664 return __awaiter(this, void 0, void 0, function () {
665 var inputEl;
666 return __generator(this, function (_a) {
667 switch (_a.label) {
668 case 0: return [4 /*yield*/, this.host()];
669 case 1:
670 inputEl = _a.sent();
671 return [4 /*yield*/, inputEl.clear()];
672 case 2:
673 _a.sent();
674 if (!newValue) return [3 /*break*/, 4];
675 return [4 /*yield*/, inputEl.sendKeys(newValue)];
676 case 3:
677 _a.sent();
678 _a.label = 4;
679 case 4: return [2 /*return*/];
680 }
681 });
682 });
683 };
684 /** Sends a chip separator key to the input element. */
685 MatChipInputHarness.prototype.sendSeparatorKey = function (key) {
686 return __awaiter(this, void 0, void 0, function () {
687 var inputEl;
688 return __generator(this, function (_a) {
689 switch (_a.label) {
690 case 0: return [4 /*yield*/, this.host()];
691 case 1:
692 inputEl = _a.sent();
693 return [2 /*return*/, inputEl.sendKeys(key)];
694 }
695 });
696 });
697 };
698 return MatChipInputHarness;
699 }(testing.ComponentHarness));
700 MatChipInputHarness.hostSelector = '.mat-chip-input';
701
702 /** Base class for chip list harnesses. */
703 var _MatChipListHarnessBase = /** @class */ (function (_super) {
704 __extends(_MatChipListHarnessBase, _super);
705 function _MatChipListHarnessBase() {
706 return _super !== null && _super.apply(this, arguments) || this;
707 }
708 /** Gets whether the chip list is disabled. */
709 _MatChipListHarnessBase.prototype.isDisabled = function () {
710 return __awaiter(this, void 0, void 0, function () {
711 return __generator(this, function (_a) {
712 switch (_a.label) {
713 case 0: return [4 /*yield*/, this.host()];
714 case 1: return [4 /*yield*/, (_a.sent()).getAttribute('aria-disabled')];
715 case 2: return [2 /*return*/, (_a.sent()) === 'true'];
716 }
717 });
718 });
719 };
720 /** Gets whether the chip list is required. */
721 _MatChipListHarnessBase.prototype.isRequired = function () {
722 return __awaiter(this, void 0, void 0, function () {
723 return __generator(this, function (_a) {
724 switch (_a.label) {
725 case 0: return [4 /*yield*/, this.host()];
726 case 1: return [4 /*yield*/, (_a.sent()).getAttribute('aria-required')];
727 case 2: return [2 /*return*/, (_a.sent()) === 'true'];
728 }
729 });
730 });
731 };
732 /** Gets whether the chip list is invalid. */
733 _MatChipListHarnessBase.prototype.isInvalid = function () {
734 return __awaiter(this, void 0, void 0, function () {
735 return __generator(this, function (_a) {
736 switch (_a.label) {
737 case 0: return [4 /*yield*/, this.host()];
738 case 1: return [4 /*yield*/, (_a.sent()).getAttribute('aria-invalid')];
739 case 2: return [2 /*return*/, (_a.sent()) === 'true'];
740 }
741 });
742 });
743 };
744 /** Gets whether the chip list is in multi selection mode. */
745 _MatChipListHarnessBase.prototype.isMultiple = function () {
746 return __awaiter(this, void 0, void 0, function () {
747 return __generator(this, function (_a) {
748 switch (_a.label) {
749 case 0: return [4 /*yield*/, this.host()];
750 case 1: return [4 /*yield*/, (_a.sent()).getAttribute('aria-multiselectable')];
751 case 2: return [2 /*return*/, (_a.sent()) === 'true'];
752 }
753 });
754 });
755 };
756 /** Gets whether the orientation of the chip list. */
757 _MatChipListHarnessBase.prototype.getOrientation = function () {
758 return __awaiter(this, void 0, void 0, function () {
759 var orientation;
760 return __generator(this, function (_a) {
761 switch (_a.label) {
762 case 0: return [4 /*yield*/, this.host()];
763 case 1: return [4 /*yield*/, (_a.sent()).getAttribute('aria-orientation')];
764 case 2:
765 orientation = _a.sent();
766 return [2 /*return*/, orientation === 'vertical' ? 'vertical' : 'horizontal'];
767 }
768 });
769 });
770 };
771 return _MatChipListHarnessBase;
772 }(testing.ComponentHarness));
773 /** Harness for interacting with a standard chip list in tests. */
774 var MatChipListHarness = /** @class */ (function (_super) {
775 __extends(MatChipListHarness, _super);
776 function MatChipListHarness() {
777 return _super !== null && _super.apply(this, arguments) || this;
778 }
779 /**
780 * Gets a `HarnessPredicate` that can be used to search for a `MatChipListHarness` that meets
781 * certain criteria.
782 * @param options Options for filtering which chip list instances are considered a match.
783 * @return a `HarnessPredicate` configured with the given options.
784 */
785 MatChipListHarness.with = function (options) {
786 if (options === void 0) { options = {}; }
787 return new testing.HarnessPredicate(MatChipListHarness, options);
788 };
789 /**
790 * Gets the list of chips inside the chip list.
791 * @param filter Optionally filters which chips are included.
792 */
793 MatChipListHarness.prototype.getChips = function (filter) {
794 if (filter === void 0) { filter = {}; }
795 return __awaiter(this, void 0, void 0, function () {
796 return __generator(this, function (_a) {
797 return [2 /*return*/, this.locatorForAll(MatChipHarness.with(filter))()];
798 });
799 });
800 };
801 /**
802 * Selects a chip inside the chip list.
803 * @param filter An optional filter to apply to the child chips.
804 * All the chips matching the filter will be selected.
805 * @deprecated Use `MatChipListboxHarness.selectChips` instead.
806 * @breaking-change 12.0.0
807 */
808 MatChipListHarness.prototype.selectChips = function (filter) {
809 if (filter === void 0) { filter = {}; }
810 return __awaiter(this, void 0, void 0, function () {
811 var chips;
812 return __generator(this, function (_a) {
813 switch (_a.label) {
814 case 0: return [4 /*yield*/, this.getChips(filter)];
815 case 1:
816 chips = _a.sent();
817 if (!chips.length) {
818 throw Error("Cannot find chip matching filter " + JSON.stringify(filter));
819 }
820 return [4 /*yield*/, testing.parallel(function () { return chips.map(function (chip) { return chip.select(); }); })];
821 case 2:
822 _a.sent();
823 return [2 /*return*/];
824 }
825 });
826 });
827 };
828 /**
829 * Gets the `MatChipInput` inside the chip list.
830 * @param filter Optionally filters which chip input is included.
831 */
832 MatChipListHarness.prototype.getInput = function (filter) {
833 if (filter === void 0) { filter = {}; }
834 return __awaiter(this, void 0, void 0, function () {
835 var inputId;
836 return __generator(this, function (_a) {
837 switch (_a.label) {
838 case 0: return [4 /*yield*/, this.host()];
839 case 1: return [4 /*yield*/, (_a.sent()).getAttribute('data-mat-chip-input')];
840 case 2:
841 inputId = _a.sent();
842 if (!inputId) {
843 throw Error("Chip list is not associated with an input");
844 }
845 return [2 /*return*/, this.documentRootLocatorFactory().locatorFor(MatChipInputHarness.with(Object.assign(Object.assign({}, filter), { selector: "#" + inputId })))()];
846 }
847 });
848 });
849 };
850 return MatChipListHarness;
851 }(_MatChipListHarnessBase));
852 /** The selector for the host element of a `MatChipList` instance. */
853 MatChipListHarness.hostSelector = '.mat-chip-list';
854
855 var MatChipOptionHarness = /** @class */ (function (_super) {
856 __extends(MatChipOptionHarness, _super);
857 function MatChipOptionHarness() {
858 return _super !== null && _super.apply(this, arguments) || this;
859 }
860 /**
861 * Gets a `HarnessPredicate` that can be used to search for a `MatChipOptionHarness`
862 * that meets certain criteria.
863 * @param options Options for filtering which chip instances are considered a match.
864 * @return a `HarnessPredicate` configured with the given options.
865 */
866 MatChipOptionHarness.with = function (options) {
867 var _this = this;
868 if (options === void 0) { options = {}; }
869 return new testing.HarnessPredicate(MatChipOptionHarness, options)
870 .addOption('text', options.text, function (harness, label) { return testing.HarnessPredicate.stringMatches(harness.getText(), label); })
871 .addOption('selected', options.selected, function (harness, selected) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
872 switch (_a.label) {
873 case 0: return [4 /*yield*/, harness.isSelected()];
874 case 1: return [2 /*return*/, (_a.sent()) === selected];
875 }
876 }); }); });
877 };
878 /** Whether the chip is selected. */
879 MatChipOptionHarness.prototype.isSelected = function () {
880 return __awaiter(this, void 0, void 0, function () {
881 return __generator(this, function (_a) {
882 switch (_a.label) {
883 case 0: return [4 /*yield*/, this.host()];
884 case 1: return [2 /*return*/, (_a.sent()).hasClass('mat-chip-selected')];
885 }
886 });
887 });
888 };
889 /** Selects the given chip. Only applies if it's selectable. */
890 MatChipOptionHarness.prototype.select = function () {
891 return __awaiter(this, void 0, void 0, function () {
892 return __generator(this, function (_a) {
893 switch (_a.label) {
894 case 0: return [4 /*yield*/, this.isSelected()];
895 case 1:
896 if (!!(_a.sent())) return [3 /*break*/, 3];
897 return [4 /*yield*/, this.toggle()];
898 case 2:
899 _a.sent();
900 _a.label = 3;
901 case 3: return [2 /*return*/];
902 }
903 });
904 });
905 };
906 /** Deselects the given chip. Only applies if it's selectable. */
907 MatChipOptionHarness.prototype.deselect = function () {
908 return __awaiter(this, void 0, void 0, function () {
909 return __generator(this, function (_a) {
910 switch (_a.label) {
911 case 0: return [4 /*yield*/, this.isSelected()];
912 case 1:
913 if (!_a.sent()) return [3 /*break*/, 3];
914 return [4 /*yield*/, this.toggle()];
915 case 2:
916 _a.sent();
917 _a.label = 3;
918 case 3: return [2 /*return*/];
919 }
920 });
921 });
922 };
923 /** Toggles the selected state of the given chip. */
924 MatChipOptionHarness.prototype.toggle = function () {
925 return __awaiter(this, void 0, void 0, function () {
926 return __generator(this, function (_a) {
927 switch (_a.label) {
928 case 0: return [4 /*yield*/, this.host()];
929 case 1: return [2 /*return*/, (_a.sent()).sendKeys(' ')];
930 }
931 });
932 });
933 };
934 return MatChipOptionHarness;
935 }(MatChipHarness));
936 /** The selector for the host element of a selectable chip instance. */
937 MatChipOptionHarness.hostSelector = '.mat-chip';
938
939 /** Harness for interacting with a standard selectable chip list in tests. */
940 var MatChipListboxHarness = /** @class */ (function (_super) {
941 __extends(MatChipListboxHarness, _super);
942 function MatChipListboxHarness() {
943 return _super !== null && _super.apply(this, arguments) || this;
944 }
945 /**
946 * Gets a `HarnessPredicate` that can be used to search for a `MatChipListHarness` that meets
947 * certain criteria.
948 * @param options Options for filtering which chip list instances are considered a match.
949 * @return a `HarnessPredicate` configured with the given options.
950 */
951 MatChipListboxHarness.with = function (options) {
952 if (options === void 0) { options = {}; }
953 return new testing.HarnessPredicate(MatChipListboxHarness, options);
954 };
955 /**
956 * Gets the list of chips inside the chip list.
957 * @param filter Optionally filters which chips are included.
958 */
959 MatChipListboxHarness.prototype.getChips = function (filter) {
960 if (filter === void 0) { filter = {}; }
961 return __awaiter(this, void 0, void 0, function () {
962 return __generator(this, function (_a) {
963 return [2 /*return*/, this.locatorForAll(MatChipOptionHarness.with(filter))()];
964 });
965 });
966 };
967 /**
968 * Selects a chip inside the chip list.
969 * @param filter An optional filter to apply to the child chips.
970 * All the chips matching the filter will be selected.
971 */
972 MatChipListboxHarness.prototype.selectChips = function (filter) {
973 if (filter === void 0) { filter = {}; }
974 return __awaiter(this, void 0, void 0, function () {
975 var chips;
976 return __generator(this, function (_a) {
977 switch (_a.label) {
978 case 0: return [4 /*yield*/, this.getChips(filter)];
979 case 1:
980 chips = _a.sent();
981 if (!chips.length) {
982 throw Error("Cannot find chip matching filter " + JSON.stringify(filter));
983 }
984 return [4 /*yield*/, testing.parallel(function () { return chips.map(function (chip) { return chip.select(); }); })];
985 case 2:
986 _a.sent();
987 return [2 /*return*/];
988 }
989 });
990 });
991 };
992 return MatChipListboxHarness;
993 }(_MatChipListHarnessBase));
994 /** The selector for the host element of a `MatChipList` instance. */
995 MatChipListboxHarness.hostSelector = '.mat-chip-list';
996
997 /**
998 * @license
999 * Copyright Google LLC All Rights Reserved.
1000 *
1001 * Use of this source code is governed by an MIT-style license that can be
1002 * found in the LICENSE file at https://angular.io/license
1003 */
1004
1005 /**
1006 * @license
1007 * Copyright Google LLC All Rights Reserved.
1008 *
1009 * Use of this source code is governed by an MIT-style license that can be
1010 * found in the LICENSE file at https://angular.io/license
1011 */
1012
1013 exports.MatChipHarness = MatChipHarness;
1014 exports.MatChipInputHarness = MatChipInputHarness;
1015 exports.MatChipListHarness = MatChipListHarness;
1016 exports.MatChipListboxHarness = MatChipListboxHarness;
1017 exports.MatChipOptionHarness = MatChipOptionHarness;
1018 exports.MatChipRemoveHarness = MatChipRemoveHarness;
1019
1020 Object.defineProperty(exports, '__esModule', { value: true });
1021
1022})));
1023//# sourceMappingURL=material-chips-testing.umd.js.map
Note: See TracBrowser for help on using the repository browser.