@taiga-ui/testing 3.58.0 → 3.59.0-canary.1c24449
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/cypress/commands/wait-all-img-inside.command.d.ts +0 -1
- package/esm2020/core/accordion-item.harness.mjs +32 -0
- package/esm2020/core/accordion.harness.mjs +8 -0
- package/esm2020/core/action.harness.mjs +13 -0
- package/esm2020/core/avatar.harness.mjs +8 -0
- package/esm2020/core/badge.harness.mjs +14 -0
- package/esm2020/core/button.harness.mjs +16 -0
- package/esm2020/core/calendar.harness.mjs +52 -0
- package/esm2020/core/card.harness.mjs +20 -0
- package/esm2020/core/dialog.harness.mjs +11 -0
- package/esm2020/core/hosted-dropdown.harness.mjs +12 -0
- package/esm2020/core/island.harness.mjs +38 -0
- package/esm2020/core/loader.harness.mjs +20 -0
- package/esm2020/core/primitive-calender.harness.mjs +29 -0
- package/esm2020/core/primitive-spin-button.harness.mjs +12 -0
- package/esm2020/core/primitive-textfield.harness.mjs +11 -0
- package/esm2020/core/primitive-year-month-pagination.harness.mjs +32 -0
- package/{esm2015/core/primitive-year-picker.harness.js → esm2020/core/primitive-year-picker.harness.mjs} +9 -16
- package/esm2020/core/select.harness.mjs +16 -0
- package/esm2020/core/svg.harness.mjs +17 -0
- package/esm2020/core/tag.harness.mjs +26 -0
- package/esm2020/core/textfield.harness.mjs +8 -0
- package/esm2020/core/toggle.harness.mjs +16 -0
- package/esm2020/cypress/commands/wait-all-img-inside.command.mjs +62 -0
- package/esm2020/cypress/snapshot/command.mjs +25 -0
- package/esm2020/cypress/snapshot/plugin.mjs +23 -0
- package/esm2020/utils/active-element.mjs +12 -0
- package/esm2020/utils/configure-test-suite.mjs +32 -0
- package/esm2020/utils/input/filler.unit-common.mjs +48 -0
- package/esm2020/utils/input/form-control-state.unit-common.mjs +36 -0
- package/{esm2015/utils/input/placeholder.unit-common.js → esm2020/utils/input/placeholder.unit-common.mjs} +1 -1
- package/{esm2015/utils/input/tooltip.unit-common.js → esm2020/utils/input/tooltip.unit-common.mjs} +1 -1
- package/esm2020/utils/native-input.page-object.mjs +53 -0
- package/esm2020/utils/replace-nbsp.mjs +5 -0
- package/fesm2015/{taiga-ui-testing-core.js → taiga-ui-testing-core.mjs} +1 -1
- package/fesm2015/taiga-ui-testing-core.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-cypress.js → taiga-ui-testing-cypress.mjs} +2 -2
- package/fesm2015/taiga-ui-testing-cypress.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-exceptions.js → taiga-ui-testing-exceptions.mjs} +1 -1
- package/fesm2015/taiga-ui-testing-exceptions.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-mocks.js → taiga-ui-testing-mocks.mjs} +1 -1
- package/fesm2015/taiga-ui-testing-mocks.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-setup-jest.js → taiga-ui-testing-setup-jest.mjs} +1 -1
- package/fesm2015/taiga-ui-testing-setup-jest.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing-utils.js → taiga-ui-testing-utils.mjs} +6 -6
- package/fesm2015/taiga-ui-testing-utils.mjs.map +1 -0
- package/fesm2015/{taiga-ui-testing.js → taiga-ui-testing.mjs} +1 -1
- package/fesm2015/taiga-ui-testing.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-core.mjs +405 -0
- package/fesm2020/taiga-ui-testing-core.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-cypress.mjs +144 -0
- package/fesm2020/taiga-ui-testing-cypress.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-exceptions.mjs +18 -0
- package/fesm2020/taiga-ui-testing-exceptions.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-mocks.mjs +40 -0
- package/fesm2020/taiga-ui-testing-mocks.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-setup-jest.mjs +122 -0
- package/fesm2020/taiga-ui-testing-setup-jest.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing-utils.mjs +511 -0
- package/fesm2020/taiga-ui-testing-utils.mjs.map +1 -0
- package/fesm2020/taiga-ui-testing.mjs +16 -0
- package/fesm2020/taiga-ui-testing.mjs.map +1 -0
- package/package.json +78 -17
- package/utils/configure-test-suite.d.ts +1 -1
- package/utils/input/filler.unit-common.d.ts +2 -2
- package/utils/input/form-control-state.unit-common.d.ts +2 -2
- package/utils/input/placeholder.unit-common.d.ts +2 -2
- package/utils/input/tooltip.unit-common.d.ts +2 -2
- package/bundles/taiga-ui-testing-core.umd.js +0 -1407
- package/bundles/taiga-ui-testing-core.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-cypress.umd.js +0 -484
- package/bundles/taiga-ui-testing-cypress.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-exceptions.umd.js +0 -351
- package/bundles/taiga-ui-testing-exceptions.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-mocks.umd.js +0 -371
- package/bundles/taiga-ui-testing-mocks.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-setup-jest.umd.js +0 -135
- package/bundles/taiga-ui-testing-setup-jest.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-utils.umd.js +0 -934
- package/bundles/taiga-ui-testing-utils.umd.js.map +0 -1
- package/bundles/taiga-ui-testing.umd.js +0 -46
- package/bundles/taiga-ui-testing.umd.js.map +0 -1
- package/core/package.json +0 -10
- package/core/taiga-ui-testing-core.d.ts +0 -5
- package/cypress/package.json +0 -10
- package/cypress/taiga-ui-testing-cypress.d.ts +0 -5
- package/esm2015/core/accordion-item.harness.js +0 -49
- package/esm2015/core/accordion.harness.js +0 -11
- package/esm2015/core/action.harness.js +0 -16
- package/esm2015/core/avatar.harness.js +0 -11
- package/esm2015/core/badge.harness.js +0 -21
- package/esm2015/core/button.harness.js +0 -21
- package/esm2015/core/calendar.harness.js +0 -84
- package/esm2015/core/card.harness.js +0 -25
- package/esm2015/core/dialog.harness.js +0 -14
- package/esm2015/core/hosted-dropdown.harness.js +0 -17
- package/esm2015/core/island.harness.js +0 -53
- package/esm2015/core/loader.harness.js +0 -25
- package/esm2015/core/primitive-calender.harness.js +0 -40
- package/esm2015/core/primitive-spin-button.harness.js +0 -17
- package/esm2015/core/primitive-textfield.harness.js +0 -16
- package/esm2015/core/primitive-year-month-pagination.harness.js +0 -49
- package/esm2015/core/select.harness.js +0 -21
- package/esm2015/core/svg.harness.js +0 -27
- package/esm2015/core/tag.harness.js +0 -39
- package/esm2015/core/textfield.harness.js +0 -11
- package/esm2015/core/toggle.harness.js +0 -21
- package/esm2015/cypress/commands/wait-all-img-inside.command.js +0 -62
- package/esm2015/cypress/snapshot/command.js +0 -25
- package/esm2015/cypress/snapshot/plugin.js +0 -26
- package/esm2015/utils/active-element.js +0 -14
- package/esm2015/utils/configure-test-suite.js +0 -33
- package/esm2015/utils/input/filler.unit-common.js +0 -50
- package/esm2015/utils/input/form-control-state.unit-common.js +0 -37
- package/esm2015/utils/native-input.page-object.js +0 -58
- package/esm2015/utils/replace-nbsp.js +0 -6
- package/exceptions/package.json +0 -10
- package/exceptions/taiga-ui-testing-exceptions.d.ts +0 -5
- package/fesm2015/taiga-ui-testing-core.js.map +0 -1
- package/fesm2015/taiga-ui-testing-cypress.js.map +0 -1
- package/fesm2015/taiga-ui-testing-exceptions.js.map +0 -1
- package/fesm2015/taiga-ui-testing-mocks.js.map +0 -1
- package/fesm2015/taiga-ui-testing-setup-jest.js.map +0 -1
- package/fesm2015/taiga-ui-testing-utils.js.map +0 -1
- package/fesm2015/taiga-ui-testing.js.map +0 -1
- package/mocks/package.json +0 -10
- package/mocks/taiga-ui-testing-mocks.d.ts +0 -5
- package/setup-jest/package.json +0 -10
- package/setup-jest/taiga-ui-testing-setup-jest.d.ts +0 -5
- package/taiga-ui-testing.d.ts +0 -5
- package/utils/package.json +0 -10
- package/utils/taiga-ui-testing-utils.d.ts +0 -5
- /package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
- /package/{esm2015/core/marker-icon.harness.js → esm2020/core/marker-icon.harness.mjs} +0 -0
- /package/{esm2015/core/taiga-ui-testing-core.js → esm2020/core/taiga-ui-testing-core.mjs} +0 -0
- /package/{esm2015/cypress/assertions/be-in-viewport.js → esm2020/cypress/assertions/be-in-viewport.mjs} +0 -0
- /package/{esm2015/cypress/assertions/index.js → esm2020/cypress/assertions/index.mjs} +0 -0
- /package/{esm2015/cypress/index.js → esm2020/cypress/index.mjs} +0 -0
- /package/{esm2015/cypress/taiga-ui-testing-cypress.js → esm2020/cypress/taiga-ui-testing-cypress.mjs} +0 -0
- /package/{esm2015/exceptions/element-is-not-input.exception.js → esm2020/exceptions/element-is-not-input.exception.mjs} +0 -0
- /package/{esm2015/exceptions/field-not-found.exception.js → esm2020/exceptions/field-not-found.exception.mjs} +0 -0
- /package/{esm2015/exceptions/index.js → esm2020/exceptions/index.mjs} +0 -0
- /package/{esm2015/exceptions/taiga-ui-testing-exceptions.js → esm2020/exceptions/taiga-ui-testing-exceptions.mjs} +0 -0
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/mocks/event.js → esm2020/mocks/event.mjs} +0 -0
- /package/{esm2015/mocks/index.js → esm2020/mocks/index.mjs} +0 -0
- /package/{esm2015/mocks/sanitizer.js → esm2020/mocks/sanitizer.mjs} +0 -0
- /package/{esm2015/mocks/switch-ng-dev-mode.js → esm2020/mocks/switch-ng-dev-mode.mjs} +0 -0
- /package/{esm2015/mocks/taiga-ui-testing-mocks.js → esm2020/mocks/taiga-ui-testing-mocks.mjs} +0 -0
- /package/{esm2015/setup-jest/index.js → esm2020/setup-jest/index.mjs} +0 -0
- /package/{esm2015/setup-jest/taiga-ui-testing-setup-jest.js → esm2020/setup-jest/taiga-ui-testing-setup-jest.mjs} +0 -0
- /package/{esm2015/taiga-ui-testing.js → esm2020/taiga-ui-testing.mjs} +0 -0
- /package/{esm2015/utils/date.js → esm2020/utils/date.mjs} +0 -0
- /package/{esm2015/utils/helpers.js → esm2020/utils/helpers.mjs} +0 -0
- /package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
- /package/{esm2015/utils/input/cleaner.unit-common.js → esm2020/utils/input/cleaner.unit-common.mjs} +0 -0
- /package/{esm2015/utils/keyboard-event.js → esm2020/utils/keyboard-event.mjs} +0 -0
- /package/{esm2015/utils/page-object.js → esm2020/utils/page-object.mjs} +0 -0
- /package/{esm2015/utils/taiga-ui-testing-utils.js → esm2020/utils/taiga-ui-testing-utils.mjs} +0 -0
- /package/{esm2015/utils/viewport.js → esm2020/utils/viewport.mjs} +0 -0
@@ -0,0 +1,62 @@
|
|
1
|
+
/// <reference types="cypress" />
|
2
|
+
export const tuiWaitAllImgInside = (prevSubject, enabled = true) => {
|
3
|
+
const target = prevSubject && Cypress.dom.isJquery(prevSubject)
|
4
|
+
? cy.wrap(prevSubject, { log: false })
|
5
|
+
: cy.get(`body`, { log: false });
|
6
|
+
target.then($target => {
|
7
|
+
const img = $target.find(`img`);
|
8
|
+
if (img.length && enabled) {
|
9
|
+
const log = Cypress.log({
|
10
|
+
displayName: `Wait all images`,
|
11
|
+
message: `naturalWidth greaterThan 0`,
|
12
|
+
name: `tuiWaitAllImgInside`,
|
13
|
+
autoEnd: false,
|
14
|
+
consoleProps: () => ({
|
15
|
+
prevSubject,
|
16
|
+
img,
|
17
|
+
}),
|
18
|
+
});
|
19
|
+
cy.wrap($target, { log: false })
|
20
|
+
.get(`img`, { log: false })
|
21
|
+
.each((img) => {
|
22
|
+
const nativeImage = img.get(0);
|
23
|
+
const url = nativeImage?.src || nativeImage?.srcset;
|
24
|
+
if (!url) {
|
25
|
+
return;
|
26
|
+
}
|
27
|
+
const offsetParent = img.prop(`offsetParent`);
|
28
|
+
return cy.window({ log: false }).then((win) => {
|
29
|
+
const rect = nativeImage.getBoundingClientRect();
|
30
|
+
const isInViewport = offsetParent &&
|
31
|
+
rect.top >= 0 &&
|
32
|
+
rect.left >= 0 &&
|
33
|
+
rect.bottom <=
|
34
|
+
(win.innerHeight ||
|
35
|
+
win.document.documentElement.clientHeight) &&
|
36
|
+
rect.right <=
|
37
|
+
(win.innerWidth ||
|
38
|
+
win.document.documentElement.clientWidth);
|
39
|
+
if (isInViewport) {
|
40
|
+
if (url.includes(`base64`)) {
|
41
|
+
expect(nativeImage.naturalWidth).to.be.greaterThan(0);
|
42
|
+
}
|
43
|
+
else {
|
44
|
+
cy.request({
|
45
|
+
url,
|
46
|
+
failOnStatusCode: false,
|
47
|
+
log: false,
|
48
|
+
}).then(resp => {
|
49
|
+
if (resp.status === 200) {
|
50
|
+
cy.get(img, { log: false }).should((el) => expect(el[0].naturalWidth).to.be.greaterThan(0));
|
51
|
+
}
|
52
|
+
});
|
53
|
+
}
|
54
|
+
}
|
55
|
+
});
|
56
|
+
})
|
57
|
+
.then(() => log.end());
|
58
|
+
}
|
59
|
+
});
|
60
|
+
return target;
|
61
|
+
};
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1hbGwtaW1nLWluc2lkZS5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVzdGluZy9jeXByZXNzL2NvbW1hbmRzL3dhaXQtYWxsLWltZy1pbnNpZGUuY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDL0IsV0FBOEQsRUFDOUQsVUFBbUIsSUFBSSxFQUMrQyxFQUFFO0lBQ3hFLE1BQU0sTUFBTSxHQUNSLFdBQVcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDNUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0lBRXZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDbEIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksT0FBTyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxpQkFBaUI7Z0JBQzlCLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLElBQUksRUFBRSxxQkFBcUI7Z0JBQzNCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO29CQUNqQixXQUFXO29CQUNYLEdBQUc7aUJBQ04sQ0FBQzthQUNMLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxDQUFDO2lCQUN6QixHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxDQUFDO2lCQUN4QixJQUFJLENBQUMsQ0FBQyxHQUE2QixFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sR0FBRyxHQUFHLFdBQVcsRUFBRSxHQUFHLElBQUksV0FBVyxFQUFFLE1BQU0sQ0FBQztnQkFFcEQsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDTixPQUFPO2lCQUNWO2dCQUVELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBRTlDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO29CQUNoRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQztvQkFDakQsTUFBTSxZQUFZLEdBQ2QsWUFBWTt3QkFDWixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7d0JBQ2IsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO3dCQUNkLElBQUksQ0FBQyxNQUFNOzRCQUNQLENBQUMsR0FBRyxDQUFDLFdBQVc7Z0NBQ1osR0FBRyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO3dCQUNsRCxJQUFJLENBQUMsS0FBSzs0QkFDTixDQUFDLEdBQUcsQ0FBQyxVQUFVO2dDQUNYLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUV0RCxJQUFJLFlBQVksRUFBRTt3QkFDZCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7NEJBQ3ZCLE1BQWMsQ0FDWCxXQUFXLENBQUMsWUFBWSxDQUMzQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUMxQjs2QkFBTTs0QkFDSCxFQUFFLENBQUMsT0FBTyxDQUFDO2dDQUNQLEdBQUc7Z0NBQ0gsZ0JBQWdCLEVBQUUsS0FBSztnQ0FDdkIsR0FBRyxFQUFFLEtBQUs7NkJBQ2IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQ0FDWCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO29DQUNyQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxFQUE0QixFQUFFLEVBQUUsQ0FDNUIsTUFBYyxDQUNYLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQ3JCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQzdCLENBQUM7aUNBQ0w7NEJBQ0wsQ0FBQyxDQUFDLENBQUM7eUJBQ047cUJBQ0o7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUM7aUJBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cImN5cHJlc3NcIiAvPlxuXG5leHBvcnQgY29uc3QgdHVpV2FpdEFsbEltZ0luc2lkZSA9IChcbiAgICBwcmV2U3ViamVjdDogQ3lwcmVzcy5QcmV2U3ViamVjdE1hcDx2b2lkPltDeXByZXNzLlByZXZTdWJqZWN0XSxcbiAgICBlbmFibGVkOiBib29sZWFuID0gdHJ1ZSxcbik6IEN5cHJlc3MuQ2hhaW5hYmxlPEpRdWVyeTxIVE1MQm9keUVsZW1lbnQ+PiB8IEN5cHJlc3MuQ2hhaW5hYmxlPEpRdWVyeT4gPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9XG4gICAgICAgIHByZXZTdWJqZWN0ICYmIEN5cHJlc3MuZG9tLmlzSnF1ZXJ5KHByZXZTdWJqZWN0KVxuICAgICAgICAgICAgPyBjeS53cmFwKHByZXZTdWJqZWN0LCB7bG9nOiBmYWxzZX0pXG4gICAgICAgICAgICA6IGN5LmdldChgYm9keWAsIHtsb2c6IGZhbHNlfSk7XG5cbiAgICB0YXJnZXQudGhlbigkdGFyZ2V0ID0+IHtcbiAgICAgICAgY29uc3QgaW1nID0gJHRhcmdldC5maW5kKGBpbWdgKTtcblxuICAgICAgICBpZiAoaW1nLmxlbmd0aCAmJiBlbmFibGVkKSB7XG4gICAgICAgICAgICBjb25zdCBsb2cgPSBDeXByZXNzLmxvZyh7XG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IGBXYWl0IGFsbCBpbWFnZXNgLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBuYXR1cmFsV2lkdGggZ3JlYXRlclRoYW4gMGAsXG4gICAgICAgICAgICAgICAgbmFtZTogYHR1aVdhaXRBbGxJbWdJbnNpZGVgLFxuICAgICAgICAgICAgICAgIGF1dG9FbmQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNvbnNvbGVQcm9wczogKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgcHJldlN1YmplY3QsXG4gICAgICAgICAgICAgICAgICAgIGltZyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjeS53cmFwKCR0YXJnZXQsIHtsb2c6IGZhbHNlfSlcbiAgICAgICAgICAgICAgICAuZ2V0KGBpbWdgLCB7bG9nOiBmYWxzZX0pXG4gICAgICAgICAgICAgICAgLmVhY2goKGltZzogSlF1ZXJ5PEhUTUxJbWFnZUVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5hdGl2ZUltYWdlID0gaW1nLmdldCgwKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJsID0gbmF0aXZlSW1hZ2U/LnNyYyB8fCBuYXRpdmVJbWFnZT8uc3Jjc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXRQYXJlbnQgPSBpbWcucHJvcChgb2Zmc2V0UGFyZW50YCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN5LndpbmRvdyh7bG9nOiBmYWxzZX0pLnRoZW4oKHdpbjogV2luZG93KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWN0ID0gbmF0aXZlSW1hZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0luVmlld3BvcnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldFBhcmVudCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QudG9wID49IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LmxlZnQgPj0gMCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QuYm90dG9tIDw9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aW4uaW5uZXJIZWlnaHQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QucmlnaHQgPD1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdpbi5pbm5lcldpZHRoIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW4uZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSW5WaWV3cG9ydCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1cmwuaW5jbHVkZXMoYGJhc2U2NGApKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBlY3QgYXMgYW55KShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUltYWdlLm5hdHVyYWxXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS50by5iZS5ncmVhdGVyVGhhbigwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeS5yZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxPblN0YXR1c0NvZGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkudGhlbihyZXNwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3kuZ2V0KGltZyBhcyBhbnksIHtsb2c6IGZhbHNlfSkuc2hvdWxkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZWw6IEpRdWVyeTxIVE1MSW1hZ2VFbGVtZW50PikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBlY3QgYXMgYW55KShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbFswXS5uYXR1cmFsV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnRvLmJlLmdyZWF0ZXJUaGFuKDApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiBsb2cuZW5kKCkpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xufTtcbiJdfQ==
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/// <reference types="cypress" />
|
2
|
+
// eslint-disable-next-line @taiga-ui/experience/no-deep-imports
|
3
|
+
import { tuiIsObject, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
|
4
|
+
import { matchImageSnapshotCommand } from 'cypress-image-snapshot/command';
|
5
|
+
import { tuiWaitAllImgInside } from '../commands/wait-all-img-inside.command';
|
6
|
+
function makeScreenshotName(name) {
|
7
|
+
return (name ??
|
8
|
+
Cypress.currentTest.titlePath
|
9
|
+
.join(`-`)
|
10
|
+
.replace(/\s|-/g, `.`)
|
11
|
+
.replace(/['[\]`()]/g, ``)
|
12
|
+
.toLowerCase());
|
13
|
+
}
|
14
|
+
export function tuiAddMatchImageSnapshotCommand(options) {
|
15
|
+
const matchSnapshotFn = matchImageSnapshotCommand(options);
|
16
|
+
Cypress.Commands.add(`matchImageSnapshot`, { prevSubject: [`optional`, `element`, `window`, `document`] }, (prevSubject, nameOrOptions, options) => {
|
17
|
+
const name = tuiIsString(nameOrOptions) ? nameOrOptions : undefined;
|
18
|
+
const overloadedOptions = tuiIsObject(nameOrOptions)
|
19
|
+
? nameOrOptions
|
20
|
+
: options;
|
21
|
+
tuiWaitAllImgInside(prevSubject, overloadedOptions?.waitAllImages ?? true);
|
22
|
+
matchSnapshotFn(prevSubject, makeScreenshotName(name), overloadedOptions);
|
23
|
+
});
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlc3RpbmcvY3lwcmVzcy9zbmFwc2hvdC9jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxnRUFBZ0U7QUFDaEUsT0FBTyxFQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQXFCNUUsU0FBUyxrQkFBa0IsQ0FBQyxJQUFhO0lBQ3JDLE9BQU8sQ0FDSCxJQUFJO1FBQ0osT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTO2FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDVCxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQzthQUNyQixPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQzthQUN6QixXQUFXLEVBQUUsQ0FDckIsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCLENBQzNDLE9BQTRDO0lBRTVDLE1BQU0sZUFBZSxHQUFHLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTNELE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNoQixvQkFBb0IsRUFDcEIsRUFBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsRUFBQyxFQUM1RCxDQUNJLFdBQVcsRUFDWCxhQUE2RCxFQUM3RCxPQUE2QyxFQUMvQyxFQUFFO1FBQ0EsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRSxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7WUFDaEQsQ0FBQyxDQUFDLGFBQWE7WUFDZixDQUFDLENBQUMsT0FBTyxDQUFDO1FBRWQsbUJBQW1CLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUUzRSxlQUFlLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDOUUsQ0FBQyxDQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJjeXByZXNzXCIgLz5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdGFpZ2EtdWkvZXhwZXJpZW5jZS9uby1kZWVwLWltcG9ydHNcbmltcG9ydCB7dHVpSXNPYmplY3QsIHR1aUlzU3RyaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtPcHRpb25zfSBmcm9tICdjeXByZXNzLWltYWdlLXNuYXBzaG90JztcbmltcG9ydCB7bWF0Y2hJbWFnZVNuYXBzaG90Q29tbWFuZH0gZnJvbSAnY3lwcmVzcy1pbWFnZS1zbmFwc2hvdC9jb21tYW5kJztcblxuaW1wb3J0IHt0dWlXYWl0QWxsSW1nSW5zaWRlfSBmcm9tICcuLi9jb21tYW5kcy93YWl0LWFsbC1pbWctaW5zaWRlLmNvbW1hbmQnO1xuXG5kZWNsYXJlIG1vZHVsZSAnY3lwcmVzcy1pbWFnZS1zbmFwc2hvdC9jb21tYW5kJyB7XG4gICAgZnVuY3Rpb24gbWF0Y2hJbWFnZVNuYXBzaG90Q29tbWFuZChvcHRpb25zOiBPcHRpb25zKTogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZDtcbn1cblxuaW50ZXJmYWNlIFR1aVNuYXBzaG90Q29tbWFuZE9wdGlvbnMge1xuICAgIHdhaXRBbGxJbWFnZXM/OiBib29sZWFuO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgbmFtZXNwYWNlIEN5cHJlc3Mge1xuICAgICAgICBpbnRlcmZhY2UgQ2hhaW5hYmxlIHtcbiAgICAgICAgICAgIG1hdGNoSW1hZ2VTbmFwc2hvdChcbiAgICAgICAgICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgb3B0aW9ucz86IE9wdGlvbnMgJiBUdWlTbmFwc2hvdENvbW1hbmRPcHRpb25zLFxuICAgICAgICAgICAgKTogdm9pZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gbWFrZVNjcmVlbnNob3ROYW1lKG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICAgIG5hbWUgPz9cbiAgICAgICAgQ3lwcmVzcy5jdXJyZW50VGVzdC50aXRsZVBhdGhcbiAgICAgICAgICAgIC5qb2luKGAtYClcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXHN8LS9nLCBgLmApXG4gICAgICAgICAgICAucmVwbGFjZSgvWydbXFxdYCgpXS9nLCBgYClcbiAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFkZE1hdGNoSW1hZ2VTbmFwc2hvdENvbW1hbmQoXG4gICAgb3B0aW9uczogT3B0aW9ucyAmIFR1aVNuYXBzaG90Q29tbWFuZE9wdGlvbnMsXG4pOiB2b2lkIHtcbiAgICBjb25zdCBtYXRjaFNuYXBzaG90Rm4gPSBtYXRjaEltYWdlU25hcHNob3RDb21tYW5kKG9wdGlvbnMpO1xuXG4gICAgQ3lwcmVzcy5Db21tYW5kcy5hZGQoXG4gICAgICAgIGBtYXRjaEltYWdlU25hcHNob3RgLFxuICAgICAgICB7cHJldlN1YmplY3Q6IFtgb3B0aW9uYWxgLCBgZWxlbWVudGAsIGB3aW5kb3dgLCBgZG9jdW1lbnRgXX0sXG4gICAgICAgIChcbiAgICAgICAgICAgIHByZXZTdWJqZWN0LFxuICAgICAgICAgICAgbmFtZU9yT3B0aW9uczogc3RyaW5nIHwgKE9wdGlvbnMgJiBUdWlTbmFwc2hvdENvbW1hbmRPcHRpb25zKSxcbiAgICAgICAgICAgIG9wdGlvbnM/OiBPcHRpb25zICYgVHVpU25hcHNob3RDb21tYW5kT3B0aW9ucyxcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gdHVpSXNTdHJpbmcobmFtZU9yT3B0aW9ucykgPyBuYW1lT3JPcHRpb25zIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmxvYWRlZE9wdGlvbnMgPSB0dWlJc09iamVjdChuYW1lT3JPcHRpb25zKVxuICAgICAgICAgICAgICAgID8gbmFtZU9yT3B0aW9uc1xuICAgICAgICAgICAgICAgIDogb3B0aW9ucztcblxuICAgICAgICAgICAgdHVpV2FpdEFsbEltZ0luc2lkZShwcmV2U3ViamVjdCwgb3ZlcmxvYWRlZE9wdGlvbnM/LndhaXRBbGxJbWFnZXMgPz8gdHJ1ZSk7XG5cbiAgICAgICAgICAgIG1hdGNoU25hcHNob3RGbihwcmV2U3ViamVjdCwgbWFrZVNjcmVlbnNob3ROYW1lKG5hbWUpLCBvdmVybG9hZGVkT3B0aW9ucyk7XG4gICAgICAgIH0sXG4gICAgKTtcbn1cbiJdfQ==
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/// <reference types="cypress" />
|
2
|
+
/// <reference types="node" />
|
3
|
+
import fs from 'fs';
|
4
|
+
export async function tuiAddSnapshotPlugin(on, config, { newSnapshotMarkEnabled, newSnapshotMarkFn }) {
|
5
|
+
const { addMatchImageSnapshotPlugin, matchImageSnapshotPlugin } = await import(`cypress-image-snapshot/plugin`);
|
6
|
+
addMatchImageSnapshotPlugin(on, config);
|
7
|
+
on(`after:screenshot`, (details) => {
|
8
|
+
const { name, path, testFailure } = details;
|
9
|
+
const possibleSnapshotPath = path
|
10
|
+
.replace(`screenshots`, `snapshots`)
|
11
|
+
.replace(/\.(\w+)$/g, `.snap.$1`);
|
12
|
+
const snapshotAlreadyExists = fs.existsSync(possibleSnapshotPath);
|
13
|
+
if (newSnapshotMarkEnabled && !testFailure && !snapshotAlreadyExists) {
|
14
|
+
const newName = newSnapshotMarkFn(name);
|
15
|
+
const newPath = path.replace(name, newName);
|
16
|
+
fs.renameSync(path, newPath);
|
17
|
+
console.info(`\x1B[32m%s\x1B[0m`, `\t[tuiAddSnapshotPlugin]:`, `${name} => ${newName}`);
|
18
|
+
return matchImageSnapshotPlugin({ ...details, path: newPath });
|
19
|
+
}
|
20
|
+
return matchImageSnapshotPlugin(details);
|
21
|
+
});
|
22
|
+
}
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVzdGluZy9jeXByZXNzL3NuYXBzaG90L3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsOEJBQThCO0FBRTlCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQWFwQixNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUN0QyxFQUF3QixFQUN4QixNQUFtQyxFQUNuQyxFQUFDLHNCQUFzQixFQUFFLGlCQUFpQixFQUEyQjtJQUVyRSxNQUFNLEVBQUMsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUMsR0FBRyxNQUFNLE1BQU0sQ0FDeEUsK0JBQStCLENBQ2xDLENBQUM7SUFFRiwyQkFBMkIsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFeEMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBa0MsRUFBRSxFQUFFO1FBQzFELE1BQU0sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUMxQyxNQUFNLG9CQUFvQixHQUFHLElBQUk7YUFDNUIsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUM7YUFDbkMsT0FBTyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0QyxNQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVsRSxJQUFJLHNCQUFzQixJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDbEUsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFNUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFN0IsT0FBTyxDQUFDLElBQUksQ0FDUixtQkFBbUIsRUFDbkIsMkJBQTJCLEVBQzNCLEdBQUcsSUFBSSxPQUFPLE9BQU8sRUFBRSxDQUMxQixDQUFDO1lBRUYsT0FBTyx3QkFBd0IsQ0FBQyxFQUFDLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cImN5cHJlc3NcIiAvPlxuLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJub2RlXCIgLz5cblxuaW1wb3J0IGZzIGZyb20gJ2ZzJztcblxuZGVjbGFyZSBtb2R1bGUgJ2N5cHJlc3MtaW1hZ2Utc25hcHNob3QvcGx1Z2luJyB7XG4gICAgZnVuY3Rpb24gbWF0Y2hJbWFnZVNuYXBzaG90UGx1Z2luKFxuICAgICAgICBkZXRhaWxzOiBDeXByZXNzLlNjcmVlbnNob3REZXRhaWxzLFxuICAgICk6IEN5cHJlc3MuQWZ0ZXJTY3JlZW5zaG90UmV0dXJuT2JqZWN0IHwgdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUdWlTbmFwc2hvdFBsdWdpbk9wdGlvbnMge1xuICAgIG5ld1NuYXBzaG90TWFya0VuYWJsZWQ6IGJvb2xlYW47XG4gICAgbmV3U25hcHNob3RNYXJrRm46IChvbGRTbmFwc2hvdEZpbGVOYW1lOiBzdHJpbmcpID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHR1aUFkZFNuYXBzaG90UGx1Z2luKFxuICAgIG9uOiBDeXByZXNzLlBsdWdpbkV2ZW50cyxcbiAgICBjb25maWc6IEN5cHJlc3MuUGx1Z2luQ29uZmlnT3B0aW9ucyxcbiAgICB7bmV3U25hcHNob3RNYXJrRW5hYmxlZCwgbmV3U25hcHNob3RNYXJrRm59OiBUdWlTbmFwc2hvdFBsdWdpbk9wdGlvbnMsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7YWRkTWF0Y2hJbWFnZVNuYXBzaG90UGx1Z2luLCBtYXRjaEltYWdlU25hcHNob3RQbHVnaW59ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICBgY3lwcmVzcy1pbWFnZS1zbmFwc2hvdC9wbHVnaW5gXG4gICAgKTtcblxuICAgIGFkZE1hdGNoSW1hZ2VTbmFwc2hvdFBsdWdpbihvbiwgY29uZmlnKTtcblxuICAgIG9uKGBhZnRlcjpzY3JlZW5zaG90YCwgKGRldGFpbHM6IEN5cHJlc3MuU2NyZWVuc2hvdERldGFpbHMpID0+IHtcbiAgICAgICAgY29uc3Qge25hbWUsIHBhdGgsIHRlc3RGYWlsdXJlfSA9IGRldGFpbHM7XG4gICAgICAgIGNvbnN0IHBvc3NpYmxlU25hcHNob3RQYXRoID0gcGF0aFxuICAgICAgICAgICAgLnJlcGxhY2UoYHNjcmVlbnNob3RzYCwgYHNuYXBzaG90c2ApXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwuKFxcdyspJC9nLCBgLnNuYXAuJDFgKTtcbiAgICAgICAgY29uc3Qgc25hcHNob3RBbHJlYWR5RXhpc3RzID0gZnMuZXhpc3RzU3luYyhwb3NzaWJsZVNuYXBzaG90UGF0aCk7XG5cbiAgICAgICAgaWYgKG5ld1NuYXBzaG90TWFya0VuYWJsZWQgJiYgIXRlc3RGYWlsdXJlICYmICFzbmFwc2hvdEFscmVhZHlFeGlzdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld05hbWUgPSBuZXdTbmFwc2hvdE1hcmtGbihuYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSBwYXRoLnJlcGxhY2UobmFtZSwgbmV3TmFtZSk7XG5cbiAgICAgICAgICAgIGZzLnJlbmFtZVN5bmMocGF0aCwgbmV3UGF0aCk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgICAgICAgICBgXFx4MUJbMzJtJXNcXHgxQlswbWAsXG4gICAgICAgICAgICAgICAgYFxcdFt0dWlBZGRTbmFwc2hvdFBsdWdpbl06YCxcbiAgICAgICAgICAgICAgICBgJHtuYW1lfSA9PiAke25ld05hbWV9YCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybiBtYXRjaEltYWdlU25hcHNob3RQbHVnaW4oey4uLmRldGFpbHMsIHBhdGg6IG5ld1BhdGh9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtYXRjaEltYWdlU25hcHNob3RQbHVnaW4oZGV0YWlscyk7XG4gICAgfSk7XG59XG4iXX0=
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { tuiCreateKeyboardEvent } from './keyboard-event';
|
2
|
+
export function tuiDispatchOnActive(key, fixture) {
|
3
|
+
document.activeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, `keydown`));
|
4
|
+
fixture?.detectChanges();
|
5
|
+
}
|
6
|
+
export function tuiActiveText() {
|
7
|
+
return document.activeElement?.textContent?.trim() ?? ``;
|
8
|
+
}
|
9
|
+
export function tuiIsActive(element) {
|
10
|
+
return document.activeElement === element;
|
11
|
+
}
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXN0aW5nL3V0aWxzL2FjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRXhELE1BQU0sVUFBVSxtQkFBbUIsQ0FBSSxHQUFXLEVBQUUsT0FBNkI7SUFDN0UsUUFBUSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLFFBQVEsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUFnQjtJQUN4QyxPQUFPLFFBQVEsQ0FBQyxhQUFhLEtBQUssT0FBTyxDQUFDO0FBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudEZpeHR1cmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7dHVpQ3JlYXRlS2V5Ym9hcmRFdmVudH0gZnJvbSAnLi9rZXlib2FyZC1ldmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlEaXNwYXRjaE9uQWN0aXZlPFQ+KGtleTogc3RyaW5nLCBmaXh0dXJlPzogQ29tcG9uZW50Rml4dHVyZTxUPik6IHZvaWQge1xuICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmRpc3BhdGNoRXZlbnQodHVpQ3JlYXRlS2V5Ym9hcmRFdmVudChrZXksIGBrZXlkb3duYCkpO1xuXG4gICAgZml4dHVyZT8uZGV0ZWN0Q2hhbmdlcygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpQWN0aXZlVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py50ZXh0Q29udGVudD8udHJpbSgpID8/IGBgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNBY3RpdmUoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlbGVtZW50O1xufVxuIl19
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { getTestBed, TestBed } from '@angular/core/testing';
|
2
|
+
/** deprecated, will be removed in 4.0 */
|
3
|
+
export const configureTestSuite = (configureModule) => {
|
4
|
+
const testBedApi = getTestBed();
|
5
|
+
const originReset = TestBed.resetTestingModule;
|
6
|
+
beforeAll(() => {
|
7
|
+
TestBed.resetTestingModule();
|
8
|
+
TestBed.resetTestingModule = () => TestBed;
|
9
|
+
});
|
10
|
+
// Custom hook
|
11
|
+
if (configureModule) {
|
12
|
+
beforeAll(async () => {
|
13
|
+
configureModule();
|
14
|
+
await TestBed.compileComponents();
|
15
|
+
});
|
16
|
+
}
|
17
|
+
afterEach(() => {
|
18
|
+
// @ts-ignore
|
19
|
+
testBedApi._activeFixtures.forEach((fixture) => fixture.destroy());
|
20
|
+
// reset ViewEngine TestBed
|
21
|
+
// @ts-ignore
|
22
|
+
testBedApi._instantiated = false;
|
23
|
+
// reset Ivy TestBed
|
24
|
+
// @ts-ignore
|
25
|
+
testBedApi._testModuleRef = null;
|
26
|
+
});
|
27
|
+
afterAll(() => {
|
28
|
+
TestBed.resetTestingModule = originReset;
|
29
|
+
TestBed.resetTestingModule();
|
30
|
+
});
|
31
|
+
};
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXRlc3Qtc3VpdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXN0aW5nL3V0aWxzL2NvbmZpZ3VyZS10ZXN0LXN1aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTVFLHlDQUF5QztBQUN6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLGVBQTRCLEVBQVEsRUFBRTtJQUNyRSxNQUFNLFVBQVUsR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUNoQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUM7SUFFL0MsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNYLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxjQUFjO0lBQ2QsSUFBSSxlQUFlLEVBQUU7UUFDakIsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pCLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUVELFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDWCxhQUFhO1FBQ2IsVUFBVSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFrQyxFQUFFLEVBQUUsQ0FDdEUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUNwQixDQUFDO1FBQ0YsMkJBQTJCO1FBQzNCLGFBQWE7UUFDYixVQUFVLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNqQyxvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLFVBQVUsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNWLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUM7UUFDekMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudEZpeHR1cmUsIGdldFRlc3RCZWQsIFRlc3RCZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5cbi8qKiBkZXByZWNhdGVkLCB3aWxsIGJlIHJlbW92ZWQgaW4gNC4wICovXG5leHBvcnQgY29uc3QgY29uZmlndXJlVGVzdFN1aXRlID0gKGNvbmZpZ3VyZU1vZHVsZT86ICgpID0+IHZvaWQpOiB2b2lkID0+IHtcbiAgICBjb25zdCB0ZXN0QmVkQXBpID0gZ2V0VGVzdEJlZCgpO1xuICAgIGNvbnN0IG9yaWdpblJlc2V0ID0gVGVzdEJlZC5yZXNldFRlc3RpbmdNb2R1bGU7XG5cbiAgICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgICAgICBUZXN0QmVkLnJlc2V0VGVzdGluZ01vZHVsZSgpO1xuICAgICAgICBUZXN0QmVkLnJlc2V0VGVzdGluZ01vZHVsZSA9ICgpID0+IFRlc3RCZWQ7XG4gICAgfSk7XG5cbiAgICAvLyBDdXN0b20gaG9va1xuICAgIGlmIChjb25maWd1cmVNb2R1bGUpIHtcbiAgICAgICAgYmVmb3JlQWxsKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbmZpZ3VyZU1vZHVsZSgpO1xuICAgICAgICAgICAgYXdhaXQgVGVzdEJlZC5jb21waWxlQ29tcG9uZW50cygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZnRlckVhY2goKCkgPT4ge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRlc3RCZWRBcGkuX2FjdGl2ZUZpeHR1cmVzLmZvckVhY2goKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj4pID0+XG4gICAgICAgICAgICBmaXh0dXJlLmRlc3Ryb3koKSxcbiAgICAgICAgKTtcbiAgICAgICAgLy8gcmVzZXQgVmlld0VuZ2luZSBUZXN0QmVkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGVzdEJlZEFwaS5faW5zdGFudGlhdGVkID0gZmFsc2U7XG4gICAgICAgIC8vIHJlc2V0IEl2eSBUZXN0QmVkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGVzdEJlZEFwaS5fdGVzdE1vZHVsZVJlZiA9IG51bGw7XG4gICAgfSk7XG5cbiAgICBhZnRlckFsbCgoKSA9PiB7XG4gICAgICAgIFRlc3RCZWQucmVzZXRUZXN0aW5nTW9kdWxlID0gb3JpZ2luUmVzZXQ7XG4gICAgICAgIFRlc3RCZWQucmVzZXRUZXN0aW5nTW9kdWxlKCk7XG4gICAgfSk7XG59O1xuIl19
|
@@ -0,0 +1,48 @@
|
|
1
|
+
export function tuiTestFiller(context, setValue = `value`, clearValue = null) {
|
2
|
+
let pageObject;
|
3
|
+
let fixture;
|
4
|
+
let testComponent;
|
5
|
+
let inputPO;
|
6
|
+
describe(`Filler (mask)`, () => {
|
7
|
+
beforeEach(() => {
|
8
|
+
pageObject = context.pageObject;
|
9
|
+
fixture = context.fixture;
|
10
|
+
testComponent = context.testComponent;
|
11
|
+
inputPO = context.inputPO;
|
12
|
+
fixture.detectChanges();
|
13
|
+
});
|
14
|
+
describe(`if there is no value in the field`, () => {
|
15
|
+
beforeEach(() => {
|
16
|
+
testComponent.control.setValue(clearValue);
|
17
|
+
fixture.detectChanges();
|
18
|
+
});
|
19
|
+
it(`not visible`, () => {
|
20
|
+
expect(getFiller()).toBeNull();
|
21
|
+
});
|
22
|
+
it(`when focusing appears`, async () => {
|
23
|
+
inputPO.focus();
|
24
|
+
fixture.detectChanges();
|
25
|
+
await fixture.whenStable();
|
26
|
+
expect(getFiller()).not.toBeNull();
|
27
|
+
});
|
28
|
+
});
|
29
|
+
describe(`if the field has a value`, () => {
|
30
|
+
beforeEach(() => {
|
31
|
+
testComponent.control.setValue(setValue);
|
32
|
+
fixture.detectChanges();
|
33
|
+
});
|
34
|
+
it(`not visible`, () => {
|
35
|
+
expect(getFiller()).toBeNull();
|
36
|
+
});
|
37
|
+
it(`also not visible when focusing`, () => {
|
38
|
+
inputPO.nativeElement?.focus();
|
39
|
+
fixture.detectChanges();
|
40
|
+
expect(getFiller()).toBeNull();
|
41
|
+
});
|
42
|
+
});
|
43
|
+
});
|
44
|
+
function getFiller() {
|
45
|
+
return pageObject.getByAutomationId(`${context.prefix}filler`);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsbGVyLnVuaXQtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVzdGluZy91dGlscy9pbnB1dC9maWxsZXIudW5pdC1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE1BQU0sVUFBVSxhQUFhLENBQ3pCLE9BQW1CLEVBQ25CLFdBQW9CLE9BQU8sRUFDM0IsYUFBc0IsSUFBSTtJQUUxQixJQUFJLFVBQWtDLENBQUM7SUFDdkMsSUFBSSxPQUFrQyxDQUFDO0lBQ3ZDLElBQUksYUFBNEIsQ0FBQztJQUNqQyxJQUFJLE9BQXlCLENBQUM7SUFFOUIsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7UUFDM0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ2hDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQzFCLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBRTFCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUU7WUFDL0MsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ25CLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUNuQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtZQUN0QyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtnQkFDbkIsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFO2dCQUN0QyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUMvQixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBRXhCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsU0FBUztRQUNkLE9BQU8sVUFBVSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUM7SUFDbkUsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RlYnVnRWxlbWVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudEZpeHR1cmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1VudHlwZWRGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1R1aU5hdGl2ZUlucHV0UE99IGZyb20gJy4uL25hdGl2ZS1pbnB1dC5wYWdlLW9iamVjdCc7XG5pbXBvcnQge1R1aVBhZ2VPYmplY3R9IGZyb20gJy4uL3BhZ2Utb2JqZWN0JztcblxuaW50ZXJmYWNlIFRlc3RQYXJhbXMge1xuICAgIGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj47XG4gICAgaW5wdXRQTzogVHVpTmF0aXZlSW5wdXRQTztcbiAgICBwYWdlT2JqZWN0OiBUdWlQYWdlT2JqZWN0PHVua25vd24+O1xuICAgIHByZWZpeDogc3RyaW5nO1xuICAgIHRlc3RDb21wb25lbnQ6IFRlc3RDb21wb25lbnQ7XG59XG5cbmludGVyZmFjZSBUZXN0Q29tcG9uZW50IHtcbiAgICBjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlUZXN0RmlsbGVyKFxuICAgIGNvbnRleHQ6IFRlc3RQYXJhbXMsXG4gICAgc2V0VmFsdWU6IHVua25vd24gPSBgdmFsdWVgLFxuICAgIGNsZWFyVmFsdWU6IHVua25vd24gPSBudWxsLFxuKTogdm9pZCB7XG4gICAgbGV0IHBhZ2VPYmplY3Q6IFR1aVBhZ2VPYmplY3Q8dW5rbm93bj47XG4gICAgbGV0IGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj47XG4gICAgbGV0IHRlc3RDb21wb25lbnQ6IFRlc3RDb21wb25lbnQ7XG4gICAgbGV0IGlucHV0UE86IFR1aU5hdGl2ZUlucHV0UE87XG5cbiAgICBkZXNjcmliZShgRmlsbGVyIChtYXNrKWAsICgpID0+IHtcbiAgICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgICAgICBwYWdlT2JqZWN0ID0gY29udGV4dC5wYWdlT2JqZWN0O1xuICAgICAgICAgICAgZml4dHVyZSA9IGNvbnRleHQuZml4dHVyZTtcbiAgICAgICAgICAgIHRlc3RDb21wb25lbnQgPSBjb250ZXh0LnRlc3RDb21wb25lbnQ7XG4gICAgICAgICAgICBpbnB1dFBPID0gY29udGV4dC5pbnB1dFBPO1xuXG4gICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzY3JpYmUoYGlmIHRoZXJlIGlzIG5vIHZhbHVlIGluIHRoZSBmaWVsZGAsICgpID0+IHtcbiAgICAgICAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQuY29udHJvbC5zZXRWYWx1ZShjbGVhclZhbHVlKTtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgbm90IHZpc2libGVgLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldEZpbGxlcigpKS50b0JlTnVsbCgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGl0KGB3aGVuIGZvY3VzaW5nIGFwcGVhcnNgLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaW5wdXRQTy5mb2N1cygpO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIGF3YWl0IGZpeHR1cmUud2hlblN0YWJsZSgpO1xuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRGaWxsZXIoKSkubm90LnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzY3JpYmUoYGlmIHRoZSBmaWVsZCBoYXMgYSB2YWx1ZWAsICgpID0+IHtcbiAgICAgICAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQuY29udHJvbC5zZXRWYWx1ZShzZXRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYG5vdCB2aXNpYmxlYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRGaWxsZXIoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgYWxzbyBub3QgdmlzaWJsZSB3aGVuIGZvY3VzaW5nYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlucHV0UE8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRGaWxsZXIoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGdldEZpbGxlcigpOiBEZWJ1Z0VsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHBhZ2VPYmplY3QuZ2V0QnlBdXRvbWF0aW9uSWQoYCR7Y29udGV4dC5wcmVmaXh9ZmlsbGVyYCk7XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,36 @@
|
|
1
|
+
export function tuiTestFormControlState(context) {
|
2
|
+
let fixture;
|
3
|
+
let testComponent;
|
4
|
+
let inputPO;
|
5
|
+
describe(`FormControl state`, () => {
|
6
|
+
beforeEach(() => {
|
7
|
+
fixture = context.fixture;
|
8
|
+
testComponent = context.testComponent;
|
9
|
+
inputPO = context.inputPO;
|
10
|
+
fixture.detectChanges();
|
11
|
+
});
|
12
|
+
it(`After initializing control dirty === false`, () => {
|
13
|
+
expect(testComponent.control.dirty).toBe(false);
|
14
|
+
});
|
15
|
+
it(`After control initialization touched === false`, () => {
|
16
|
+
expect(testComponent.control.touched).toBe(false);
|
17
|
+
});
|
18
|
+
it(`After setting value from outside dirty === false`, () => {
|
19
|
+
testComponent.control.setValue(`123`);
|
20
|
+
fixture.detectChanges();
|
21
|
+
expect(testComponent.control.dirty).toBe(false);
|
22
|
+
});
|
23
|
+
it(`After entering the value dirty === true`, () => {
|
24
|
+
inputPO.sendText(`123`);
|
25
|
+
expect(testComponent.control.dirty).toBe(true);
|
26
|
+
});
|
27
|
+
it(`After setting and de-focusing touched === true`, async () => {
|
28
|
+
inputPO.focus();
|
29
|
+
inputPO.blur();
|
30
|
+
await fixture.whenStable();
|
31
|
+
fixture.detectChanges();
|
32
|
+
expect(testComponent.control.touched).toBe(true);
|
33
|
+
});
|
34
|
+
});
|
35
|
+
}
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLXN0YXRlLnVuaXQtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVzdGluZy91dGlscy9pbnB1dC9mb3JtLWNvbnRyb2wtc3RhdGUudW5pdC1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQW1CO0lBQ3ZELElBQUksT0FBa0MsQ0FBQztJQUN2QyxJQUFJLGFBQTRCLENBQUM7SUFDakMsSUFBSSxPQUF5QixDQUFDO0lBRTlCLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQzFCLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBRTFCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxHQUFHLEVBQUU7WUFDbEQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtZQUN0RCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1lBQ3hELGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUV4QixNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1lBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFeEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzVELE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFZixNQUFNLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUUzQixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnRGaXh0dXJlfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtUdWlOYXRpdmVJbnB1dFBPfSBmcm9tICcuLi9uYXRpdmUtaW5wdXQucGFnZS1vYmplY3QnO1xuXG5pbnRlcmZhY2UgVGVzdFBhcmFtcyB7XG4gICAgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPjtcbiAgICBpbnB1dFBPOiBUdWlOYXRpdmVJbnB1dFBPO1xuICAgIHRlc3RDb21wb25lbnQ6IFRlc3RDb21wb25lbnQ7XG59XG5cbmludGVyZmFjZSBUZXN0Q29tcG9uZW50IHtcbiAgICBjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlUZXN0Rm9ybUNvbnRyb2xTdGF0ZShjb250ZXh0OiBUZXN0UGFyYW1zKTogdm9pZCB7XG4gICAgbGV0IGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj47XG4gICAgbGV0IHRlc3RDb21wb25lbnQ6IFRlc3RDb21wb25lbnQ7XG4gICAgbGV0IGlucHV0UE86IFR1aU5hdGl2ZUlucHV0UE87XG5cbiAgICBkZXNjcmliZShgRm9ybUNvbnRyb2wgc3RhdGVgLCAoKSA9PiB7XG4gICAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICAgICAgZml4dHVyZSA9IGNvbnRleHQuZml4dHVyZTtcbiAgICAgICAgICAgIHRlc3RDb21wb25lbnQgPSBjb250ZXh0LnRlc3RDb21wb25lbnQ7XG4gICAgICAgICAgICBpbnB1dFBPID0gY29udGV4dC5pbnB1dFBPO1xuXG4gICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoYEFmdGVyIGluaXRpYWxpemluZyBjb250cm9sIGRpcnR5ID09PSBmYWxzZWAsICgpID0+IHtcbiAgICAgICAgICAgIGV4cGVjdCh0ZXN0Q29tcG9uZW50LmNvbnRyb2wuZGlydHkpLnRvQmUoZmFsc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdChgQWZ0ZXIgY29udHJvbCBpbml0aWFsaXphdGlvbiB0b3VjaGVkID09PSBmYWxzZWAsICgpID0+IHtcbiAgICAgICAgICAgIGV4cGVjdCh0ZXN0Q29tcG9uZW50LmNvbnRyb2wudG91Y2hlZCkudG9CZShmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KGBBZnRlciBzZXR0aW5nIHZhbHVlIGZyb20gb3V0c2lkZSBkaXJ0eSA9PT0gZmFsc2VgLCAoKSA9PiB7XG4gICAgICAgICAgICB0ZXN0Q29tcG9uZW50LmNvbnRyb2wuc2V0VmFsdWUoYDEyM2ApO1xuICAgICAgICAgICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIGV4cGVjdCh0ZXN0Q29tcG9uZW50LmNvbnRyb2wuZGlydHkpLnRvQmUoZmFsc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdChgQWZ0ZXIgZW50ZXJpbmcgdGhlIHZhbHVlIGRpcnR5ID09PSB0cnVlYCwgKCkgPT4ge1xuICAgICAgICAgICAgaW5wdXRQTy5zZW5kVGV4dChgMTIzYCk7XG5cbiAgICAgICAgICAgIGV4cGVjdCh0ZXN0Q29tcG9uZW50LmNvbnRyb2wuZGlydHkpLnRvQmUodHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KGBBZnRlciBzZXR0aW5nIGFuZCBkZS1mb2N1c2luZyB0b3VjaGVkID09PSB0cnVlYCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaW5wdXRQTy5mb2N1cygpO1xuICAgICAgICAgICAgaW5wdXRQTy5ibHVyKCk7XG5cbiAgICAgICAgICAgIGF3YWl0IGZpeHR1cmUud2hlblN0YWJsZSgpO1xuXG4gICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIGV4cGVjdCh0ZXN0Q29tcG9uZW50LmNvbnRyb2wudG91Y2hlZCkudG9CZSh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG4iXX0=
|
@@ -84,4 +84,4 @@ export function tuiTestPlaceholder(context, setValue = `value`, clearValue = ``)
|
|
84
84
|
return pageObject.getByAutomationId(`${context.prefix}placeholder`);
|
85
85
|
}
|
86
86
|
}
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIudW5pdC1jb21tb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXN0aW5nL3V0aWxzL2lucHV0L3BsYWNlaG9sZGVyLnVuaXQtY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CQSxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLE9BQW1CLEVBQ25CLFdBQW9CLE9BQU8sRUFDM0IsYUFBc0IsRUFBRTtJQUV4QixJQUFJLFVBQWtDLENBQUM7SUFDdkMsSUFBSSxPQUFrQyxDQUFDO0lBQ3ZDLElBQUksYUFBNEIsQ0FBQztJQUVqQyxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDMUIsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFFdEMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtZQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLGFBQWEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO2dCQUN6QixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFO2dCQUMvQixXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3hCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFeEIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFB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TyxFQUFFO1lBQ3ZCLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO2FBQU07WUFDSCxhQUFhLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxTQUFTLGNBQWM7UUFDbkIsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWdFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50Rml4dHVyZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7VW50eXBlZEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHVpUGFnZU9iamVjdH0gZnJvbSAnLi4vcGFnZS1vYmplY3QnO1xuXG5pbnRlcmZhY2UgVGVzdFBhcmFtcyB7XG4gICAgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPjtcbiAgICBwYWdlT2JqZWN0OiBUdWlQYWdlT2JqZWN0PHVua25vd24+O1xuICAgIHByZWZpeDogc3RyaW5nO1xuICAgIHRlc3RDb21wb25lbnQ6IFRlc3RDb21wb25lbnQ7XG59XG5cbmludGVyZmFjZSBUZXN0Q29tcG9uZW50IHtcbiAgICBjb250cm9sPzogVW50eXBlZEZvcm1Db250cm9sO1xuICAgIGxhYmVsT3V0c2lkZTogYm9vbGVhbjtcbiAgICBzaXplOiAnbCcgfCAnbScgfCAncyc7XG4gICAgdmFsdWU/OiB1bmtub3duO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpVGVzdFBsYWNlaG9sZGVyKFxuICAgIGNvbnRleHQ6IFRlc3RQYXJhbXMsXG4gICAgc2V0VmFsdWU6IHVua25vd24gPSBgdmFsdWVgLFxuICAgIGNsZWFyVmFsdWU6IHVua25vd24gPSBgYCxcbik6IHZvaWQge1xuICAgIGxldCBwYWdlT2JqZWN0OiBUdWlQYWdlT2JqZWN0PHVua25vd24+O1xuICAgIGxldCBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuICAgIGxldCB0ZXN0Q29tcG9uZW50OiBUZXN0Q29tcG9uZW50O1xuXG4gICAgZGVzY3JpYmUoYFBsYWNlaG9sZGVyYCwgKCkgPT4ge1xuICAgICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgICAgIHBhZ2VPYmplY3QgPSBjb250ZXh0LnBhZ2VPYmplY3Q7XG4gICAgICAgICAgICBmaXh0dXJlID0gY29udGV4dC5maXh0dXJlO1xuICAgICAgICAgICAgdGVzdENvbXBvbmVudCA9IGNvbnRleHQudGVzdENvbXBvbmVudDtcblxuICAgICAgICAgICAgZml4dHVyZS5hdXRvRGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICBkZXNjcmliZShgaW4gc2l6ZSBTYCwgKCkgPT4ge1xuICAgICAgICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGVzdENvbXBvbmVudC5zaXplID0gYHNgO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGl0KGBpZiBubyB2YWx1ZSwgdGhlbiBzaG93bmAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVWYWx1ZShjbGVhclZhbHVlKTtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRQbGFjZWhvbGRlcigpKS5ub3QudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgaWYgc3BlY2lmaWVkLCBub3Qgc2hvd25gLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoc2V0VmFsdWUpO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldFBsYWNlaG9sZGVyKCkpLnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzY3JpYmUoYGluIHNpemUgTWAsICgpID0+IHtcbiAgICAgICAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQuc2l6ZSA9IGBtYDtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgaWYgbm8gdmFsdWUsIHRoZW4gc2hvd25gLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoY2xlYXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICBleHBlY3QoZ2V0UGxhY2Vob2xkZXIoKSkubm90LnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYGlmIGEgdmFsdWUgaXMgZ2l2ZW4sIHRoZW5gLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoc2V0VmFsdWUpO1xuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQubGFiZWxPdXRzaWRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICBleHBlY3QoZ2V0UGxhY2Vob2xkZXIoKSkubm90LnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYGlmIHZhbHVlIGlzIGdpdmVuIGJ1dCBsYWJlbCBpcyBvdXRzaWRlLCB0aGVuIG5vdCBzaG93bmAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVWYWx1ZShzZXRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgdGVzdENvbXBvbmVudC5sYWJlbE91dHNpZGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldFBsYWNlaG9sZGVyKCkpLnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzY3JpYmUoYGluIHNpemUgTGAsICgpID0+IHtcbiAgICAgICAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQuc2l6ZSA9IGBsYDtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgaWYgbm8gdmFsdWUsIHRoZW4gc2hvd25gLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoY2xlYXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICBleHBlY3QoZ2V0UGxhY2Vob2xkZXIoKSkubm90LnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYGlmIGEgdmFsdWUgaXMgZ2l2ZW4sIHRoZW5gLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlVmFsdWUoc2V0VmFsdWUpO1xuICAgICAgICAgICAgICAgIHRlc3RDb21wb25lbnQubGFiZWxPdXRzaWRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICBleHBlY3QoZ2V0UGxhY2Vob2xkZXIoKSkubm90LnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYGlmIHZhbHVlIGlzIGdpdmVuIGJ1dCBsYWJlbCBpcyBvdXRzaWRlLCB0aGVuIG5vdCBzaG93bmAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVWYWx1ZShzZXRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgdGVzdENvbXBvbmVudC5sYWJlbE91dHNpZGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldFBsYWNlaG9sZGVyKCkpLnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgICAgICBpZiAodGVzdENvbXBvbmVudC5jb250cm9sKSB7XG4gICAgICAgICAgICB0ZXN0Q29tcG9uZW50LmNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGVzdENvbXBvbmVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0UGxhY2Vob2xkZXIoKTogRGVidWdFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiBwYWdlT2JqZWN0LmdldEJ5QXV0b21hdGlvbklkKGAke2NvbnRleHQucHJlZml4fXBsYWNlaG9sZGVyYCk7XG4gICAgfVxufVxuIl19
|
package/{esm2015/utils/input/tooltip.unit-common.js → esm2020/utils/input/tooltip.unit-common.mjs}
RENAMED
@@ -43,4 +43,4 @@ export function tuiTestTooltip(context) {
|
|
43
43
|
return pageObject.getByAutomationId(`${context.prefix}tooltip`);
|
44
44
|
}
|
45
45
|
}
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC51bml0LWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlc3RpbmcvdXRpbHMvaW5wdXQvdG9vbHRpcC51bml0LWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFtQjtJQUM5QyxJQUFJLFVBQWtDLENBQUM7SUFDdkMsSUFBSSxPQUFrQyxDQUFDO0lBQ3ZDLElBQUksYUFBNEIsQ0FBQztJQUVqQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO1FBQ2hDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUNoQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUMxQixhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUV0QyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7WUFDdEMsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtnQkFDakQsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBRTlCLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRTtvQkFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDbkM7Z0JBRUQsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUV4QixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxHQUFHLEVBQUU7Z0JBQ2xELE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFeEIsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtnQkFDOUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQzlCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFeEIsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO1lBQ3pDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUU7Z0JBQ3pDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFeEIsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxVQUFVO1FBQ2YsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWdFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50Rml4dHVyZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7VW50eXBlZEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHVpUGFnZU9iamVjdH0gZnJvbSAnLi4vcGFnZS1vYmplY3QnO1xuXG5pbnRlcmZhY2UgVGVzdFBhcmFtcyB7XG4gICAgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPjtcbiAgICBwYWdlT2JqZWN0OiBUdWlQYWdlT2JqZWN0PHVua25vd24+O1xuICAgIHByZWZpeDogc3RyaW5nO1xuICAgIHRlc3RDb21wb25lbnQ6IFRlc3RDb21wb25lbnQ7XG59XG5cbmludGVyZmFjZSBUZXN0Q29tcG9uZW50IHtcbiAgICBjb250cm9sPzogVW50eXBlZEZvcm1Db250cm9sO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBoaW50Q29udGVudDogc3RyaW5nIHwgbnVsbDtcbiAgICByZWFkT25seTogYm9vbGVhbjtcbiAgICBzaXplOiB1bmtub3duO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpVGVzdFRvb2x0aXAoY29udGV4dDogVGVzdFBhcmFtcyk6IHZvaWQge1xuICAgIGxldCBwYWdlT2JqZWN0OiBUdWlQYWdlT2JqZWN0PHVua25vd24+O1xuICAgIGxldCBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuICAgIGxldCB0ZXN0Q29tcG9uZW50OiBUZXN0Q29tcG9uZW50O1xuXG4gICAgZGVzY3JpYmUoYFRvb2x0aXAgaW4gYSBmaWVsZGAsICgpID0+IHtcbiAgICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgICAgICBwYWdlT2JqZWN0ID0gY29udGV4dC5wYWdlT2JqZWN0O1xuICAgICAgICAgICAgZml4dHVyZSA9IGNvbnRleHQuZml4dHVyZTtcbiAgICAgICAgICAgIHRlc3RDb21wb25lbnQgPSBjb250ZXh0LnRlc3RDb21wb25lbnQ7XG5cbiAgICAgICAgICAgIGZpeHR1cmUuYXV0b0RldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzY3JpYmUoYFRoZXJlIGlzIHRvb2x0aXAgY29udGVudGAsICgpID0+IHtcbiAgICAgICAgICAgIGl0KGBpZiBmaWVsZCBpcyBkaXNhYmxlZCwgdGhlcmUgaXMgbm8gdG9vbHRpcGAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXN0Q29tcG9uZW50LmRpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIGlmICh0ZXN0Q29tcG9uZW50LmNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgdGVzdENvbXBvbmVudC5jb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRUb29sdGlwKCkpLnRvQmVOdWxsKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaXQoYGlmIGZpZWxkIGlzIG5vdCBkaXNhYmxlZCwgdGhlcmUgaXMgdG9vbHRpcGAsICgpID0+IHtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRUb29sdGlwKCkpLm5vdC50b0JlTnVsbCgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGl0KGBpZiBmaWVsZCBpcyByZWFkb25seSwgdGhlcmUgaXMgdG9vbHRpcGAsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXN0Q29tcG9uZW50LnJlYWRPbmx5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgIGV4cGVjdChnZXRUb29sdGlwKCkpLm5vdC50b0JlTnVsbCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRlc2NyaWJlKGBUaGVyZSBpcyBubyB0b29sdGlwIGNvbnRlbnRgLCAoKSA9PiB7XG4gICAgICAgICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXN0Q29tcG9uZW50LmhpbnRDb250ZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpdChgdG9vbHRpcCB3aXRob3V0IGNvbnRlbnQgaXMgaGlkZGVuYCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgZXhwZWN0KGdldFRvb2x0aXAoKSkudG9CZU51bGwoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGdldFRvb2x0aXAoKTogRGVidWdFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiBwYWdlT2JqZWN0LmdldEJ5QXV0b21hdGlvbklkKGAke2NvbnRleHQucHJlZml4fXRvb2x0aXBgKTtcbiAgICB9XG59XG4iXX0=
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { tuiCreateKeyboardEvent } from './keyboard-event';
|
2
|
+
import { TuiPageObject } from './page-object';
|
3
|
+
import { tuiReplaceNbsp } from './replace-nbsp';
|
4
|
+
export class TuiNativeInputPO {
|
5
|
+
constructor(fixture, automationId, hostDebugElement) {
|
6
|
+
this.fixture = fixture;
|
7
|
+
this.automationId = automationId;
|
8
|
+
this.hostDebugElement = hostDebugElement;
|
9
|
+
this.pageObject = new TuiPageObject(fixture);
|
10
|
+
}
|
11
|
+
get nativeElement() {
|
12
|
+
return (this.pageObject.getByAutomationId(this.automationId, this.hostDebugElement)
|
13
|
+
?.nativeElement ?? null);
|
14
|
+
}
|
15
|
+
get value() {
|
16
|
+
return tuiReplaceNbsp(this.nativeElement?.value ?? ``);
|
17
|
+
}
|
18
|
+
get focused() {
|
19
|
+
return document.activeElement === this.nativeElement;
|
20
|
+
}
|
21
|
+
sendText(value) {
|
22
|
+
this.focus(); // need focus before initial value for emulate user interaction
|
23
|
+
const nativeElement = this.nativeElement;
|
24
|
+
if (nativeElement) {
|
25
|
+
nativeElement.value = value;
|
26
|
+
nativeElement.dispatchEvent(new Event(`input`, { bubbles: true }));
|
27
|
+
}
|
28
|
+
this.fixture.detectChanges();
|
29
|
+
}
|
30
|
+
// @bad TODO: Fix this with actually moving focus rather than just blurring
|
31
|
+
sendTextAndBlur(value) {
|
32
|
+
this.focus();
|
33
|
+
this.sendText(value);
|
34
|
+
this.blur();
|
35
|
+
}
|
36
|
+
sendKeydown(key) {
|
37
|
+
this.nativeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, `keydown`));
|
38
|
+
this.fixture.detectChanges();
|
39
|
+
}
|
40
|
+
focus() {
|
41
|
+
this.nativeElement?.focus();
|
42
|
+
this.fixture.detectChanges();
|
43
|
+
}
|
44
|
+
blur() {
|
45
|
+
this.nativeElement?.blur();
|
46
|
+
this.fixture.detectChanges();
|
47
|
+
}
|
48
|
+
click() {
|
49
|
+
this.nativeElement?.click();
|
50
|
+
this.fixture.detectChanges();
|
51
|
+
}
|
52
|
+
}
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWlucHV0LnBhZ2Utb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVzdGluZy91dGlscy9uYXRpdmUtaW5wdXQucGFnZS1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxPQUFPLGdCQUFnQjtJQUd6QixZQUNxQixPQUFrQyxFQUNsQyxZQUFvQixFQUNwQixnQkFBK0I7UUFGL0IsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFlO1FBRWhELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sQ0FDSCxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3ZFLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FDOUIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxRQUFRLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDekQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLCtEQUErRDtRQUU3RSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRXpDLElBQUksYUFBYSxFQUFFO1lBQ2YsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDNUIsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMkVBQTJFO0lBQzNFLGVBQWUsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWdFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50Rml4dHVyZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHt0dWlDcmVhdGVLZXlib2FyZEV2ZW50fSBmcm9tICcuL2tleWJvYXJkLWV2ZW50JztcbmltcG9ydCB7VHVpUGFnZU9iamVjdH0gZnJvbSAnLi9wYWdlLW9iamVjdCc7XG5pbXBvcnQge3R1aVJlcGxhY2VOYnNwfSBmcm9tICcuL3JlcGxhY2UtbmJzcCc7XG5cbmV4cG9ydCBjbGFzcyBUdWlOYXRpdmVJbnB1dFBPIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VPYmplY3Q6IFR1aVBhZ2VPYmplY3Q8dW5rbm93bj47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9tYXRpb25JZDogc3RyaW5nLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3REZWJ1Z0VsZW1lbnQ/OiBEZWJ1Z0VsZW1lbnQsXG4gICAgKSB7XG4gICAgICAgIHRoaXMucGFnZU9iamVjdCA9IG5ldyBUdWlQYWdlT2JqZWN0KGZpeHR1cmUpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBhZ2VPYmplY3QuZ2V0QnlBdXRvbWF0aW9uSWQodGhpcy5hdXRvbWF0aW9uSWQsIHRoaXMuaG9zdERlYnVnRWxlbWVudClcbiAgICAgICAgICAgICAgICA/Lm5hdGl2ZUVsZW1lbnQgPz8gbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHVpUmVwbGFjZU5ic3AodGhpcy5uYXRpdmVFbGVtZW50Py52YWx1ZSA/PyBgYCk7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgc2VuZFRleHQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzKCk7IC8vIG5lZWQgZm9jdXMgYmVmb3JlIGluaXRpYWwgdmFsdWUgZm9yIGVtdWxhdGUgdXNlciBpbnRlcmFjdGlvblxuXG4gICAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKG5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoYGlucHV0YCwge2J1YmJsZXM6IHRydWV9KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8vIEBiYWQgVE9ETzogRml4IHRoaXMgd2l0aCBhY3R1YWxseSBtb3ZpbmcgZm9jdXMgcmF0aGVyIHRoYW4ganVzdCBibHVycmluZ1xuICAgIHNlbmRUZXh0QW5kQmx1cih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5zZW5kVGV4dCh2YWx1ZSk7XG4gICAgICAgIHRoaXMuYmx1cigpO1xuICAgIH1cblxuICAgIHNlbmRLZXlkb3duKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudD8uZGlzcGF0Y2hFdmVudCh0dWlDcmVhdGVLZXlib2FyZEV2ZW50KGtleSwgYGtleWRvd25gKSk7XG4gICAgICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBibHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgICAgICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50Py5jbGljaygpO1xuICAgICAgICB0aGlzLmZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk';
|
2
|
+
export function tuiReplaceNbsp(content) {
|
3
|
+
return content?.replace(new RegExp(CHAR_NO_BREAK_SPACE, `g`), ` `) ?? ``;
|
4
|
+
}
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS1uYnNwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVzdGluZy91dGlscy9yZXBsYWNlLW5ic3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBZ0I7SUFDM0MsT0FBTyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX05PX0JSRUFLX1NQQUNFfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVJlcGxhY2VOYnNwKGNvbnRlbnQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb250ZW50Py5yZXBsYWNlKG5ldyBSZWdFeHAoQ0hBUl9OT19CUkVBS19TUEFDRSwgYGdgKSwgYCBgKSA/PyBgYDtcbn1cbiJdfQ==
|
@@ -565,4 +565,4 @@ TuiToggleHarness.hostSelector = `tui-toggle`;
|
|
565
565
|
*/
|
566
566
|
|
567
567
|
export { TuiAccordionHarness, TuiAccordionItemHarness, TuiActionHarness, TuiAvatarHarness, TuiBadgeHarness, TuiButtonHarness, TuiCalendarHarness, TuiCardHarness, TuiDialogHarness, TuiHostedDropdownHarness, TuiIslandHarness, TuiLoaderHarness, TuiMarkerIconHarness, TuiPrimitiveCalendarHarness, TuiPrimitiveSpinButtonHarness, TuiPrimitiveTextfieldHarness, TuiSelectHarness, TuiSvgHarness, TuiTagHarness, TuiTextfieldHarness, TuiThumbnailCardHarness, TuiToggleHarness };
|
568
|
-
//# sourceMappingURL=taiga-ui-testing-core.
|
568
|
+
//# sourceMappingURL=taiga-ui-testing-core.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-core.mjs","sources":["../../../projects/testing/core/accordion.harness.ts","../../../projects/testing/core/svg.harness.ts","../../../projects/testing/core/accordion-item.harness.ts","../../../projects/testing/core/marker-icon.harness.ts","../../../projects/testing/core/action.harness.ts","../../../projects/testing/core/avatar.harness.ts","../../../projects/testing/core/badge.harness.ts","../../../projects/testing/core/loader.harness.ts","../../../projects/testing/core/button.harness.ts","../../../projects/testing/core/primitive-calender.harness.ts","../../../projects/testing/core/primitive-spin-button.harness.ts","../../../projects/testing/core/primitive-year-month-pagination.harness.ts","../../../projects/testing/core/primitive-year-picker.harness.ts","../../../projects/testing/core/calendar.harness.ts","../../../projects/testing/core/card.harness.ts","../../../projects/testing/core/dialog.harness.ts","../../../projects/testing/core/hosted-dropdown.harness.ts","../../../projects/testing/core/island.harness.ts","../../../projects/testing/core/primitive-textfield.harness.ts","../../../projects/testing/core/select.harness.ts","../../../projects/testing/core/tag.harness.ts","../../../projects/testing/core/textfield.harness.ts","../../../projects/testing/core/toggle.harness.ts","../../../projects/testing/core/taiga-ui-testing-core.ts"],"sourcesContent":["import {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAccordionHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-accordion`;\n\n async hasRoundedCorners(): Promise<boolean> {\n return (await this.locatorFor(`.t-group`)()).hasClass(`tui-group_rounded`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiSvgHarness extends TuiComponentHarness {\n static hostSelector = `tui-svg`;\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n\n async isInnerHTML(): Promise<boolean> {\n return !!(await this.locatorForOptional(`div`)());\n }\n\n async getUse(): Promise<string | null> {\n return (\n (await this.locatorForOptional(`use`)())?.getAttribute(`xlink:href`) ?? null\n );\n }\n}\n","import {TestKey} from '@angular/cdk/testing';\nimport {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiAccordionItemHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-accordion-item`;\n\n private readonly header = this.locatorFor(`.t-header`);\n\n async getTitle(): Promise<string> {\n return (await this.locatorFor(`.t-title`)()).text();\n }\n\n async getContent(): Promise<string | null> {\n return (await this.locatorForOptional(`.t-content`)())?.text() ?? null;\n }\n\n async clickHeader(): Promise<void> {\n return (await this.locatorFor(`.t-header`)()).click();\n }\n\n async getBorders(): Promise<string | null> {\n return (await this.host()).getAttribute(`data-borders`);\n }\n\n async hasArrow(): Promise<boolean> {\n return (\n !!(await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-icon`}),\n )()) ?? false\n );\n }\n\n async focus(): Promise<void> {\n return (await this.header()).focus();\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.header()).sendKeys(TestKey.ESCAPE);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiMarkerIconHarness extends TuiComponentHarness {\n static hostSelector = `tui-marker-icon`;\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiMarkerIconHarness} from './marker-icon.harness';\n\nexport class TuiActionHarness extends TuiComponentHarness {\n static hostSelector = `button[tuiAction], a[tuiAction]`;\n\n protected getIconHarness = this.locatorForOptional(TuiMarkerIconHarness);\n\n async icon(): Promise<TuiMarkerIconHarness | null> {\n return this.getIconHarness();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAvatarHarness extends TuiComponentHarness {\n static hostSelector = `tui-avatar`;\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiBadgeHarness extends TuiComponentHarness {\n static hostSelector = `tui-badge`;\n\n async text(): Promise<string> {\n return (await this.host()).text();\n }\n\n async padding(): Promise<string | null> {\n return (await this.host()).getAttribute(`data-padding`);\n }\n\n async hasClass(cls: string): Promise<boolean> {\n return (await this.host()).hasClass(cls);\n }\n}\n","import {tuiHarnessWith, tuiWithPredicate} from '@taiga-ui/testing/utils';\n\n@tuiWithPredicate\nexport class TuiLoaderHarness extends tuiHarnessWith<TuiLoaderHarness>(`tui-loader`) {\n private readonly loader = this.locatorForOptional(`fieldset.t-content + .t-loader`);\n\n async isLoading(): Promise<boolean> {\n return !!(await this.loader());\n }\n\n async getText(): Promise<string> {\n const loader = await this.loader();\n\n return loader?.text() ?? ``;\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiLoaderHarness} from './loader.harness';\n\nexport class TuiButtonHarness extends TuiComponentHarness {\n static hostSelector = `button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]`;\n private readonly loader = this.locatorForOptional(TuiLoaderHarness);\n\n async isLoading(): Promise<boolean> {\n return !!(await this.loader());\n }\n\n async hasClass(input: string): Promise<boolean> {\n return (await this.host()).hasClass(input);\n }\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\ninterface TuiDayCellHarnessFilters extends BaseHarnessFilters {\n day: number;\n}\n\nclass TuiDayCellHarness extends ComponentHarness {\n static hostSelector = `.t-cell:not(.t-cell_unavailable)`;\n\n static with(options: TuiDayCellHarnessFilters): HarnessPredicate<TuiDayCellHarness> {\n return new HarnessPredicate(TuiDayCellHarness, options).addOption(\n `day`,\n options.day,\n async (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), `${text}`),\n );\n }\n\n async getText(): Promise<string> {\n return (await this.locatorFor(`.t-item`)()).text();\n }\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n async hover(): Promise<void> {\n return (await this.host()).hover();\n }\n}\n\nexport class TuiPrimitiveCalendarHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-calendar`;\n\n async clickDay(day: number): Promise<void> {\n const dayCell = await this.locatorFor(\n TuiDayCellHarness.with({day, ancestor: `#date-rows`}),\n )();\n\n return dayCell.click();\n }\n\n async hoverDay(day: number): Promise<void> {\n const dayCell = await this.locatorFor(\n TuiDayCellHarness.with({day, ancestor: `#date-rows`}),\n )();\n\n return dayCell.hover();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiButtonHarness} from './button.harness';\n\nexport class TuiPrimitiveSpinButtonHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-spin-button`;\n\n async isLeftDisabled(): Promise<boolean> {\n return (await this.locatorForAll(TuiButtonHarness)())[0].hasClass(`t-hidden`);\n }\n\n async isRightDisabled(): Promise<boolean> {\n return (await this.locatorForAll(TuiButtonHarness)())[1].hasClass(`t-hidden`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiPrimitiveSpinButtonHarness} from './primitive-spin-button.harness';\n\nexport class TuiPrimitiveYearMonthPaginationHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-year-month-pagination`;\n\n private readonly buttonLeft = this.locatorForOptional(\n `button[tuiIconButton]:first-child`,\n );\n\n private readonly content = this.locatorForOptional(`.t-calendar-title`);\n\n private readonly buttonRight = this.locatorForOptional(\n `button[tuiIconButton]:last-child`,\n );\n\n private readonly button = this.locatorForOptional(`#year-btn`);\n private readonly primitiveSpinButton = this.locatorFor(TuiPrimitiveSpinButtonHarness);\n\n async clickLeft(): Promise<void> {\n return (await this.buttonLeft())?.click();\n }\n\n async getContentText(): Promise<string> {\n return (await this.content())?.text() ?? ``;\n }\n\n async clickRight(): Promise<void> {\n return (await this.buttonRight())?.click();\n }\n\n async clickYear(): Promise<void> {\n return (await this.button())?.click();\n }\n\n async isLeftDisabled(): Promise<boolean> {\n return (await this.primitiveSpinButton()).isLeftDisabled();\n }\n\n async isRightDisabled(): Promise<boolean> {\n return (await this.primitiveSpinButton()).isRightDisabled();\n }\n}\n","import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\ninterface TuiYearCellHarnessFilters extends BaseHarnessFilters {\n year: string;\n}\n\nclass TuiYearCellHarness extends ComponentHarness {\n static hostSelector = `.t-cell`;\n\n static with(\n options: TuiYearCellHarnessFilters,\n ): HarnessPredicate<TuiYearCellHarness> {\n return new HarnessPredicate(TuiYearCellHarness, options).addOption(\n `year`,\n options.year,\n async (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n );\n }\n\n async getText(): Promise<string> {\n return (await this.locatorFor(`.t-item`)()).text();\n }\n\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n}\n\nexport class TuiPrimitiveYearPickerHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-year-picker`;\n\n async clickYear(year: string): Promise<void> {\n const yearCell = await this.locatorFor(TuiYearCellHarness.with({year}))();\n\n return yearCell.click();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiPrimitiveCalendarHarness} from './primitive-calender.harness';\nimport {TuiPrimitiveYearMonthPaginationHarness} from './primitive-year-month-pagination.harness';\nimport {TuiPrimitiveYearPickerHarness} from './primitive-year-picker.harness';\n\nexport class TuiCalendarHarness extends TuiComponentHarness {\n static hostSelector = `tui-calendar`;\n\n private readonly getPrimitiveYearPickerHarness = this.locatorForOptional(\n TuiPrimitiveYearPickerHarness,\n );\n\n private readonly getPrimitiveYearMonthPaginationHarness = this.locatorForOptional(\n TuiPrimitiveYearMonthPaginationHarness,\n );\n\n private readonly getPrimitiveCalendarHarness = this.locatorForOptional(\n TuiPrimitiveCalendarHarness,\n );\n\n async yearPickerShown(): Promise<boolean> {\n return !!(await this.getPrimitiveYearPickerHarness());\n }\n\n async yearMonthPaginationShown(): Promise<boolean> {\n return !!(await this.getPrimitiveYearMonthPaginationHarness());\n }\n\n async primitiveCalendarShown(): Promise<boolean> {\n return !!(await this.getPrimitiveCalendarHarness());\n }\n\n async isPaginationLeftDisabled(): Promise<boolean> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.isLeftDisabled() ??\n false\n );\n }\n\n async isPaginationRightDisabled(): Promise<boolean> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.isRightDisabled() ??\n false\n );\n }\n\n async clickMonthLeft(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickLeft();\n }\n\n async getContentText(): Promise<string> {\n return (\n (await this.getPrimitiveYearMonthPaginationHarness())?.getContentText() ?? ``\n );\n }\n\n async clickMonthRight(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickRight();\n }\n\n async clickPaginationYear(): Promise<void> {\n return (await this.getPrimitiveYearMonthPaginationHarness())?.clickYear();\n }\n\n async clickPickerYear(year: string): Promise<void> {\n return (await this.getPrimitiveYearPickerHarness())?.clickYear(year);\n }\n\n async clickDay(day: number): Promise<void> {\n return (await this.getPrimitiveCalendarHarness())?.clickDay(day);\n }\n\n async hoverDay(day: number): Promise<void> {\n return (await this.getPrimitiveCalendarHarness())?.hoverDay(day);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiThumbnailCardHarness extends TuiComponentHarness {\n static hostSelector = `tui-thumbnail-card`;\n\n async hasPaymentSystemLogo(): Promise<boolean> {\n const tuiSvg = await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-payment-system-logo`}),\n )();\n\n return !!tuiSvg;\n }\n\n async hasBrandLogo(): Promise<boolean> {\n const tuiSvg = await this.locatorForOptional(\n TuiSvgHarness.with({selector: `.t-brand-logo`}),\n )();\n\n return !!tuiSvg;\n }\n}\n\n/**\n * @deprecated use {@link TuiThumbnailCardHarness}\n */\nexport class TuiCardHarness extends TuiThumbnailCardHarness {\n static override hostSelector = `tui-card`;\n}\n","import {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiButtonHarness} from './button.harness';\n\nexport class TuiDialogHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-dialog`;\n\n async getCloseButton(): Promise<TuiButtonHarness | null> {\n return this.locatorForOptional(\n TuiButtonHarness.with({\n selector: `[automation-id=tui-dialog__close]`,\n }),\n )();\n }\n}\n","import {TestKey} from '@angular/cdk/testing';\nimport {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiHostedDropdownHarness extends TuiContentContainerComponentHarness {\n static hostSelector = `tui-hosted-dropdown`;\n\n async sendSpaceKey(): Promise<void> {\n return (await this.host()).sendKeys(` `);\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n","import {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiIslandHarness extends TuiComponentHarness {\n static hostSelector = `tui-island`;\n\n async getSize(): Promise<TuiSizeL | TuiSizeS> {\n if (await this.isSizeL()) {\n return `l`;\n }\n\n if (await this.isSizeM()) {\n return `m`;\n }\n\n return `s`;\n }\n\n async getTextAlign(): Promise<'center' | 'left' | 'right'> {\n if (await this.isTextAlignLeft()) {\n return `left`;\n }\n\n if (await this.isTextAlignCenter()) {\n return `center`;\n }\n\n return `right`;\n }\n\n async isHoverable(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_hoverable`);\n }\n\n private async isTextAlignLeft(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_text-align_left`);\n }\n\n private async isTextAlignCenter(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_text-align_center`);\n }\n\n private async isSizeM(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_size_m`);\n }\n\n private async isSizeL(): Promise<boolean> {\n return (await this.host()).hasClass(`tui-island_size_l`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiPrimitiveTextfieldHarness extends TuiComponentHarness {\n static hostSelector = `tui-primitive-textfield`;\n\n async valueDecorationText(): Promise<string> {\n return (await this.locatorFor(`tui-value-decoration`)()).text();\n }\n\n async inputPlaceholder(): Promise<string> {\n return (await this.locatorFor(`input`)()).getProperty(`placeholder`);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiHostedDropdownHarness} from './hosted-dropdown.harness';\n\nexport class TuiSelectHarness extends TuiComponentHarness {\n static hostSelector = `tui-select`;\n private readonly hostedDropdown = this.locatorFor(TuiHostedDropdownHarness);\n\n async sendSpaceKey(): Promise<void> {\n return (await this.hostedDropdown()).sendSpaceKey();\n }\n\n async sendEscKey(): Promise<void> {\n return (await this.hostedDropdown()).sendEscKey();\n }\n}\n","import {TestElement, TestKey} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiTagHarness extends TuiComponentHarness {\n static hostSelector = `tui-tag`;\n\n async getCrossIcon(): Promise<TuiSvgHarness | null> {\n return this.locatorForOptional(TuiSvgHarness.with({selector: `.t-icon`}))();\n }\n\n async getBackgroundColor(): Promise<string> {\n const div = await this.locatorFor(`:first-child`)();\n\n return div.getCssValue(`background-color`);\n }\n\n async getInput(): Promise<TestElement | null> {\n return this.locatorForOptional(`input.t-edit`)();\n }\n\n async sendEnter(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.ENTER);\n }\n\n async sendBackspace(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.BACKSPACE);\n }\n\n async sendDelete(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.DELETE);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiTextfieldHarness extends TuiComponentHarness {\n static hostSelector = `input[tuiTextfield], textarea[tuiTextfield]`;\n\n async sendSpaceKey(): Promise<void> {\n return (await this.host()).sendKeys(` `);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiToggleHarness extends TuiComponentHarness {\n static hostSelector = `tui-toggle`;\n protected input = this.locatorFor(`input`);\n\n async toggle(): Promise<void> {\n return (await this.input()).click();\n }\n\n async getIcons(): Promise<TuiSvgHarness[]> {\n return this.locatorForAll(TuiSvgHarness)();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -94,6 +94,7 @@ const tuiWaitAllImgInside = (prevSubject, enabled = true) => {
|
|
94
94
|
};
|
95
95
|
|
96
96
|
/// <reference types="cypress" />
|
97
|
+
// eslint-disable-next-line @taiga-ui/experience/no-deep-imports
|
97
98
|
function makeScreenshotName(name) {
|
98
99
|
return (name !== null && name !== void 0 ? name : Cypress.currentTest.titlePath
|
99
100
|
.join(`-`)
|
@@ -114,7 +115,6 @@ function tuiAddMatchImageSnapshotCommand(options) {
|
|
114
115
|
});
|
115
116
|
}
|
116
117
|
|
117
|
-
/// <reference types="cypress" />
|
118
118
|
function tuiAddSnapshotPlugin(on, config, { newSnapshotMarkEnabled, newSnapshotMarkFn }) {
|
119
119
|
return __awaiter(this, void 0, void 0, function* () {
|
120
120
|
const { addMatchImageSnapshotPlugin, matchImageSnapshotPlugin } = yield import('cypress-image-snapshot/plugin');
|
@@ -142,4 +142,4 @@ function tuiAddSnapshotPlugin(on, config, { newSnapshotMarkEnabled, newSnapshotM
|
|
142
142
|
*/
|
143
143
|
|
144
144
|
export { tuiAddMatchImageSnapshotCommand, tuiAddSnapshotPlugin, tuiBeInViewportAssertion, tuiWaitAllImgInside };
|
145
|
-
//# sourceMappingURL=taiga-ui-testing-cypress.
|
145
|
+
//# sourceMappingURL=taiga-ui-testing-cypress.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-cypress.mjs","sources":["../../../projects/testing/cypress/assertions/be-in-viewport.ts","../../../projects/testing/cypress/commands/wait-all-img-inside.command.ts","../../../projects/testing/cypress/snapshot/command.ts","../../../projects/testing/cypress/snapshot/plugin.ts","../../../projects/testing/cypress/taiga-ui-testing-cypress.ts"],"sourcesContent":["/// <reference types=\"cypress\" />\n/// <reference types=\"node\" />\n\n/**\n * Check if element is inside viewport\n *\n * @note WARNING! `.should('be.visible')` doesn't not check if element is inside viewport\n * @see https://github.com/cypress-io/cypress/issues/17483\n * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-342187174\n * @see https://github.com/cypress-io/cypress/issues/877#issuecomment-657583222\n * @example\n ```ts\n cy.get('#test').should('be.inViewport');\n ```\n * */\nexport const tuiBeInViewportAssertion: Chai.ChaiPlugin = _chai => {\n chai.Assertion.addMethod(`inViewport`, function () {\n const subject = this._obj;\n const {top, bottom} = subject[0].getBoundingClientRect();\n\n const viewportHeight: number =\n // @ts-ignore TS2339: Property 'state' does not exist on type 'cy & CyEventEmitter'.\n Cypress.$(cy.state(`window`)).height() || 0;\n\n const subjectOverlapsAllViewport = top < 0 && bottom > viewportHeight;\n const topBorderIsVisible = top >= 0 && top < viewportHeight;\n const bottomBorderIsVisible = bottom >= 0 && bottom < viewportHeight;\n\n this.assert(\n subjectOverlapsAllViewport || topBorderIsVisible || bottomBorderIsVisible,\n `expected #{this} to be in viewport`,\n `expected #{this} to not be in viewport`,\n subject,\n );\n });\n};\n","/// <reference types=\"cypress\" />\n\nexport const tuiWaitAllImgInside = (\n prevSubject: Cypress.PrevSubjectMap<void>[Cypress.PrevSubject],\n enabled: boolean = true,\n): Cypress.Chainable<JQuery<HTMLBodyElement>> | Cypress.Chainable<JQuery> => {\n const target =\n prevSubject && Cypress.dom.isJquery(prevSubject)\n ? cy.wrap(prevSubject, {log: false})\n : cy.get(`body`, {log: false});\n\n target.then($target => {\n const img = $target.find(`img`);\n\n if (img.length && enabled) {\n const log = Cypress.log({\n displayName: `Wait all images`,\n message: `naturalWidth greaterThan 0`,\n name: `tuiWaitAllImgInside`,\n autoEnd: false,\n consoleProps: () => ({\n prevSubject,\n img,\n }),\n });\n\n cy.wrap($target, {log: false})\n .get(`img`, {log: false})\n .each((img: JQuery<HTMLImageElement>) => {\n const nativeImage = img.get(0);\n const url = nativeImage?.src || nativeImage?.srcset;\n\n if (!url) {\n return;\n }\n\n const offsetParent = img.prop(`offsetParent`);\n\n return cy.window({log: false}).then((win: Window) => {\n const rect = nativeImage.getBoundingClientRect();\n const isInViewport =\n offsetParent &&\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (win.innerHeight ||\n win.document.documentElement.clientHeight) &&\n rect.right <=\n (win.innerWidth ||\n win.document.documentElement.clientWidth);\n\n if (isInViewport) {\n if (url.includes(`base64`)) {\n (expect as any)(\n nativeImage.naturalWidth,\n ).to.be.greaterThan(0);\n } else {\n cy.request({\n url,\n failOnStatusCode: false,\n log: false,\n }).then(resp => {\n if (resp.status === 200) {\n cy.get(img as any, {log: false}).should(\n (el: JQuery<HTMLImageElement>) =>\n (expect as any)(\n el[0].naturalWidth,\n ).to.be.greaterThan(0),\n );\n }\n });\n }\n }\n });\n })\n .then(() => log.end());\n }\n });\n\n return target;\n};\n","/// <reference types=\"cypress\" />\n// eslint-disable-next-line @taiga-ui/experience/no-deep-imports\nimport {tuiIsObject, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Options} from 'cypress-image-snapshot';\nimport {matchImageSnapshotCommand} from 'cypress-image-snapshot/command';\n\nimport {tuiWaitAllImgInside} from '../commands/wait-all-img-inside.command';\n\ndeclare module 'cypress-image-snapshot/command' {\n function matchImageSnapshotCommand(options: Options): (...args: unknown[]) => void;\n}\n\ninterface TuiSnapshotCommandOptions {\n waitAllImages?: boolean;\n}\n\ndeclare global {\n namespace Cypress {\n interface Chainable {\n matchImageSnapshot(\n name: string,\n options?: Options & TuiSnapshotCommandOptions,\n ): void;\n }\n }\n}\n\nfunction makeScreenshotName(name?: string): string {\n return (\n name ??\n Cypress.currentTest.titlePath\n .join(`-`)\n .replace(/\\s|-/g, `.`)\n .replace(/['[\\]`()]/g, ``)\n .toLowerCase()\n );\n}\n\nexport function tuiAddMatchImageSnapshotCommand(\n options: Options & TuiSnapshotCommandOptions,\n): void {\n const matchSnapshotFn = matchImageSnapshotCommand(options);\n\n Cypress.Commands.add(\n `matchImageSnapshot`,\n {prevSubject: [`optional`, `element`, `window`, `document`]},\n (\n prevSubject,\n nameOrOptions: string | (Options & TuiSnapshotCommandOptions),\n options?: Options & TuiSnapshotCommandOptions,\n ) => {\n const name = tuiIsString(nameOrOptions) ? nameOrOptions : undefined;\n const overloadedOptions = tuiIsObject(nameOrOptions)\n ? nameOrOptions\n : options;\n\n tuiWaitAllImgInside(prevSubject, overloadedOptions?.waitAllImages ?? true);\n\n matchSnapshotFn(prevSubject, makeScreenshotName(name), overloadedOptions);\n },\n );\n}\n","/// <reference types=\"cypress\" />\n/// <reference types=\"node\" />\n\nimport fs from 'fs';\n\ndeclare module 'cypress-image-snapshot/plugin' {\n function matchImageSnapshotPlugin(\n details: Cypress.ScreenshotDetails,\n ): Cypress.AfterScreenshotReturnObject | void;\n}\n\nexport interface TuiSnapshotPluginOptions {\n newSnapshotMarkEnabled: boolean;\n newSnapshotMarkFn: (oldSnapshotFileName: string) => string;\n}\n\nexport async function tuiAddSnapshotPlugin(\n on: Cypress.PluginEvents,\n config: Cypress.PluginConfigOptions,\n {newSnapshotMarkEnabled, newSnapshotMarkFn}: TuiSnapshotPluginOptions,\n): Promise<void> {\n const {addMatchImageSnapshotPlugin, matchImageSnapshotPlugin} = await import(\n `cypress-image-snapshot/plugin`\n );\n\n addMatchImageSnapshotPlugin(on, config);\n\n on(`after:screenshot`, (details: Cypress.ScreenshotDetails) => {\n const {name, path, testFailure} = details;\n const possibleSnapshotPath = path\n .replace(`screenshots`, `snapshots`)\n .replace(/\\.(\\w+)$/g, `.snap.$1`);\n const snapshotAlreadyExists = fs.existsSync(possibleSnapshotPath);\n\n if (newSnapshotMarkEnabled && !testFailure && !snapshotAlreadyExists) {\n const newName = newSnapshotMarkFn(name);\n const newPath = path.replace(name, newName);\n\n fs.renameSync(path, newPath);\n\n console.info(\n `\\x1B[32m%s\\x1B[0m`,\n `\\t[tuiAddSnapshotPlugin]:`,\n `${name} => ${newName}`,\n );\n\n return matchImageSnapshotPlugin({...details, path: newPath});\n }\n\n return matchImageSnapshotPlugin(details);\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAEA;;;;;;;;;;;AAWK;AACQ,MAAA,wBAAwB,GAAoB,KAAK,IAAG;AAC7D,IAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,YAAA;AACnC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;AAC1B,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;AAEzD,QAAA,MAAM,cAAc;;AAEhB,QAAA,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAQ,MAAA,CAAA,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhD,MAAM,0BAA0B,GAAG,GAAG,GAAG,CAAC,IAAI,MAAM,GAAG,cAAc,CAAC;QACtE,MAAM,kBAAkB,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,cAAc,CAAC;QAC5D,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,cAAc,CAAC;AAErE,QAAA,IAAI,CAAC,MAAM,CACP,0BAA0B,IAAI,kBAAkB,IAAI,qBAAqB,EACzE,oCAAoC,EACpC,CAAA,sCAAA,CAAwC,EACxC,OAAO,CACV,CAAC;AACN,KAAC,CAAC,CAAC;AACP;;ACnCA;AAEa,MAAA,mBAAmB,GAAG,CAC/B,WAA8D,EAC9D,OAAA,GAAmB,IAAI,KACiD;IACxE,MAAM,MAAM,GACR,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC5C,UAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC;AACpC,UAAE,EAAE,CAAC,GAAG,CAAC,CAAA,IAAA,CAAM,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC;AAEvC,IAAA,MAAM,CAAC,IAAI,CAAC,OAAO,IAAG;QAClB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA,GAAA,CAAK,CAAC,CAAC;AAEhC,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,EAAE;AACvB,YAAA,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AACpB,gBAAA,WAAW,EAAE,CAAiB,eAAA,CAAA;AAC9B,gBAAA,OAAO,EAAE,CAA4B,0BAAA,CAAA;AACrC,gBAAA,IAAI,EAAE,CAAqB,mBAAA,CAAA;AAC3B,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,YAAY,EAAE,OAAO;oBACjB,WAAW;oBACX,GAAG;iBACN,CAAC;AACL,aAAA,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC;iBACzB,GAAG,CAAC,KAAK,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC;AACxB,iBAAA,IAAI,CAAC,CAAC,GAA6B,KAAI;gBACpC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,gBAAA,MAAM,GAAG,GAAG,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,uBAAX,WAAW,CAAE,GAAG,MAAI,WAAW,aAAX,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAX,WAAW,CAAE,MAAM,CAAA,CAAC;gBAEpD,IAAI,CAAC,GAAG,EAAE;oBACN,OAAO;AACV,iBAAA;gBAED,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA,YAAA,CAAc,CAAC,CAAC;AAE9C,gBAAA,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAW,KAAI;AAChD,oBAAA,MAAM,IAAI,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;oBACjD,MAAM,YAAY,GACd,YAAY;wBACZ,IAAI,CAAC,GAAG,IAAI,CAAC;wBACb,IAAI,CAAC,IAAI,IAAI,CAAC;AACd,wBAAA,IAAI,CAAC,MAAM;6BACN,GAAG,CAAC,WAAW;AACZ,gCAAA,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;AAClD,wBAAA,IAAI,CAAC,KAAK;6BACL,GAAG,CAAC,UAAU;AACX,gCAAA,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AAEtD,oBAAA,IAAI,YAAY,EAAE;AACd,wBAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA,MAAA,CAAQ,CAAC,EAAE;AACvB,4BAAA,MAAc,CACX,WAAW,CAAC,YAAY,CAC3B,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC1B,yBAAA;AAAM,6BAAA;4BACH,EAAE,CAAC,OAAO,CAAC;gCACP,GAAG;AACH,gCAAA,gBAAgB,EAAE,KAAK;AACvB,gCAAA,GAAG,EAAE,KAAK;AACb,6BAAA,CAAC,CAAC,IAAI,CAAC,IAAI,IAAG;AACX,gCAAA,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AACrB,oCAAA,EAAE,CAAC,GAAG,CAAC,GAAU,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC,MAAM,CACnC,CAAC,EAA4B,KACxB,MAAc,CACX,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CACrB,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAC7B,CAAC;AACL,iCAAA;AACL,6BAAC,CAAC,CAAC;AACN,yBAAA;AACJ,qBAAA;AACL,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC;iBACD,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9B,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,MAAM,CAAC;AAClB;;AChFA;AACA;AA0BA,SAAS,kBAAkB,CAAC,IAAa,EAAA;IACrC,QACI,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GACJ,OAAO,CAAC,WAAW,CAAC,SAAS;SACxB,IAAI,CAAC,GAAG,CAAC;AACT,SAAA,OAAO,CAAC,OAAO,EAAE,CAAA,CAAA,CAAG,CAAC;AACrB,SAAA,OAAO,CAAC,YAAY,EAAE,CAAA,CAAE,CAAC;SACzB,WAAW,EAAE,EACpB;AACN,CAAC;AAEK,SAAU,+BAA+B,CAC3C,OAA4C,EAAA;AAE5C,IAAA,MAAM,eAAe,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE3D,IAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAChB,CAAA,kBAAA,CAAoB,EACpB,EAAC,WAAW,EAAE,CAAC,CAAA,QAAA,CAAU,EAAE,CAAA,OAAA,CAAS,EAAE,CAAA,MAAA,CAAQ,EAAE,CAAA,QAAA,CAAU,CAAC,EAAC,EAC5D,CACI,WAAW,EACX,aAA6D,EAC7D,OAA6C,KAC7C;;AACA,QAAA,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,SAAS,CAAC;AACpE,QAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,aAAa,CAAC;AAChD,cAAE,aAAa;cACb,OAAO,CAAC;AAEd,QAAA,mBAAmB,CAAC,WAAW,EAAE,CAAA,EAAA,GAAA,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,KAAjB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,iBAAiB,CAAE,aAAa,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC,CAAC;QAE3E,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAC9E,KAAC,CACJ,CAAC;AACN;;AC7CM,SAAgB,oBAAoB,CACtC,EAAwB,EACxB,MAAmC,EACnC,EAAC,sBAAsB,EAAE,iBAAiB,EAA2B,EAAA;;QAErE,MAAM,EAAC,2BAA2B,EAAE,wBAAwB,EAAC,GAAG,MAAM,OAClE,+BAA+B,CAClC,CAAC;AAEF,QAAA,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAExC,QAAA,EAAE,CAAC,CAAkB,gBAAA,CAAA,EAAE,CAAC,OAAkC,KAAI;YAC1D,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;YAC1C,MAAM,oBAAoB,GAAG,IAAI;AAC5B,iBAAA,OAAO,CAAC,CAAA,WAAA,CAAa,EAAE,CAAA,SAAA,CAAW,CAAC;AACnC,iBAAA,OAAO,CAAC,WAAW,EAAE,CAAA,QAAA,CAAU,CAAC,CAAC;YACtC,MAAM,qBAAqB,GAAG,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAElE,YAAA,IAAI,sBAAsB,IAAI,CAAC,WAAW,IAAI,CAAC,qBAAqB,EAAE;AAClE,gBAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE5C,gBAAA,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE7B,gBAAA,OAAO,CAAC,IAAI,CACR,CAAA,iBAAA,CAAmB,EACnB,CAAA,yBAAA,CAA2B,EAC3B,CAAA,EAAG,IAAI,CAAA,IAAA,EAAO,OAAO,CAAA,CAAE,CAC1B,CAAC;gBAEF,OAAO,wBAAwB,iCAAK,OAAO,CAAA,EAAA,EAAE,IAAI,EAAE,OAAO,IAAE,CAAC;AAChE,aAAA;AAED,YAAA,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;KACN,CAAA,CAAA;AAAA;;ACnDD;;AAEG;;;;"}
|