UNPKG

@skyux/help-inline

Version:

This library was generated with [Nx](https://nx.dev).

1 lines 5.59 kB
{"version":3,"file":"skyux-help-inline-testing.mjs","sources":["../../../../../libs/components/help-inline/testing/src/modules/help-inline/help-inline-harness.ts","../../../../../libs/components/help-inline/testing/src/skyux-help-inline-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport {\n SkyPopoverContentHarness,\n SkyPopoverHarness,\n} from '@skyux/popovers/testing';\n\nimport { SkyHelpInlineHarnessFilters } from './help-inline-harness.filters';\n\n/**\n * Harness for interacting with a help inline button component in tests.\n */\nexport class SkyHelpInlineHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-help-inline';\n\n #getInlineHelpButton = this.locatorFor('.sky-help-inline');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyHelpInlineHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyHelpInlineHarnessFilters,\n ): HarnessPredicate<SkyHelpInlineHarness> {\n return SkyHelpInlineHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the help inline button.\n */\n public async click(): Promise<void> {\n const button = await this.#getInlineHelpButton();\n\n if (await button.hasClass('sky-help-inline-hidden')) {\n throw new Error(\n 'Unable to click the help inline button because it is hidden.',\n );\n }\n\n await button.click();\n }\n\n /**\n * Gets the `aria-controls` value.\n */\n public async getAriaControls(): Promise<string | null> {\n return await (\n await this.#getInlineHelpButton()\n ).getAttribute('aria-controls');\n }\n\n /**\n * Gets the `aria-expanded` value.\n */\n public async getAriaExpanded(): Promise<boolean> {\n if ((await this.getAriaControls()) === null) {\n throw new Error('aria-expanded is only set when `ariaControls` is set.');\n }\n\n return (\n (await (\n await this.#getInlineHelpButton()\n ).getAttribute('aria-expanded')) === 'true'\n );\n }\n\n /**\n * Gets the `aria-label` value.\n */\n public async getAriaLabel(): Promise<string | null> {\n return await (await this.#getInlineHelpButton()).getAttribute('aria-label');\n }\n\n /**\n * Gets the `aria-labelledby` value.\n * @internal\n */\n public async getAriaLabelledBy(): Promise<string | null> {\n return await (await this.#getInlineHelpButton())\n .getAttribute('aria-labelledby')\n .then((ref) => {\n if (ref) {\n // Remove the 'aria-labelledby' prefix id.\n return ref.substring(ref.indexOf(' ') + 1);\n }\n return null;\n });\n }\n\n /**\n * Gets the label text.\n */\n public async getLabelText(): Promise<string | undefined> {\n const ariaLabel = await this.getAriaLabel();\n\n if (ariaLabel?.startsWith('Show help content ')) {\n return ariaLabel.replace('Show help content for ', '');\n }\n\n return undefined;\n }\n\n /**\n * Gets the help popover content.\n */\n public async getPopoverContent(): Promise<string | undefined> {\n return await (await this.#getPopoverHarnessContent())?.getBodyText();\n }\n\n /**\n * Gets the help popover title.\n */\n public async getPopoverTitle(): Promise<string | undefined> {\n return await (await this.#getPopoverHarnessContent())?.getTitleText();\n }\n\n async #getPopoverHarnessContent(): Promise<\n SkyPopoverContentHarness | undefined\n > {\n return await (\n await this.locatorForOptional(SkyPopoverHarness)()\n )?.getPopoverContent();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AASA;;AAEG;AACG,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAC3D;;AAEG;aACW,IAAA,CAAA,YAAY,GAAG,iBAAiB,CAAC;AAE/C,IAAA,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAE1D;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAoC,EAAA;AAEpC,QAAA,OAAO,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAG5D;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;AAChB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE;QAEhD,IAAI,MAAM,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;AACnD,YAAA,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D;;AAGH,QAAA,MAAM,MAAM,CAAC,KAAK,EAAE;;AAGtB;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;AAC1B,QAAA,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,oBAAoB,EAAE,EACjC,YAAY,CAAC,eAAe,CAAC;;AAGjC;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;QAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,EAAE;AAC3C,YAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;;AAG1E,QAAA,QACE,CAAC,MAAM,CACL,MAAM,IAAI,CAAC,oBAAoB,EAAE,EACjC,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM;;AAI/C;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;;AAG7E;;;AAGG;AACI,IAAA,MAAM,iBAAiB,GAAA;AAC5B,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE;aAC5C,YAAY,CAAC,iBAAiB;AAC9B,aAAA,IAAI,CAAC,CAAC,GAAG,KAAI;YACZ,IAAI,GAAG,EAAE;;AAEP,gBAAA,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;AAE5C,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;AAGN;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAE3C,QAAA,IAAI,SAAS,EAAE,UAAU,CAAC,oBAAoB,CAAC,EAAE;YAC/C,OAAO,SAAS,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;;AAGxD,QAAA,OAAO,SAAS;;AAGlB;;AAEG;AACI,IAAA,MAAM,iBAAiB,GAAA;QAC5B,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,yBAAyB,EAAE,GAAG,WAAW,EAAE;;AAGtE;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;QAC1B,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,yBAAyB,EAAE,GAAG,YAAY,EAAE;;AAGvE,IAAA,MAAM,yBAAyB,GAAA;AAG7B,QAAA,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,GACjD,iBAAiB,EAAE;;;;AC5H1B;;AAEG;;;;"}