| import { __awaiter } from 'tslib'; |
| import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'; |
| |
| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| /** Harness for interacting with a standard Material badge in tests. */ |
| class MatBadgeHarness extends ComponentHarness { |
| constructor() { |
| super(...arguments); |
| this._badgeElement = this.locatorFor('.mat-badge-content'); |
| } |
| /** |
| * Gets a `HarnessPredicate` that can be used to search for a badge with specific attributes. |
| * @param options Options for narrowing the search: |
| * - `text` finds a badge host with a particular text. |
| * @return a `HarnessPredicate` configured with the given options. |
| */ |
| static with(options = {}) { |
| return new HarnessPredicate(MatBadgeHarness, options) |
| .addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text)); |
| } |
| /** Gets a promise for the badge text. */ |
| getText() { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this._badgeElement()).text(); |
| }); |
| } |
| /** Gets whether the badge is overlapping the content. */ |
| isOverlapping() { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this.host()).hasClass('mat-badge-overlap'); |
| }); |
| } |
| /** Gets the position of the badge. */ |
| getPosition() { |
| return __awaiter(this, void 0, void 0, function* () { |
| const host = yield this.host(); |
| let result = ''; |
| if (yield host.hasClass('mat-badge-above')) { |
| result += 'above'; |
| } |
| else if (yield host.hasClass('mat-badge-below')) { |
| result += 'below'; |
| } |
| if (yield host.hasClass('mat-badge-before')) { |
| result += ' before'; |
| } |
| else if (yield host.hasClass('mat-badge-after')) { |
| result += ' after'; |
| } |
| return result.trim(); |
| }); |
| } |
| /** Gets the size of the badge. */ |
| getSize() { |
| return __awaiter(this, void 0, void 0, function* () { |
| const host = yield this.host(); |
| if (yield host.hasClass('mat-badge-small')) { |
| return 'small'; |
| } |
| else if (yield host.hasClass('mat-badge-large')) { |
| return 'large'; |
| } |
| return 'medium'; |
| }); |
| } |
| /** Gets whether the badge is hidden. */ |
| isHidden() { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this.host()).hasClass('mat-badge-hidden'); |
| }); |
| } |
| /** Gets whether the badge is disabled. */ |
| isDisabled() { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this.host()).hasClass('mat-badge-disabled'); |
| }); |
| } |
| } |
| MatBadgeHarness.hostSelector = '.mat-badge'; |
| |
| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| |
| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| |
| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| |
| export { MatBadgeHarness }; |
| //# sourceMappingURL=testing.js.map |