source: trip-planner-front/node_modules/@angular/material/bundles/material-tree-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: 28.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/tree/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.tree = global.ng.material.tree || {}, global.ng.material.tree.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 /** Harness for interacting with a standard Angular Material tree node. */
326 var MatTreeNodeHarness = /** @class */ (function (_super) {
327 __extends(MatTreeNodeHarness, _super);
328 function MatTreeNodeHarness() {
329 var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
330 _this._toggle = _this.locatorForOptional('[matTreeNodeToggle]');
331 return _this;
332 }
333 /**
334 * Gets a `HarnessPredicate` that can be used to search for a tree node with specific attributes.
335 * @param options Options for narrowing the search
336 * @return a `HarnessPredicate` configured with the given options.
337 */
338 MatTreeNodeHarness.with = function (options) {
339 if (options === void 0) { options = {}; }
340 return getNodePredicate(MatTreeNodeHarness, options);
341 };
342 /** Whether the tree node is expanded. */
343 MatTreeNodeHarness.prototype.isExpanded = function () {
344 return __awaiter(this, void 0, void 0, function () {
345 var _a;
346 return __generator(this, function (_b) {
347 switch (_b.label) {
348 case 0:
349 _a = coercion.coerceBooleanProperty;
350 return [4 /*yield*/, this.host()];
351 case 1: return [4 /*yield*/, (_b.sent()).getAttribute('aria-expanded')];
352 case 2: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
353 }
354 });
355 });
356 };
357 /** Whether the tree node is disabled. */
358 MatTreeNodeHarness.prototype.isDisabled = function () {
359 return __awaiter(this, void 0, void 0, function () {
360 var _a;
361 return __generator(this, function (_b) {
362 switch (_b.label) {
363 case 0:
364 _a = coercion.coerceBooleanProperty;
365 return [4 /*yield*/, this.host()];
366 case 1: return [4 /*yield*/, (_b.sent()).getProperty('aria-disabled')];
367 case 2: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
368 }
369 });
370 });
371 };
372 /** Gets the level of the tree node. Note that this gets the aria-level and is 1 indexed. */
373 MatTreeNodeHarness.prototype.getLevel = function () {
374 return __awaiter(this, void 0, void 0, function () {
375 var _a;
376 return __generator(this, function (_b) {
377 switch (_b.label) {
378 case 0:
379 _a = coercion.coerceNumberProperty;
380 return [4 /*yield*/, this.host()];
381 case 1: return [4 /*yield*/, (_b.sent()).getAttribute('aria-level')];
382 case 2: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
383 }
384 });
385 });
386 };
387 /** Gets the tree node's text. */
388 MatTreeNodeHarness.prototype.getText = function () {
389 return __awaiter(this, void 0, void 0, function () {
390 return __generator(this, function (_a) {
391 switch (_a.label) {
392 case 0: return [4 /*yield*/, this.host()];
393 case 1: return [2 /*return*/, (_a.sent()).text({ exclude: '.mat-tree-node, .mat-nested-tree-node, button' })];
394 }
395 });
396 });
397 };
398 /** Toggles node between expanded/collapsed. Only works when node is not disabled. */
399 MatTreeNodeHarness.prototype.toggle = function () {
400 return __awaiter(this, void 0, void 0, function () {
401 var toggle;
402 return __generator(this, function (_a) {
403 switch (_a.label) {
404 case 0: return [4 /*yield*/, this._toggle()];
405 case 1:
406 toggle = _a.sent();
407 if (toggle) {
408 return [2 /*return*/, toggle.click()];
409 }
410 return [2 /*return*/];
411 }
412 });
413 });
414 };
415 /** Expands the node if it is collapsed. Only works when node is not disabled. */
416 MatTreeNodeHarness.prototype.expand = function () {
417 return __awaiter(this, void 0, void 0, function () {
418 return __generator(this, function (_a) {
419 switch (_a.label) {
420 case 0: return [4 /*yield*/, this.isExpanded()];
421 case 1:
422 if (!!(_a.sent())) return [3 /*break*/, 3];
423 return [4 /*yield*/, this.toggle()];
424 case 2:
425 _a.sent();
426 _a.label = 3;
427 case 3: return [2 /*return*/];
428 }
429 });
430 });
431 };
432 /** Collapses the node if it is expanded. Only works when node is not disabled. */
433 MatTreeNodeHarness.prototype.collapse = function () {
434 return __awaiter(this, void 0, void 0, function () {
435 return __generator(this, function (_a) {
436 switch (_a.label) {
437 case 0: return [4 /*yield*/, this.isExpanded()];
438 case 1:
439 if (!_a.sent()) return [3 /*break*/, 3];
440 return [4 /*yield*/, this.toggle()];
441 case 2:
442 _a.sent();
443 _a.label = 3;
444 case 3: return [2 /*return*/];
445 }
446 });
447 });
448 };
449 return MatTreeNodeHarness;
450 }(testing.ContentContainerComponentHarness));
451 /** The selector of the host element of a `MatTreeNode` instance. */
452 MatTreeNodeHarness.hostSelector = '.mat-tree-node, .mat-nested-tree-node';
453 function getNodePredicate(type, options) {
454 var _this = this;
455 return new testing.HarnessPredicate(type, options)
456 .addOption('text', options.text, function (harness, text) { return testing.HarnessPredicate.stringMatches(harness.getText(), text); })
457 .addOption('disabled', options.disabled, function (harness, disabled) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
458 switch (_a.label) {
459 case 0: return [4 /*yield*/, harness.isDisabled()];
460 case 1: return [2 /*return*/, (_a.sent()) === disabled];
461 }
462 }); }); })
463 .addOption('expanded', options.expanded, function (harness, expanded) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
464 switch (_a.label) {
465 case 0: return [4 /*yield*/, harness.isExpanded()];
466 case 1: return [2 /*return*/, (_a.sent()) === expanded];
467 }
468 }); }); })
469 .addOption('level', options.level, function (harness, level) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
470 switch (_a.label) {
471 case 0: return [4 /*yield*/, harness.getLevel()];
472 case 1: return [2 /*return*/, (_a.sent()) === level];
473 }
474 }); }); });
475 }
476
477 /** Harness for interacting with a standard mat-tree in tests. */
478 var MatTreeHarness = /** @class */ (function (_super) {
479 __extends(MatTreeHarness, _super);
480 function MatTreeHarness() {
481 return _super !== null && _super.apply(this, arguments) || this;
482 }
483 /**
484 * Gets a `HarnessPredicate` that can be used to search for a tree with specific attributes.
485 * @param options Options for narrowing the search
486 * @return a `HarnessPredicate` configured with the given options.
487 */
488 MatTreeHarness.with = function (options) {
489 if (options === void 0) { options = {}; }
490 return new testing.HarnessPredicate(MatTreeHarness, options);
491 };
492 /** Gets all of the nodes in the tree. */
493 MatTreeHarness.prototype.getNodes = function (filter) {
494 if (filter === void 0) { filter = {}; }
495 return __awaiter(this, void 0, void 0, function () {
496 return __generator(this, function (_d) {
497 return [2 /*return*/, this.locatorForAll(MatTreeNodeHarness.with(filter))()];
498 });
499 });
500 };
501 /**
502 * Gets an object representation for the visible tree structure
503 * If a node is under an unexpanded node it will not be included.
504 * Eg.
505 * Tree (all nodes expanded):
506 * `
507 * <mat-tree>
508 * <mat-tree-node>Node 1<mat-tree-node>
509 * <mat-nested-tree-node>
510 * Node 2
511 * <mat-nested-tree-node>
512 * Node 2.1
513 * <mat-tree-node>
514 * Node 2.1.1
515 * <mat-tree-node>
516 * <mat-nested-tree-node>
517 * <mat-tree-node>
518 * Node 2.2
519 * <mat-tree-node>
520 * <mat-nested-tree-node>
521 * </mat-tree>`
522 *
523 * Tree structure:
524 * {
525 * children: [
526 * {
527 * text: 'Node 1',
528 * children: [
529 * {
530 * text: 'Node 2',
531 * children: [
532 * {
533 * text: 'Node 2.1',
534 * children: [{text: 'Node 2.1.1'}]
535 * },
536 * {text: 'Node 2.2'}
537 * ]
538 * }
539 * ]
540 * }
541 * ]
542 * };
543 */
544 MatTreeHarness.prototype.getTreeStructure = function () {
545 return __awaiter(this, void 0, void 0, function () {
546 var nodes, nodeInformation;
547 return __generator(this, function (_d) {
548 switch (_d.label) {
549 case 0: return [4 /*yield*/, this.getNodes()];
550 case 1:
551 nodes = _d.sent();
552 return [4 /*yield*/, testing.parallel(function () { return nodes.map(function (node) {
553 return testing.parallel(function () { return [node.getLevel(), node.getText(), node.isExpanded()]; });
554 }); })];
555 case 2:
556 nodeInformation = _d.sent();
557 return [2 /*return*/, this._getTreeStructure(nodeInformation, 1, true)];
558 }
559 });
560 });
561 };
562 /**
563 * Recursively collect the structured text of the tree nodes.
564 * @param nodes A list of tree nodes
565 * @param level The level of nodes that are being accounted for during this iteration
566 * @param parentExpanded Whether the parent of the first node in param nodes is expanded
567 */
568 MatTreeHarness.prototype._getTreeStructure = function (nodes, level, parentExpanded) {
569 var _a, _b, _c;
570 var result = {};
571 for (var i = 0; i < nodes.length; i++) {
572 var _d = __read(nodes[i], 3), nodeLevel = _d[0], text = _d[1], expanded = _d[2];
573 var nextNodeLevel = (_b = (_a = nodes[i + 1]) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : -1;
574 // Return the accumulated value for the current level once we reach a shallower level node
575 if (nodeLevel < level) {
576 return result;
577 }
578 // Skip deeper level nodes during this iteration, they will be picked up in a later iteration
579 if (nodeLevel > level) {
580 continue;
581 }
582 // Only add to representation if it is visible (parent is expanded)
583 if (parentExpanded) {
584 // Collect the data under this node according to the following rules:
585 // 1. If the next node in the list is a sibling of the current node add it to the child list
586 // 2. If the next node is a child of the current node, get the sub-tree structure for the
587 // child and add it under this node
588 // 3. If the next node has a shallower level, we've reached the end of the child nodes for
589 // the current parent.
590 if (nextNodeLevel === level) {
591 this._addChildToNode(result, { text: text });
592 }
593 else if (nextNodeLevel > level) {
594 var children = (_c = this._getTreeStructure(nodes.slice(i + 1), nextNodeLevel, expanded)) === null || _c === void 0 ? void 0 : _c.children;
595 var child = children ? { text: text, children: children } : { text: text };
596 this._addChildToNode(result, child);
597 }
598 else {
599 this._addChildToNode(result, { text: text });
600 return result;
601 }
602 }
603 }
604 return result;
605 };
606 MatTreeHarness.prototype._addChildToNode = function (result, child) {
607 result.children ? result.children.push(child) : result.children = [child];
608 };
609 return MatTreeHarness;
610 }(testing.ComponentHarness));
611 /** The selector for the host element of a `MatTableHarness` instance. */
612 MatTreeHarness.hostSelector = '.mat-tree';
613
614 /**
615 * @license
616 * Copyright Google LLC All Rights Reserved.
617 *
618 * Use of this source code is governed by an MIT-style license that can be
619 * found in the LICENSE file at https://angular.io/license
620 */
621
622 /**
623 * @license
624 * Copyright Google LLC All Rights Reserved.
625 *
626 * Use of this source code is governed by an MIT-style license that can be
627 * found in the LICENSE file at https://angular.io/license
628 */
629
630 exports.MatTreeHarness = MatTreeHarness;
631 exports.MatTreeNodeHarness = MatTreeNodeHarness;
632
633 Object.defineProperty(exports, '__esModule', { value: true });
634
635})));
636//# sourceMappingURL=material-tree-testing.umd.js.map
Note: See TracBrowser for help on using the repository browser.