{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/dialog/testing/dialog-harness.ts","../../../../../../../src/material/dialog/testing/dialog-harness-filters.ts","../../../../../../../src/material/dialog/testing/public-api.ts","../../../../../../../src/material/dialog/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 {ContentContainerComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {DialogRole} from '@angular/material/dialog';\nimport {DialogHarnessFilters} from './dialog-harness-filters';\n\n/** Selectors for different sections of the mat-dialog that can contain user content. */\nexport const enum MatDialogSection {\n  TITLE = '.mat-dialog-title',\n  CONTENT = '.mat-dialog-content',\n  ACTIONS = '.mat-dialog-actions'\n}\n\n/** Base class for the `MatDialogHarness` implementation. */\nexport class _MatDialogHarnessBase extends\n    // @breaking-change 14.0.0 change generic type to MatDialogSection.\n    ContentContainerComponentHarness<MatDialogSection | string> {\n\n  protected _title = this.locatorForOptional(MatDialogSection.TITLE);\n  protected _content = this.locatorForOptional(MatDialogSection.CONTENT);\n  protected _actions = this.locatorForOptional(MatDialogSection.ACTIONS);\n\n  /** Gets the id of the dialog. */\n  async getId(): Promise<string|null> {\n    const id = await (await this.host()).getAttribute('id');\n    // In case no id has been specified, the \"id\" property always returns\n    // an empty string. To make this method more explicit, we return null.\n    return id !== '' ? id : null;\n  }\n\n  /** Gets the role of the dialog. */\n  async getRole(): Promise<DialogRole|null> {\n    return (await this.host()).getAttribute('role') as Promise<DialogRole|null>;\n  }\n\n  /** Gets the value of the dialog's \"aria-label\" attribute. */\n  async getAriaLabel(): Promise<string|null> {\n    return (await this.host()).getAttribute('aria-label');\n  }\n\n  /** Gets the value of the dialog's \"aria-labelledby\" attribute. */\n  async getAriaLabelledby(): Promise<string|null> {\n    return (await this.host()).getAttribute('aria-labelledby');\n  }\n\n  /** Gets the value of the dialog's \"aria-describedby\" attribute. */\n  async getAriaDescribedby(): Promise<string|null> {\n    return (await this.host()).getAttribute('aria-describedby');\n  }\n\n  /**\n   * Closes the dialog by pressing escape.\n   *\n   * Note: this method does nothing if `disableClose` has been set to `true` for the dialog.\n   */\n  async close(): Promise<void> {\n    await (await this.host()).sendKeys(TestKey.ESCAPE);\n  }\n\n  /** Gets te dialog's text. */\n  async getText() {\n    return (await this.host()).text();\n  }\n\n  /** Gets the dialog's title text. This only works if the dialog is using mat-dialog-title. */\n  async getTitleText() {\n    return (await this._title())?.text() ?? '';\n  }\n\n  /** Gets the dialog's content text. This only works if the dialog is using mat-dialog-content. */\n  async getContentText() {\n    return (await this._content())?.text() ?? '';\n  }\n\n  /** Gets the dialog's actions text. This only works if the dialog is using mat-dialog-actions. */\n  async getActionsText() {\n    return (await this._actions())?.text() ?? '';\n  }\n}\n\n/** Harness for interacting with a standard `MatDialog` in tests. */\nexport class MatDialogHarness extends _MatDialogHarnessBase {\n  // Developers can provide a custom component or template for the\n  // dialog. The canonical dialog parent is the \"MatDialogContainer\".\n  /** The selector for the host element of a `MatDialog` instance. */\n  static hostSelector = '.mat-dialog-container';\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a `MatDialogHarness` that meets\n   * certain criteria.\n   * @param options Options for filtering which dialog instances are considered a match.\n   * @return a `HarnessPredicate` configured with the given options.\n   */\n  static with(options: DialogHarnessFilters = {}): HarnessPredicate<MatDialogHarness> {\n    return new HarnessPredicate(MatDialogHarness, options);\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\n/** A set of criteria that can be used to filter a list of `MatDialogHarness` instances. */\nexport interface DialogHarnessFilters extends BaseHarnessFilters {}\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 './dialog-harness';\nexport * from './dialog-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;;;;;;;AAmBA;MACa,qBAAsB;AAC/B;AACA,gCAA2D;IAF/D;;QAIY,WAAM,GAAG,IAAI,CAAC,kBAAkB,iCAAwB,CAAC;QACzD,aAAQ,GAAG,IAAI,CAAC,kBAAkB,qCAA0B,CAAC;QAC7D,aAAQ,GAAG,IAAI,CAAC,kBAAkB,qCAA0B,CAAC;KA0DxE;;IAvDC,MAAM,KAAK;QACT,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;;;QAGxD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;KAC9B;;IAGD,MAAM,OAAO;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAA6B,CAAC;KAC7E;;IAGD,MAAM,YAAY;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;KACvD;;IAGD,MAAM,iBAAiB;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;KAC5D;;IAGD,MAAM,kBAAkB;QACtB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;KAC7D;;;;;;IAOD,MAAM,KAAK;QACT,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACpD;;IAGD,MAAM,OAAO;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACnC;;IAGD,MAAM,YAAY;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;KAC5C;;IAGD,MAAM,cAAc;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;KAC9C;;IAGD,MAAM,cAAc;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;KAC9C;CACF;AAED;MACa,gBAAiB,SAAQ,qBAAqB;;;;;;;IAYzD,OAAO,IAAI,CAAC,UAAgC,EAAE;QAC5C,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;KACxD;;AAbD;AACA;AACA;AACO,6BAAY,GAAG,uBAAuB;;AC3F/C;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;;;"}