@taiga-ui/testing 3.51.0 → 3.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/bundles/taiga-ui-testing-core.umd.js +26 -0
  2. package/bundles/taiga-ui-testing-core.umd.js.map +1 -1
  3. package/bundles/taiga-ui-testing-cypress.umd.js +23 -1
  4. package/bundles/taiga-ui-testing-cypress.umd.js.map +1 -1
  5. package/bundles/taiga-ui-testing-exceptions.umd.js +4 -0
  6. package/bundles/taiga-ui-testing-exceptions.umd.js.map +1 -1
  7. package/bundles/taiga-ui-testing-mocks.umd.js +8 -0
  8. package/bundles/taiga-ui-testing-mocks.umd.js.map +1 -1
  9. package/bundles/taiga-ui-testing-setup-jest.umd.js +16 -0
  10. package/bundles/taiga-ui-testing-setup-jest.umd.js.map +1 -1
  11. package/bundles/taiga-ui-testing-utils.umd.js +24 -1
  12. package/bundles/taiga-ui-testing-utils.umd.js.map +1 -1
  13. package/bundles/taiga-ui-testing.umd.js +11 -0
  14. package/bundles/taiga-ui-testing.umd.js.map +1 -1
  15. package/core/card.harness.d.ts +3 -0
  16. package/core/dialog.harness.d.ts +6 -0
  17. package/core/index.d.ts +1 -0
  18. package/core/taiga-ui-testing-core.d.ts +3 -0
  19. package/cypress/assertions/be-in-viewport.d.ts +12 -0
  20. package/cypress/taiga-ui-testing-cypress.d.ts +3 -0
  21. package/esm2015/core/card.harness.js +4 -1
  22. package/esm2015/core/dialog.harness.js +14 -0
  23. package/esm2015/core/index.js +2 -1
  24. package/esm2015/core/taiga-ui-testing-core.js +4 -1
  25. package/esm2015/cypress/assertions/be-in-viewport.js +18 -2
  26. package/esm2015/cypress/commands/wait-all-img-inside.command.js +2 -1
  27. package/esm2015/cypress/snapshot/command.js +3 -1
  28. package/esm2015/cypress/snapshot/plugin.js +3 -1
  29. package/esm2015/cypress/taiga-ui-testing-cypress.js +4 -1
  30. package/esm2015/exceptions/taiga-ui-testing-exceptions.js +4 -1
  31. package/esm2015/index.js +7 -1
  32. package/esm2015/mocks/event.js +2 -1
  33. package/esm2015/mocks/sanitizer.js +4 -1
  34. package/esm2015/mocks/taiga-ui-testing-mocks.js +4 -1
  35. package/esm2015/setup-jest/index.js +13 -1
  36. package/esm2015/setup-jest/taiga-ui-testing-setup-jest.js +4 -1
  37. package/esm2015/taiga-ui-testing.js +4 -1
  38. package/esm2015/utils/configure-test-suite.js +7 -1
  39. package/esm2015/utils/helpers.js +11 -1
  40. package/esm2015/utils/input/cleaner.unit-common.js +2 -1
  41. package/esm2015/utils/native-input.page-object.js +3 -2
  42. package/esm2015/utils/page-object.js +2 -1
  43. package/esm2015/utils/taiga-ui-testing-utils.js +4 -1
  44. package/exceptions/taiga-ui-testing-exceptions.d.ts +3 -0
  45. package/fesm2015/taiga-ui-testing-core.js +19 -1
  46. package/fesm2015/taiga-ui-testing-core.js.map +1 -1
  47. package/fesm2015/taiga-ui-testing-cypress.js +24 -1
  48. package/fesm2015/taiga-ui-testing-cypress.js.map +1 -1
  49. package/fesm2015/taiga-ui-testing-exceptions.js +4 -0
  50. package/fesm2015/taiga-ui-testing-exceptions.js.map +1 -1
  51. package/fesm2015/taiga-ui-testing-mocks.js +8 -0
  52. package/fesm2015/taiga-ui-testing-mocks.js.map +1 -1
  53. package/fesm2015/taiga-ui-testing-setup-jest.js +16 -0
  54. package/fesm2015/taiga-ui-testing-setup-jest.js.map +1 -1
  55. package/fesm2015/taiga-ui-testing-utils.js +24 -1
  56. package/fesm2015/taiga-ui-testing-utils.js.map +1 -1
  57. package/fesm2015/taiga-ui-testing.js +11 -0
  58. package/fesm2015/taiga-ui-testing.js.map +1 -1
  59. package/index.d.ts +6 -0
  60. package/mocks/taiga-ui-testing-mocks.d.ts +3 -0
  61. package/package.json +2 -2
  62. package/setup-jest/taiga-ui-testing-setup-jest.d.ts +3 -0
  63. package/taiga-ui-testing.d.ts +3 -0
  64. package/utils/helpers.d.ts +9 -0
  65. package/utils/taiga-ui-testing-utils.d.ts +3 -0
@@ -1,2 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
1
4
  /// <amd-module name="@taiga-ui/testing/exceptions" />
2
5
  export * from './index';
@@ -383,10 +383,24 @@ class TuiThumbnailCardHarness extends TuiComponentHarness {
383
383
  }
384
384
  }
385
385
  TuiThumbnailCardHarness.hostSelector = `tui-thumbnail-card`;
386
+ /**
387
+ * @deprecated use {@link TuiThumbnailCardHarness}
388
+ */
386
389
  class TuiCardHarness extends TuiThumbnailCardHarness {
387
390
  }
388
391
  TuiCardHarness.hostSelector = `tui-card`;
389
392
 
393
+ class TuiDialogHarness extends TuiContentContainerComponentHarness {
394
+ getCloseButton() {
395
+ return __awaiter(this, void 0, void 0, function* () {
396
+ return this.locatorForOptional(TuiButtonHarness.with({
397
+ selector: `[automation-id=tui-dialog__close]`,
398
+ }))();
399
+ });
400
+ }
401
+ }
402
+ TuiDialogHarness.hostSelector = `tui-dialog`;
403
+
390
404
  class TuiHostedDropdownHarness extends TuiContentContainerComponentHarness {
391
405
  sendSpaceKey() {
392
406
  return __awaiter(this, void 0, void 0, function* () {
@@ -546,5 +560,9 @@ class TuiToggleHarness extends TuiComponentHarness {
546
560
  }
547
561
  TuiToggleHarness.hostSelector = `tui-toggle`;
548
562
 
549
- export { TuiAccordionHarness, TuiAccordionItemHarness, TuiActionHarness, TuiAvatarHarness, TuiBadgeHarness, TuiButtonHarness, TuiCalendarHarness, TuiCardHarness, TuiHostedDropdownHarness, TuiIslandHarness, TuiLoaderHarness, TuiMarkerIconHarness, TuiPrimitiveCalendarHarness, TuiPrimitiveSpinButtonHarness, TuiPrimitiveTextfieldHarness, TuiSelectHarness, TuiSvgHarness, TuiTagHarness, TuiTextfieldHarness, TuiThumbnailCardHarness, TuiToggleHarness };
563
+ /**
564
+ * Generated bundle index. Do not edit.
565
+ */
566
+
567
+ export { TuiAccordionHarness, TuiAccordionItemHarness, TuiActionHarness, TuiAvatarHarness, TuiBadgeHarness, TuiButtonHarness, TuiCalendarHarness, TuiCardHarness, TuiDialogHarness, TuiHostedDropdownHarness, TuiIslandHarness, TuiLoaderHarness, TuiMarkerIconHarness, TuiPrimitiveCalendarHarness, TuiPrimitiveSpinButtonHarness, TuiPrimitiveTextfieldHarness, TuiSelectHarness, TuiSvgHarness, TuiTagHarness, TuiTextfieldHarness, TuiThumbnailCardHarness, TuiToggleHarness };
550
568
  //# sourceMappingURL=taiga-ui-testing-core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-testing-core.js","sources":["../../../projects/testing/core/accordion.harness.ts","../../../projects/testing/core/svg.harness.ts","../../../projects/testing/core/accordion-item.harness.ts","../../../projects/testing/core/marker-icon.harness.ts","../../../projects/testing/core/action.harness.ts","../../../projects/testing/core/avatar.harness.ts","../../../projects/testing/core/badge.harness.ts","../../../projects/testing/core/loader.harness.ts","../../../projects/testing/core/button.harness.ts","../../../projects/testing/core/primitive-calender.harness.ts","../../../projects/testing/core/primitive-spin-button.harness.ts","../../../projects/testing/core/primitive-year-month-pagination.harness.ts","../../../projects/testing/core/primitive-year-picker.harness.ts","../../../projects/testing/core/calendar.harness.ts","../../../projects/testing/core/card.harness.ts","../../../projects/testing/core/hosted-dropdown.harness.ts","../../../projects/testing/core/island.harness.ts","../../../projects/testing/core/primitive-textfield.harness.ts","../../../projects/testing/core/select.harness.ts","../../../projects/testing/core/tag.harness.ts","../../../projects/testing/core/textfield.harness.ts","../../../projects/testing/core/toggle.harness.ts"],"sourcesContent":["import {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAccordionHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-accordion`;\n\n async hasRoundedCorners(): Promise<boolean> {\n return (await this.locatorFor(`.t-group`)()).hasClass(`tui-group_rounded`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiSvgHarness extends TuiComponentHarness {\n static hostSelector = `tui-svg`;\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n\n async isInnerHTML(): Promise<boolean> {\n return !!(await this.locatorForOptional(`div`)());\n }\n\n async getUse(): Promise<string | null> {\n return (\n (await this.locatorForOptional(`use`)())?.getAttribute(`xlink:href`) ?? null\n );\n }\n}\n","import {TestKey} from '@angular/cdk/testing';\nimport {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiAccordionItemHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-accordion-item`;\n\n private readonly header = this.locatorFor(`.t-header`);\n\n async getTitle(): Promise<string> {\n return (await this.locatorFor(`.t-title`)()).text();\n }\n\n async getContent(): Promise<string | null> {\n return (await this.locatorForOptional(`.t-content`)())?.text() ?? null;\n }\n\n async clickHeader(): Promise<void> {\n return (await this.locatorFor(`.t-header`)()).click();\n }\n\n async getBorders(): Promise<string | null> {\n return (await this.host()).getAttribute(`data-borders`);\n }\n\n async hasArrow(): Promise<boolean> {\n return (\n !!(await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-icon`}),\n )()) ?? false\n );\n }\n\n async focus(): Promise<void> {\n return (await this.header()).focus();\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.header()).sendKeys(TestKey.ESCAPE);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiMarkerIconHarness extends TuiComponentHarness {\n static hostSelector = `tui-marker-icon`;\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiMarkerIconHarness} from './marker-icon.harness';\n\nexport class TuiActionHarness extends TuiComponentHarness {\n static hostSelector = `button[tuiAction], a[tuiAction]`;\n\n protected getIconHarness = this.locatorForOptional(TuiMarkerIconHarness);\n\n async icon(): Promise<TuiMarkerIconHarness | null> {\n return this.getIconHarness();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAvatarHarness extends TuiComponentHarness {\n static hostSelector = `tui-avatar`;\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiBadgeHarness extends TuiComponentHarness {\n static hostSelector = `tui-badge`;\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n\n async padding(): Promise<string | null> {\n return (await this.host()).getAttribute(`data-padding`);\n }\n\n async hasClass(cls: string): Promise<boolean> {\n return (await this.host()).hasClass(cls);\n }\n}\n","import {tuiHarnessWith, tuiWithPredicate} from '@taiga-ui/testing/utils';\n\n@tuiWithPredicate\nexport class TuiLoaderHarness extends tuiHarnessWith<TuiLoaderHarness>(`tui-loader`) {\n private readonly loader = this.locatorForOptional(`fieldset.t-content + .t-loader`);\n\n async isLoading(): Promise<boolean> {\n return !!(await this.loader());\n }\n\n async getText(): Promise<string> {\n const loader = await this.loader();\n\n return loader?.text() ?? ``;\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiLoaderHarness} from './loader.harness';\n\nexport class TuiButtonHarness extends TuiComponentHarness {\n static hostSelector = `button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]`;\n private readonly loader = this.locatorForOptional(TuiLoaderHarness);\n\n async isLoading(): Promise<boolean> {\n return !!(await this.loader());\n }\n\n async hasClass(input: string): Promise<boolean> {\n return (await this.host()).hasClass(input);\n }\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiPrimitiveCalendarHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-calendar`;\n\n async clickDay(day: number): Promise<void> {\n const dayCell = await this.locatorFor(\n TuiDayCellHarness.with({day, ancestor: `#date-rows`}),\n )();\n\n return dayCell.click();\n }\n\n async hoverDay(day: number): Promise<void> {\n const dayCell = await this.locatorFor(\n TuiDayCellHarness.with({day, ancestor: `#date-rows`}),\n )();\n\n return dayCell.hover();\n }\n}\n\nclass TuiDayCellHarness extends ComponentHarness {\n static hostSelector = `.t-cell:not(.t-cell_unavailable)`;\n\n static with(options: TuiDayCellHarnessFilters): HarnessPredicate<TuiDayCellHarness> {\n return new HarnessPredicate(TuiDayCellHarness, options).addOption(\n `day`,\n options.day,\n async (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), `${text}`),\n );\n }\n\n async getText(): Promise<string> {\n return (await this.locatorFor(`.t-item`)()).text();\n }\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n async hover(): Promise<void> {\n return (await this.host()).hover();\n }\n}\n\ninterface TuiDayCellHarnessFilters extends BaseHarnessFilters {\n day: number;\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiButtonHarness} from './button.harness';\n\nexport class TuiPrimitiveSpinButtonHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-spin-button`;\n\n async isLeftDisabled(): Promise<boolean> {\n return (await this.locatorForAll(TuiButtonHarness)())[0].hasClass(`t-hidden`);\n }\n\n async isRightDisabled(): Promise<boolean> {\n return (await this.locatorForAll(TuiButtonHarness)())[1].hasClass(`t-hidden`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiPrimitiveSpinButtonHarness} from './primitive-spin-button.harness';\n\nexport class TuiPrimitiveYearMonthPaginationHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-year-month-pagination`;\n\n private readonly buttonLeft = this.locatorForOptional(\n `button[tuiIconButton]:first-child`,\n );\n\n private readonly content = this.locatorForOptional(`.t-calendar-title`);\n\n private readonly buttonRight = this.locatorForOptional(\n `button[tuiIconButton]:last-child`,\n );\n\n private readonly button = this.locatorForOptional(`#year-btn`);\n private readonly primitiveSpinButton = this.locatorFor(TuiPrimitiveSpinButtonHarness);\n\n async clickLeft(): Promise<void> {\n return (await this.buttonLeft())?.click();\n }\n\n async getContentText(): Promise<string> {\n return (await this.content())?.text() ?? ``;\n }\n\n async clickRight(): Promise<void> {\n return (await this.buttonRight())?.click();\n }\n\n async clickYear(): Promise<void> {\n return (await this.button())?.click();\n }\n\n async isLeftDisabled(): Promise<boolean> {\n return (await this.primitiveSpinButton()).isLeftDisabled();\n }\n\n async isRightDisabled(): Promise<boolean> {\n return (await this.primitiveSpinButton()).isRightDisabled();\n }\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiPrimitiveYearPickerHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-year-picker`;\n\n async clickYear(year: string): Promise<void> {\n const yearCell = await this.locatorFor(TuiYearCellHarness.with({year}))();\n\n return yearCell.click();\n }\n}\n\nclass TuiYearCellHarness extends ComponentHarness {\n static hostSelector = `.t-cell`;\n\n static with(\n options: TuiYearCellHarnessFilters,\n ): HarnessPredicate<TuiYearCellHarness> {\n return new HarnessPredicate(TuiYearCellHarness, options).addOption(\n `year`,\n options.year,\n async (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n );\n }\n\n async getText(): Promise<string> {\n return (await this.locatorFor(`.t-item`)()).text();\n }\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n}\n\ninterface TuiYearCellHarnessFilters extends BaseHarnessFilters {\n year: string;\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiPrimitiveCalendarHarness} from './primitive-calender.harness';\nimport {TuiPrimitiveYearMonthPaginationHarness} from './primitive-year-month-pagination.harness';\nimport {TuiPrimitiveYearPickerHarness} from './primitive-year-picker.harness';\n\nexport class TuiCalendarHarness extends TuiComponentHarness {\n static hostSelector = `tui-calendar`;\n\n private readonly getPrimitiveYearPickerHarness = this.locatorForOptional(\n TuiPrimitiveYearPickerHarness,\n );\n\n private readonly getPrimitiveYearMonthPaginationHarness = this.locatorForOptional(\n TuiPrimitiveYearMonthPaginationHarness,\n );\n\n private readonly getPrimitiveCalendarHarness = this.locatorForOptional(\n TuiPrimitiveCalendarHarness,\n );\n\n async yearPickerShown(): Promise<boolean> {\n return !!(await this.getPrimitiveYearPickerHarness());\n }\n\n async yearMonthPaginationShown(): Promise<boolean> {\n return !!(await this.getPrimitiveYearMonthPaginationHarness());\n }\n\n async primitiveCalendarShown(): Promise<boolean> {\n return !!(await this.getPrimitiveCalendarHarness());\n }\n\n async isPaginationLeftDisabled(): Promise<boolean> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.isLeftDisabled() ??\n false\n );\n }\n\n async isPaginationRightDisabled(): Promise<boolean> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.isRightDisabled() ??\n false\n );\n }\n\n async clickMonthLeft(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickLeft();\n }\n\n async getContentText(): Promise<string> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.getContentText() ?? ``\n );\n }\n\n async clickMonthRight(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickRight();\n }\n\n async clickPaginationYear(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickYear();\n }\n\n async clickPickerYear(year: string): Promise<void> {\n return (await this.getPrimitiveYearPickerHarness())?.clickYear(year);\n }\n\n async clickDay(day: number): Promise<void> {\n return (await this.getPrimitiveCalendarHarness())?.clickDay(day);\n }\n\n async hoverDay(day: number): Promise<void> {\n return (await this.getPrimitiveCalendarHarness())?.hoverDay(day);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiThumbnailCardHarness extends TuiComponentHarness {\n static hostSelector = `tui-thumbnail-card`;\n\n async hasPaymentSystemLogo(): Promise<boolean> {\n const tuiSvg = await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-payment-system-logo`}),\n )();\n\n return !!tuiSvg;\n }\n\n async hasBrandLogo(): Promise<boolean> {\n const tuiSvg = await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-brand-logo`}),\n )();\n\n return !!tuiSvg;\n }\n}\n\n/**\n * @deprecated use {@link TuiThumbnailCardHarness}\n */\nexport class TuiCardHarness extends TuiThumbnailCardHarness {\n static override hostSelector = `tui-card`;\n}\n","import {TestKey} from '@angular/cdk/testing';\nimport {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiHostedDropdownHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-hosted-dropdown`;\n\n async sendSpaceKey(): Promise<void> {\n return (await this.host()).sendKeys(` `);\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n","import {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiIslandHarness extends TuiComponentHarness {\n static hostSelector = `tui-island`;\n\n async getSize(): Promise<TuiSizeL | TuiSizeS> {\n if (await this.isSizeL()) {\n return `l`;\n }\n\n if (await this.isSizeM()) {\n return `m`;\n }\n\n return `s`;\n }\n\n async getTextAlign(): Promise<'center' | 'left' | 'right'> {\n if (await this.isTextAlignLeft()) {\n return `left`;\n }\n\n if (await this.isTextAlignCenter()) {\n return `center`;\n }\n\n return `right`;\n }\n\n async isHoverable(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_hoverable`);\n }\n\n private async isTextAlignLeft(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_text-align_left`);\n }\n\n private async isTextAlignCenter(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_text-align_center`);\n }\n\n private async isSizeM(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_size_m`);\n }\n\n private async isSizeL(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_size_l`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiPrimitiveTextfieldHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-textfield`;\n\n async valueDecorationText(): Promise<string> {\n return (await this.locatorFor(`tui-value-decoration`)()).text();\n }\n\n async inputPlaceholder(): Promise<string> {\n return (await this.locatorFor(`input`)()).getProperty(`placeholder`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiHostedDropdownHarness} from './hosted-dropdown.harness';\n\nexport class TuiSelectHarness extends TuiComponentHarness {\n static hostSelector = `tui-select`;\n private readonly hostedDropdown = this.locatorFor(TuiHostedDropdownHarness);\n\n async sendSpaceKey(): Promise<void> {\n return (await this.hostedDropdown()).sendSpaceKey();\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.hostedDropdown()).sendEscKey();\n }\n}\n","import {TestElement, TestKey} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiTagHarness extends TuiComponentHarness {\n static hostSelector = `tui-tag`;\n\n async getCrossIcon(): Promise<TuiSvgHarness | null> {\n return this.locatorForOptional(TuiSvgHarness.with({selector: `.t-icon`}))();\n }\n\n async getBackgroundColor(): Promise<string> {\n const div = await this.locatorFor(`:first-child`)();\n\n return div.getCssValue(`background-color`);\n }\n\n async getInput(): Promise<TestElement | null> {\n return this.locatorForOptional(`input.t-edit`)();\n }\n\n async sendEnter(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.ENTER);\n }\n\n async sendBackspace(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.BACKSPACE);\n }\n\n async sendDelete(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.DELETE);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiTextfieldHarness extends TuiComponentHarness {\n static hostSelector = `input[tuiTextfield], textarea[tuiTextfield]`;\n\n async sendSpaceKey(): Promise<void> {\n return (await this.host()).sendKeys(` `);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiToggleHarness extends TuiComponentHarness {\n static hostSelector = `tui-toggle`;\n protected input = this.locatorFor(`input`);\n\n async toggle(): Promise<void> {\n return (await this.input()).click();\n }\n\n async getIcons(): Promise<TuiSvgHarness[]> {\n return this.locatorForAll(TuiSvgHarness)();\n }\n}\n"],"names":[],"mappings":";;;;AAEM,MAAO,mBAAoB,SAAQ,mCAAmC,CAAA;IAGlE,iBAAiB,GAAA;;AACnB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA,QAAA,CAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA,iBAAA,CAAmB,CAAC,CAAC;SAC9E,CAAA,CAAA;AAAA,KAAA;;AAJM,mBAAY,CAAA,YAAA,GAAG,eAAe;;ACDnC,MAAO,aAAc,SAAQ,mBAAmB,CAAA;IAG5C,KAAK,GAAA;;YACP,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACtC,CAAA,CAAA;AAAA,KAAA;IAEK,IAAI,GAAA;;YACN,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACrC,CAAA,CAAA;AAAA,KAAA;IAEK,WAAW,GAAA;;AACb,YAAA,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAK,GAAA,CAAA,CAAC,EAAE,CAAC,CAAC;SACrD,CAAA,CAAA;AAAA,KAAA;IAEK,MAAM,GAAA;;;YACR,QACI,MAAA,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAA,GAAA,CAAK,CAAC,EAAE,CAAC,0CAAE,YAAY,CAAC,YAAY,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,EAC9E;;AACL,KAAA;;AAlBM,aAAY,CAAA,YAAA,GAAG,SAAS;;ACE7B,MAAO,uBAAwB,SAAQ,mCAAmC,CAAA;AAAhF,IAAA,WAAA,GAAA;;AAGqB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA,SAAA,CAAW,CAAC,CAAC;KAiC1D;IA/BS,QAAQ,GAAA;;AACV,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAU,QAAA,CAAA,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;SACvD,CAAA,CAAA;AAAA,KAAA;IAEK,UAAU,GAAA;;;AACZ,YAAA,OAAO,MAAA,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAY,UAAA,CAAA,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC;;AAC1E,KAAA;IAEK,WAAW,GAAA;;AACb,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAW,SAAA,CAAA,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;SACzD,CAAA,CAAA;AAAA,KAAA;IAEK,UAAU,GAAA;;AACZ,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,CAAc,YAAA,CAAA,CAAC,CAAC;SAC3D,CAAA,CAAA;AAAA,KAAA;IAEK,QAAQ,GAAA;;;YACV,QACI,CAAA,EAAA,GAAA,CAAC,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAC5B,aAAa,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,CAAA,OAAA,CAAS,EAAC,CAAC,CAC5C,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,EACf;;AACL,KAAA;IAEK,KAAK,GAAA;;YACP,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;SACxC,CAAA,CAAA;AAAA,KAAA;IAEK,UAAU,GAAA;;AACZ,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACzD,CAAA,CAAA;AAAA,KAAA;;AAlCM,uBAAY,CAAA,YAAA,GAAG,oBAAoB;;ACJxC,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;;AAClD,oBAAY,CAAA,YAAA,GAAG,iBAAiB;;ACCrC,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;AAAzD,IAAA,WAAA,GAAA;;AAGc,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;KAK5E;IAHS,IAAI,GAAA;;AACN,YAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;SAChC,CAAA,CAAA;AAAA,KAAA;;AANM,gBAAY,CAAA,YAAA,GAAG,iCAAiC;;ACHrD,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;IAG/C,IAAI,GAAA;;YACN,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACrC,CAAA,CAAA;AAAA,KAAA;;AAJM,gBAAY,CAAA,YAAA,GAAG,YAAY;;ACDhC,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;IAG9C,IAAI,GAAA;;YACN,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACrC,CAAA,CAAA;AAAA,KAAA;IAEK,OAAO,GAAA;;AACT,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,CAAc,YAAA,CAAA,CAAC,CAAC;SAC3D,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,QAAQ,CAAC,GAAW,EAAA;;AACtB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC5C,CAAA,CAAA;AAAA,KAAA;;AAZM,eAAY,CAAA,YAAA,GAAG,WAAW;;ACAxB,IAAA,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,cAAc,CAAmB,YAAY,CAAC,CAAA;AAApF,IAAA,WAAA,GAAA;;AACqB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA,8BAAA,CAAgC,CAAC,CAAC;KAWvF;IATS,SAAS,GAAA;;YACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAClC,CAAA,CAAA;AAAA,KAAA;IAEK,OAAO,GAAA;;;AACT,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAEnC,OAAO,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,IAAI,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAA,CAAE,CAAC;;AAC/B,KAAA;EACJ;AAZY,gBAAgB,GAAA,UAAA,CAAA;IAD5B,gBAAgB;AACJ,CAAA,EAAA,gBAAgB,CAY5B;;ACXK,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;AAAzD,IAAA,WAAA,GAAA;;AAEqB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;KASvE;IAPS,SAAS,GAAA;;YACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAClC,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,QAAQ,CAAC,KAAa,EAAA;;AACxB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC9C,CAAA,CAAA;AAAA,KAAA;;AATM,gBAAY,CAAA,YAAA,GAAG,0EAA0E;;ACE9F,MAAO,2BAA4B,SAAQ,mBAAmB,CAAA;AAG1D,IAAA,QAAQ,CAAC,GAAW,EAAA;;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CACjC,iBAAiB,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAC,CAAC,CACxD,EAAE,CAAC;AAEJ,YAAA,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;SAC1B,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,QAAQ,CAAC,GAAW,EAAA;;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CACjC,iBAAiB,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAC,CAAC,CACxD,EAAE,CAAC;AAEJ,YAAA,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;SAC1B,CAAA,CAAA;AAAA,KAAA;;AAhBM,2BAAY,CAAA,YAAA,GAAG,wBAAwB,CAAC;AAmBnD,MAAM,iBAAkB,SAAQ,gBAAgB,CAAA;IAG5C,OAAO,IAAI,CAAC,OAAiC,EAAA;AACzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC7D,CAAA,GAAA,CAAK,EACL,OAAO,CAAC,GAAG,EACX,CAAO,OAAO,EAAE,IAAI,oDAChB,OAAA,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAA,CAAE,CAAC,CAAA,EAAA,CAAA,CACnE,CAAC;KACL;IAEK,OAAO,GAAA;;AACT,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAS,OAAA,CAAA,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;SACtD,CAAA,CAAA;AAAA,KAAA;IAEK,KAAK,GAAA;;YACP,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACtC,CAAA,CAAA;AAAA,KAAA;IAEK,KAAK,GAAA;;YACP,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACtC,CAAA,CAAA;AAAA,KAAA;;AArBM,iBAAY,CAAA,YAAA,GAAG,kCAAkC;;ACxBtD,MAAO,6BAA8B,SAAQ,mBAAmB,CAAA;IAG5D,cAAc,GAAA;;AAChB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA,QAAA,CAAU,CAAC,CAAC;SACjF,CAAA,CAAA;AAAA,KAAA;IAEK,eAAe,GAAA;;AACjB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA,QAAA,CAAU,CAAC,CAAC;SACjF,CAAA,CAAA;AAAA,KAAA;;AARM,6BAAY,CAAA,YAAA,GAAG,2BAA2B;;ACD/C,MAAO,sCAAuC,SAAQ,mBAAmB,CAAA;AAA/E,IAAA,WAAA,GAAA;;AAGqB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,kBAAkB,CACjD,CAAA,iCAAA,CAAmC,CACtC,CAAC;AAEe,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA,iBAAA,CAAmB,CAAC,CAAC;AAEvD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAClD,CAAA,gCAAA,CAAkC,CACrC,CAAC;AAEe,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA,SAAA,CAAW,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;KAyBzF;IAvBS,SAAS,GAAA;;;YACX,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;;AAC7C,KAAA;IAEK,cAAc,GAAA;;;AAChB,YAAA,OAAO,CAAA,EAAA,GAAA,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;;AAC/C,KAAA;IAEK,UAAU,GAAA;;;YACZ,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;;AAC9C,KAAA;IAEK,SAAS,GAAA;;;YACX,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;;AACzC,KAAA;IAEK,cAAc,GAAA;;YAChB,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAAE,cAAc,EAAE,CAAC;SAC9D,CAAA,CAAA;AAAA,KAAA;IAEK,eAAe,GAAA;;YACjB,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAAE,eAAe,EAAE,CAAC;SAC/D,CAAA,CAAA;AAAA,KAAA;;AArCM,sCAAY,CAAA,YAAA,GAAG,qCAAqC;;ACEzD,MAAO,6BAA8B,SAAQ,mBAAmB,CAAA;AAG5D,IAAA,SAAS,CAAC,IAAY,EAAA;;AACxB,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,EAAE,CAAC;AAE1E,YAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC;SAC3B,CAAA,CAAA;AAAA,KAAA;;AANM,6BAAY,CAAA,YAAA,GAAG,2BAA2B,CAAC;AAStD,MAAM,kBAAmB,SAAQ,gBAAgB,CAAA;IAG7C,OAAO,IAAI,CACP,OAAkC,EAAA;AAElC,QAAA,OAAO,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC9D,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,CAAO,OAAO,EAAE,IAAI,KAChB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAA,OAAA,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAA,EAAA,CAAA,CAC9D,CAAC;KACL;IAEK,OAAO,GAAA;;AACT,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAS,OAAA,CAAA,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;SACtD,CAAA,CAAA;AAAA,KAAA;IAEK,KAAK,GAAA;;YACP,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SACtC,CAAA,CAAA;AAAA,KAAA;;AAnBM,kBAAY,CAAA,YAAA,GAAG,SAAS;;ACZ7B,MAAO,kBAAmB,SAAQ,mBAAmB,CAAA;AAA3D,IAAA,WAAA,GAAA;;AAGqB,QAAA,IAAA,CAAA,6BAA6B,GAAG,IAAI,CAAC,kBAAkB,CACpE,6BAA6B,CAChC,CAAC;AAEe,QAAA,IAAA,CAAA,sCAAsC,GAAG,IAAI,CAAC,kBAAkB,CAC7E,sCAAsC,CACzC,CAAC;AAEe,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,CAAC,kBAAkB,CAClE,2BAA2B,CAC9B,CAAC;KAyDL;IAvDS,eAAe,GAAA;;YACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC;SACzD,CAAA,CAAA;AAAA,KAAA;IAEK,wBAAwB,GAAA;;YAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC,CAAC;SAClE,CAAA,CAAA;AAAA,KAAA;IAEK,sBAAsB,GAAA;;YACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;SACvD,CAAA,CAAA;AAAA,KAAA;IAEK,wBAAwB,GAAA;;;AAC1B,YAAA,QACI,CAAA,EAAA,GAAA,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC,0CAAE,cAAc,EAAE,MACvE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,KAAK,EACP;;AACL,KAAA;IAEK,yBAAyB,GAAA;;;AAC3B,YAAA,QACI,CAAA,EAAA,GAAA,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC,0CAAE,eAAe,EAAE,MACxE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,KAAK,EACP;;AACL,KAAA;IAEK,cAAc,GAAA;;;YAChB,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,EAAE,CAAC;;AAC7E,KAAA;IAEK,cAAc,GAAA;;;AAChB,YAAA,QACI,CAAA,EAAA,GAAA,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC,0CAAE,cAAc,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAA,CAAE,EAC/E;;AACL,KAAA;IAEK,eAAe,GAAA;;;YACjB,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,EAAE,CAAC;;AAC9E,KAAA;IAEK,mBAAmB,GAAA;;;YACrB,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,EAAE,CAAC;;AAC7E,KAAA;AAEK,IAAA,eAAe,CAAC,IAAY,EAAA;;;AAC9B,YAAA,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAC,IAAI,CAAC,CAAC;;AACxE,KAAA;AAEK,IAAA,QAAQ,CAAC,GAAW,EAAA;;;AACtB,YAAA,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,GAAG,CAAC,CAAC;;AACpE,KAAA;AAEK,IAAA,QAAQ,CAAC,GAAW,EAAA;;;AACtB,YAAA,OAAO,CAAA,EAAA,IAAC,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,GAAG,CAAC,CAAC;;AACpE,KAAA;;AApEM,kBAAY,CAAA,YAAA,GAAG,cAAc;;ACHlC,MAAO,uBAAwB,SAAQ,mBAAmB,CAAA;IAGtD,oBAAoB,GAAA;;AACtB,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACxC,aAAa,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,CAAA,sBAAA,CAAwB,EAAC,CAAC,CAC3D,EAAE,CAAC;YAEJ,OAAO,CAAC,CAAC,MAAM,CAAC;SACnB,CAAA,CAAA;AAAA,KAAA;IAEK,YAAY,GAAA;;AACd,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACxC,aAAa,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,CAAA,aAAA,CAAe,EAAC,CAAC,CAClD,EAAE,CAAC;YAEJ,OAAO,CAAC,CAAC,MAAM,CAAC;SACnB,CAAA,CAAA;AAAA,KAAA;;AAhBM,uBAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC;AAsBzC,MAAO,cAAe,SAAQ,uBAAuB,CAAA;;AACvC,cAAY,CAAA,YAAA,GAAG,UAAU;;ACzBvC,MAAO,wBAAyB,SAAQ,mCAAmC,CAAA;IAGvE,YAAY,GAAA;;AACd,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAG,CAAA,CAAA,CAAC,CAAC;SAC5C,CAAA,CAAA;AAAA,KAAA;IAEK,UAAU,GAAA;;AACZ,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACvD,CAAA,CAAA;AAAA,KAAA;;AARM,wBAAY,CAAA,YAAA,GAAG,qBAAqB;;ACDzC,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;IAG/C,OAAO,GAAA;;AACT,YAAA,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE;AACtB,gBAAA,OAAO,GAAG,CAAC;AACd,aAAA;AAED,YAAA,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE;AACtB,gBAAA,OAAO,GAAG,CAAC;AACd,aAAA;AAED,YAAA,OAAO,GAAG,CAAC;SACd,CAAA,CAAA;AAAA,KAAA;IAEK,YAAY,GAAA;;AACd,YAAA,IAAI,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE;AAC9B,gBAAA,OAAO,MAAM,CAAC;AACjB,aAAA;AAED,YAAA,IAAI,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAChC,gBAAA,OAAO,QAAQ,CAAC;AACnB,aAAA;AAED,YAAA,OAAO,OAAO,CAAC;SAClB,CAAA,CAAA;AAAA,KAAA;IAEK,WAAW,GAAA;;AACb,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAsB,oBAAA,CAAA,CAAC,CAAC;SAC/D,CAAA,CAAA;AAAA,KAAA;IAEa,eAAe,GAAA;;AACzB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAA4B,0BAAA,CAAA,CAAC,CAAC;SACrE,CAAA,CAAA;AAAA,KAAA;IAEa,iBAAiB,GAAA;;AAC3B,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAA8B,4BAAA,CAAA,CAAC,CAAC;SACvE,CAAA,CAAA;AAAA,KAAA;IAEa,OAAO,GAAA;;AACjB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAmB,iBAAA,CAAA,CAAC,CAAC;SAC5D,CAAA,CAAA;AAAA,KAAA;IAEa,OAAO,GAAA;;AACjB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAmB,iBAAA,CAAA,CAAC,CAAC;SAC5D,CAAA,CAAA;AAAA,KAAA;;AA5CM,gBAAY,CAAA,YAAA,GAAG,YAAY;;ACFhC,MAAO,4BAA6B,SAAQ,mBAAmB,CAAA;IAG3D,mBAAmB,GAAA;;AACrB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAsB,oBAAA,CAAA,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;SACnE,CAAA,CAAA;AAAA,KAAA;IAEK,gBAAgB,GAAA;;AAClB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA,KAAA,CAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA,WAAA,CAAa,CAAC,CAAC;SACxE,CAAA,CAAA;AAAA,KAAA;;AARM,4BAAY,CAAA,YAAA,GAAG,yBAAyB;;ACC7C,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;AAAzD,IAAA,WAAA,GAAA;;AAEqB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;KAS/E;IAPS,YAAY,GAAA;;YACd,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,CAAC;SACvD,CAAA,CAAA;AAAA,KAAA;IAEK,UAAU,GAAA;;YACZ,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC;SACrD,CAAA,CAAA;AAAA,KAAA;;AATM,gBAAY,CAAA,YAAA,GAAG,YAAY;;ACAhC,MAAO,aAAc,SAAQ,mBAAmB,CAAA;IAG5C,YAAY,GAAA;;AACd,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,CAAS,OAAA,CAAA,EAAC,CAAC,CAAC,EAAE,CAAC;SAC/E,CAAA,CAAA;AAAA,KAAA;IAEK,kBAAkB,GAAA;;YACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA,YAAA,CAAc,CAAC,EAAE,CAAC;AAEpD,YAAA,OAAO,GAAG,CAAC,WAAW,CAAC,CAAA,gBAAA,CAAkB,CAAC,CAAC;SAC9C,CAAA,CAAA;AAAA,KAAA;IAEK,QAAQ,GAAA;;AACV,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAc,YAAA,CAAA,CAAC,EAAE,CAAC;SACpD,CAAA,CAAA;AAAA,KAAA;IAEK,SAAS,GAAA;;AACX,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACtD,CAAA,CAAA;AAAA,KAAA;IAEK,aAAa,GAAA;;AACf,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC1D,CAAA,CAAA;AAAA,KAAA;IAEK,UAAU,GAAA;;AACZ,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACvD,CAAA,CAAA;AAAA,KAAA;;AA1BM,aAAY,CAAA,YAAA,GAAG,SAAS;;ACJ7B,MAAO,mBAAoB,SAAQ,mBAAmB,CAAA;IAGlD,YAAY,GAAA;;AACd,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAG,CAAA,CAAA,CAAC,CAAC;SAC5C,CAAA,CAAA;AAAA,KAAA;;AAJM,mBAAY,CAAA,YAAA,GAAG,6CAA6C;;ACCjE,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;AAAzD,IAAA,WAAA,GAAA;;AAEc,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA,KAAA,CAAO,CAAC,CAAC;KAS9C;IAPS,MAAM,GAAA;;YACR,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;SACvC,CAAA,CAAA;AAAA,KAAA;IAEK,QAAQ,GAAA;;AACV,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;SAC9C,CAAA,CAAA;AAAA,KAAA;;AATM,gBAAY,CAAA,YAAA,GAAG,YAAY;;;;"}
1
+ {"version":3,"file":"taiga-ui-testing-core.js","sources":["../../../projects/testing/core/accordion.harness.ts","../../../projects/testing/core/svg.harness.ts","../../../projects/testing/core/accordion-item.harness.ts","../../../projects/testing/core/marker-icon.harness.ts","../../../projects/testing/core/action.harness.ts","../../../projects/testing/core/avatar.harness.ts","../../../projects/testing/core/badge.harness.ts","../../../projects/testing/core/loader.harness.ts","../../../projects/testing/core/button.harness.ts","../../../projects/testing/core/primitive-calender.harness.ts","../../../projects/testing/core/primitive-spin-button.harness.ts","../../../projects/testing/core/primitive-year-month-pagination.harness.ts","../../../projects/testing/core/primitive-year-picker.harness.ts","../../../projects/testing/core/calendar.harness.ts","../../../projects/testing/core/card.harness.ts","../../../projects/testing/core/dialog.harness.ts","../../../projects/testing/core/hosted-dropdown.harness.ts","../../../projects/testing/core/island.harness.ts","../../../projects/testing/core/primitive-textfield.harness.ts","../../../projects/testing/core/select.harness.ts","../../../projects/testing/core/tag.harness.ts","../../../projects/testing/core/textfield.harness.ts","../../../projects/testing/core/toggle.harness.ts","../../../projects/testing/core/taiga-ui-testing-core.ts"],"sourcesContent":["import {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAccordionHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-accordion`;\n\n async hasRoundedCorners(): Promise<boolean> {\n return (await this.locatorFor(`.t-group`)()).hasClass(`tui-group_rounded`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiSvgHarness extends TuiComponentHarness {\n static hostSelector = `tui-svg`;\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n\n async isInnerHTML(): Promise<boolean> {\n return !!(await this.locatorForOptional(`div`)());\n }\n\n async getUse(): Promise<string | null> {\n return (\n (await this.locatorForOptional(`use`)())?.getAttribute(`xlink:href`) ?? null\n );\n }\n}\n","import {TestKey} from '@angular/cdk/testing';\nimport {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiAccordionItemHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-accordion-item`;\n\n private readonly header = this.locatorFor(`.t-header`);\n\n async getTitle(): Promise<string> {\n return (await this.locatorFor(`.t-title`)()).text();\n }\n\n async getContent(): Promise<string | null> {\n return (await this.locatorForOptional(`.t-content`)())?.text() ?? null;\n }\n\n async clickHeader(): Promise<void> {\n return (await this.locatorFor(`.t-header`)()).click();\n }\n\n async getBorders(): Promise<string | null> {\n return (await this.host()).getAttribute(`data-borders`);\n }\n\n async hasArrow(): Promise<boolean> {\n return (\n !!(await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-icon`}),\n )()) ?? false\n );\n }\n\n async focus(): Promise<void> {\n return (await this.header()).focus();\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.header()).sendKeys(TestKey.ESCAPE);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiMarkerIconHarness extends TuiComponentHarness {\n static hostSelector = `tui-marker-icon`;\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiMarkerIconHarness} from './marker-icon.harness';\n\nexport class TuiActionHarness extends TuiComponentHarness {\n static hostSelector = `button[tuiAction], a[tuiAction]`;\n\n protected getIconHarness = this.locatorForOptional(TuiMarkerIconHarness);\n\n async icon(): Promise<TuiMarkerIconHarness | null> {\n return this.getIconHarness();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAvatarHarness extends TuiComponentHarness {\n static hostSelector = `tui-avatar`;\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiBadgeHarness extends TuiComponentHarness {\n static hostSelector = `tui-badge`;\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n\n async padding(): Promise<string | null> {\n return (await this.host()).getAttribute(`data-padding`);\n }\n\n async hasClass(cls: string): Promise<boolean> {\n return (await this.host()).hasClass(cls);\n }\n}\n","import {tuiHarnessWith, tuiWithPredicate} from '@taiga-ui/testing/utils';\n\n@tuiWithPredicate\nexport class TuiLoaderHarness extends tuiHarnessWith<TuiLoaderHarness>(`tui-loader`) {\n private readonly loader = this.locatorForOptional(`fieldset.t-content + .t-loader`);\n\n async isLoading(): Promise<boolean> {\n return !!(await this.loader());\n }\n\n async getText(): Promise<string> {\n const loader = await this.loader();\n\n return loader?.text() ?? ``;\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiLoaderHarness} from './loader.harness';\n\nexport class TuiButtonHarness extends TuiComponentHarness {\n static hostSelector = `button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]`;\n private readonly loader = this.locatorForOptional(TuiLoaderHarness);\n\n async isLoading(): Promise<boolean> {\n return !!(await this.loader());\n }\n\n async hasClass(input: string): Promise<boolean> {\n return (await this.host()).hasClass(input);\n }\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiPrimitiveCalendarHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-calendar`;\n\n async clickDay(day: number): Promise<void> {\n const dayCell = await this.locatorFor(\n TuiDayCellHarness.with({day, ancestor: `#date-rows`}),\n )();\n\n return dayCell.click();\n }\n\n async hoverDay(day: number): Promise<void> {\n const dayCell = await this.locatorFor(\n TuiDayCellHarness.with({day, ancestor: `#date-rows`}),\n )();\n\n return dayCell.hover();\n }\n}\n\nclass TuiDayCellHarness extends ComponentHarness {\n static hostSelector = `.t-cell:not(.t-cell_unavailable)`;\n\n static with(options: TuiDayCellHarnessFilters): HarnessPredicate<TuiDayCellHarness> {\n return new HarnessPredicate(TuiDayCellHarness, options).addOption(\n `day`,\n options.day,\n async (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), `${text}`),\n );\n }\n\n async getText(): Promise<string> {\n return (await this.locatorFor(`.t-item`)()).text();\n }\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n async hover(): Promise<void> {\n return (await this.host()).hover();\n }\n}\n\ninterface TuiDayCellHarnessFilters extends BaseHarnessFilters {\n day: number;\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiButtonHarness} from './button.harness';\n\nexport class TuiPrimitiveSpinButtonHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-spin-button`;\n\n async isLeftDisabled(): Promise<boolean> {\n return (await this.locatorForAll(TuiButtonHarness)())[0].hasClass(`t-hidden`);\n }\n\n async isRightDisabled(): Promise<boolean> {\n return (await this.locatorForAll(TuiButtonHarness)())[1].hasClass(`t-hidden`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiPrimitiveSpinButtonHarness} from './primitive-spin-button.harness';\n\nexport class TuiPrimitiveYearMonthPaginationHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-year-month-pagination`;\n\n private readonly buttonLeft = this.locatorForOptional(\n `button[tuiIconButton]:first-child`,\n );\n\n private readonly content = this.locatorForOptional(`.t-calendar-title`);\n\n private readonly buttonRight = this.locatorForOptional(\n `button[tuiIconButton]:last-child`,\n );\n\n private readonly button = this.locatorForOptional(`#year-btn`);\n private readonly primitiveSpinButton = this.locatorFor(TuiPrimitiveSpinButtonHarness);\n\n async clickLeft(): Promise<void> {\n return (await this.buttonLeft())?.click();\n }\n\n async getContentText(): Promise<string> {\n return (await this.content())?.text() ?? ``;\n }\n\n async clickRight(): Promise<void> {\n return (await this.buttonRight())?.click();\n }\n\n async clickYear(): Promise<void> {\n return (await this.button())?.click();\n }\n\n async isLeftDisabled(): Promise<boolean> {\n return (await this.primitiveSpinButton()).isLeftDisabled();\n }\n\n async isRightDisabled(): Promise<boolean> {\n return (await this.primitiveSpinButton()).isRightDisabled();\n }\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiPrimitiveYearPickerHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-year-picker`;\n\n async clickYear(year: string): Promise<void> {\n const yearCell = await this.locatorFor(TuiYearCellHarness.with({year}))();\n\n return yearCell.click();\n }\n}\n\nclass TuiYearCellHarness extends ComponentHarness {\n static hostSelector = `.t-cell`;\n\n static with(\n options: TuiYearCellHarnessFilters,\n ): HarnessPredicate<TuiYearCellHarness> {\n return new HarnessPredicate(TuiYearCellHarness, options).addOption(\n `year`,\n options.year,\n async (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n );\n }\n\n async getText(): Promise<string> {\n return (await this.locatorFor(`.t-item`)()).text();\n }\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n}\n\ninterface TuiYearCellHarnessFilters extends BaseHarnessFilters {\n year: string;\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiPrimitiveCalendarHarness} from './primitive-calender.harness';\nimport {TuiPrimitiveYearMonthPaginationHarness} from './primitive-year-month-pagination.harness';\nimport {TuiPrimitiveYearPickerHarness} from './primitive-year-picker.harness';\n\nexport class TuiCalendarHarness extends TuiComponentHarness {\n static hostSelector = `tui-calendar`;\n\n private readonly getPrimitiveYearPickerHarness = this.locatorForOptional(\n TuiPrimitiveYearPickerHarness,\n );\n\n private readonly getPrimitiveYearMonthPaginationHarness = this.locatorForOptional(\n TuiPrimitiveYearMonthPaginationHarness,\n );\n\n private readonly getPrimitiveCalendarHarness = this.locatorForOptional(\n TuiPrimitiveCalendarHarness,\n );\n\n async yearPickerShown(): Promise<boolean> {\n return !!(await this.getPrimitiveYearPickerHarness());\n }\n\n async yearMonthPaginationShown(): Promise<boolean> {\n return !!(await this.getPrimitiveYearMonthPaginationHarness());\n }\n\n async primitiveCalendarShown(): Promise<boolean> {\n return !!(await this.getPrimitiveCalendarHarness());\n }\n\n async isPaginationLeftDisabled(): Promise<boolean> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.isLeftDisabled() ??\n false\n );\n }\n\n async isPaginationRightDisabled(): Promise<boolean> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.isRightDisabled() ??\n false\n );\n }\n\n async clickMonthLeft(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickLeft();\n }\n\n async getContentText(): Promise<string> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.getContentText() ?? ``\n );\n }\n\n async clickMonthRight(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickRight();\n }\n\n async clickPaginationYear(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickYear();\n }\n\n async clickPickerYear(year: string): Promise<void> {\n return (await this.getPrimitiveYearPickerHarness())?.clickYear(year);\n }\n\n async clickDay(day: number): Promise<void> {\n return (await this.getPrimitiveCalendarHarness())?.clickDay(day);\n }\n\n async hoverDay(day: number): Promise<void> {\n return (await this.getPrimitiveCalendarHarness())?.hoverDay(day);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiThumbnailCardHarness extends TuiComponentHarness {\n static hostSelector = `tui-thumbnail-card`;\n\n async hasPaymentSystemLogo(): Promise<boolean> {\n const tuiSvg = await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-payment-system-logo`}),\n )();\n\n return !!tuiSvg;\n }\n\n async hasBrandLogo(): Promise<boolean> {\n const tuiSvg = await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-brand-logo`}),\n )();\n\n return !!tuiSvg;\n }\n}\n\n/**\n * @deprecated use {@link TuiThumbnailCardHarness}\n */\nexport class TuiCardHarness extends TuiThumbnailCardHarness {\n static override hostSelector = `tui-card`;\n}\n","import {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiButtonHarness} from './button.harness';\n\nexport class TuiDialogHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-dialog`;\n\n async getCloseButton(): Promise<TuiButtonHarness | null> {\n return this.locatorForOptional(\n TuiButtonHarness.with({\n selector: `[automation-id=tui-dialog__close]`,\n }),\n )();\n }\n}\n","import {TestKey} from '@angular/cdk/testing';\nimport {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiHostedDropdownHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-hosted-dropdown`;\n\n async sendSpaceKey(): Promise<void> {\n return (await this.host()).sendKeys(` `);\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n","import {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiIslandHarness extends TuiComponentHarness {\n static hostSelector = `tui-island`;\n\n async getSize(): Promise<TuiSizeL | TuiSizeS> {\n if (await this.isSizeL()) {\n return `l`;\n }\n\n if (await this.isSizeM()) {\n return `m`;\n }\n\n return `s`;\n }\n\n async getTextAlign(): Promise<'center' | 'left' | 'right'> {\n if (await this.isTextAlignLeft()) {\n return `left`;\n }\n\n if (await this.isTextAlignCenter()) {\n return `center`;\n }\n\n return `right`;\n }\n\n async isHoverable(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_hoverable`);\n }\n\n private async isTextAlignLeft(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_text-align_left`);\n }\n\n private async isTextAlignCenter(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_text-align_center`);\n }\n\n private async isSizeM(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_size_m`);\n }\n\n private async isSizeL(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_size_l`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiPrimitiveTextfieldHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-textfield`;\n\n async valueDecorationText(): Promise<string> {\n return (await this.locatorFor(`tui-value-decoration`)()).text();\n }\n\n async inputPlaceholder(): Promise<string> {\n return (await this.locatorFor(`input`)()).getProperty(`placeholder`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiHostedDropdownHarness} from './hosted-dropdown.harness';\n\nexport class TuiSelectHarness extends TuiComponentHarness {\n static hostSelector = `tui-select`;\n private readonly hostedDropdown = this.locatorFor(TuiHostedDropdownHarness);\n\n async sendSpaceKey(): Promise<void> {\n return (await this.hostedDropdown()).sendSpaceKey();\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.hostedDropdown()).sendEscKey();\n }\n}\n","import {TestElement, TestKey} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiTagHarness extends TuiComponentHarness {\n static hostSelector = `tui-tag`;\n\n async getCrossIcon(): Promise<TuiSvgHarness | null> {\n return this.locatorForOptional(TuiSvgHarness.with({selector: `.t-icon`}))();\n }\n\n async getBackgroundColor(): Promise<string> {\n const div = await this.locatorFor(`:first-child`)();\n\n return div.getCssValue(`background-color`);\n }\n\n async getInput(): Promise<TestElement | null> {\n return this.locatorForOptional(`input.t-edit`)();\n }\n\n async sendEnter(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.ENTER);\n }\n\n async sendBackspace(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.BACKSPACE);\n }\n\n async sendDelete(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.DELETE);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiTextfieldHarness extends TuiComponentHarness {\n static hostSelector = `input[tuiTextfield], textarea[tuiTextfield]`;\n\n async sendSpaceKey(): Promise<void> {\n return (await this.host()).sendKeys(` `);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiToggleHarness extends TuiComponentHarness {\n static hostSelector = `tui-toggle`;\n protected input = this.locatorFor(`input`);\n\n async toggle(): Promise<void> {\n return (await this.input()).click();\n }\n\n async getIcons(): Promise<TuiSvgHarness[]> {\n return this.locatorForAll(TuiSvgHarness)();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,11 +3,27 @@ import { matchImageSnapshotCommand } from 'cypress-image-snapshot/command';
3
3
  import { __awaiter } from 'tslib';
4
4
  import fs from 'fs';
5
5
 
6
+ /// <reference types="cypress" />
7
+ /// <reference types="node" />
8
+ /**
9
+ * Check if element is inside viewport
10
+ *
11
+ * @note WARNING! `.should('be.visible')` doesn't not check if element is inside viewport
12
+ * @see https://github.com/cypress-io/cypress/issues/17483
13
+ * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-342187174
14
+ * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-657583222
15
+ * @example
16
+ ```ts
17
+ cy.get('#test').should('be.inViewport');
18
+ ```
19
+ * */
6
20
  const tuiBeInViewportAssertion = _chai => {
7
21
  chai.Assertion.addMethod(`inViewport`, function () {
8
22
  const subject = this._obj;
9
23
  const { top, bottom } = subject[0].getBoundingClientRect();
10
- const viewportHeight = Cypress.$(cy.state(`window`)).height() || 0;
24
+ const viewportHeight =
25
+ // @ts-ignore TS2339: Property 'state' does not exist on type 'cy & CyEventEmitter'.
26
+ Cypress.$(cy.state(`window`)).height() || 0;
11
27
  const subjectOverlapsAllViewport = top < 0 && bottom > viewportHeight;
12
28
  const topBorderIsVisible = top >= 0 && top < viewportHeight;
13
29
  const bottomBorderIsVisible = bottom >= 0 && bottom < viewportHeight;
@@ -15,6 +31,7 @@ const tuiBeInViewportAssertion = _chai => {
15
31
  });
16
32
  };
17
33
 
34
+ /// <reference types="cypress" />
18
35
  const tuiWaitAllImgInside = (prevSubject, enabled = true) => {
19
36
  const target = prevSubject && Cypress.dom.isJquery(prevSubject)
20
37
  ? cy.wrap(prevSubject, { log: false })
@@ -76,6 +93,7 @@ const tuiWaitAllImgInside = (prevSubject, enabled = true) => {
76
93
  return target;
77
94
  };
78
95
 
96
+ /// <reference types="cypress" />
79
97
  function tuiAddMatchImageSnapshotCommand(options) {
80
98
  const matchSnapshotFn = matchImageSnapshotCommand(options);
81
99
  Cypress.Commands.add(`matchImageSnapshot`, { prevSubject: [`optional`, `element`, `window`, `document`] }, (prevSubject, nameOrOptions, options) => {
@@ -96,6 +114,7 @@ function makeScreenshotName(name) {
96
114
  .toLowerCase());
97
115
  }
98
116
 
117
+ /// <reference types="cypress" />
99
118
  function tuiAddSnapshotPlugin(on, config, { newSnapshotMarkEnabled, newSnapshotMarkFn }) {
100
119
  return __awaiter(this, void 0, void 0, function* () {
101
120
  const { addMatchImageSnapshotPlugin, matchImageSnapshotPlugin } = yield import('cypress-image-snapshot/plugin');
@@ -118,5 +137,9 @@ function tuiAddSnapshotPlugin(on, config, { newSnapshotMarkEnabled, newSnapshotM
118
137
  });
119
138
  }
120
139
 
140
+ /**
141
+ * Generated bundle index. Do not edit.
142
+ */
143
+
121
144
  export { tuiAddMatchImageSnapshotCommand, tuiAddSnapshotPlugin, tuiBeInViewportAssertion, tuiWaitAllImgInside };
122
145
  //# sourceMappingURL=taiga-ui-testing-cypress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-testing-cypress.js","sources":["../../../projects/testing/cypress/assertions/be-in-viewport.ts","../../../projects/testing/cypress/commands/wait-all-img-inside.command.ts","../../../projects/testing/cypress/snapshot/command.ts","../../../projects/testing/cypress/snapshot/plugin.ts"],"sourcesContent":["/// <reference types=\"cypress\" />\n/// <reference types=\"node\" />\n\n/**\n * Check if element is inside viewport\n *\n * @note WARNING! `.should('be.visible')` doesn't not check if element is inside viewport\n * @see https://github.com/cypress-io/cypress/issues/17483\n * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-342187174\n * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-657583222\n * @example\n ```ts\n cy.get('#test').should('be.inViewport');\n ```\n * */\nexport const tuiBeInViewportAssertion: Chai.ChaiPlugin = _chai => {\n chai.Assertion.addMethod(`inViewport`, function () {\n const subject = this._obj;\n const {top, bottom} = subject[0].getBoundingClientRect();\n\n const viewportHeight: number =\n // @ts-ignore TS2339: Property 'state' does not exist on type 'cy & CyEventEmitter'.\n Cypress.$(cy.state(`window`)).height() || 0;\n\n const subjectOverlapsAllViewport = top < 0 && bottom > viewportHeight;\n const topBorderIsVisible = top >= 0 && top < viewportHeight;\n const bottomBorderIsVisible = bottom >= 0 && bottom < viewportHeight;\n\n this.assert(\n subjectOverlapsAllViewport || topBorderIsVisible || bottomBorderIsVisible,\n `expected #{this} to be in viewport`,\n `expected #{this} to not be in viewport`,\n subject,\n );\n });\n};\n","/// <reference types=\"cypress\" />\n\nexport const tuiWaitAllImgInside = (\n prevSubject: Cypress.PrevSubjectMap<void>[Cypress.PrevSubject],\n enabled: boolean = true,\n): Cypress.Chainable<JQuery<HTMLBodyElement>> | Cypress.Chainable<JQuery> => {\n const target =\n prevSubject && Cypress.dom.isJquery(prevSubject)\n ? cy.wrap(prevSubject, {log: false})\n : cy.get(`body`, {log: false});\n\n target.then($target => {\n const img = $target.find(`img`);\n\n if (img.length && enabled) {\n const log = Cypress.log({\n displayName: `Wait all images`,\n message: `naturalWidth greaterThan 0`,\n name: `tuiWaitAllImgInside`,\n autoEnd: false,\n consoleProps: () => ({\n prevSubject,\n img,\n }),\n });\n\n cy.wrap($target, {log: false})\n .get(`img`, {log: false})\n .each((img: JQuery<HTMLImageElement>) => {\n const nativeImage = img.get(0);\n const url = nativeImage?.src || nativeImage?.srcset;\n\n if (!url) {\n return;\n }\n\n const offsetParent = img.prop(`offsetParent`);\n\n return cy.window({log: false}).then((win: Window) => {\n const rect = nativeImage.getBoundingClientRect();\n const isInViewport =\n offsetParent &&\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (win.innerHeight ||\n win.document.documentElement.clientHeight) &&\n rect.right <=\n (win.innerWidth ||\n win.document.documentElement.clientWidth);\n\n if (isInViewport) {\n if (url.includes(`base64`)) {\n (expect as any)(\n nativeImage.naturalWidth,\n ).to.be.greaterThan(0);\n } else {\n cy.request({\n url,\n failOnStatusCode: false,\n log: false,\n }).then(resp => {\n if (resp.status === 200) {\n cy.get(img as any, {log: false}).should(\n (el: JQuery<HTMLImageElement>) =>\n (expect as any)(\n el[0].naturalWidth,\n ).to.be.greaterThan(0),\n );\n }\n });\n }\n }\n });\n })\n .then(() => log.end());\n }\n });\n\n return target;\n};\n","/// <reference types=\"cypress\" />\n// eslint-disable-next-line @taiga-ui/experience/no-deep-imports\nimport {tuiIsObject, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Options} from 'cypress-image-snapshot';\nimport {matchImageSnapshotCommand} from 'cypress-image-snapshot/command';\n\nimport {tuiWaitAllImgInside} from '../commands/wait-all-img-inside.command';\n\ndeclare module 'cypress-image-snapshot/command' {\n function matchImageSnapshotCommand(options: Options): (...args: unknown[]) => void;\n}\n\ninterface TuiSnapshotCommandOptions {\n waitAllImages?: boolean;\n}\n\ndeclare global {\n namespace Cypress {\n interface Chainable {\n matchImageSnapshot(\n name: string,\n options?: Options & TuiSnapshotCommandOptions,\n ): void;\n }\n }\n}\n\nexport function tuiAddMatchImageSnapshotCommand(\n options: Options & TuiSnapshotCommandOptions,\n): void {\n const matchSnapshotFn = matchImageSnapshotCommand(options);\n\n Cypress.Commands.add(\n `matchImageSnapshot`,\n {prevSubject: [`optional`, `element`, `window`, `document`]},\n (\n prevSubject,\n nameOrOptions: string | (Options & TuiSnapshotCommandOptions),\n options?: Options & TuiSnapshotCommandOptions,\n ) => {\n const name = tuiIsString(nameOrOptions) ? nameOrOptions : undefined;\n const overloadedOptions = tuiIsObject(nameOrOptions)\n ? nameOrOptions\n : options;\n\n tuiWaitAllImgInside(prevSubject, overloadedOptions?.waitAllImages ?? true);\n\n matchSnapshotFn(prevSubject, makeScreenshotName(name), overloadedOptions);\n },\n );\n}\n\nfunction makeScreenshotName(name?: string): string {\n return (\n name ??\n Cypress.currentTest.titlePath\n .join(`-`)\n .replace(/\\s|-/g, `.`)\n .replace(/['[\\]`()]/g, ``)\n .toLowerCase()\n );\n}\n","/// <reference types=\"cypress\" />\n/// <reference types=\"node\" />\n\nimport fs from 'fs';\n\ndeclare module 'cypress-image-snapshot/plugin' {\n function matchImageSnapshotPlugin(\n details: Cypress.ScreenshotDetails,\n ): Cypress.AfterScreenshotReturnObject | void;\n}\n\nexport interface TuiSnapshotPluginOptions {\n newSnapshotMarkEnabled: boolean;\n newSnapshotMarkFn: (oldSnapshotFileName: string) => string;\n}\n\nexport async function tuiAddSnapshotPlugin(\n on: Cypress.PluginEvents,\n config: Cypress.PluginConfigOptions,\n {newSnapshotMarkEnabled, newSnapshotMarkFn}: TuiSnapshotPluginOptions,\n): Promise<void> {\n const {addMatchImageSnapshotPlugin, matchImageSnapshotPlugin} = await import(\n `cypress-image-snapshot/plugin`\n );\n\n addMatchImageSnapshotPlugin(on, config);\n\n on(`after:screenshot`, (details: Cypress.ScreenshotDetails) => {\n const {name, path, testFailure} = details;\n const possibleSnapshotPath = path\n .replace(`screenshots`, `snapshots`)\n .replace(/\\.(\\w+)$/g, `.snap.$1`);\n const snapshotAlreadyExists = fs.existsSync(possibleSnapshotPath);\n\n if (newSnapshotMarkEnabled && !testFailure && !snapshotAlreadyExists) {\n const newName = newSnapshotMarkFn(name);\n const newPath = path.replace(name, newName);\n\n fs.renameSync(path, newPath);\n\n console.info(\n `\\x1B[32m%s\\x1B[0m`,\n `\\t[tuiAddSnapshotPlugin]:`,\n `${name} => ${newName}`,\n );\n\n return matchImageSnapshotPlugin({...details, path: newPath});\n }\n\n return matchImageSnapshotPlugin(details);\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-testing-cypress.js","sources":["../../../projects/testing/cypress/assertions/be-in-viewport.ts","../../../projects/testing/cypress/commands/wait-all-img-inside.command.ts","../../../projects/testing/cypress/snapshot/command.ts","../../../projects/testing/cypress/snapshot/plugin.ts","../../../projects/testing/cypress/taiga-ui-testing-cypress.ts"],"sourcesContent":["/// <reference types=\"cypress\" />\n/// <reference types=\"node\" />\n\n/**\n * Check if element is inside viewport\n *\n * @note WARNING! `.should('be.visible')` doesn't not check if element is inside viewport\n * @see https://github.com/cypress-io/cypress/issues/17483\n * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-342187174\n * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-657583222\n * @example\n ```ts\n cy.get('#test').should('be.inViewport');\n ```\n * */\nexport const tuiBeInViewportAssertion: Chai.ChaiPlugin = _chai => {\n chai.Assertion.addMethod(`inViewport`, function () {\n const subject = this._obj;\n const {top, bottom} = subject[0].getBoundingClientRect();\n\n const viewportHeight: number =\n // @ts-ignore TS2339: Property 'state' does not exist on type 'cy & CyEventEmitter'.\n Cypress.$(cy.state(`window`)).height() || 0;\n\n const subjectOverlapsAllViewport = top < 0 && bottom > viewportHeight;\n const topBorderIsVisible = top >= 0 && top < viewportHeight;\n const bottomBorderIsVisible = bottom >= 0 && bottom < viewportHeight;\n\n this.assert(\n subjectOverlapsAllViewport || topBorderIsVisible || bottomBorderIsVisible,\n `expected #{this} to be in viewport`,\n `expected #{this} to not be in viewport`,\n subject,\n );\n });\n};\n","/// <reference types=\"cypress\" />\n\nexport const tuiWaitAllImgInside = (\n prevSubject: Cypress.PrevSubjectMap<void>[Cypress.PrevSubject],\n enabled: boolean = true,\n): Cypress.Chainable<JQuery<HTMLBodyElement>> | Cypress.Chainable<JQuery> => {\n const target =\n prevSubject && Cypress.dom.isJquery(prevSubject)\n ? cy.wrap(prevSubject, {log: false})\n : cy.get(`body`, {log: false});\n\n target.then($target => {\n const img = $target.find(`img`);\n\n if (img.length && enabled) {\n const log = Cypress.log({\n displayName: `Wait all images`,\n message: `naturalWidth greaterThan 0`,\n name: `tuiWaitAllImgInside`,\n autoEnd: false,\n consoleProps: () => ({\n prevSubject,\n img,\n }),\n });\n\n cy.wrap($target, {log: false})\n .get(`img`, {log: false})\n .each((img: JQuery<HTMLImageElement>) => {\n const nativeImage = img.get(0);\n const url = nativeImage?.src || nativeImage?.srcset;\n\n if (!url) {\n return;\n }\n\n const offsetParent = img.prop(`offsetParent`);\n\n return cy.window({log: false}).then((win: Window) => {\n const rect = nativeImage.getBoundingClientRect();\n const isInViewport =\n offsetParent &&\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (win.innerHeight ||\n win.document.documentElement.clientHeight) &&\n rect.right <=\n (win.innerWidth ||\n win.document.documentElement.clientWidth);\n\n if (isInViewport) {\n if (url.includes(`base64`)) {\n (expect as any)(\n nativeImage.naturalWidth,\n ).to.be.greaterThan(0);\n } else {\n cy.request({\n url,\n failOnStatusCode: false,\n log: false,\n }).then(resp => {\n if (resp.status === 200) {\n cy.get(img as any, {log: false}).should(\n (el: JQuery<HTMLImageElement>) =>\n (expect as any)(\n el[0].naturalWidth,\n ).to.be.greaterThan(0),\n );\n }\n });\n }\n }\n });\n })\n .then(() => log.end());\n }\n });\n\n return target;\n};\n","/// <reference types=\"cypress\" />\n// eslint-disable-next-line @taiga-ui/experience/no-deep-imports\nimport {tuiIsObject, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Options} from 'cypress-image-snapshot';\nimport {matchImageSnapshotCommand} from 'cypress-image-snapshot/command';\n\nimport {tuiWaitAllImgInside} from '../commands/wait-all-img-inside.command';\n\ndeclare module 'cypress-image-snapshot/command' {\n function matchImageSnapshotCommand(options: Options): (...args: unknown[]) => void;\n}\n\ninterface TuiSnapshotCommandOptions {\n waitAllImages?: boolean;\n}\n\ndeclare global {\n namespace Cypress {\n interface Chainable {\n matchImageSnapshot(\n name: string,\n options?: Options & TuiSnapshotCommandOptions,\n ): void;\n }\n }\n}\n\nexport function tuiAddMatchImageSnapshotCommand(\n options: Options & TuiSnapshotCommandOptions,\n): void {\n const matchSnapshotFn = matchImageSnapshotCommand(options);\n\n Cypress.Commands.add(\n `matchImageSnapshot`,\n {prevSubject: [`optional`, `element`, `window`, `document`]},\n (\n prevSubject,\n nameOrOptions: string | (Options & TuiSnapshotCommandOptions),\n options?: Options & TuiSnapshotCommandOptions,\n ) => {\n const name = tuiIsString(nameOrOptions) ? nameOrOptions : undefined;\n const overloadedOptions = tuiIsObject(nameOrOptions)\n ? nameOrOptions\n : options;\n\n tuiWaitAllImgInside(prevSubject, overloadedOptions?.waitAllImages ?? true);\n\n matchSnapshotFn(prevSubject, makeScreenshotName(name), overloadedOptions);\n },\n );\n}\n\nfunction makeScreenshotName(name?: string): string {\n return (\n name ??\n Cypress.currentTest.titlePath\n .join(`-`)\n .replace(/\\s|-/g, `.`)\n .replace(/['[\\]`()]/g, ``)\n .toLowerCase()\n );\n}\n","/// <reference types=\"cypress\" />\n/// <reference types=\"node\" />\n\nimport fs from 'fs';\n\ndeclare module 'cypress-image-snapshot/plugin' {\n function matchImageSnapshotPlugin(\n details: Cypress.ScreenshotDetails,\n ): Cypress.AfterScreenshotReturnObject | void;\n}\n\nexport interface TuiSnapshotPluginOptions {\n newSnapshotMarkEnabled: boolean;\n newSnapshotMarkFn: (oldSnapshotFileName: string) => string;\n}\n\nexport async function tuiAddSnapshotPlugin(\n on: Cypress.PluginEvents,\n config: Cypress.PluginConfigOptions,\n {newSnapshotMarkEnabled, newSnapshotMarkFn}: TuiSnapshotPluginOptions,\n): Promise<void> {\n const {addMatchImageSnapshotPlugin, matchImageSnapshotPlugin} = await import(\n `cypress-image-snapshot/plugin`\n );\n\n addMatchImageSnapshotPlugin(on, config);\n\n on(`after:screenshot`, (details: Cypress.ScreenshotDetails) => {\n const {name, path, testFailure} = details;\n const possibleSnapshotPath = path\n .replace(`screenshots`, `snapshots`)\n .replace(/\\.(\\w+)$/g, `.snap.$1`);\n const snapshotAlreadyExists = fs.existsSync(possibleSnapshotPath);\n\n if (newSnapshotMarkEnabled && !testFailure && !snapshotAlreadyExists) {\n const newName = newSnapshotMarkFn(name);\n const newPath = path.replace(name, newName);\n\n fs.renameSync(path, newPath);\n\n console.info(\n `\\x1B[32m%s\\x1B[0m`,\n `\\t[tuiAddSnapshotPlugin]:`,\n `${name} => ${newName}`,\n );\n\n return matchImageSnapshotPlugin({...details, path: newPath});\n }\n\n return matchImageSnapshotPlugin(details);\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,5 +10,9 @@ class TuiFieldNotFoundException extends Error {
10
10
  }
11
11
  }
12
12
 
13
+ /**
14
+ * Generated bundle index. Do not edit.
15
+ */
16
+
13
17
  export { TuiElementIsNotInputException, TuiFieldNotFoundException };
14
18
  //# sourceMappingURL=taiga-ui-testing-exceptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-testing-exceptions.js","sources":["../../../projects/testing/exceptions/element-is-not-input.exception.ts","../../../projects/testing/exceptions/field-not-found.exception.ts"],"sourcesContent":["export class TuiElementIsNotInputException extends Error {\n constructor(automationId: string) {\n super(`Element ${automationId} is not <input />`);\n }\n}\n","export class TuiFieldNotFoundException extends Error {\n constructor(automationId: string) {\n super(`Field ${automationId} not found`);\n }\n}\n"],"names":[],"mappings":"AAAM,MAAO,6BAA8B,SAAQ,KAAK,CAAA;AACpD,IAAA,WAAA,CAAY,YAAoB,EAAA;AAC5B,QAAA,KAAK,CAAC,CAAA,QAAA,EAAW,YAAY,CAAA,iBAAA,CAAmB,CAAC,CAAC;KACrD;AACJ;;ACJK,MAAO,yBAA0B,SAAQ,KAAK,CAAA;AAChD,IAAA,WAAA,CAAY,YAAoB,EAAA;AAC5B,QAAA,KAAK,CAAC,CAAA,MAAA,EAAS,YAAY,CAAA,UAAA,CAAY,CAAC,CAAC;KAC5C;AACJ;;;;"}
1
+ {"version":3,"file":"taiga-ui-testing-exceptions.js","sources":["../../../projects/testing/exceptions/element-is-not-input.exception.ts","../../../projects/testing/exceptions/field-not-found.exception.ts","../../../projects/testing/exceptions/taiga-ui-testing-exceptions.ts"],"sourcesContent":["export class TuiElementIsNotInputException extends Error {\n constructor(automationId: string) {\n super(`Element ${automationId} is not <input />`);\n }\n}\n","export class TuiFieldNotFoundException extends Error {\n constructor(automationId: string) {\n super(`Field ${automationId} not found`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAM,MAAO,6BAA8B,SAAQ,KAAK,CAAA;AACpD,IAAA,WAAA,CAAY,YAAoB,EAAA;AAC5B,QAAA,KAAK,CAAC,CAAA,QAAA,EAAW,YAAY,CAAA,iBAAA,CAAmB,CAAC,CAAC;KACrD;AACJ;;ACJK,MAAO,yBAA0B,SAAQ,KAAK,CAAA;AAChD,IAAA,WAAA,CAAY,YAAoB,EAAA;AAC5B,QAAA,KAAK,CAAC,CAAA,MAAA,EAAS,YAAY,CAAA,UAAA,CAAY,CAAC,CAAC;KAC5C;AACJ;;ACJD;;AAEG;;;;"}
@@ -7,6 +7,7 @@ class TuiMockEvent extends Event {
7
7
  for (const key in options) {
8
8
  Object.defineProperty(event, key, { value: options[key] });
9
9
  }
10
+ // @ts-ignore
10
11
  return event;
11
12
  }
12
13
  }
@@ -15,6 +16,9 @@ const TUI_SANITIZER_MOCK = {
15
16
  provide: TUI_SANITIZER,
16
17
  useValue: {
17
18
  sanitize(_context, src) {
19
+ // Skip error
20
+ // WARNING: sanitizing HTML stripped some content, see
21
+ // https://g.co/ng/security#xss
18
22
  return src;
19
23
  },
20
24
  },
@@ -26,5 +30,9 @@ function tuiSwitchNgDevMode(enable) {
26
30
  }
27
31
  }
28
32
 
33
+ /**
34
+ * Generated bundle index. Do not edit.
35
+ */
36
+
29
37
  export { TUI_SANITIZER_MOCK, TuiMockEvent, tuiSwitchNgDevMode };
30
38
  //# sourceMappingURL=taiga-ui-testing-mocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-testing-mocks.js","sources":["../../../projects/testing/mocks/event.ts","../../../projects/testing/mocks/sanitizer.ts","../../../projects/testing/mocks/switch-ng-dev-mode.ts"],"sourcesContent":["export class TuiMockEvent<T> extends Event {\n constructor(type: string, options: CustomEventInit<T> & Record<string, any> = {}) {\n super(type, options);\n\n const event = new Event(type);\n\n for (const key in options) {\n Object.defineProperty(event, key, {value: options[key]});\n }\n\n // @ts-ignore\n return event;\n }\n}\n","import {SecurityContext} from '@angular/core';\nimport {TUI_SANITIZER} from '@taiga-ui/core';\n\nexport const TUI_SANITIZER_MOCK = {\n provide: TUI_SANITIZER,\n useValue: {\n sanitize(_context: SecurityContext, src: string) {\n // Skip error\n // WARNING: sanitizing HTML stripped some content, see\n // https://g.co/ng/security#xss\n return src;\n },\n },\n};\n","declare const global: Record<any, any> & Window;\n\nexport function tuiSwitchNgDevMode(enable: boolean): void {\n if (global) {\n global.ngDevMode = enable;\n }\n}\n"],"names":[],"mappings":";;AAAM,MAAO,YAAgB,SAAQ,KAAK,CAAA;IACtC,WAAY,CAAA,IAAY,EAAE,OAAA,GAAoD,EAAE,EAAA;AAC5E,QAAA,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAErB,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAE9B,QAAA,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACvB,YAAA,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;AAC5D,SAAA;AAGD,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;ACVY,MAAA,kBAAkB,GAAG;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,QAAQ,EAAE;QACN,QAAQ,CAAC,QAAyB,EAAE,GAAW,EAAA;AAI3C,YAAA,OAAO,GAAG,CAAC;SACd;AACJ,KAAA;;;ACVC,SAAU,kBAAkB,CAAC,MAAe,EAAA;AAC9C,IAAA,IAAI,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;AAC7B,KAAA;AACL;;;;"}
1
+ {"version":3,"file":"taiga-ui-testing-mocks.js","sources":["../../../projects/testing/mocks/event.ts","../../../projects/testing/mocks/sanitizer.ts","../../../projects/testing/mocks/switch-ng-dev-mode.ts","../../../projects/testing/mocks/taiga-ui-testing-mocks.ts"],"sourcesContent":["export class TuiMockEvent<T> extends Event {\n constructor(type: string, options: CustomEventInit<T> & Record<string, any> = {}) {\n super(type, options);\n\n const event = new Event(type);\n\n for (const key in options) {\n Object.defineProperty(event, key, {value: options[key]});\n }\n\n // @ts-ignore\n return event;\n }\n}\n","import {SecurityContext} from '@angular/core';\nimport {TUI_SANITIZER} from '@taiga-ui/core';\n\nexport const TUI_SANITIZER_MOCK = {\n provide: TUI_SANITIZER,\n useValue: {\n sanitize(_context: SecurityContext, src: string) {\n // Skip error\n // WARNING: sanitizing HTML stripped some content, see\n // https://g.co/ng/security#xss\n return src;\n },\n },\n};\n","declare const global: Record<any, any> & Window;\n\nexport function tuiSwitchNgDevMode(enable: boolean): void {\n if (global) {\n global.ngDevMode = enable;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAM,MAAO,YAAgB,SAAQ,KAAK,CAAA;IACtC,WAAY,CAAA,IAAY,EAAE,OAAA,GAAoD,EAAE,EAAA;AAC5E,QAAA,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAErB,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAE9B,QAAA,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACvB,YAAA,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;AAC5D,SAAA;;AAGD,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;ACVY,MAAA,kBAAkB,GAAG;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,QAAQ,EAAE;QACN,QAAQ,CAAC,QAAyB,EAAE,GAAW,EAAA;;;;AAI3C,YAAA,OAAO,GAAG,CAAC;SACd;AACJ,KAAA;;;ACVC,SAAU,kBAAkB,CAAC,MAAe,EAAA;AAC9C,IAAA,IAAI,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;AAC7B,KAAA;AACL;;ACNA;;AAEG;;;;"}
@@ -1,12 +1,17 @@
1
+ /// <reference types="jest" />
1
2
  const { TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock } = require(`util`);
2
3
  global.TextEncoder = TextEncoderMock;
3
4
  global.TextDecoder = TextDecoderMock;
5
+ // @ts-ignore
4
6
  global.document.execCommand = function execCommandMock() { };
7
+ // you can also pass the mock implementation
8
+ // to jest.fn as an argument
5
9
  global.window.IntersectionObserver = jest.fn(() => ({
6
10
  observe: jest.fn(),
7
11
  unobserve: jest.fn(),
8
12
  disconnect: jest.fn(),
9
13
  }));
14
+ // Simulate window resize events
10
15
  const resizeEvent = document.createEvent(`Event`);
11
16
  resizeEvent.initEvent(`resize`, true, true);
12
17
  global.window.resizeTo = width => {
@@ -99,8 +104,19 @@ class TransferMockEvent {
99
104
  }
100
105
  global.DragEvent = TransferMockEvent;
101
106
  global.ClipboardEvent = TransferMockEvent;
107
+ /**
108
+ * in our jest setupFilesAfterEnv file,
109
+ * however when running with ng test those
110
+ * imports are already done by angular
111
+ * resulting in duplicate imports
112
+ * and conflicts resulting in the above error
113
+ */
102
114
  if (!(`Zone` in global)) {
103
115
  require(`zone.js`);
104
116
  require(`zone.js/testing`);
105
117
  }
118
+
119
+ /**
120
+ * Generated bundle index. Do not edit.
121
+ */
106
122
  //# sourceMappingURL=taiga-ui-testing-setup-jest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-testing-setup-jest.js","sources":["../../../projects/testing/setup-jest/index.ts"],"sourcesContent":["/// <reference types=\"jest\" />\n\nconst {TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock} = require(`util`);\n\nglobal.TextEncoder = TextEncoderMock;\nglobal.TextDecoder = TextDecoderMock;\n\n// @ts-ignore\nglobal.document.execCommand = function execCommandMock() {};\n\n// you can also pass the mock implementation\n// to jest.fn as an argument\n(global.window as any).IntersectionObserver = jest.fn(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n}));\n\n// Simulate window resize events\nconst resizeEvent = document.createEvent(`Event`);\n\nresizeEvent.initEvent(`resize`, true, true);\n\nglobal.window.resizeTo = width => {\n (global.window as any).innerWidth = width || global.window.innerWidth;\n (global.window as any).innerHeight = width || global.window.innerHeight;\n global.window.dispatchEvent(resizeEvent);\n};\n\nglobal.URL.createObjectURL = jest.fn(blob => `${blob}`);\nglobal.URL.revokeObjectURL = jest.fn();\n\nObject.defineProperty(global.window, `CSS`, {value: null});\n\nObject.defineProperty(global.window, `getComputedStyle`, {\n value: () => ({\n display: `none`,\n appearance: [`-webkit-appearance`],\n }),\n});\n\nObject.defineProperty(global.document, `doctype`, {\n value: `<!DOCTYPE html>`,\n});\n\nObject.defineProperty(global.document.body.style, `transform`, {\n value: () => ({\n enumerable: true,\n configurable: true,\n }),\n});\n\nObject.defineProperty(global.window, `matchMedia`, {\n writable: true,\n value: jest.fn().mockImplementation(query => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: jest.fn(),\n removeListener: jest.fn(),\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n});\n\nObject.defineProperty(global.document, `elementFromPoint`, {\n writable: true,\n value: jest.fn().mockImplementation(() => null),\n});\n\nObject.defineProperty(global.document, `createRange`, {\n writable: true,\n value: () => {\n const range = new Range();\n\n range.getBoundingClientRect = () => ({\n x: 0,\n y: 0,\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n toJSON: () => {},\n });\n\n range.getClientRects = () => ({\n item: () => null,\n length: 0,\n [Symbol.iterator]: jest.fn(),\n });\n\n return range;\n },\n});\n\nObject.defineProperty(window, `scrollTo`, jest.fn());\n\nObject.defineProperty(global.window, `getComputedStyle`, {\n value: () => ({\n getPropertyValue: (_prop: string) => ``,\n }),\n});\n\nglobal.DataTransfer = class {\n private readonly data = new Map();\n\n setData(format: string, data: string): void {\n this.data.set(format, data);\n }\n\n getData(format: string): string {\n return this.data.get(format);\n }\n} as unknown as typeof DataTransfer;\n\nclass TransferMockEvent {\n dataTransfer: DataTransfer;\n relatedTarget: EventTarget;\n\n constructor(\n readonly type: string,\n readonly options: {\n clipboardData: DataTransfer;\n relatedTarget: EventTarget;\n },\n ) {\n this.dataTransfer = options.clipboardData;\n this.relatedTarget = options.relatedTarget;\n }\n}\n\nglobal.DragEvent = TransferMockEvent as unknown as typeof DragEvent;\nglobal.ClipboardEvent = TransferMockEvent as unknown as typeof ClipboardEvent;\n\n/**\n * in our jest setupFilesAfterEnv file,\n * however when running with ng test those\n * imports are already done by angular\n * resulting in duplicate imports\n * and conflicts resulting in the above error\n */\nif (!(`Zone` in global)) {\n require(`zone.js`);\n require(`zone.js/testing`);\n}\n\n// @note: build empty entry point\nexport {};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-testing-setup-jest.js","sources":["../../../projects/testing/setup-jest/index.ts","../../../projects/testing/setup-jest/taiga-ui-testing-setup-jest.ts"],"sourcesContent":["/// <reference types=\"jest\" />\n\nconst {TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock} = require(`util`);\n\nglobal.TextEncoder = TextEncoderMock;\nglobal.TextDecoder = TextDecoderMock;\n\n// @ts-ignore\nglobal.document.execCommand = function execCommandMock() {};\n\n// you can also pass the mock implementation\n// to jest.fn as an argument\n(global.window as any).IntersectionObserver = jest.fn(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n}));\n\n// Simulate window resize events\nconst resizeEvent = document.createEvent(`Event`);\n\nresizeEvent.initEvent(`resize`, true, true);\n\nglobal.window.resizeTo = width => {\n (global.window as any).innerWidth = width || global.window.innerWidth;\n (global.window as any).innerHeight = width || global.window.innerHeight;\n global.window.dispatchEvent(resizeEvent);\n};\n\nglobal.URL.createObjectURL = jest.fn(blob => `${blob}`);\nglobal.URL.revokeObjectURL = jest.fn();\n\nObject.defineProperty(global.window, `CSS`, {value: null});\n\nObject.defineProperty(global.window, `getComputedStyle`, {\n value: () => ({\n display: `none`,\n appearance: [`-webkit-appearance`],\n }),\n});\n\nObject.defineProperty(global.document, `doctype`, {\n value: `<!DOCTYPE html>`,\n});\n\nObject.defineProperty(global.document.body.style, `transform`, {\n value: () => ({\n enumerable: true,\n configurable: true,\n }),\n});\n\nObject.defineProperty(global.window, `matchMedia`, {\n writable: true,\n value: jest.fn().mockImplementation(query => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: jest.fn(),\n removeListener: jest.fn(),\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n});\n\nObject.defineProperty(global.document, `elementFromPoint`, {\n writable: true,\n value: jest.fn().mockImplementation(() => null),\n});\n\nObject.defineProperty(global.document, `createRange`, {\n writable: true,\n value: () => {\n const range = new Range();\n\n range.getBoundingClientRect = () => ({\n x: 0,\n y: 0,\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n toJSON: () => {},\n });\n\n range.getClientRects = () => ({\n item: () => null,\n length: 0,\n [Symbol.iterator]: jest.fn(),\n });\n\n return range;\n },\n});\n\nObject.defineProperty(window, `scrollTo`, jest.fn());\n\nObject.defineProperty(global.window, `getComputedStyle`, {\n value: () => ({\n getPropertyValue: (_prop: string) => ``,\n }),\n});\n\nglobal.DataTransfer = class {\n private readonly data = new Map();\n\n setData(format: string, data: string): void {\n this.data.set(format, data);\n }\n\n getData(format: string): string {\n return this.data.get(format);\n }\n} as unknown as typeof DataTransfer;\n\nclass TransferMockEvent {\n dataTransfer: DataTransfer;\n relatedTarget: EventTarget;\n\n constructor(\n readonly type: string,\n readonly options: {\n clipboardData: DataTransfer;\n relatedTarget: EventTarget;\n },\n ) {\n this.dataTransfer = options.clipboardData;\n this.relatedTarget = options.relatedTarget;\n }\n}\n\nglobal.DragEvent = TransferMockEvent as unknown as typeof DragEvent;\nglobal.ClipboardEvent = TransferMockEvent as unknown as typeof ClipboardEvent;\n\n/**\n * in our jest setupFilesAfterEnv file,\n * however when running with ng test those\n * imports are already done by angular\n * resulting in duplicate imports\n * and conflicts resulting in the above error\n */\nif (!(`Zone` in global)) {\n require(`zone.js`);\n require(`zone.js/testing`);\n}\n\n// @note: build empty entry point\nexport {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ const configureTestSuite = (configureModule) => {
32
32
  TestBed.resetTestingModule();
33
33
  TestBed.resetTestingModule = () => TestBed;
34
34
  });
35
+ // Custom hook
35
36
  if (configureModule) {
36
37
  beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
37
38
  configureModule();
@@ -39,8 +40,13 @@ const configureTestSuite = (configureModule) => {
39
40
  }));
40
41
  }
41
42
  afterEach(() => {
43
+ // @ts-ignore
42
44
  testBedApi._activeFixtures.forEach((fixture) => fixture.destroy());
45
+ // reset ViewEngine TestBed
46
+ // @ts-ignore
43
47
  testBedApi._instantiated = false;
48
+ // reset Ivy TestBed
49
+ // @ts-ignore
44
50
  testBedApi._testModuleRef = null;
45
51
  });
46
52
  afterAll(() => {
@@ -66,13 +72,23 @@ function tuiRestoreRealDate() {
66
72
  global.Date = OriginalDate;
67
73
  }
68
74
 
75
+ /**
76
+ * Decorator to add default static 'with' method.
77
+ * Use in conjunction with {@link tuiHarnessWith} mixin.
78
+ */
69
79
  function tuiWithPredicate(original) {
70
80
  original.with = (options = {}) => new HarnessPredicate(original, options);
71
81
  return original;
72
82
  }
83
+ /**
84
+ * Mixin to extend {@link ComponentHarness} and add typed
85
+ * static 'with' method. Use {@link tuiWithPredicate} decorator
86
+ * to monkey-patch default static 'with' method.
87
+ */
73
88
  function tuiHarnessWith(hostSelector) {
74
89
  var _a;
75
90
  return _a = class extends ComponentHarness {
91
+ // @ts-ignore
76
92
  static with(_options = {}) {
77
93
  throw new Error(`Hummus`);
78
94
  }
@@ -91,6 +107,7 @@ class TuiContentContainerComponentHarness extends ContentContainerComponentHarne
91
107
  }
92
108
  }
93
109
 
110
+ /// <reference types="jasmine" />
94
111
  function tuiTestCleaner(context, setValue = `value`, clearValue = null) {
95
112
  let pageObject;
96
113
  let fixture;
@@ -404,6 +421,7 @@ class TuiPageObject {
404
421
  getByAutomationId(automationId, debugElement = this.fixture.debugElement) {
405
422
  return debugElement.query(TuiPageObject.byAutomationId(automationId));
406
423
  }
424
+ // Syncing result order with DOM order: https://github.com/angular/angular/issues/13066
407
425
  getAllByAutomationId(automationId, debugElement = this.fixture.debugElement) {
408
426
  const debugEls = debugElement.queryAll(TuiPageObject.byAutomationId(automationId));
409
427
  const domEls = Array.from(debugElement.nativeElement.querySelectorAll(`[automation-id='${automationId}']`));
@@ -435,7 +453,7 @@ class TuiNativeInputPO {
435
453
  return document.activeElement === this.nativeElement;
436
454
  }
437
455
  sendText(value) {
438
- this.focus();
456
+ this.focus(); // need focus before initial value for emulate user interaction
439
457
  const nativeElement = this.nativeElement;
440
458
  if (nativeElement) {
441
459
  nativeElement.value = value;
@@ -443,6 +461,7 @@ class TuiNativeInputPO {
443
461
  }
444
462
  this.fixture.detectChanges();
445
463
  }
464
+ // @bad TODO: Fix this with actually moving focus rather than just blurring
446
465
  sendTextAndBlur(value) {
447
466
  this.focus();
448
467
  this.sendText(value);
@@ -493,5 +512,9 @@ function tuiTestingViewport(width, height) {
493
512
  });
494
513
  }
495
514
 
515
+ /**
516
+ * Generated bundle index. Do not edit.
517
+ */
518
+
496
519
  export { TuiComponentHarness, TuiContentContainerComponentHarness, TuiNativeInputPO, TuiPageObject, configureTestSuite, tuiActiveText, tuiCreateKeyboardEvent, tuiDispatchOnActive, tuiHarnessWith, tuiIsActive, tuiMockCurrentDate, tuiReplaceNbsp, tuiRestoreRealDate, tuiTestCleaner, tuiTestFiller, tuiTestFormControlState, tuiTestPlaceholder, tuiTestTooltip, tuiTestingViewport, tuiWithPredicate };
497
520
  //# sourceMappingURL=taiga-ui-testing-utils.js.map