{"version":3,"file":"core__testing.js","sources":["../../../../../../src/material/core/testing/option-harness.ts","../../../../../../src/material/core/testing/option-harness-filters.ts","../../../../../../src/material/core/testing/optgroup-harness.ts","../../../../../../src/material/core/testing/optgroup-harness-filters.ts","../../../../../../src/material/core/testing/public-api.ts","../../../../../../src/material/core/testing/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {OptionHarnessFilters} from './option-harness-filters';\n\n/** Harness for interacting with a `mat-option` in tests. */\nexport class MatOptionHarness extends ComponentHarness {\n /** Selector used to locate option instances. */\n static hostSelector = '.mat-option';\n\n /** Element containing the option's text. */\n private _text = this.locatorFor('.mat-option-text');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatOptionsHarness` that meets\n * certain criteria.\n * @param options Options for filtering which option instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: OptionHarnessFilters = {}) {\n return new HarnessPredicate(MatOptionHarness, options)\n .addOption('text', options.text,\n async (harness, title) =>\n HarnessPredicate.stringMatches(await harness.getText(), title))\n .addOption('isSelected', options.isSelected,\n async (harness, isSelected) => await harness.isSelected() === isSelected);\n\n }\n\n /** Clicks the option. */\n async click(): Promise {\n return (await this.host()).click();\n }\n\n /** Gets the option's label text. */\n async getText(): Promise {\n return (await this._text()).text();\n }\n\n /** Gets whether the option is disabled. */\n async isDisabled(): Promise {\n return (await this.host()).hasClass('mat-option-disabled');\n }\n\n /** Gets whether the option is selected. */\n async isSelected(): Promise {\n return (await this.host()).hasClass('mat-selected');\n }\n\n /** Gets whether the option is active. */\n async isActive(): Promise {\n return (await this.host()).hasClass('mat-active');\n }\n\n /** Gets whether the option is in multiple selection mode. */\n async isMultiple(): Promise {\n return (await this.host()).hasClass('mat-option-multiple');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BaseHarnessFilters} from '@angular/cdk/testing';\n\nexport interface OptionHarnessFilters extends BaseHarnessFilters {\n text?: string | RegExp;\n isSelected?: boolean;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {OptgroupHarnessFilters} from './optgroup-harness-filters';\nimport {MatOptionHarness} from './option-harness';\nimport {OptionHarnessFilters} from './option-harness-filters';\n\n/** Harness for interacting with a `mat-optgroup` in tests. */\nexport class MatOptgroupHarness extends ComponentHarness {\n /** Selector used to locate option group instances. */\n static hostSelector = '.mat-optgroup';\n private _label = this.locatorFor('.mat-optgroup-label');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatOptgroupHarness` that meets\n * certain criteria.\n * @param options Options for filtering which option instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: OptgroupHarnessFilters = {}) {\n return new HarnessPredicate(MatOptgroupHarness, options)\n .addOption('labelText', options.labelText,\n async (harness, title) =>\n HarnessPredicate.stringMatches(await harness.getLabelText(), title));\n }\n\n /** Gets the option group's label text. */\n async getLabelText(): Promise {\n return (await this._label()).text();\n }\n\n /** Gets whether the option group is disabled. */\n async isDisabled(): Promise {\n return (await this.host()).hasClass('mat-optgroup-disabled');\n }\n\n /**\n * Gets the options that are inside the group.\n * @param filter Optionally filters which options are included.\n */\n async getOptions(filter: OptionHarnessFilters = {}): Promise {\n return this.locatorForAll(MatOptionHarness.with(filter))();\n }\n}\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BaseHarnessFilters} from '@angular/cdk/testing';\n\nexport interface OptgroupHarnessFilters extends BaseHarnessFilters {\n labelText?: string | RegExp;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './option-harness';\nexport * from './option-harness-filters';\nexport * from './optgroup-harness';\nexport * from './optgroup-harness-filters';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAAA;;;;;;;AAWA;MACa,gBAAiB,SAAQ,gBAAgB;IAAtD;;;QAKU,UAAK,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;KA+CrD;;;;;;;IAvCC,OAAO,IAAI,CAAC,UAAgC,EAAE;QAC5C,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC;aACjD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAC3B,CAAO,OAAO,EAAE,KAAK,oDACjB,OAAA,gBAAgB,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAA,GAAA,CAAC;aACtE,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EACvC,CAAO,OAAO,EAAE,UAAU,oDAAK,OAAA,CAAA,MAAM,OAAO,CAAC,UAAU,EAAE,MAAK,UAAU,CAAA,GAAA,CAAC,CAAC;KAEnF;;IAGK,KAAK;;YACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC;KAAA;;IAGK,OAAO;;YACX,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;SACpC;KAAA;;IAGK,UAAU;;YACd,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;SAC5D;KAAA;;IAGK,UAAU;;YACd,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;SACrD;KAAA;;IAGK,QAAQ;;YACZ,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;SACnD;KAAA;;IAGK,UAAU;;YACd,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;SAC5D;KAAA;;AAlDD;AACO,6BAAY,GAAG,aAAa;;ACdrC;;;;;;;;ACAA;;;;;;;AAaA;MACa,kBAAmB,SAAQ,gBAAgB;IAAxD;;QAGU,WAAM,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;KAgCzD;;;;;;;IAxBC,OAAO,IAAI,CAAC,UAAkC,EAAE;QAC9C,OAAO,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC;aACnD,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EACrC,CAAO,OAAO,EAAE,KAAK,oDACjB,OAAA,gBAAgB,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAA,GAAA,CAAC,CAAC;KAClF;;IAGK,YAAY;;YAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC;SACrC;KAAA;;IAGK,UAAU;;YACd,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;SAC9D;KAAA;;;;;IAMK,UAAU,CAAC,SAA+B,EAAE;;YAChD,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;SAC5D;KAAA;;AAjCD;AACO,+BAAY,GAAG,eAAe;;AChBvC;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;;;"}