@taiga-ui/testing 3.491.0-canary.34e703b → 3.491.1-canary.5e01f6f
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.
- package/bundles/taiga-ui-testing-core.umd.js +2 -9
- package/bundles/taiga-ui-testing-core.umd.js.map +1 -1
- package/bundles/taiga-ui-testing-cypress.umd.js +1 -23
- package/bundles/taiga-ui-testing-cypress.umd.js.map +1 -1
- package/bundles/taiga-ui-testing-exceptions.umd.js +0 -4
- package/bundles/taiga-ui-testing-exceptions.umd.js.map +1 -1
- package/bundles/taiga-ui-testing-mocks.umd.js +0 -8
- package/bundles/taiga-ui-testing-mocks.umd.js.map +1 -1
- package/bundles/taiga-ui-testing-setup-jest.umd.js +0 -16
- package/bundles/taiga-ui-testing-setup-jest.umd.js.map +1 -1
- package/bundles/taiga-ui-testing-utils.umd.js +1 -24
- package/bundles/taiga-ui-testing-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-testing.umd.js +0 -11
- package/bundles/taiga-ui-testing.umd.js.map +1 -1
- package/core/card.harness.d.ts +0 -3
- package/core/taiga-ui-testing-core.d.ts +0 -3
- package/core/toggle.harness.d.ts +1 -1
- package/cypress/assertions/be-in-viewport.d.ts +0 -12
- package/cypress/taiga-ui-testing-cypress.d.ts +0 -3
- package/esm2015/core/card.harness.js +1 -4
- package/esm2015/core/taiga-ui-testing-core.js +1 -4
- package/esm2015/core/toggle.harness.js +3 -3
- package/esm2015/cypress/assertions/be-in-viewport.js +2 -18
- package/esm2015/cypress/commands/wait-all-img-inside.command.js +1 -2
- package/esm2015/cypress/snapshot/command.js +1 -3
- package/esm2015/cypress/snapshot/plugin.js +1 -3
- package/esm2015/cypress/taiga-ui-testing-cypress.js +1 -4
- package/esm2015/exceptions/taiga-ui-testing-exceptions.js +1 -4
- package/esm2015/index.js +1 -7
- package/esm2015/mocks/event.js +1 -2
- package/esm2015/mocks/sanitizer.js +1 -4
- package/esm2015/mocks/taiga-ui-testing-mocks.js +1 -4
- package/esm2015/setup-jest/index.js +1 -13
- package/esm2015/setup-jest/taiga-ui-testing-setup-jest.js +1 -4
- package/esm2015/taiga-ui-testing.js +1 -4
- package/esm2015/utils/configure-test-suite.js +1 -7
- package/esm2015/utils/helpers.js +1 -11
- package/esm2015/utils/input/cleaner.unit-common.js +1 -2
- package/esm2015/utils/native-input.page-object.js +2 -3
- package/esm2015/utils/page-object.js +1 -2
- package/esm2015/utils/taiga-ui-testing-utils.js +1 -4
- package/exceptions/taiga-ui-testing-exceptions.d.ts +0 -3
- package/fesm2015/taiga-ui-testing-core.js +2 -9
- package/fesm2015/taiga-ui-testing-core.js.map +1 -1
- package/fesm2015/taiga-ui-testing-cypress.js +1 -24
- package/fesm2015/taiga-ui-testing-cypress.js.map +1 -1
- package/fesm2015/taiga-ui-testing-exceptions.js +0 -4
- package/fesm2015/taiga-ui-testing-exceptions.js.map +1 -1
- package/fesm2015/taiga-ui-testing-mocks.js +0 -8
- package/fesm2015/taiga-ui-testing-mocks.js.map +1 -1
- package/fesm2015/taiga-ui-testing-setup-jest.js +0 -16
- package/fesm2015/taiga-ui-testing-setup-jest.js.map +1 -1
- package/fesm2015/taiga-ui-testing-utils.js +1 -24
- package/fesm2015/taiga-ui-testing-utils.js.map +1 -1
- package/fesm2015/taiga-ui-testing.js +0 -11
- package/fesm2015/taiga-ui-testing.js.map +1 -1
- package/index.d.ts +0 -6
- package/mocks/taiga-ui-testing-mocks.d.ts +0 -3
- package/package.json +2 -2
- package/setup-jest/taiga-ui-testing-setup-jest.d.ts +0 -3
- package/taiga-ui-testing.d.ts +0 -3
- package/utils/helpers.d.ts +0 -9
- package/utils/taiga-ui-testing-utils.d.ts +0 -3
@@ -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"],"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"],"names":[],"mappings":"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"}
|
@@ -2,15 +2,4 @@ export * from '@taiga-ui/testing/core';
|
|
2
2
|
export * from '@taiga-ui/testing/exceptions';
|
3
3
|
export * from '@taiga-ui/testing/mocks';
|
4
4
|
export * from '@taiga-ui/testing/utils';
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Public API Surface of testing
|
8
|
-
*
|
9
|
-
* @note:
|
10
|
-
* don't export the cypress plugin as it isn't unit testing related
|
11
|
-
*/
|
12
|
-
|
13
|
-
/**
|
14
|
-
* Generated bundle index. Do not edit.
|
15
|
-
*/
|
16
5
|
//# sourceMappingURL=taiga-ui-testing.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-testing.js","sources":[
|
1
|
+
{"version":3,"file":"taiga-ui-testing.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/index.d.ts
CHANGED
package/package.json
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@taiga-ui/testing",
|
3
|
-
"version": "3.491.
|
3
|
+
"version": "3.491.1-canary.5e01f6f",
|
4
4
|
"description": "Utils functions for testing Taiga UI packages",
|
5
5
|
"dependencies": {
|
6
6
|
"cypress-image-snapshot": "4.0.1",
|
7
7
|
"tslib": ">=2.0.0"
|
8
8
|
},
|
9
9
|
"peerDependencies": {
|
10
|
-
"@taiga-ui/cdk": ">=3.49.
|
10
|
+
"@taiga-ui/cdk": ">=3.49.1"
|
11
11
|
},
|
12
12
|
"main": "bundles/taiga-ui-testing.umd.js",
|
13
13
|
"module": "fesm2015/taiga-ui-testing.js",
|
package/taiga-ui-testing.d.ts
CHANGED
package/utils/helpers.d.ts
CHANGED
@@ -1,16 +1,7 @@
|
|
1
1
|
import { BaseHarnessFilters, ComponentHarness, ComponentHarnessConstructor, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
2
|
-
/**
|
3
|
-
* Decorator to add default static 'with' method.
|
4
|
-
* Use in conjunction with {@link tuiHarnessWith} mixin.
|
5
|
-
*/
|
6
2
|
export declare function tuiWithPredicate<T extends ComponentHarnessConstructor<ComponentHarness> & {
|
7
3
|
with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;
|
8
4
|
}>(original: T): T;
|
9
|
-
/**
|
10
|
-
* Mixin to extend {@link ComponentHarness} and add typed
|
11
|
-
* static 'with' method. Use {@link tuiWithPredicate} decorator
|
12
|
-
* to monkey-patch default static 'with' method.
|
13
|
-
*/
|
14
5
|
export declare function tuiHarnessWith<T>(hostSelector: string): ComponentHarnessConstructor<ComponentHarness> & {
|
15
6
|
with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;
|
16
7
|
};
|