@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 +1 @@
1
- {"version":3,"file":"taiga-ui-testing-setup-jest.umd.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":";;;;;IAEM,IAAA,EAAA,GAA+D,OAAO,CAAC,MAAM,CAAC,EAAhE,eAAe,GAAA,EAAA,CAAA,WAAA,EAAe,eAAe,GAAA,EAAA,CAAA,WAAmB,CAAC;IAErF,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;IACrC,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;IAGrC,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,SAAS,eAAe,GAAI,GAAC,CAAC;IAI3D,MAAM,CAAC,MAAc,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,YAAM,EAAA,QAAC;IACzD,IAAA,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;IAClB,IAAA,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;IACpB,IAAA,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;KACxB,EAAC,EAAA,CAAC,CAAC;IAGJ,IAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAElD,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE5C,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAA,KAAK,EAAA;IACzB,IAAA,MAAM,CAAC,MAAc,CAAC,UAAU,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;IACrE,IAAA,MAAM,CAAC,MAAc,CAAC,WAAW,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;IACxE,IAAA,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,UAAA,IAAI,IAAI,OAAA,EAAA,GAAG,IAAM,CAAT,EAAS,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAEvC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE;QACrD,KAAK,EAAE,YAAM,EAAA,QAAC;IACV,QAAA,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,CAAC,oBAAoB,CAAC;IACrC,KAAA,IAAC;IACL,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE;IAC9C,IAAA,KAAK,EAAE,iBAAiB;IAC3B,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE;QAC3D,KAAK,EAAE,YAAM,EAAA,QAAC;IACV,QAAA,UAAU,EAAE,IAAI;IAChB,QAAA,YAAY,EAAE,IAAI;IACrB,KAAA,IAAC;IACL,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE;IAC/C,IAAA,QAAQ,EAAE,IAAI;IACd,IAAA,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAA,KAAK,EAAI,EAAA,QAAC;IAC1C,QAAA,OAAO,EAAE,KAAK;IACd,QAAA,KAAK,EAAE,KAAK;IACZ,QAAA,QAAQ,EAAE,IAAI;IACd,QAAA,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;IACtB,QAAA,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;IACzB,QAAA,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC3B,QAAA,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC9B,QAAA,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;SAC3B,EAAC,EAAA,CAAC;IACN,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE;IACvD,IAAA,QAAQ,EAAE,IAAI;IACd,IAAA,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,YAAM,EAAA,OAAA,IAAI,CAAA,EAAA,CAAC;IAClD,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE;IAClD,IAAA,QAAQ,EAAE,IAAI;IACd,IAAA,KAAK,EAAE,YAAA;IACH,QAAA,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAE1B,QAAA,KAAK,CAAC,qBAAqB,GAAG,YAAA,EAAM,QAAC;IACjC,YAAA,CAAC,EAAE,CAAC;IACJ,YAAA,CAAC,EAAE,CAAC;IACJ,YAAA,MAAM,EAAE,CAAC;IACT,YAAA,MAAM,EAAE,CAAC;IACT,YAAA,IAAI,EAAE,CAAC;IACP,YAAA,KAAK,EAAE,CAAC;IACR,YAAA,GAAG,EAAE,CAAC;IACN,YAAA,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,eAAQ;aACnB,EAAC,EAAA,CAAC;YAEH,KAAK,CAAC,cAAc,GAAG,YAAA;;gBAAM,QAAA,EAAA,GAAA;IACzB,oBAAA,IAAI,EAAE,YAAA,EAAM,OAAA,IAAI,GAAA;IAChB,oBAAA,MAAM,EAAE,CAAC;;IACT,gBAAA,EAAA,CAAC,MAAM,CAAC,QAAQ,IAAG,IAAI,CAAC,EAAE,EAAE;IAC9B,gBAAA,EAAA,EAAA;IAJ2B,SAI3B,CAAC;IAEH,QAAA,OAAO,KAAK,CAAC;SAChB;IACJ,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAErD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE;QACrD,KAAK,EAAE,YAAM,EAAA,QAAC;IACV,QAAA,gBAAgB,EAAE,UAAC,KAAa,IAAK,OAAA,EAAE,GAAA;IAC1C,KAAA,IAAC;IACL,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,kBAAA,YAAA;IAAG,IAAA,SAAA,YAAA,GAAA;IACD,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;SASrC;IAPG,IAAA,YAAA,CAAA,SAAA,CAAA,OAAO,GAAP,UAAQ,MAAc,EAAE,IAAY,EAAA;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC/B,CAAA;QAED,YAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAChC,CAAA;eAC8B,YAAA,CAAA;KAVb,GAUa,CAAC;IAEpC,IAAA,iBAAA,kBAAA,YAAA;QAII,SACa,iBAAA,CAAA,IAAY,EACZ,OAGR,EAAA;IAJQ,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;IACZ,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAGf;IAED,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;SAC9C;QACJ,OAAA,iBAAA,CAAA;IAAA,CAAA,EAAA,CAAA,CAAA;IAED,MAAM,CAAC,SAAS,GAAG,iBAAgD,CAAC;IACpE,MAAM,CAAC,cAAc,GAAG,iBAAqD,CAAC;IAS9E,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,EAAE;QACrB,OAAO,CAAC,SAAS,CAAC,CAAC;QACnB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-testing-setup-jest.umd.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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"}
@@ -352,6 +352,7 @@
352
352
  testing.TestBed.resetTestingModule();
353
353
  testing.TestBed.resetTestingModule = function () { return testing.TestBed; };
354
354
  });
355
+ // Custom hook
355
356
  if (configureModule) {
356
357
  beforeAll(function () { return __awaiter(void 0, void 0, void 0, function () {
357
358
  return __generator(this, function (_a) {
@@ -367,8 +368,13 @@
367
368
  }); });
368
369
  }
369
370
  afterEach(function () {
371
+ // @ts-ignore
370
372
  testBedApi._activeFixtures.forEach(function (fixture) { return fixture.destroy(); });
373
+ // reset ViewEngine TestBed
374
+ // @ts-ignore
371
375
  testBedApi._instantiated = false;
376
+ // reset Ivy TestBed
377
+ // @ts-ignore
372
378
  testBedApi._testModuleRef = null;
373
379
  });
374
380
  afterAll(function () {
@@ -396,6 +402,10 @@
396
402
  global.Date = OriginalDate;
397
403
  }
398
404
 
405
+ /**
406
+ * Decorator to add default static 'with' method.
407
+ * Use in conjunction with {@link tuiHarnessWith} mixin.
408
+ */
399
409
  function tuiWithPredicate(original) {
400
410
  original.with = function (options) {
401
411
  if (options === void 0) { options = {}; }
@@ -403,6 +413,11 @@
403
413
  };
404
414
  return original;
405
415
  }
416
+ /**
417
+ * Mixin to extend {@link ComponentHarness} and add typed
418
+ * static 'with' method. Use {@link tuiWithPredicate} decorator
419
+ * to monkey-patch default static 'with' method.
420
+ */
406
421
  function tuiHarnessWith(hostSelector) {
407
422
  var _a;
408
423
  return _a = /** @class */ (function (_super) {
@@ -410,6 +425,7 @@
410
425
  function _a() {
411
426
  return _super !== null && _super.apply(this, arguments) || this;
412
427
  }
428
+ // @ts-ignore
413
429
  _a.with = function (_options) {
414
430
  if (_options === void 0) { _options = {}; }
415
431
  throw new Error("Hummus");
@@ -440,6 +456,7 @@
440
456
  return TuiContentContainerComponentHarness;
441
457
  }(testing$1.ContentContainerComponentHarness));
442
458
 
459
+ /// <reference types="jasmine" />
443
460
  function tuiTestCleaner(context, setValue, clearValue) {
444
461
  if (setValue === void 0) { setValue = "value"; }
445
462
  if (clearValue === void 0) { clearValue = null; }
@@ -779,6 +796,7 @@
779
796
  if (debugElement === void 0) { debugElement = this.fixture.debugElement; }
780
797
  return debugElement.query(TuiPageObject.byAutomationId(automationId));
781
798
  };
799
+ // Syncing result order with DOM order: https://github.com/angular/angular/issues/13066
782
800
  TuiPageObject.prototype.getAllByAutomationId = function (automationId, debugElement) {
783
801
  if (debugElement === void 0) { debugElement = this.fixture.debugElement; }
784
802
  var debugEls = debugElement.queryAll(TuiPageObject.byAutomationId(automationId));
@@ -824,7 +842,7 @@
824
842
  configurable: true
825
843
  });
826
844
  TuiNativeInputPO.prototype.sendText = function (value) {
827
- this.focus();
845
+ this.focus(); // need focus before initial value for emulate user interaction
828
846
  var nativeElement = this.nativeElement;
829
847
  if (nativeElement) {
830
848
  nativeElement.value = value;
@@ -832,6 +850,7 @@
832
850
  }
833
851
  this.fixture.detectChanges();
834
852
  };
853
+ // @bad TODO: Fix this with actually moving focus rather than just blurring
835
854
  TuiNativeInputPO.prototype.sendTextAndBlur = function (value) {
836
855
  this.focus();
837
856
  this.sendText(value);
@@ -883,6 +902,10 @@
883
902
  });
884
903
  }
885
904
 
905
+ /**
906
+ * Generated bundle index. Do not edit.
907
+ */
908
+
886
909
  exports.TuiComponentHarness = TuiComponentHarness;
887
910
  exports.TuiContentContainerComponentHarness = TuiContentContainerComponentHarness;
888
911
  exports.TuiNativeInputPO = TuiNativeInputPO;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-testing-utils.umd.js","sources":["../../../projects/testing/utils/keyboard-event.ts","../../../projects/testing/utils/active-element.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/testing/utils/configure-test-suite.ts","../../../projects/testing/utils/date.ts","../../../projects/testing/utils/helpers.ts","../../../projects/testing/utils/input/cleaner.unit-common.ts","../../../projects/testing/utils/input/filler.unit-common.ts","../../../projects/testing/utils/input/form-control-state.unit-common.ts","../../../projects/testing/utils/input/placeholder.unit-common.ts","../../../projects/testing/utils/input/tooltip.unit-common.ts","../../../projects/testing/utils/page-object.ts","../../../projects/testing/utils/replace-nbsp.ts","../../../projects/testing/utils/native-input.page-object.ts","../../../projects/testing/utils/viewport.ts"],"sourcesContent":["export function tuiCreateKeyboardEvent(\n key: string,\n eventType: string = `keydown`,\n): KeyboardEvent {\n const event = new KeyboardEvent(eventType, {bubbles: true});\n\n delete (event as any).target;\n Object.defineProperty(event, `type`, {value: eventType});\n\n delete (event as any).key;\n Object.defineProperty(event, `key`, {value: key});\n\n return event;\n}\n","import {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\n\nexport function tuiDispatchOnActive<T>(key: string, fixture?: ComponentFixture<T>): void {\n document.activeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, `keydown`));\n\n fixture?.detectChanges();\n}\n\nexport function tuiActiveText(): string {\n return document.activeElement?.textContent?.trim() ?? ``;\n}\n\nexport function tuiIsActive(element: Element): boolean {\n return document.activeElement === element;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {ComponentFixture, getTestBed, TestBed} from '@angular/core/testing';\n\nexport const configureTestSuite = (configureModule?: () => void): void => {\n const testBedApi = getTestBed();\n const originReset = TestBed.resetTestingModule;\n\n beforeAll(() => {\n TestBed.resetTestingModule();\n TestBed.resetTestingModule = () => TestBed;\n });\n\n // Custom hook\n if (configureModule) {\n beforeAll(async () => {\n configureModule();\n await TestBed.compileComponents();\n });\n }\n\n afterEach(() => {\n // @ts-ignore\n testBedApi._activeFixtures.forEach((fixture: ComponentFixture<unknown>) =>\n fixture.destroy(),\n );\n // reset ViewEngine TestBed\n // @ts-ignore\n testBedApi._instantiated = false;\n // reset Ivy TestBed\n // @ts-ignore\n testBedApi._testModuleRef = null;\n });\n\n afterAll(() => {\n TestBed.resetTestingModule = originReset;\n TestBed.resetTestingModule();\n });\n};\n","import {tuiIsNumber} from '@taiga-ui/cdk';\n\ndeclare const global: {Date: typeof Date};\n\nconst OriginalDate = global.Date;\n\nexport function tuiMockCurrentDate(dateOrNumber: Date | number): void {\n const date: Date = tuiIsNumber(dateOrNumber)\n ? new OriginalDate(dateOrNumber)\n : dateOrNumber;\n\n class MockDate extends OriginalDate {\n constructor() {\n super();\n\n return date;\n }\n }\n\n global.Date = MockDate as typeof Date;\n}\n\nexport function tuiRestoreRealDate(): void {\n global.Date = OriginalDate;\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\n/**\n * Decorator to add default static 'with' method.\n * Use in conjunction with {@link tuiHarnessWith} mixin.\n */\nexport function tuiWithPredicate<\n T extends ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n },\n>(original: T): T {\n original.with = (options: BaseHarnessFilters = {}) =>\n new HarnessPredicate(original, options);\n\n return original;\n}\n\n/**\n * Mixin to extend {@link ComponentHarness} and add typed\n * static 'with' method. Use {@link tuiWithPredicate} decorator\n * to monkey-patch default static 'with' method.\n */\nexport function tuiHarnessWith<T>(\n hostSelector: string,\n): ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n} {\n return class extends ComponentHarness {\n static hostSelector = hostSelector;\n\n // @ts-ignore\n static with(_options: BaseHarnessFilters = {}): HarnessPredicate<T> {\n throw new Error(`Hummus`);\n }\n } as unknown as ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n };\n}\n\nexport class TuiComponentHarness extends ComponentHarness {\n static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n\nexport class TuiContentContainerComponentHarness extends ContentContainerComponentHarness {\n static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n","/// <reference types=\"jasmine\" />\n\nimport {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n cleaner: boolean;\n control?: FormControl;\n disabled?: boolean;\n readOnly: boolean;\n value?: unknown;\n}\n\nexport function tuiTestCleaner(\n context: TestParams,\n setValue: any = `value`,\n clearValue: any = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`Cross for field cleaning`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.autoDetectChanges();\n });\n\n describe(`Cross included`, () => {\n beforeEach(() => {\n testComponent.cleaner = true;\n });\n\n it(`If no value is specified, the cross is not shown`, () => {\n updateValue(clearValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If the field is readonly, the cross is not shown`, () => {\n updateValue(setValue);\n\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If the field is disabled, the cross is not shown`, () => {\n updateValue(setValue);\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n testComponent.disabled = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If a value is specified, a cross is shown`, () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).not.toBeNull();\n });\n\n it(`When you click on the cross, the field value is cleared`, () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n getCleaner()!.nativeElement.click();\n fixture.detectChanges();\n\n expect(inputPO.value).toBe(``);\n\n if (testComponent.control !== undefined) {\n expect(testComponent.control.value).toEqual(clearValue);\n }\n\n if (testComponent.value !== undefined) {\n expect(testComponent.value).toEqual(clearValue);\n }\n });\n });\n\n describe(`Cross disabled`, () => {\n it(`The value is set, the cross is not shown`, () => {\n updateValue(setValue);\n\n testComponent.cleaner = false;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getCleaner(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}cleaner`);\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control: FormControl;\n}\n\nexport function tuiTestFiller(\n context: TestParams,\n setValue: unknown = `value`,\n clearValue: unknown = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`Filler (mask)`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n describe(`if there is no value in the field`, () => {\n beforeEach(() => {\n testComponent.control.setValue(clearValue);\n fixture.detectChanges();\n });\n\n it(`not visible`, () => {\n expect(getFiller()).toBeNull();\n });\n\n it(`when focusing appears`, async () => {\n inputPO.focus();\n fixture.detectChanges();\n await fixture.whenStable();\n expect(getFiller()).not.toBeNull();\n });\n });\n\n describe(`if the field has a value`, () => {\n beforeEach(() => {\n testComponent.control.setValue(setValue);\n fixture.detectChanges();\n });\n\n it(`not visible`, () => {\n expect(getFiller()).toBeNull();\n });\n\n it(`also not visible when focusing`, () => {\n inputPO.nativeElement?.focus();\n fixture.detectChanges();\n\n expect(getFiller()).toBeNull();\n });\n });\n });\n\n function getFiller(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}filler`);\n }\n}\n","import {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control: FormControl;\n}\n\nexport function tuiTestFormControlState(context: TestParams): void {\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`FormControl state`, () => {\n beforeEach(() => {\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n it(`After initializing control dirty === false`, () => {\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it(`After control initialization touched === false`, () => {\n expect(testComponent.control.touched).toBe(false);\n });\n\n it(`After setting value from outside dirty === false`, () => {\n testComponent.control.setValue(`123`);\n fixture.detectChanges();\n\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it(`After entering the value dirty === true`, () => {\n inputPO.sendText(`123`);\n\n expect(testComponent.control.dirty).toBe(true);\n });\n\n it(`After setting and de-focusing touched === true`, async () => {\n inputPO.focus();\n inputPO.blur();\n\n await fixture.whenStable();\n\n fixture.detectChanges();\n expect(testComponent.control.touched).toBe(true);\n });\n });\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control?: FormControl;\n labelOutside: boolean;\n size: 'l' | 'm' | 's';\n value?: unknown;\n}\n\nexport function tuiTestPlaceholder(\n context: TestParams,\n setValue: unknown = `value`,\n clearValue: unknown = ``,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n\n describe(`Placeholder`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe(`in size S`, () => {\n beforeEach(() => {\n testComponent.size = `s`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if specified, not shown`, () => {\n updateValue(setValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe(`in size M`, () => {\n beforeEach(() => {\n testComponent.size = `m`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if a value is given, then`, () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if value is given but label is outside, then not shown`, () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe(`in size L`, () => {\n beforeEach(() => {\n testComponent.size = `l`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if a value is given, then`, () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if value is given but label is outside, then not shown`, () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getPlaceholder(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}placeholder`);\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control?: FormControl;\n disabled?: boolean;\n hintContent: string | null;\n readOnly: boolean;\n size: unknown;\n}\n\nexport function tuiTestTooltip(context: TestParams): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n\n describe(`Tooltip in a field`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe(`There is tooltip content`, () => {\n it(`if field is disabled, there is no tooltip`, () => {\n testComponent.disabled = true;\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n\n it(`if field is not disabled, there is tooltip`, () => {\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n\n it(`if field is readonly, there is tooltip`, () => {\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n });\n\n describe(`There is no tooltip content`, () => {\n beforeEach(() => {\n testComponent.hintContent = null;\n fixture.detectChanges();\n });\n\n it(`tooltip without content is hidden`, () => {\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n });\n });\n\n function getTooltip(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}tooltip`);\n }\n}\n","import {DebugElement, Predicate} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\n\nexport class TuiPageObject<T> {\n constructor(protected fixture: ComponentFixture<T>) {}\n\n static getIds({nativeElement}: DebugElement): string[] {\n const attributeValue: string | null = nativeElement.getAttribute(`automation-id`);\n\n return attributeValue === null ? [] : attributeValue.split(` `);\n }\n\n static containsId(debugElement: DebugElement, automationId: string): boolean {\n return TuiPageObject.getIds(debugElement).includes(automationId);\n }\n\n private static byAutomationId(automationId: string): Predicate<DebugElement> {\n return debugElement => TuiPageObject.containsId(debugElement, automationId);\n }\n\n getByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement | null {\n return debugElement.query(TuiPageObject.byAutomationId(automationId));\n }\n\n // Syncing result order with DOM order: https://github.com/angular/angular/issues/13066\n getAllByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement[] {\n const debugEls = debugElement.queryAll(\n TuiPageObject.byAutomationId(automationId),\n );\n const domEls = Array.from(\n debugElement.nativeElement.querySelectorAll(\n `[automation-id='${automationId}']`,\n ),\n );\n\n return debugEls.sort(\n (a, b) => domEls.indexOf(a.nativeElement) - domEls.indexOf(b.nativeElement),\n );\n }\n}\n","import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\n\nexport function tuiReplaceNbsp(content?: string): string {\n return content?.replace(new RegExp(CHAR_NO_BREAK_SPACE, `g`), ` `) ?? ``;\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\nimport {TuiPageObject} from './page-object';\nimport {tuiReplaceNbsp} from './replace-nbsp';\n\nexport class TuiNativeInputPO {\n private readonly pageObject: TuiPageObject<unknown>;\n\n constructor(\n private readonly fixture: ComponentFixture<unknown>,\n private readonly automationId: string,\n private readonly hostDebugElement?: DebugElement,\n ) {\n this.pageObject = new TuiPageObject(fixture);\n }\n\n get nativeElement(): HTMLInputElement | HTMLTextAreaElement | null {\n return (\n this.pageObject.getByAutomationId(this.automationId, this.hostDebugElement)\n ?.nativeElement ?? null\n );\n }\n\n get value(): string {\n return tuiReplaceNbsp(this.nativeElement?.value ?? ``);\n }\n\n get focused(): boolean {\n return document.activeElement === this.nativeElement;\n }\n\n sendText(value: string): void {\n this.focus(); // need focus before initial value for emulate user interaction\n\n const nativeElement = this.nativeElement;\n\n if (nativeElement) {\n nativeElement.value = value;\n nativeElement.dispatchEvent(new Event(`input`, {bubbles: true}));\n }\n\n this.fixture.detectChanges();\n }\n\n // @bad TODO: Fix this with actually moving focus rather than just blurring\n sendTextAndBlur(value: string): void {\n this.focus();\n this.sendText(value);\n this.blur();\n }\n\n sendKeydown(key: string): void {\n this.nativeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, `keydown`));\n this.fixture.detectChanges();\n }\n\n focus(): void {\n this.nativeElement?.focus();\n this.fixture.detectChanges();\n }\n\n blur(): void {\n this.nativeElement?.blur();\n this.fixture.detectChanges();\n }\n\n click(): void {\n this.nativeElement?.click();\n this.fixture.detectChanges();\n }\n}\n","export function tuiTestingViewport(width: number, height: number): void {\n Object.defineProperty(global, `innerWidth`, {\n writable: true,\n configurable: true,\n value: width,\n });\n\n Object.defineProperty(global.document.documentElement, `clientWidth`, {\n writable: true,\n configurable: true,\n value: width - 15,\n });\n\n Object.defineProperty(global, `innerHeight`, {\n writable: true,\n configurable: true,\n value: height,\n });\n\n Object.defineProperty(global.document.documentElement, `clientHeight`, {\n writable: true,\n configurable: true,\n value: height,\n });\n}\n"],"names":["getTestBed","TestBed","tuiIsNumber","HarnessPredicate","ComponentHarness","ContentContainerComponentHarness","CHAR_NO_BREAK_SPACE"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-testing-utils.umd.js","sources":["../../../projects/testing/utils/keyboard-event.ts","../../../projects/testing/utils/active-element.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/testing/utils/configure-test-suite.ts","../../../projects/testing/utils/date.ts","../../../projects/testing/utils/helpers.ts","../../../projects/testing/utils/input/cleaner.unit-common.ts","../../../projects/testing/utils/input/filler.unit-common.ts","../../../projects/testing/utils/input/form-control-state.unit-common.ts","../../../projects/testing/utils/input/placeholder.unit-common.ts","../../../projects/testing/utils/input/tooltip.unit-common.ts","../../../projects/testing/utils/page-object.ts","../../../projects/testing/utils/replace-nbsp.ts","../../../projects/testing/utils/native-input.page-object.ts","../../../projects/testing/utils/viewport.ts","../../../projects/testing/utils/taiga-ui-testing-utils.ts"],"sourcesContent":["export function tuiCreateKeyboardEvent(\n key: string,\n eventType: string = `keydown`,\n): KeyboardEvent {\n const event = new KeyboardEvent(eventType, {bubbles: true});\n\n delete (event as any).target;\n Object.defineProperty(event, `type`, {value: eventType});\n\n delete (event as any).key;\n Object.defineProperty(event, `key`, {value: key});\n\n return event;\n}\n","import {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\n\nexport function tuiDispatchOnActive<T>(key: string, fixture?: ComponentFixture<T>): void {\n document.activeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, `keydown`));\n\n fixture?.detectChanges();\n}\n\nexport function tuiActiveText(): string {\n return document.activeElement?.textContent?.trim() ?? ``;\n}\n\nexport function tuiIsActive(element: Element): boolean {\n return document.activeElement === element;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {ComponentFixture, getTestBed, TestBed} from '@angular/core/testing';\n\nexport const configureTestSuite = (configureModule?: () => void): void => {\n const testBedApi = getTestBed();\n const originReset = TestBed.resetTestingModule;\n\n beforeAll(() => {\n TestBed.resetTestingModule();\n TestBed.resetTestingModule = () => TestBed;\n });\n\n // Custom hook\n if (configureModule) {\n beforeAll(async () => {\n configureModule();\n await TestBed.compileComponents();\n });\n }\n\n afterEach(() => {\n // @ts-ignore\n testBedApi._activeFixtures.forEach((fixture: ComponentFixture<unknown>) =>\n fixture.destroy(),\n );\n // reset ViewEngine TestBed\n // @ts-ignore\n testBedApi._instantiated = false;\n // reset Ivy TestBed\n // @ts-ignore\n testBedApi._testModuleRef = null;\n });\n\n afterAll(() => {\n TestBed.resetTestingModule = originReset;\n TestBed.resetTestingModule();\n });\n};\n","import {tuiIsNumber} from '@taiga-ui/cdk';\n\ndeclare const global: {Date: typeof Date};\n\nconst OriginalDate = global.Date;\n\nexport function tuiMockCurrentDate(dateOrNumber: Date | number): void {\n const date: Date = tuiIsNumber(dateOrNumber)\n ? new OriginalDate(dateOrNumber)\n : dateOrNumber;\n\n class MockDate extends OriginalDate {\n constructor() {\n super();\n\n return date;\n }\n }\n\n global.Date = MockDate as typeof Date;\n}\n\nexport function tuiRestoreRealDate(): void {\n global.Date = OriginalDate;\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\n/**\n * Decorator to add default static 'with' method.\n * Use in conjunction with {@link tuiHarnessWith} mixin.\n */\nexport function tuiWithPredicate<\n T extends ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n },\n>(original: T): T {\n original.with = (options: BaseHarnessFilters = {}) =>\n new HarnessPredicate(original, options);\n\n return original;\n}\n\n/**\n * Mixin to extend {@link ComponentHarness} and add typed\n * static 'with' method. Use {@link tuiWithPredicate} decorator\n * to monkey-patch default static 'with' method.\n */\nexport function tuiHarnessWith<T>(\n hostSelector: string,\n): ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n} {\n return class extends ComponentHarness {\n static hostSelector = hostSelector;\n\n // @ts-ignore\n static with(_options: BaseHarnessFilters = {}): HarnessPredicate<T> {\n throw new Error(`Hummus`);\n }\n } as unknown as ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n };\n}\n\nexport class TuiComponentHarness extends ComponentHarness {\n static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n\nexport class TuiContentContainerComponentHarness extends ContentContainerComponentHarness {\n static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n","/// <reference types=\"jasmine\" />\n\nimport {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n cleaner: boolean;\n control?: FormControl;\n disabled?: boolean;\n readOnly: boolean;\n value?: unknown;\n}\n\nexport function tuiTestCleaner(\n context: TestParams,\n setValue: any = `value`,\n clearValue: any = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`Cross for field cleaning`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.autoDetectChanges();\n });\n\n describe(`Cross included`, () => {\n beforeEach(() => {\n testComponent.cleaner = true;\n });\n\n it(`If no value is specified, the cross is not shown`, () => {\n updateValue(clearValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If the field is readonly, the cross is not shown`, () => {\n updateValue(setValue);\n\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If the field is disabled, the cross is not shown`, () => {\n updateValue(setValue);\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n testComponent.disabled = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it(`If a value is specified, a cross is shown`, () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).not.toBeNull();\n });\n\n it(`When you click on the cross, the field value is cleared`, () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n getCleaner()!.nativeElement.click();\n fixture.detectChanges();\n\n expect(inputPO.value).toBe(``);\n\n if (testComponent.control !== undefined) {\n expect(testComponent.control.value).toEqual(clearValue);\n }\n\n if (testComponent.value !== undefined) {\n expect(testComponent.value).toEqual(clearValue);\n }\n });\n });\n\n describe(`Cross disabled`, () => {\n it(`The value is set, the cross is not shown`, () => {\n updateValue(setValue);\n\n testComponent.cleaner = false;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getCleaner(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}cleaner`);\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control: FormControl;\n}\n\nexport function tuiTestFiller(\n context: TestParams,\n setValue: unknown = `value`,\n clearValue: unknown = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`Filler (mask)`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n describe(`if there is no value in the field`, () => {\n beforeEach(() => {\n testComponent.control.setValue(clearValue);\n fixture.detectChanges();\n });\n\n it(`not visible`, () => {\n expect(getFiller()).toBeNull();\n });\n\n it(`when focusing appears`, async () => {\n inputPO.focus();\n fixture.detectChanges();\n await fixture.whenStable();\n expect(getFiller()).not.toBeNull();\n });\n });\n\n describe(`if the field has a value`, () => {\n beforeEach(() => {\n testComponent.control.setValue(setValue);\n fixture.detectChanges();\n });\n\n it(`not visible`, () => {\n expect(getFiller()).toBeNull();\n });\n\n it(`also not visible when focusing`, () => {\n inputPO.nativeElement?.focus();\n fixture.detectChanges();\n\n expect(getFiller()).toBeNull();\n });\n });\n });\n\n function getFiller(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}filler`);\n }\n}\n","import {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiNativeInputPO} from '../native-input.page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control: FormControl;\n}\n\nexport function tuiTestFormControlState(context: TestParams): void {\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n let inputPO: TuiNativeInputPO;\n\n describe(`FormControl state`, () => {\n beforeEach(() => {\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n it(`After initializing control dirty === false`, () => {\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it(`After control initialization touched === false`, () => {\n expect(testComponent.control.touched).toBe(false);\n });\n\n it(`After setting value from outside dirty === false`, () => {\n testComponent.control.setValue(`123`);\n fixture.detectChanges();\n\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it(`After entering the value dirty === true`, () => {\n inputPO.sendText(`123`);\n\n expect(testComponent.control.dirty).toBe(true);\n });\n\n it(`After setting and de-focusing touched === true`, async () => {\n inputPO.focus();\n inputPO.blur();\n\n await fixture.whenStable();\n\n fixture.detectChanges();\n expect(testComponent.control.touched).toBe(true);\n });\n });\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control?: FormControl;\n labelOutside: boolean;\n size: 'l' | 'm' | 's';\n value?: unknown;\n}\n\nexport function tuiTestPlaceholder(\n context: TestParams,\n setValue: unknown = `value`,\n clearValue: unknown = ``,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n\n describe(`Placeholder`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe(`in size S`, () => {\n beforeEach(() => {\n testComponent.size = `s`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if specified, not shown`, () => {\n updateValue(setValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe(`in size M`, () => {\n beforeEach(() => {\n testComponent.size = `m`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if a value is given, then`, () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if value is given but label is outside, then not shown`, () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe(`in size L`, () => {\n beforeEach(() => {\n testComponent.size = `l`;\n fixture.detectChanges();\n });\n\n it(`if no value, then shown`, () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if a value is given, then`, () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it(`if value is given but label is outside, then not shown`, () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getPlaceholder(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}placeholder`);\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {FormControl} from '@angular/forms';\n\nimport {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: TestComponent;\n}\n\ninterface TestComponent {\n control?: FormControl;\n disabled?: boolean;\n hintContent: string | null;\n readOnly: boolean;\n size: unknown;\n}\n\nexport function tuiTestTooltip(context: TestParams): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: TestComponent;\n\n describe(`Tooltip in a field`, () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe(`There is tooltip content`, () => {\n it(`if field is disabled, there is no tooltip`, () => {\n testComponent.disabled = true;\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n\n it(`if field is not disabled, there is tooltip`, () => {\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n\n it(`if field is readonly, there is tooltip`, () => {\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n });\n\n describe(`There is no tooltip content`, () => {\n beforeEach(() => {\n testComponent.hintContent = null;\n fixture.detectChanges();\n });\n\n it(`tooltip without content is hidden`, () => {\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n });\n });\n\n function getTooltip(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}tooltip`);\n }\n}\n","import {DebugElement, Predicate} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\n\nexport class TuiPageObject<T> {\n constructor(protected fixture: ComponentFixture<T>) {}\n\n static getIds({nativeElement}: DebugElement): string[] {\n const attributeValue: string | null = nativeElement.getAttribute(`automation-id`);\n\n return attributeValue === null ? [] : attributeValue.split(` `);\n }\n\n static containsId(debugElement: DebugElement, automationId: string): boolean {\n return TuiPageObject.getIds(debugElement).includes(automationId);\n }\n\n private static byAutomationId(automationId: string): Predicate<DebugElement> {\n return debugElement => TuiPageObject.containsId(debugElement, automationId);\n }\n\n getByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement | null {\n return debugElement.query(TuiPageObject.byAutomationId(automationId));\n }\n\n // Syncing result order with DOM order: https://github.com/angular/angular/issues/13066\n getAllByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement[] {\n const debugEls = debugElement.queryAll(\n TuiPageObject.byAutomationId(automationId),\n );\n const domEls = Array.from(\n debugElement.nativeElement.querySelectorAll(\n `[automation-id='${automationId}']`,\n ),\n );\n\n return debugEls.sort(\n (a, b) => domEls.indexOf(a.nativeElement) - domEls.indexOf(b.nativeElement),\n );\n }\n}\n","import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\n\nexport function tuiReplaceNbsp(content?: string): string {\n return content?.replace(new RegExp(CHAR_NO_BREAK_SPACE, `g`), ` `) ?? ``;\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\nimport {TuiPageObject} from './page-object';\nimport {tuiReplaceNbsp} from './replace-nbsp';\n\nexport class TuiNativeInputPO {\n private readonly pageObject: TuiPageObject<unknown>;\n\n constructor(\n private readonly fixture: ComponentFixture<unknown>,\n private readonly automationId: string,\n private readonly hostDebugElement?: DebugElement,\n ) {\n this.pageObject = new TuiPageObject(fixture);\n }\n\n get nativeElement(): HTMLInputElement | HTMLTextAreaElement | null {\n return (\n this.pageObject.getByAutomationId(this.automationId, this.hostDebugElement)\n ?.nativeElement ?? null\n );\n }\n\n get value(): string {\n return tuiReplaceNbsp(this.nativeElement?.value ?? ``);\n }\n\n get focused(): boolean {\n return document.activeElement === this.nativeElement;\n }\n\n sendText(value: string): void {\n this.focus(); // need focus before initial value for emulate user interaction\n\n const nativeElement = this.nativeElement;\n\n if (nativeElement) {\n nativeElement.value = value;\n nativeElement.dispatchEvent(new Event(`input`, {bubbles: true}));\n }\n\n this.fixture.detectChanges();\n }\n\n // @bad TODO: Fix this with actually moving focus rather than just blurring\n sendTextAndBlur(value: string): void {\n this.focus();\n this.sendText(value);\n this.blur();\n }\n\n sendKeydown(key: string): void {\n this.nativeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, `keydown`));\n this.fixture.detectChanges();\n }\n\n focus(): void {\n this.nativeElement?.focus();\n this.fixture.detectChanges();\n }\n\n blur(): void {\n this.nativeElement?.blur();\n this.fixture.detectChanges();\n }\n\n click(): void {\n this.nativeElement?.click();\n this.fixture.detectChanges();\n }\n}\n","export function tuiTestingViewport(width: number, height: number): void {\n Object.defineProperty(global, `innerWidth`, {\n writable: true,\n configurable: true,\n value: width,\n });\n\n Object.defineProperty(global.document.documentElement, `clientWidth`, {\n writable: true,\n configurable: true,\n value: width - 15,\n });\n\n Object.defineProperty(global, `innerHeight`, {\n writable: true,\n configurable: true,\n value: height,\n });\n\n Object.defineProperty(global.document.documentElement, `clientHeight`, {\n writable: true,\n configurable: true,\n value: height,\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getTestBed","TestBed","tuiIsNumber","HarnessPredicate","ComponentHarness","ContentContainerComponentHarness","CHAR_NO_BREAK_SPACE"],"mappings":"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"}
@@ -4,6 +4,17 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].testing = {}), global["taiga-ui"].testing.core, global["taiga-ui"].testing.exceptions, global["taiga-ui"].testing.mocks, global["taiga-ui"].testing.utils));
5
5
  })(this, (function (exports, core, exceptions, mocks, utils) { 'use strict';
6
6
 
7
+ /**
8
+ * Public API Surface of testing
9
+ *
10
+ * @note:
11
+ * don't export the cypress plugin as it isn't unit testing related
12
+ */
13
+
14
+ /**
15
+ * Generated bundle index. Do not edit.
16
+ */
17
+
7
18
  Object.keys(core).forEach(function (k) {
8
19
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
9
20
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-testing.umd.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-testing.umd.js","sources":["../../../projects/testing/index.ts","../../../projects/testing/taiga-ui-testing.ts"],"sourcesContent":["/**\n * Public API Surface of testing\n *\n * @note:\n * don't export the cypress plugin as it isn't unit testing related\n */\nexport * from '@taiga-ui/testing/core';\nexport * from '@taiga-ui/testing/exceptions';\nexport * from '@taiga-ui/testing/mocks';\nexport * from '@taiga-ui/testing/utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;;;;CAKG;;CCLH;;CAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,6 +4,9 @@ export declare class TuiThumbnailCardHarness extends TuiComponentHarness {
4
4
  hasPaymentSystemLogo(): Promise<boolean>;
5
5
  hasBrandLogo(): Promise<boolean>;
6
6
  }
7
+ /**
8
+ * @deprecated use {@link TuiThumbnailCardHarness}
9
+ */
7
10
  export declare class TuiCardHarness extends TuiThumbnailCardHarness {
8
11
  static hostSelector: string;
9
12
  }
@@ -0,0 +1,6 @@
1
+ import { TuiContentContainerComponentHarness } from '@taiga-ui/testing/utils';
2
+ import { TuiButtonHarness } from './button.harness';
3
+ export declare class TuiDialogHarness extends TuiContentContainerComponentHarness {
4
+ static hostSelector: string;
5
+ getCloseButton(): Promise<TuiButtonHarness | null>;
6
+ }
package/core/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from './badge.harness';
6
6
  export * from './button.harness';
7
7
  export * from './calendar.harness';
8
8
  export * from './card.harness';
9
+ export * from './dialog.harness';
9
10
  export * from './hosted-dropdown.harness';
10
11
  export * from './island.harness';
11
12
  export * from './loader.harness';
@@ -1,2 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
1
4
  /// <amd-module name="@taiga-ui/testing/core" />
2
5
  export * from './index';
@@ -1,2 +1,14 @@
1
1
  /// <reference types="cypress" />
2
+ /**
3
+ * Check if element is inside viewport
4
+ *
5
+ * @note WARNING! `.should('be.visible')` doesn't not check if element is inside viewport
6
+ * @see https://github.com/cypress-io/cypress/issues/17483
7
+ * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-342187174
8
+ * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-657583222
9
+ * @example
10
+ ```ts
11
+ cy.get('#test').should('be.inViewport');
12
+ ```
13
+ * */
2
14
  export declare const tuiBeInViewportAssertion: Chai.ChaiPlugin;
@@ -1,2 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
1
4
  /// <amd-module name="@taiga-ui/testing/cypress" />
2
5
  export * from './index';
@@ -16,7 +16,10 @@ export class TuiThumbnailCardHarness extends TuiComponentHarness {
16
16
  }
17
17
  }
18
18
  TuiThumbnailCardHarness.hostSelector = `tui-thumbnail-card`;
19
+ /**
20
+ * @deprecated use {@link TuiThumbnailCardHarness}
21
+ */
19
22
  export class TuiCardHarness extends TuiThumbnailCardHarness {
20
23
  }
21
24
  TuiCardHarness.hostSelector = `tui-card`;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVzdGluZy9jb3JlL2NhcmQuaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU1QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQW1CO0lBR3RELG9CQUFvQjs7WUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQ3hDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBQyxRQUFRLEVBQUUsd0JBQXdCLEVBQUMsQ0FBQyxDQUMzRCxFQUFFLENBQUM7WUFFSixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDcEIsQ0FBQztLQUFBO0lBRUssWUFBWTs7WUFDZCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUNsRCxFQUFFLENBQUM7WUFFSixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDcEIsQ0FBQztLQUFBOztBQWhCTSxvQ0FBWSxHQUFHLG9CQUFvQixDQUFDO0FBc0IvQyxNQUFNLE9BQU8sY0FBZSxTQUFRLHVCQUF1Qjs7QUFDdkMsMkJBQVksR0FBRyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUNvbXBvbmVudEhhcm5lc3N9IGZyb20gJ0B0YWlnYS11aS90ZXN0aW5nL3V0aWxzJztcblxuaW1wb3J0IHtUdWlTdmdIYXJuZXNzfSBmcm9tICcuL3N2Zy5oYXJuZXNzJztcblxuZXhwb3J0IGNsYXNzIFR1aVRodW1ibmFpbENhcmRIYXJuZXNzIGV4dGVuZHMgVHVpQ29tcG9uZW50SGFybmVzcyB7XG4gICAgc3RhdGljIGhvc3RTZWxlY3RvciA9IGB0dWktdGh1bWJuYWlsLWNhcmRgO1xuXG4gICAgYXN5bmMgaGFzUGF5bWVudFN5c3RlbUxvZ28oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IHR1aVN2ZyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgICAgICAgVHVpU3ZnSGFybmVzcy53aXRoKHtzZWxlY3RvcjogYC50LXBheW1lbnQtc3lzdGVtLWxvZ29gfSksXG4gICAgICAgICkoKTtcblxuICAgICAgICByZXR1cm4gISF0dWlTdmc7XG4gICAgfVxuXG4gICAgYXN5bmMgaGFzQnJhbmRMb2dvKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBjb25zdCB0dWlTdmcgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgICAgICAgIFR1aVN2Z0hhcm5lc3Mud2l0aCh7c2VsZWN0b3I6IGAudC1icmFuZC1sb2dvYH0pLFxuICAgICAgICApKCk7XG5cbiAgICAgICAgcmV0dXJuICEhdHVpU3ZnO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVRodW1ibmFpbENhcmRIYXJuZXNzfVxuICovXG5leHBvcnQgY2xhc3MgVHVpQ2FyZEhhcm5lc3MgZXh0ZW5kcyBUdWlUaHVtYm5haWxDYXJkSGFybmVzcyB7XG4gICAgc3RhdGljIG92ZXJyaWRlIGhvc3RTZWxlY3RvciA9IGB0dWktY2FyZGA7XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVzdGluZy9jb3JlL2NhcmQuaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU1QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQW1CO0lBR3RELG9CQUFvQjs7WUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQ3hDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBQyxRQUFRLEVBQUUsd0JBQXdCLEVBQUMsQ0FBQyxDQUMzRCxFQUFFLENBQUM7WUFFSixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDcEIsQ0FBQztLQUFBO0lBRUssWUFBWTs7WUFDZCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUNsRCxFQUFFLENBQUM7WUFFSixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDcEIsQ0FBQztLQUFBOztBQWhCTSxvQ0FBWSxHQUFHLG9CQUFvQixDQUFDO0FBbUIvQzs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsdUJBQXVCOztBQUN2QywyQkFBWSxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpQ29tcG9uZW50SGFybmVzc30gZnJvbSAnQHRhaWdhLXVpL3Rlc3RpbmcvdXRpbHMnO1xuXG5pbXBvcnQge1R1aVN2Z0hhcm5lc3N9IGZyb20gJy4vc3ZnLmhhcm5lc3MnO1xuXG5leHBvcnQgY2xhc3MgVHVpVGh1bWJuYWlsQ2FyZEhhcm5lc3MgZXh0ZW5kcyBUdWlDb21wb25lbnRIYXJuZXNzIHtcbiAgICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gYHR1aS10aHVtYm5haWwtY2FyZGA7XG5cbiAgICBhc3luYyBoYXNQYXltZW50U3lzdGVtTG9nbygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgdHVpU3ZnID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICAgICAgICBUdWlTdmdIYXJuZXNzLndpdGgoe3NlbGVjdG9yOiBgLnQtcGF5bWVudC1zeXN0ZW0tbG9nb2B9KSxcbiAgICAgICAgKSgpO1xuXG4gICAgICAgIHJldHVybiAhIXR1aVN2ZztcbiAgICB9XG5cbiAgICBhc3luYyBoYXNCcmFuZExvZ28oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IHR1aVN2ZyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgICAgICAgVHVpU3ZnSGFybmVzcy53aXRoKHtzZWxlY3RvcjogYC50LWJyYW5kLWxvZ29gfSksXG4gICAgICAgICkoKTtcblxuICAgICAgICByZXR1cm4gISF0dWlTdmc7XG4gICAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpVGh1bWJuYWlsQ2FyZEhhcm5lc3N9XG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlDYXJkSGFybmVzcyBleHRlbmRzIFR1aVRodW1ibmFpbENhcmRIYXJuZXNzIHtcbiAgICBzdGF0aWMgb3ZlcnJpZGUgaG9zdFNlbGVjdG9yID0gYHR1aS1jYXJkYDtcbn1cbiJdfQ==