| import { __awaiter } from 'tslib'; |
| import { ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'; |
| import { coerceBooleanProperty } from '@angular/cdk/coercion'; |
| |
| /** |
| * @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 mat-button in tests. */ |
| class MatButtonHarness extends ContentContainerComponentHarness { |
| /** |
| * Gets a `HarnessPredicate` that can be used to search for a `MatButtonHarness` that meets |
| * certain criteria. |
| * @param options Options for filtering which button instances are considered a match. |
| * @return a `HarnessPredicate` configured with the given options. |
| */ |
| static with(options = {}) { |
| return new HarnessPredicate(MatButtonHarness, options) |
| .addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text)); |
| } |
| click(...args) { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this.host()).click(...args); |
| }); |
| } |
| /** Whether the button is disabled. */ |
| isDisabled() { |
| return __awaiter(this, void 0, void 0, function* () { |
| const disabled = (yield this.host()).getAttribute('disabled'); |
| return coerceBooleanProperty(yield disabled); |
| }); |
| } |
| /** Gets the button's label text. */ |
| getText() { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this.host()).text(); |
| }); |
| } |
| /** Focuses the button. */ |
| focus() { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this.host()).focus(); |
| }); |
| } |
| /** Blurs the button. */ |
| blur() { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this.host()).blur(); |
| }); |
| } |
| /** Whether the button is focused. */ |
| isFocused() { |
| return __awaiter(this, void 0, void 0, function* () { |
| return (yield this.host()).isFocused(); |
| }); |
| } |
| } |
| // TODO(jelbourn) use a single class, like `.mat-button-base` |
| /** The selector for the host element of a `MatButton` instance. */ |
| MatButtonHarness.hostSelector = [ |
| '[mat-button]', |
| '[mat-raised-button]', |
| '[mat-flat-button]', |
| '[mat-icon-button]', |
| '[mat-stroked-button]', |
| '[mat-fab]', |
| '[mat-mini-fab]', |
| ].join(','); |
| |
| /** |
| * @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 { MatButtonHarness }; |
| //# sourceMappingURL=testing.js.map |