@taiga-ui/testing 3.55.0-canary.feff7d7 → 3.56.0-canary.6ad2770

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.
@@ -456,7 +456,7 @@
456
456
  return TuiContentContainerComponentHarness;
457
457
  }(testing$1.ContentContainerComponentHarness));
458
458
 
459
- /// <reference types="jasmine" />
459
+ /// <reference types="jest" />
460
460
  function tuiTestCleaner(context, setValue, clearValue) {
461
461
  if (setValue === void 0) { setValue = "value"; }
462
462
  if (clearValue === void 0) { clearValue = null; }
@@ -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","../../../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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"}
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=\"jest\" />\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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"}
@@ -1,4 +1,4 @@
1
- /// <reference types="jasmine" />
1
+ /// <reference types="jest" />
2
2
  export function tuiTestCleaner(context, setValue = `value`, clearValue = null) {
3
3
  let pageObject;
4
4
  let fixture;
@@ -76,4 +76,4 @@ export function tuiTestCleaner(context, setValue = `value`, clearValue = null) {
76
76
  return pageObject.getByAutomationId(`${context.prefix}cleaner`);
77
77
  }
78
78
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5lci51bml0LWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlc3RpbmcvdXRpbHMvaW5wdXQvY2xlYW5lci51bml0LWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUF5QmpDLE1BQU0sVUFBVSxjQUFjLENBQzFCLE9BQW1CLEVBQ25CLFdBQWdCLE9BQU8sRUFDdkIsYUFBa0IsSUFBSTtJQUV0QixJQUFJLFVBQWtDLENBQUM7SUFDdkMsSUFBSSxPQUFrQyxDQUFDO0lBQ3ZDLElBQUksYUFBNEIsQ0FBQztJQUNqQyxJQUFJLE9BQXlCLENBQUM7SUFFOUIsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUN0QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDMUIsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDdEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFFMUIsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO2dCQUN4RCxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBRXhCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFeEIsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO2dCQUN4RCxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXRCLGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUM5QixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBRXhCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtnQkFDeEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUV0QixJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUU7b0JBQ3ZCLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ25DO2dCQUVELGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUM5QixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBRXhCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtnQkFDakQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUV0QixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBRXhCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyx5REFBeUQsRUFBRSxHQUFHLEVBQUU7Z0JBQy9ELFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFFdEIsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUV4QixVQUFVLEVBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRS9CLElBQUksYUFBYSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7b0JBQ3JDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDM0Q7Z0JBRUQsSUFBSSxhQUFhLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtvQkFDbkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ25EO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7WUFDNUIsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtnQkFDaEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUV0QixhQUFhLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDOUIsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUV4QixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLFdBQVcsQ0FBQyxLQUFjO1FBQy9CLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRTtZQUN2QixhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QzthQUFNO1lBQ0gsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsU0FBUyxVQUFVO1FBQ2YsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiamFzbWluZVwiIC8+XG5cbmltcG9ydCB7RGVidWdFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50Rml4dHVyZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtUdWlOYXRpdmVJbnB1dFBPfSBmcm9tICcuLi9uYXRpdmUtaW5wdXQucGFnZS1vYmplY3QnO1xuaW1wb3J0IHtUdWlQYWdlT2JqZWN0fSBmcm9tICcuLi9wYWdlLW9iamVjdCc7XG5cbmludGVyZmFjZSBUZXN0UGFyYW1zIHtcbiAgICBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuICAgIGlucHV0UE86IFR1aU5hdGl2ZUlucHV0UE87XG4gICAgcGFnZU9iamVjdDogVHVpUGFnZU9iamVjdDx1bmtub3duPjtcbiAgICBwcmVmaXg6IHN0cmluZztcbiAgICB0ZXN0Q29tcG9uZW50OiBUZXN0Q29tcG9uZW50O1xufVxuXG5pbnRlcmZhY2UgVGVzdENvbXBvbmVudCB7XG4gICAgY2xlYW5lcjogYm9vbGVhbjtcbiAgICBjb250cm9sPzogRm9ybUNvbnRyb2w7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlYWRPbmx5OiBib29sZWFuO1xuICAgIHZhbHVlPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVRlc3RDbGVhbmVyKFxuICAgIGNvbnRleHQ6IFRlc3RQYXJhbXMsXG4gICAgc2V0VmFsdWU6IGFueSA9IGB2YWx1ZWAsXG4gICAgY2xlYXJWYWx1ZTogYW55ID0gbnVsbCxcbik6IHZvaWQge1xuICAgIGxldCBwYWdlT2JqZWN0OiBUdWlQYWdlT2JqZWN0PHVua25vd24+O1xuICAgIGxldCBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuICAgIGxldCB0ZXN0Q29tcG9uZW50OiBUZXN0Q29tcG9uZW50O1xuICAgIGxldCBpbnB1dFBPOiBUdWlOYXRpdmVJbnB1dFBPO1xuXG4gICAgZGVzY3JpYmUoYENyb3NzIGZvciBmaWVsZCBjbGVhbmluZ2AsICgpID0+IHtcbiAgICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgICAgICBwYWdlT2JqZWN0ID0gY29udGV4dC5wYWdlT2JqZWN0O1xuICAgICAgICAgICAgZml4dHVyZSA9IGNvbnRleHQuZml4dHVyZTtcbiAgICAgICAgICAgIHRlc3RDb21wb25lbnQgPSBjb250ZXh0LnRlc3RDb21wb25lbnQ7XG4gICAgICAgICAgICBpbnB1dFBPID0gY29udGV4dC5pbnB1dFBPO1xuXG4gICAgICAgICAgICBmaXh0dXJlLmF1dG9EZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRlc2NyaWJlKGBDcm9zcyBpbmNsdWRlZGAsICgpID0+IHtcbiAgICAgICAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQuY2xlYW5lciA9IHRydWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGNyb3NzIGlzIG5vdCBzaG93bmAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVWYWx1ZShjbGVhclZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldENsZWFuZXIoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgSWYgdGhlIGZpZWxkIGlzIHJlYWRvbmx5LCB0aGUgY3Jvc3MgaXMgbm90IHNob3duYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKHNldFZhbHVlKTtcblxuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldENsZWFuZXIoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgSWYgdGhlIGZpZWxkIGlzIGRpc2FibGVkLCB0aGUgY3Jvc3MgaXMgbm90IHNob3duYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKHNldFZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LmNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgdGVzdENvbXBvbmVudC5jb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZXN0Q29tcG9uZW50LmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRDbGVhbmVyKCkpLnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYElmIGEgdmFsdWUgaXMgc3BlY2lmaWVkLCBhIGNyb3NzIGlzIHNob3duYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKHNldFZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldENsZWFuZXIoKSkubm90LnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYFdoZW4geW91IGNsaWNrIG9uIHRoZSBjcm9zcywgdGhlIGZpZWxkIHZhbHVlIGlzIGNsZWFyZWRgLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoc2V0VmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICBnZXRDbGVhbmVyKCkhLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChpbnB1dFBPLnZhbHVlKS50b0JlKGBgKTtcblxuICAgICAgICAgICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LmNvbnRyb2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBleHBlY3QodGVzdENvbXBvbmVudC5jb250cm9sLnZhbHVlKS50b0VxdWFsKGNsZWFyVmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXhwZWN0KHRlc3RDb21wb25lbnQudmFsdWUpLnRvRXF1YWwoY2xlYXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRlc2NyaWJlKGBDcm9zcyBkaXNhYmxlZGAsICgpID0+IHtcbiAgICAgICAgICAgIGl0KGBUaGUgdmFsdWUgaXMgc2V0LCB0aGUgY3Jvc3MgaXMgbm90IHNob3duYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKHNldFZhbHVlKTtcblxuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQuY2xlYW5lciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldENsZWFuZXIoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRlc3RDb21wb25lbnQuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0ZXN0Q29tcG9uZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRDbGVhbmVyKCk6IERlYnVnRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gcGFnZU9iamVjdC5nZXRCeUF1dG9tYXRpb25JZChgJHtjb250ZXh0LnByZWZpeH1jbGVhbmVyYCk7XG4gICAgfVxufVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5lci51bml0LWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlc3RpbmcvdXRpbHMvaW5wdXQvY2xlYW5lci51bml0LWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4QkFBOEI7QUF5QjlCLE1BQU0sVUFBVSxjQUFjLENBQzFCLE9BQW1CLEVBQ25CLFdBQWdCLE9BQU8sRUFDdkIsYUFBa0IsSUFBSTtJQUV0QixJQUFJLFVBQWtDLENBQUM7SUFDdkMsSUFBSSxPQUFrQyxDQUFDO0lBQ3ZDLElBQUksYUFBNEIsQ0FBQztJQUNqQyxJQUFJLE9BQXlCLENBQUM7SUFFOUIsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUN0QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDMUIsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDdEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFFMUIsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO2dCQUN4RCxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBRXhCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFeEIsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENB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cGVzPVwiamVzdFwiIC8+XG5cbmltcG9ydCB7RGVidWdFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50Rml4dHVyZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtUdWlOYXRpdmVJbnB1dFBPfSBmcm9tICcuLi9uYXRpdmUtaW5wdXQucGFnZS1vYmplY3QnO1xuaW1wb3J0IHtUdWlQYWdlT2JqZWN0fSBmcm9tICcuLi9wYWdlLW9iamVjdCc7XG5cbmludGVyZmFjZSBUZXN0UGFyYW1zIHtcbiAgICBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuICAgIGlucHV0UE86IFR1aU5hdGl2ZUlucHV0UE87XG4gICAgcGFnZU9iamVjdDogVHVpUGFnZU9iamVjdDx1bmtub3duPjtcbiAgICBwcmVmaXg6IHN0cmluZztcbiAgICB0ZXN0Q29tcG9uZW50OiBUZXN0Q29tcG9uZW50O1xufVxuXG5pbnRlcmZhY2UgVGVzdENvbXBvbmVudCB7XG4gICAgY2xlYW5lcjogYm9vbGVhbjtcbiAgICBjb250cm9sPzogRm9ybUNvbnRyb2w7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlYWRPbmx5OiBib29sZWFuO1xuICAgIHZhbHVlPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVRlc3RDbGVhbmVyKFxuICAgIGNvbnRleHQ6IFRlc3RQYXJhbXMsXG4gICAgc2V0VmFsdWU6IGFueSA9IGB2YWx1ZWAsXG4gICAgY2xlYXJWYWx1ZTogYW55ID0gbnVsbCxcbik6IHZvaWQge1xuICAgIGxldCBwYWdlT2JqZWN0OiBUdWlQYWdlT2JqZWN0PHVua25vd24+O1xuICAgIGxldCBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuICAgIGxldCB0ZXN0Q29tcG9uZW50OiBUZXN0Q29tcG9uZW50O1xuICAgIGxldCBpbnB1dFBPOiBUdWlOYXRpdmVJbnB1dFBPO1xuXG4gICAgZGVzY3JpYmUoYENyb3NzIGZvciBmaWVsZCBjbGVhbmluZ2AsICgpID0+IHtcbiAgICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgICAgICBwYWdlT2JqZWN0ID0gY29udGV4dC5wYWdlT2JqZWN0O1xuICAgICAgICAgICAgZml4dHVyZSA9IGNvbnRleHQuZml4dHVyZTtcbiAgICAgICAgICAgIHRlc3RDb21wb25lbnQgPSBjb250ZXh0LnRlc3RDb21wb25lbnQ7XG4gICAgICAgICAgICBpbnB1dFBPID0gY29udGV4dC5pbnB1dFBPO1xuXG4gICAgICAgICAgICBmaXh0dXJlLmF1dG9EZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRlc2NyaWJlKGBDcm9zcyBpbmNsdWRlZGAsICgpID0+IHtcbiAgICAgICAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQuY2xlYW5lciA9IHRydWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGNyb3NzIGlzIG5vdCBzaG93bmAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVWYWx1ZShjbGVhclZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldENsZWFuZXIoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgSWYgdGhlIGZpZWxkIGlzIHJlYWRvbmx5LCB0aGUgY3Jvc3MgaXMgbm90IHNob3duYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKHNldFZhbHVlKTtcblxuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldENsZWFuZXIoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgSWYgdGhlIGZpZWxkIGlzIGRpc2FibGVkLCB0aGUgY3Jvc3MgaXMgbm90IHNob3duYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKHNldFZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LmNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgdGVzdENvbXBvbmVudC5jb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZXN0Q29tcG9uZW50LmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRDbGVhbmVyKCkpLnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYElmIGEgdmFsdWUgaXMgc3BlY2lmaWVkLCBhIGNyb3NzIGlzIHNob3duYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKHNldFZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldENsZWFuZXIoKSkubm90LnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYFdoZW4geW91IGNsaWNrIG9uIHRoZSBjcm9zcywgdGhlIGZpZWxkIHZhbHVlIGlzIGNsZWFyZWRgLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoc2V0VmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICBnZXRDbGVhbmVyKCkhLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChpbnB1dFBPLnZhbHVlKS50b0JlKGBgKTtcblxuICAgICAgICAgICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LmNvbnRyb2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBleHBlY3QodGVzdENvbXBvbmVudC5jb250cm9sLnZhbHVlKS50b0VxdWFsKGNsZWFyVmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXhwZWN0KHRlc3RDb21wb25lbnQudmFsdWUpLnRvRXF1YWwoY2xlYXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRlc2NyaWJlKGBDcm9zcyBkaXNhYmxlZGAsICgpID0+IHtcbiAgICAgICAgICAgIGl0KGBUaGUgdmFsdWUgaXMgc2V0LCB0aGUgY3Jvc3MgaXMgbm90IHNob3duYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKHNldFZhbHVlKTtcblxuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQuY2xlYW5lciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldENsZWFuZXIoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRlc3RDb21wb25lbnQuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0ZXN0Q29tcG9uZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRDbGVhbmVyKCk6IERlYnVnRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gcGFnZU9iamVjdC5nZXRCeUF1dG9tYXRpb25JZChgJHtjb250ZXh0LnByZWZpeH1jbGVhbmVyYCk7XG4gICAgfVxufVxuIl19
@@ -107,7 +107,7 @@ class TuiContentContainerComponentHarness extends ContentContainerComponentHarne
107
107
  }
108
108
  }
109
109
 
110
- /// <reference types="jasmine" />
110
+ /// <reference types="jest" />
111
111
  function tuiTestCleaner(context, setValue = `value`, clearValue = null) {
112
112
  let pageObject;
113
113
  let fixture;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-testing-utils.js","sources":["../../../projects/testing/utils/keyboard-event.ts","../../../projects/testing/utils/active-element.ts","../../../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","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":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-testing-utils.js","sources":["../../../projects/testing/utils/keyboard-event.ts","../../../projects/testing/utils/active-element.ts","../../../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","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=\"jest\" />\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":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@taiga-ui/testing",
3
- "version": "3.55.0-canary.feff7d7",
3
+ "version": "3.56.0-canary.6ad2770",
4
4
  "description": "Utils functions for testing Taiga UI packages",
5
5
  "dependencies": {
6
6
  "cypress-image-snapshot": "4.0.1",
7
- "tslib": ">=2.0.0"
7
+ "tslib": "2.6.2"
8
8
  },
9
9
  "peerDependencies": {
10
- "@taiga-ui/cdk": ">=3.55.0-canary.feff7d7"
10
+ "@taiga-ui/cdk": ">=3.56.0-canary.6ad2770"
11
11
  },
12
12
  "main": "bundles/taiga-ui-testing.umd.js",
13
13
  "module": "fesm2015/taiga-ui-testing.js",