UNPKG

@angular/material

Version:
1 lines 4.17 kB
{"version":3,"file":"card-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/card/testing/card-harness.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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {CardHarnessFilters} from './card-harness-filters';\n\n/** Selectors for different sections of the mat-card that can container user content. */\nexport enum MatCardSection {\n HEADER = '.mat-mdc-card-header',\n CONTENT = '.mat-mdc-card-content',\n ACTIONS = '.mat-mdc-card-actions',\n FOOTER = '.mat-mdc-card-footer',\n}\n\n/** Harness for interacting with a mat-card in tests. */\nexport class MatCardHarness extends ContentContainerComponentHarness<MatCardSection> {\n /** The selector for the host element of a `MatCard` instance. */\n static hostSelector = '.mat-mdc-card';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a card with specific attributes.\n * @param options Options for filtering which card instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatCardHarness>(\n this: ComponentHarnessConstructor<T>,\n options: CardHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('title', options.title, (harness, title) =>\n HarnessPredicate.stringMatches(harness.getTitleText(), title),\n )\n .addOption('subtitle', options.subtitle, (harness, subtitle) =>\n HarnessPredicate.stringMatches(harness.getSubtitleText(), subtitle),\n );\n }\n\n private _title = this.locatorForOptional('.mat-mdc-card-title');\n private _subtitle = this.locatorForOptional('.mat-mdc-card-subtitle');\n\n /** Gets all of the card's content as text. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Gets the cards's title text. */\n async getTitleText(): Promise<string> {\n return (await this._title())?.text() ?? '';\n }\n\n /** Gets the cards's subtitle text. */\n async getSubtitleText(): Promise<string> {\n return (await this._subtitle())?.text() ?? '';\n }\n}\n"],"names":["MatCardSection","MatCardHarness","ContentContainerComponentHarness","hostSelector","with","options","HarnessPredicate","addOption","text","harness","stringMatches","getText","title","getTitleText","subtitle","getSubtitleText","_title","locatorForOptional","_subtitle","host"],"mappings":";;IAgBYA;AAAZ,CAAA,UAAYA,cAAc,EAAA;AACxBA,EAAAA,cAAA,CAAA,QAAA,CAAA,GAAA,sBAA+B;AAC/BA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjCA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjCA,EAAAA,cAAA,CAAA,QAAA,CAAA,GAAA,sBAA+B;AACjC,CAAC,EALWA,cAAc,KAAdA,cAAc,GAKzB,EAAA,CAAA,CAAA;AAGK,MAAOC,cAAe,SAAQC,gCAAgD,CAAA;EAElF,OAAOC,YAAY,GAAG,eAAe;AAOrC,EAAA,OAAOC,IAAIA,CAETC,OAAA,GAA8B,EAAE,EAAA;AAEhC,IAAA,OAAO,IAAIC,gBAAgB,CAAC,IAAI,EAAED,OAAO,CAAA,CACtCE,SAAS,CAAC,MAAM,EAAEF,OAAO,CAACG,IAAI,EAAE,CAACC,OAAO,EAAED,IAAI,KAC7CF,gBAAgB,CAACI,aAAa,CAACD,OAAO,CAACE,OAAO,EAAE,EAAEH,IAAI,CAAC,CAAA,CAExDD,SAAS,CAAC,OAAO,EAAEF,OAAO,CAACO,KAAK,EAAE,CAACH,OAAO,EAAEG,KAAK,KAChDN,gBAAgB,CAACI,aAAa,CAACD,OAAO,CAACI,YAAY,EAAE,EAAED,KAAK,CAAC,CAAA,CAE9DL,SAAS,CAAC,UAAU,EAAEF,OAAO,CAACS,QAAQ,EAAE,CAACL,OAAO,EAAEK,QAAQ,KACzDR,gBAAgB,CAACI,aAAa,CAACD,OAAO,CAACM,eAAe,EAAE,EAAED,QAAQ,CAAC,CACpE;AACL;AAEQE,EAAAA,MAAM,GAAG,IAAI,CAACC,kBAAkB,CAAC,qBAAqB,CAAC;AACvDC,EAAAA,SAAS,GAAG,IAAI,CAACD,kBAAkB,CAAC,wBAAwB,CAAC;EAGrE,MAAMN,OAAOA,GAAA;IACX,OAAO,CAAC,MAAM,IAAI,CAACQ,IAAI,EAAE,EAAEX,IAAI,EAAE;AACnC;EAGA,MAAMK,YAAYA,GAAA;AAChB,IAAA,OAAO,CAAC,MAAM,IAAI,CAACG,MAAM,EAAE,GAAGR,IAAI,EAAE,IAAI,EAAE;AAC5C;EAGA,MAAMO,eAAeA,GAAA;AACnB,IAAA,OAAO,CAAC,MAAM,IAAI,CAACG,SAAS,EAAE,GAAGV,IAAI,EAAE,IAAI,EAAE;AAC/C;;;;;"}