@taiga-ui/testing 4.5.0-canary.10e0b5f → 4.5.0-canary.6ead1e6
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/esm2022/setup-jest/index.mjs +5 -3
- package/esm2022/utils/helpers.mjs +1 -2
- package/esm2022/utils/index.mjs +1 -2
- package/fesm2022/taiga-ui-testing-setup-jest.mjs +4 -2
- package/fesm2022/taiga-ui-testing-setup-jest.mjs.map +1 -1
- package/fesm2022/taiga-ui-testing-utils.mjs +1 -34
- package/fesm2022/taiga-ui-testing-utils.mjs.map +1 -1
- package/package.json +2 -2
- package/utils/index.d.ts +0 -1
- package/esm2022/utils/configure-test-suite.mjs +0 -32
- package/utils/configure-test-suite.d.ts +0 -2
@@ -2,8 +2,10 @@
|
|
2
2
|
const { TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock } = require('node:util');
|
3
3
|
global.TextEncoder = TextEncoderMock;
|
4
4
|
global.TextDecoder = TextDecoderMock;
|
5
|
-
|
6
|
-
|
5
|
+
Object.defineProperty(global.document, 'execCommand', {
|
6
|
+
writable: true,
|
7
|
+
value: () => { },
|
8
|
+
});
|
7
9
|
// you can also pass the mock implementation
|
8
10
|
// to jest.fn as an argument
|
9
11
|
global.window.IntersectionObserver = jest.fn(() => ({
|
@@ -117,4 +119,4 @@ if (!('Zone' in global)) {
|
|
117
119
|
}
|
118
120
|
// @note: build empty entry point
|
119
121
|
export {};
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXN0aW5nL3NldHVwLWplc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBRTlCLE1BQU0sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFMUYsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFDckMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFFckMsYUFBYTtBQUNiLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztBQUV2Qyw0Q0FBNEM7QUFDNUMsNEJBQTRCO0FBQzNCLE1BQU0sQ0FBQyxNQUFjLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0lBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0lBQ3BCLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0NBQ3hCLENBQUMsQ0FBQyxDQUFDO0FBRUosZ0NBQWdDO0FBQ2hDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFbEQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDOUIsTUFBTSxDQUFDLE1BQWMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3JFLE1BQU0sQ0FBQyxNQUFjLENBQUMsV0FBVyxH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MUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQy9DLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUcsaUJBQWdELENBQUM7QUFDcEUsTUFBTSxDQUFDLGNBQWMsR0FBRyxpQkFBcUQsQ0FBQztBQUU5RTs7Ozs7O0dBTUc7QUFDSCxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEVBQUU7SUFDckIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0NBQzlCO0FBRUQsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJqZXN0XCIgLz5cblxuY29uc3Qge1RleHRFbmNvZGVyOiBUZXh0RW5jb2Rlck1vY2ssIFRleHREZWNvZGVyOiBUZXh0RGVjb2Rlck1vY2t9ID0gcmVxdWlyZSgnbm9kZTp1dGlsJyk7XG5cbmdsb2JhbC5UZXh0RW5jb2RlciA9IFRleHRFbmNvZGVyTW9jaztcbmdsb2JhbC5UZXh0RGVjb2RlciA9IFRleHREZWNvZGVyTW9jaztcblxuLy8gQHRzLWlnbm9yZVxuZ2xvYmFsLmRvY3VtZW50LmV4ZWNDb21tYW5kID0gKCkgPT4ge307XG5cbi8vIHlvdSBjYW4gYWxzbyBwYXNzIHRoZSBtb2NrIGltcGxlbWVudGF0aW9uXG4vLyB0byBqZXN0LmZuIGFzIGFuIGFyZ3VtZW50XG4oZ2xvYmFsLndpbmRvdyBhcyBhbnkpLkludGVyc2VjdGlvbk9ic2VydmVyID0gamVzdC5mbigoKSA9PiAoe1xuICAgIG9ic2VydmU6IGplc3QuZm4oKSxcbiAgICB1bm9ic2VydmU6IGplc3QuZm4oKSxcbiAgICBkaXNjb25uZWN0OiBqZXN0LmZuKCksXG59KSk7XG5cbi8vIFNpbXVsYXRlIHdpbmRvdyByZXNpemUgZXZlbnRzXG5jb25zdCByZXNpemVFdmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuXG5yZXNpemVFdmVudC5pbml0RXZlbnQoJ3Jlc2l6ZScsIHRydWUsIHRydWUpO1xuXG5nbG9iYWwud2luZG93LnJlc2l6ZVRvID0gKHdpZHRoKSA9PiB7XG4gICAgKGdsb2JhbC53aW5kb3cgYXMgYW55KS5pbm5lcldpZHRoID0gd2lkdGggfHwgZ2xvYmFsLndpbmRvdy5pbm5lcldpZHRoO1xuICAgIChnbG9iYWwud2luZG93IGFzIGFueSkuaW5uZXJIZWlnaHQgPSB3aWR0aCB8fCBnbG9iYWwud2luZG93LmlubmVySGVpZ2h0O1xuICAgIGdsb2JhbC53aW5kb3cuZGlzcGF0Y2hFdmVudChyZXNpemVFdmVudCk7XG59O1xuXG5nbG9iYWwuVVJMLmNyZWF0ZU9iamVjdFVSTCA9IGplc3QuZm4oKGJsb2IpID0+IGAke2Jsb2J9YCk7XG5nbG9iYWwuVVJMLnJldm9rZU9iamVjdFVSTCA9IGplc3QuZm4oKTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGdsb2JhbC53aW5kb3csICdDU1MnLCB7dmFsdWU6IG51bGx9KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGdsb2JhbC53aW5kb3csICdnZXRDb21wdXRlZFN0eWxlJywge1xuICAgIHZhbHVlOiAoKSA9PiAoe1xuICAgICAgICBkaXNwbGF5OiAnbm9uZScsXG4gICAgICAgIGFwcGVhcmFuY2U6IFsnLXdlYmtpdC1hcHBlYXJhbmNlJ10sXG4gICAgfSksXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGdsb2JhbC5kb2N1bWVudCwgJ2RvY3R5cGUnLCB7XG4gICAgdmFsdWU6ICc8IURPQ1RZUEUgaHRtbD4nLFxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShnbG9iYWwuZG9jdW1lbnQuYm9keS5zdHlsZSwgJ3RyYW5zZm9ybScsIHtcbiAgICB2YWx1ZTogKCkgPT4gKHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIH0pLFxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShnbG9iYWwud2luZG93LCAnbWF0Y2hNZWRpYScsIHtcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogamVzdC5mbigpLm1vY2tJbXBsZW1lbnRhdGlvbigocXVlcnkpID0+ICh7XG4gICAgICAgIG1hdGNoZXM6IGZhbHNlLFxuICAgICAgICBtZWRpYTogcXVlcnksXG4gICAgICAgIG9uY2hhbmdlOiBudWxsLFxuICAgICAgICBhZGRMaXN0ZW5lcjogamVzdC5mbigpLFxuICAgICAgICByZW1vdmVMaXN0ZW5lcjogamVzdC5mbigpLFxuICAgICAgICBhZGRFdmVudExpc3RlbmVyOiBqZXN0LmZuKCksXG4gICAgICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6IGplc3QuZm4oKSxcbiAgICAgICAgZGlzcGF0Y2hFdmVudDogamVzdC5mbigpLFxuICAgIH0pKSxcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZ2xvYmFsLmRvY3VtZW50LCAnZWxlbWVudEZyb21Qb2ludCcsIHtcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogamVzdC5mbigpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBudWxsKSxcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZ2xvYmFsLmRvY3VtZW50LCAnY3JlYXRlUmFuZ2UnLCB7XG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgUmFuZ2UoKTtcblxuICAgICAgICByYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPSAoKSA9PiAoe1xuICAgICAgICAgICAgeDogMCxcbiAgICAgICAgICAgIHk6IDAsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgIHRvSlNPTjogKCkgPT4ge30sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJhbmdlLmdldENsaWVudFJlY3RzID0gKCkgPT4gKHtcbiAgICAgICAgICAgIGl0ZW06ICgpID0+IG51bGwsXG4gICAgICAgICAgICBsZW5ndGg6IDAsXG4gICAgICAgICAgICBbU3ltYm9sLml0ZXJhdG9yXTogamVzdC5mbigpLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfSxcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnc2Nyb2xsVG8nLCBqZXN0LmZuKCkpO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZ2xvYmFsLndpbmRvdywgJ2dldENvbXB1dGVkU3R5bGUnLCB7XG4gICAgdmFsdWU6ICgpID0+ICh7XG4gICAgICAgIGdldFByb3BlcnR5VmFsdWU6IChfcHJvcDogc3RyaW5nKSA9PiAnJyxcbiAgICB9KSxcbn0pO1xuXG5nbG9iYWwuRGF0YVRyYW5zZmVyID0gY2xhc3Mge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YSA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBzZXREYXRhKGZvcm1hdDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLnNldChmb3JtYXQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREYXRhKGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5nZXQoZm9ybWF0KTtcbiAgICB9XG59IGFzIHVua25vd24gYXMgdHlwZW9mIERhdGFUcmFuc2ZlcjtcblxuY2xhc3MgVHJhbnNmZXJNb2NrRXZlbnQge1xuICAgIHByb3RlY3RlZCBkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlcjtcbiAgICBwcm90ZWN0ZWQgcmVsYXRlZFRhcmdldDogRXZlbnRUYXJnZXQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGU6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGNsaXBib2FyZERhdGE6IERhdGFUcmFuc2ZlcjtcbiAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IEV2ZW50VGFyZ2V0O1xuICAgICAgICB9LFxuICAgICkge1xuICAgICAgICB0aGlzLmRhdGFUcmFuc2ZlciA9IG9wdGlvbnMuY2xpcGJvYXJkRGF0YTtcbiAgICAgICAgdGhpcy5yZWxhdGVkVGFyZ2V0ID0gb3B0aW9ucy5yZWxhdGVkVGFyZ2V0O1xuICAgIH1cbn1cblxuZ2xvYmFsLkRyYWdFdmVudCA9IFRyYW5zZmVyTW9ja0V2ZW50IGFzIHVua25vd24gYXMgdHlwZW9mIERyYWdFdmVudDtcbmdsb2JhbC5DbGlwYm9hcmRFdmVudCA9IFRyYW5zZmVyTW9ja0V2ZW50IGFzIHVua25vd24gYXMgdHlwZW9mIENsaXBib2FyZEV2ZW50O1xuXG4vKipcbiAqIGluIG91ciBqZXN0IHNldHVwRmlsZXNBZnRlckVudiBmaWxlLFxuICogaG93ZXZlciB3aGVuIHJ1bm5pbmcgd2l0aCBuZyB0ZXN0IHRob3NlXG4gKiBpbXBvcnRzIGFyZSBhbHJlYWR5IGRvbmUgYnkgYW5ndWxhclxuICogcmVzdWx0aW5nIGluIGR1cGxpY2F0ZSBpbXBvcnRzXG4gKiBhbmQgY29uZmxpY3RzIHJlc3VsdGluZyBpbiB0aGUgYWJvdmUgZXJyb3JcbiAqL1xuaWYgKCEoJ1pvbmUnIGluIGdsb2JhbCkpIHtcbiAgICByZXF1aXJlKCd6b25lLmpzJyk7XG4gICAgcmVxdWlyZSgnem9uZS5qcy90ZXN0aW5nJyk7XG59XG5cbi8vIEBub3RlOiBidWlsZCBlbXB0eSBlbnRyeSBwb2ludFxuZXhwb3J0IHt9O1xuIl19
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXN0aW5nL3NldHVwLWplc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBRTlCLE1BQU0sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFMUYsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFDckMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFFckMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRTtJQUNsRCxRQUFRLEVBQUUsSUFBSTtJQUNkLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO0NBQ2xCLENBQUMsQ0FBQztBQUVILDRDQUE0QztBQUM1Qyw0QkFBNEI7QUFDM0IsTUFBTSxDQUFDLE1BQWMsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDekQsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7SUFDbEIsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7SUFDcEIsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7Q0FDeEIsQ0FBQyxDQUFDLENBQUM7QUFFSixnQ0FBZ0M7QUFDaEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVsRCxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUM5QixNQUFNLENBQUMsTUFBYyxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksTUFBTSxD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TyxDQUd6QjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDL0MsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxpQkFBZ0QsQ0FBQztBQUNwRSxNQUFNLENBQUMsY0FBYyxHQUFHLGlCQUFxRCxDQUFDO0FBRTlFOzs7Ozs7R0FNRztBQUNILElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsRUFBRTtJQUNyQixPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkIsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7Q0FDOUI7QUFFRCxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cImplc3RcIiAvPlxuXG5jb25zdCB7VGV4dEVuY29kZXI6IFRleHRFbmNvZGVyTW9jaywgVGV4dERlY29kZXI6IFRleHREZWNvZGVyTW9ja30gPSByZXF1aXJlKCdub2RlOnV0aWwnKTtcblxuZ2xvYmFsLlRleHRFbmNvZGVyID0gVGV4dEVuY29kZXJNb2NrO1xuZ2xvYmFsLlRleHREZWNvZGVyID0gVGV4dERlY29kZXJNb2NrO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZ2xvYmFsLmRvY3VtZW50LCAnZXhlY0NvbW1hbmQnLCB7XG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6ICgpID0+IHt9LFxufSk7XG5cbi8vIHlvdSBjYW4gYWxzbyBwYXNzIHRoZSBtb2NrIGltcGxlbWVudGF0aW9uXG4vLyB0byBqZXN0LmZuIGFzIGFuIGFyZ3VtZW50XG4oZ2xvYmFsLndpbmRvdyBhcyBhbnkpLkludGVyc2VjdGlvbk9ic2VydmVyID0gamVzdC5mbigoKSA9PiAoe1xuICAgIG9ic2VydmU6IGplc3QuZm4oKSxcbiAgICB1bm9ic2VydmU6IGplc3QuZm4oKSxcbiAgICBkaXNjb25uZWN0OiBqZXN0LmZuKCksXG59KSk7XG5cbi8vIFNpbXVsYXRlIHdpbmRvdyByZXNpemUgZXZlbnRzXG5jb25zdCByZXNpemVFdmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuXG5yZXNpemVFdmVudC5pbml0RXZlbnQoJ3Jlc2l6ZScsIHRydWUsIHRydWUpO1xuXG5nbG9iYWwud2luZG93LnJlc2l6ZVRvID0gKHdpZHRoKSA9PiB7XG4gICAgKGdsb2JhbC53aW5kb3cgYXMgYW55KS5pbm5lcldpZHRoID0gd2lkdGggfHwgZ2xvYmFsLndpbmRvdy5pbm5lcldpZHRoO1xuICAgIChnbG9iYWwud2luZG93IGFzIGFueSkuaW5uZXJIZWlnaHQgPSB3aWR0aCB8fCBnbG9iYWwud2luZG93LmlubmVySGVpZ2h0O1xuICAgIGdsb2JhbC53aW5kb3cuZGlzcGF0Y2hFdmVudChyZXNpemVFdmVudCk7XG59O1xuXG5nbG9iYWwuVVJMLmNyZWF0ZU9iamVjdFVSTCA9IGplc3QuZm4oKGJsb2IpID0+IGAke2Jsb2J9YCk7XG5nbG9iYWwuVVJMLnJldm9rZU9iamVjdFVSTCA9IGplc3QuZm4oKTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGdsb2JhbC53aW5kb3csICdDU1MnLCB7dmFsdWU6IG51bGx9KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGdsb2JhbC53aW5kb3csICdnZXRDb21wdXRlZFN0eWxlJywge1xuICAgIHZhbHVlOiAoKSA9PiAoe1xuICAgICAgICBkaXNwbGF5OiAnbm9uZScsXG4gICAgICAgIGFwcGVhcmFuY2U6IFsnLXdlYmtpdC1hcHBlYXJhbmNlJ10sXG4gICAgfSksXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGdsb2JhbC5kb2N1bWVudCwgJ2RvY3R5cGUnLCB7XG4gICAgdmFsdWU6ICc8IURPQ1RZUEUgaHRtbD4nLFxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShnbG9iYWwuZG9jdW1lbnQuYm9keS5zdHlsZSwgJ3RyYW5zZm9ybScsIHtcbiAgICB2YWx1ZTogKCkgPT4gKHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIH0pLFxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShnbG9iYWwud2luZG93LCAnbWF0Y2hNZWRpYScsIHtcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogamVzdC5mbigpLm1vY2tJbXBsZW1lbnRhdGlvbigocXVlcnkpID0+ICh7XG4gICAgICAgIG1hdGNoZXM6IGZhbHNlLFxuICAgICAgICBtZWRpYTogcXVlcnksXG4gICAgICAgIG9uY2hhbmdlOiBudWxsLFxuICAgICAgICBhZGRMaXN0ZW5lcjogamVzdC5mbigpLFxuICAgICAgICByZW1vdmVMaXN0ZW5lcjogamVzdC5mbigpLFxuICAgICAgICBhZGRFdmVudExpc3RlbmVyOiBqZXN0LmZuKCksXG4gICAgICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6IGplc3QuZm4oKSxcbiAgICAgICAgZGlzcGF0Y2hFdmVudDogamVzdC5mbigpLFxuICAgIH0pKSxcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZ2xvYmFsLmRvY3VtZW50LCAnZWxlbWVudEZyb21Qb2ludCcsIHtcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB2YWx1ZTogamVzdC5mbigpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBudWxsKSxcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZ2xvYmFsLmRvY3VtZW50LCAnY3JlYXRlUmFuZ2UnLCB7XG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgdmFsdWU6ICgpID0+IHtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgUmFuZ2UoKTtcblxuICAgICAgICByYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPSAoKSA9PiAoe1xuICAgICAgICAgICAgeDogMCxcbiAgICAgICAgICAgIHk6IDAsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgIHRvSlNPTjogKCkgPT4ge30sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJhbmdlLmdldENsaWVudFJlY3RzID0gKCkgPT4gKHtcbiAgICAgICAgICAgIGl0ZW06ICgpID0+IG51bGwsXG4gICAgICAgICAgICBsZW5ndGg6IDAsXG4gICAgICAgICAgICBbU3ltYm9sLml0ZXJhdG9yXTogamVzdC5mbigpLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfSxcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnc2Nyb2xsVG8nLCBqZXN0LmZuKCkpO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZ2xvYmFsLndpbmRvdywgJ2dldENvbXB1dGVkU3R5bGUnLCB7XG4gICAgdmFsdWU6ICgpID0+ICh7XG4gICAgICAgIGdldFByb3BlcnR5VmFsdWU6IChfcHJvcDogc3RyaW5nKSA9PiAnJyxcbiAgICB9KSxcbn0pO1xuXG5nbG9iYWwuRGF0YVRyYW5zZmVyID0gY2xhc3Mge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YSA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBzZXREYXRhKGZvcm1hdDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLnNldChmb3JtYXQsIGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREYXRhKGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5nZXQoZm9ybWF0KTtcbiAgICB9XG59IGFzIHVua25vd24gYXMgdHlwZW9mIERhdGFUcmFuc2ZlcjtcblxuY2xhc3MgVHJhbnNmZXJNb2NrRXZlbnQge1xuICAgIHByb3RlY3RlZCBkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlcjtcbiAgICBwcm90ZWN0ZWQgcmVsYXRlZFRhcmdldDogRXZlbnRUYXJnZXQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGU6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGNsaXBib2FyZERhdGE6IERhdGFUcmFuc2ZlcjtcbiAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IEV2ZW50VGFyZ2V0O1xuICAgICAgICB9LFxuICAgICkge1xuICAgICAgICB0aGlzLmRhdGFUcmFuc2ZlciA9IG9wdGlvbnMuY2xpcGJvYXJkRGF0YTtcbiAgICAgICAgdGhpcy5yZWxhdGVkVGFyZ2V0ID0gb3B0aW9ucy5yZWxhdGVkVGFyZ2V0O1xuICAgIH1cbn1cblxuZ2xvYmFsLkRyYWdFdmVudCA9IFRyYW5zZmVyTW9ja0V2ZW50IGFzIHVua25vd24gYXMgdHlwZW9mIERyYWdFdmVudDtcbmdsb2JhbC5DbGlwYm9hcmRFdmVudCA9IFRyYW5zZmVyTW9ja0V2ZW50IGFzIHVua25vd24gYXMgdHlwZW9mIENsaXBib2FyZEV2ZW50O1xuXG4vKipcbiAqIGluIG91ciBqZXN0IHNldHVwRmlsZXNBZnRlckVudiBmaWxlLFxuICogaG93ZXZlciB3aGVuIHJ1bm5pbmcgd2l0aCBuZyB0ZXN0IHRob3NlXG4gKiBpbXBvcnRzIGFyZSBhbHJlYWR5IGRvbmUgYnkgYW5ndWxhclxuICogcmVzdWx0aW5nIGluIGR1cGxpY2F0ZSBpbXBvcnRzXG4gKiBhbmQgY29uZmxpY3RzIHJlc3VsdGluZyBpbiB0aGUgYWJvdmUgZXJyb3JcbiAqL1xuaWYgKCEoJ1pvbmUnIGluIGdsb2JhbCkpIHtcbiAgICByZXF1aXJlKCd6b25lLmpzJyk7XG4gICAgcmVxdWlyZSgnem9uZS5qcy90ZXN0aW5nJyk7XG59XG5cbi8vIEBub3RlOiBidWlsZCBlbXB0eSBlbnRyeSBwb2ludFxuZXhwb3J0IHt9O1xuIl19
|
@@ -15,7 +15,6 @@ export function tuiWithPredicate(original) {
|
|
15
15
|
export function tuiHarnessWith(hostSelector) {
|
16
16
|
return class extends ComponentHarness {
|
17
17
|
static { this.hostSelector = hostSelector; }
|
18
|
-
// @ts-ignore
|
19
18
|
static with(_options = {}) {
|
20
19
|
throw new Error('Hummus');
|
21
20
|
}
|
@@ -31,4 +30,4 @@ export class TuiContentContainerComponentHarness extends ContentContainerCompone
|
|
31
30
|
return new HarnessPredicate(this, options);
|
32
31
|
}
|
33
32
|
}
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlc3RpbmcvdXRpbHMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxFQUNoQyxnQkFBZ0IsR0FDbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBSTlCLFFBQVc7SUFDVCxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBOEIsRUFBRSxFQUFFLEVBQUUsQ0FDakQsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFNUMsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUMxQixZQUFvQjtJQUlwQixPQUFPLEtBQU0sU0FBUSxnQkFBZ0I7aUJBRW5CLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBRW5DLE1BQU0sQ0FBQyxJQUFJLENBQ2QsV0FBK0IsRUFBRTtZQUVqQyxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFDOUMsTUFBTSxDQUFDLElBQUksQ0FFZCxPQUEyQjtRQUUzQixPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxnQ0FBZ0M7SUFDOUUsTUFBTSxDQUFDLElBQUksQ0FFZCxPQUEyQjtRQUUzQixPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtCYXNlSGFybmVzc0ZpbHRlcnMsIENvbXBvbmVudEhhcm5lc3NDb25zdHJ1Y3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnRIYXJuZXNzLFxuICAgIENvbnRlbnRDb250YWluZXJDb21wb25lbnRIYXJuZXNzLFxuICAgIEhhcm5lc3NQcmVkaWNhdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgdG8gYWRkIGRlZmF1bHQgc3RhdGljICd3aXRoJyBtZXRob2QuXG4gKiBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCB7QGxpbmsgdHVpSGFybmVzc1dpdGh9IG1peGluLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpV2l0aFByZWRpY2F0ZTxcbiAgICBUIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzc0NvbnN0cnVjdG9yPENvbXBvbmVudEhhcm5lc3M+ICYge1xuICAgICAgICB3aXRoOiAob3B0aW9ucz86IEJhc2VIYXJuZXNzRmlsdGVycykgPT4gSGFybmVzc1ByZWRpY2F0ZTxDb21wb25lbnRIYXJuZXNzPjtcbiAgICB9LFxuPihvcmlnaW5hbDogVCk6IFQge1xuICAgIG9yaWdpbmFsLndpdGggPSAob3B0aW9uczogQmFzZUhhcm5lc3NGaWx0ZXJzID0ge30pID0+XG4gICAgICAgIG5ldyBIYXJuZXNzUHJlZGljYXRlKG9yaWdpbmFsLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBvcmlnaW5hbDtcbn1cblxuLyoqXG4gKiBNaXhpbiB0byBleHRlbmQge0BsaW5rIENvbXBvbmVudEhhcm5lc3N9IGFuZCBhZGQgdHlwZWRcbiAqIHN0YXRpYyAnd2l0aCcgbWV0aG9kLiBVc2Uge0BsaW5rIHR1aVdpdGhQcmVkaWNhdGV9IGRlY29yYXRvclxuICogdG8gbW9ua2V5LXBhdGNoIGRlZmF1bHQgc3RhdGljICd3aXRoJyBtZXRob2QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlIYXJuZXNzV2l0aDxUPihcbiAgICBob3N0U2VsZWN0b3I6IHN0cmluZyxcbik6IENvbXBvbmVudEhhcm5lc3NDb25zdHJ1Y3RvcjxDb21wb25lbnRIYXJuZXNzPiAmIHtcbiAgICB3aXRoOiAob3B0aW9ucz86IEJhc2VIYXJuZXNzRmlsdGVycykgPT4gSGFybmVzc1ByZWRpY2F0ZTxDb21wb25lbnRIYXJuZXNzPjtcbn0ge1xuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAgICAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGxvY2F0b3I/OiBUO1xuICAgICAgICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9IGhvc3RTZWxlY3RvcjtcblxuICAgICAgICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgICAgICAgICBfb3B0aW9uczogQmFzZUhhcm5lc3NGaWx0ZXJzID0ge30sXG4gICAgICAgICk6IEhhcm5lc3NQcmVkaWNhdGU8Q29tcG9uZW50SGFybmVzcz4ge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdIdW1tdXMnKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbmV4cG9ydCBjbGFzcyBUdWlDb21wb25lbnRIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gICAgcHVibGljIHN0YXRpYyB3aXRoPFQgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzPihcbiAgICAgICAgdGhpczogQ29tcG9uZW50SGFybmVzc0NvbnN0cnVjdG9yPFQ+LFxuICAgICAgICBvcHRpb25zOiBCYXNlSGFybmVzc0ZpbHRlcnMsXG4gICAgKTogSGFybmVzc1ByZWRpY2F0ZTxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZSh0aGlzLCBvcHRpb25zKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUdWlDb250ZW50Q29udGFpbmVyQ29tcG9uZW50SGFybmVzcyBleHRlbmRzIENvbnRlbnRDb250YWluZXJDb21wb25lbnRIYXJuZXNzIHtcbiAgICBwdWJsaWMgc3RhdGljIHdpdGg8VCBleHRlbmRzIENvbXBvbmVudEhhcm5lc3M+KFxuICAgICAgICB0aGlzOiBDb21wb25lbnRIYXJuZXNzQ29uc3RydWN0b3I8VD4sXG4gICAgICAgIG9wdGlvbnM6IEJhc2VIYXJuZXNzRmlsdGVycyxcbiAgICApOiBIYXJuZXNzUHJlZGljYXRlPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKHRoaXMsIG9wdGlvbnMpO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/utils/index.mjs
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
export * from './active-element';
|
2
|
-
export * from './configure-test-suite';
|
3
2
|
export * from './date';
|
4
3
|
export * from './helpers';
|
5
4
|
export * from './input/cleaner.unit-common';
|
@@ -12,4 +11,4 @@ export * from './native-input.page-object';
|
|
12
11
|
export * from './page-object';
|
13
12
|
export * from './replace-nbsp';
|
14
13
|
export * from './viewport';
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXN0aW5nL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQvY2xlYW5lci51bml0LWNvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0L2ZpbGxlci51bml0LWNvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0L2Zvcm0tY29udHJvbC1zdGF0ZS51bml0LWNvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0L3BsYWNlaG9sZGVyLnVuaXQtY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQvdG9vbHRpcC51bml0LWNvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2tleWJvYXJkLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbmF0aXZlLWlucHV0LnBhZ2Utb2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1vYmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBsYWNlLW5ic3AnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3cG9ydCc7XG4iXX0=
|
@@ -2,8 +2,10 @@
|
|
2
2
|
const { TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock } = require('node:util');
|
3
3
|
global.TextEncoder = TextEncoderMock;
|
4
4
|
global.TextDecoder = TextDecoderMock;
|
5
|
-
|
6
|
-
|
5
|
+
Object.defineProperty(global.document, 'execCommand', {
|
6
|
+
writable: true,
|
7
|
+
value: () => { },
|
8
|
+
});
|
7
9
|
// you can also pass the mock implementation
|
8
10
|
// to jest.fn as an argument
|
9
11
|
global.window.IntersectionObserver = jest.fn(() => ({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-testing-setup-jest.mjs","sources":["../../../projects/testing/setup-jest/index.ts","../../../projects/testing/setup-jest/taiga-ui-testing-setup-jest.ts"],"sourcesContent":["/// <reference types=\"jest\" />\n\nconst {TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock} = require('node:util');\n\nglobal.TextEncoder = TextEncoderMock;\nglobal.TextDecoder = TextDecoderMock;\n\
|
1
|
+
{"version":3,"file":"taiga-ui-testing-setup-jest.mjs","sources":["../../../projects/testing/setup-jest/index.ts","../../../projects/testing/setup-jest/taiga-ui-testing-setup-jest.ts"],"sourcesContent":["/// <reference types=\"jest\" />\n\nconst {TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock} = require('node:util');\n\nglobal.TextEncoder = TextEncoderMock;\nglobal.TextDecoder = TextDecoderMock;\n\nObject.defineProperty(global.document, 'execCommand', {\n writable: true,\n value: () => {},\n});\n\n// you can also pass the mock implementation\n// to jest.fn as an argument\n(global.window as any).IntersectionObserver = jest.fn(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n}));\n\n// Simulate window resize events\nconst resizeEvent = document.createEvent('Event');\n\nresizeEvent.initEvent('resize', true, true);\n\nglobal.window.resizeTo = (width) => {\n (global.window as any).innerWidth = width || global.window.innerWidth;\n (global.window as any).innerHeight = width || global.window.innerHeight;\n global.window.dispatchEvent(resizeEvent);\n};\n\nglobal.URL.createObjectURL = jest.fn((blob) => `${blob}`);\nglobal.URL.revokeObjectURL = jest.fn();\n\nObject.defineProperty(global.window, 'CSS', {value: null});\n\nObject.defineProperty(global.window, 'getComputedStyle', {\n value: () => ({\n display: 'none',\n appearance: ['-webkit-appearance'],\n }),\n});\n\nObject.defineProperty(global.document, 'doctype', {\n value: '<!DOCTYPE html>',\n});\n\nObject.defineProperty(global.document.body.style, 'transform', {\n value: () => ({\n enumerable: true,\n configurable: true,\n }),\n});\n\nObject.defineProperty(global.window, 'matchMedia', {\n writable: true,\n value: jest.fn().mockImplementation((query) => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: jest.fn(),\n removeListener: jest.fn(),\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n});\n\nObject.defineProperty(global.document, 'elementFromPoint', {\n writable: true,\n value: jest.fn().mockImplementation(() => null),\n});\n\nObject.defineProperty(global.document, 'createRange', {\n writable: true,\n value: () => {\n const range = new Range();\n\n range.getBoundingClientRect = () => ({\n x: 0,\n y: 0,\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n toJSON: () => {},\n });\n\n range.getClientRects = () => ({\n item: () => null,\n length: 0,\n [Symbol.iterator]: jest.fn(),\n });\n\n return range;\n },\n});\n\nObject.defineProperty(window, 'scrollTo', jest.fn());\n\nObject.defineProperty(global.window, 'getComputedStyle', {\n value: () => ({\n getPropertyValue: (_prop: string) => '',\n }),\n});\n\nglobal.DataTransfer = class {\n private readonly data = new Map();\n\n public setData(format: string, data: string): void {\n this.data.set(format, data);\n }\n\n public getData(format: string): string {\n return this.data.get(format);\n }\n} as unknown as typeof DataTransfer;\n\nclass TransferMockEvent {\n protected dataTransfer: DataTransfer;\n protected relatedTarget: EventTarget;\n\n constructor(\n protected readonly type: string,\n protected readonly options: {\n clipboardData: DataTransfer;\n relatedTarget: EventTarget;\n },\n ) {\n this.dataTransfer = options.clipboardData;\n this.relatedTarget = options.relatedTarget;\n }\n}\n\nglobal.DragEvent = TransferMockEvent as unknown as typeof DragEvent;\nglobal.ClipboardEvent = TransferMockEvent as unknown as typeof ClipboardEvent;\n\n/**\n * in our jest setupFilesAfterEnv file,\n * however when running with ng test those\n * imports are already done by angular\n * resulting in duplicate imports\n * and conflicts resulting in the above error\n */\nif (!('Zone' in global)) {\n require('zone.js');\n require('zone.js/testing');\n}\n\n// @note: build empty entry point\nexport {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEA,MAAM,EAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1F,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;AACrC,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;AAErC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE;AAClD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,KAAK,EAAE,MAAK,GAAG;AAClB,CAAA,CAAC,CAAC;AAEH;AACA;AACC,MAAM,CAAC,MAAc,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO;AACzD,IAAA,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;AAClB,IAAA,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;AACpB,IAAA,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;AACxB,CAAA,CAAC,CAAC,CAAC;AAEJ;AACA,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAElD,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAI;AAC9B,IAAA,MAAM,CAAC,MAAc,CAAC,UAAU,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;AACrE,IAAA,MAAM,CAAC,MAAc,CAAC,WAAW,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;AACxE,IAAA,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAA,CAAE,CAAC,CAAC;AAC1D,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEvC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;AAE3D,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE;AACrD,IAAA,KAAK,EAAE,OAAO;AACV,QAAA,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,CAAC,oBAAoB,CAAC;KACrC,CAAC;AACL,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE;AAC9C,IAAA,KAAK,EAAE,iBAAiB;AAC3B,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE;AAC3D,IAAA,KAAK,EAAE,OAAO;AACV,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,YAAY,EAAE,IAAI;KACrB,CAAC;AACL,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE;AAC/C,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAK,MAAM;AAC5C,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;AACtB,QAAA,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;AACzB,QAAA,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;AAC3B,QAAA,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;AAC9B,QAAA,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;AAC3B,KAAA,CAAC,CAAC;AACN,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE;AACvD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC;AAClD,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE;AAClD,IAAA,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,MAAK;AACR,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AAE1B,QAAA,KAAK,CAAC,qBAAqB,GAAG,OAAO;AACjC,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,MAAM,EAAE,MAAK,GAAG;AACnB,SAAA,CAAC,CAAC;AAEH,QAAA,KAAK,CAAC,cAAc,GAAG,OAAO;AAC1B,YAAA,IAAI,EAAE,MAAM,IAAI;AAChB,YAAA,MAAM,EAAE,CAAC;YACT,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE;AAC/B,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAErD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE;AACrD,IAAA,KAAK,EAAE,OAAO;AACV,QAAA,gBAAgB,EAAE,CAAC,KAAa,KAAK,EAAE;KAC1C,CAAC;AACL,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,YAAY,GAAG,MAAA;AAAA,IAAA,WAAA,GAAA;AACD,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;KASrC;IAPU,OAAO,CAAC,MAAc,EAAE,IAAY,EAAA;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAC/B;AAEM,IAAA,OAAO,CAAC,MAAc,EAAA;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAChC;CAC8B,CAAC;AAEpC,MAAM,iBAAiB,CAAA;IAInB,WACuB,CAAA,IAAY,EACZ,OAGlB,EAAA;QAJkB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACZ,IAAO,CAAA,OAAA,GAAP,OAAO,CAGzB;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;KAC9C;AACJ,CAAA;AAED,MAAM,CAAC,SAAS,GAAG,iBAAgD,CAAC;AACpE,MAAM,CAAC,cAAc,GAAG,iBAAqD,CAAC;AAE9E;;;;;;AAMG;AACH,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,EAAE;IACrB,OAAO,CAAC,SAAS,CAAC,CAAC;IACnB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC9B;;ACrJD;;AAEG"}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { getTestBed, TestBed } from '@angular/core/testing';
|
2
1
|
import { tuiIsNumber } from '@taiga-ui/cdk/utils/miscellaneous';
|
3
2
|
import { HarnessPredicate, ComponentHarness, ContentContainerComponentHarness } from '@angular/cdk/testing';
|
4
3
|
import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
|
@@ -23,37 +22,6 @@ function tuiIsActive(element) {
|
|
23
22
|
return document.activeElement === element;
|
24
23
|
}
|
25
24
|
|
26
|
-
/** deprecated, will be removed in 4.0 */
|
27
|
-
const configureTestSuite = (configureModule) => {
|
28
|
-
const testBedApi = getTestBed();
|
29
|
-
const originReset = TestBed.resetTestingModule;
|
30
|
-
beforeAll(() => {
|
31
|
-
TestBed.resetTestingModule();
|
32
|
-
TestBed.resetTestingModule = () => TestBed;
|
33
|
-
});
|
34
|
-
// Custom hook
|
35
|
-
if (configureModule) {
|
36
|
-
beforeAll(async () => {
|
37
|
-
configureModule();
|
38
|
-
await TestBed.compileComponents();
|
39
|
-
});
|
40
|
-
}
|
41
|
-
afterEach(() => {
|
42
|
-
// @ts-ignore
|
43
|
-
testBedApi._activeFixtures.forEach((fixture) => fixture.destroy());
|
44
|
-
// reset ViewEngine TestBed
|
45
|
-
// @ts-ignore
|
46
|
-
testBedApi._instantiated = false;
|
47
|
-
// reset Ivy TestBed
|
48
|
-
// @ts-ignore
|
49
|
-
testBedApi._testModuleRef = null;
|
50
|
-
});
|
51
|
-
afterAll(() => {
|
52
|
-
TestBed.resetTestingModule = originReset;
|
53
|
-
TestBed.resetTestingModule();
|
54
|
-
});
|
55
|
-
};
|
56
|
-
|
57
25
|
const OriginalDate = global.Date;
|
58
26
|
function tuiMockCurrentDate(dateOrNumber) {
|
59
27
|
const date = tuiIsNumber(dateOrNumber)
|
@@ -87,7 +55,6 @@ function tuiWithPredicate(original) {
|
|
87
55
|
function tuiHarnessWith(hostSelector) {
|
88
56
|
return class extends ComponentHarness {
|
89
57
|
static { this.hostSelector = hostSelector; }
|
90
|
-
// @ts-ignore
|
91
58
|
static with(_options = {}) {
|
92
59
|
throw new Error('Hummus');
|
93
60
|
}
|
@@ -506,5 +473,5 @@ function tuiTestingViewport(width, height) {
|
|
506
473
|
* Generated bundle index. Do not edit.
|
507
474
|
*/
|
508
475
|
|
509
|
-
export { TuiComponentHarness, TuiContentContainerComponentHarness, TuiNativeInputPO, TuiPageObject,
|
476
|
+
export { TuiComponentHarness, TuiContentContainerComponentHarness, TuiNativeInputPO, TuiPageObject, tuiActiveText, tuiCreateKeyboardEvent, tuiDispatchOnActive, tuiHarnessWith, tuiIsActive, tuiMockCurrentDate, tuiReplaceNbsp, tuiRestoreRealDate, tuiTestCleaner, tuiTestFiller, tuiTestFormControlState, tuiTestPlaceholder, tuiTestTooltip, tuiTestingViewport, tuiWithPredicate };
|
510
477
|
//# sourceMappingURL=taiga-ui-testing-utils.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-testing-utils.mjs","sources":["../../../projects/testing/utils/keyboard-event.ts","../../../projects/testing/utils/active-element.ts","../../../projects/testing/utils/configure-test-suite.ts","../../../projects/testing/utils/date.ts","../../../projects/testing/utils/helpers.ts","../../../projects/testing/utils/input/cleaner.unit-common.ts","../../../projects/testing/utils/input/filler.unit-common.ts","../../../projects/testing/utils/input/form-control-state.unit-common.ts","../../../projects/testing/utils/input/placeholder.unit-common.ts","../../../projects/testing/utils/input/tooltip.unit-common.ts","../../../projects/testing/utils/page-object.ts","../../../projects/testing/utils/replace-nbsp.ts","../../../projects/testing/utils/native-input.page-object.ts","../../../projects/testing/utils/viewport.ts","../../../projects/testing/utils/taiga-ui-testing-utils.ts"],"sourcesContent":["export function tuiCreateKeyboardEvent(\n key: string,\n eventType = 'keydown',\n): KeyboardEvent {\n const event = new KeyboardEvent(eventType, {bubbles: true});\n\n delete (event as any).target;\n Object.defineProperty(event, 'type', {value: eventType});\n\n delete (event as any).key;\n Object.defineProperty(event, 'key', {value: key});\n\n return event;\n}\n","import type {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\n\nexport function tuiDispatchOnActive<T>(key: string, fixture?: ComponentFixture<T>): void {\n document.activeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, 'keydown'));\n\n fixture?.detectChanges();\n}\n\nexport function tuiActiveText(): string {\n return document.activeElement?.textContent?.trim() ?? '';\n}\n\nexport function tuiIsActive(element: Element): boolean {\n return document.activeElement === element;\n}\n","import type {ComponentFixture} from '@angular/core/testing';\nimport {getTestBed, TestBed} from '@angular/core/testing';\n\n/** deprecated, will be removed in 4.0 */\nexport const configureTestSuite = (configureModule?: () => void): void => {\n const testBedApi = getTestBed();\n const originReset = TestBed.resetTestingModule;\n\n beforeAll(() => {\n TestBed.resetTestingModule();\n TestBed.resetTestingModule = () => TestBed;\n });\n\n // Custom hook\n if (configureModule) {\n beforeAll(async () => {\n configureModule();\n await TestBed.compileComponents();\n });\n }\n\n afterEach(() => {\n // @ts-ignore\n testBedApi._activeFixtures.forEach((fixture: ComponentFixture<unknown>) =>\n fixture.destroy(),\n );\n // reset ViewEngine TestBed\n // @ts-ignore\n testBedApi._instantiated = false;\n // reset Ivy TestBed\n // @ts-ignore\n testBedApi._testModuleRef = null;\n });\n\n afterAll(() => {\n TestBed.resetTestingModule = originReset;\n TestBed.resetTestingModule();\n });\n};\n","import {tuiIsNumber} from '@taiga-ui/cdk/utils/miscellaneous';\n\ndeclare const global: {Date: typeof Date};\n\nconst OriginalDate = global.Date;\n\nexport function tuiMockCurrentDate(dateOrNumber: Date | number): void {\n const date: Date = tuiIsNumber(dateOrNumber)\n ? new OriginalDate(dateOrNumber)\n : dateOrNumber;\n\n class MockDate extends OriginalDate {\n constructor() {\n super();\n\n return date;\n }\n }\n\n global.Date = MockDate as typeof Date;\n}\n\nexport function tuiRestoreRealDate(): void {\n global.Date = OriginalDate;\n}\n","import type {BaseHarnessFilters, ComponentHarnessConstructor} from '@angular/cdk/testing';\nimport {\n ComponentHarness,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\n/**\n * Decorator to add default static 'with' method.\n * Use in conjunction with {@link tuiHarnessWith} mixin.\n */\nexport function tuiWithPredicate<\n T extends ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n },\n>(original: T): T {\n original.with = (options: BaseHarnessFilters = {}) =>\n new HarnessPredicate(original, options);\n\n return original;\n}\n\n/**\n * Mixin to extend {@link ComponentHarness} and add typed\n * static 'with' method. Use {@link tuiWithPredicate} decorator\n * to monkey-patch default static 'with' method.\n */\nexport function tuiHarnessWith<T>(\n hostSelector: string,\n): ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n} {\n return class extends ComponentHarness {\n public static hostSelector = hostSelector;\n\n // @ts-ignore\n public static with(_options: BaseHarnessFilters = {}): HarnessPredicate<T> {\n throw new Error('Hummus');\n }\n } as unknown as ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n };\n}\n\nexport class TuiComponentHarness extends ComponentHarness {\n public static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n\nexport class TuiContentContainerComponentHarness extends ContentContainerComponentHarness {\n public static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n","/// <reference types=\"jest\" />\n\nimport type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiNativeInputPO} from '../native-input.page-object';\nimport type {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: Test;\n}\n\ninterface Test {\n cleaner: boolean;\n control?: FormControl;\n disabled?: boolean;\n readOnly: boolean;\n value?: unknown;\n}\n\nexport function tuiTestCleaner(\n context: TestParams,\n setValue: any = 'value',\n clearValue: any = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n let inputPO: TuiNativeInputPO;\n\n describe('Cross for field cleaning', () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.autoDetectChanges();\n });\n\n describe('Cross included', () => {\n beforeEach(() => {\n testComponent.cleaner = true;\n });\n\n it('If no value is specified, the cross is not shown', () => {\n updateValue(clearValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it('If the field is readonly, the cross is not shown', () => {\n updateValue(setValue);\n\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it('If the field is disabled, the cross is not shown', () => {\n updateValue(setValue);\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n testComponent.disabled = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it('If a value is specified, a cross is shown', () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).not.toBeNull();\n });\n\n it('When you click on the cross, the field value is cleared', () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n getCleaner()!.nativeElement.click();\n fixture.detectChanges();\n\n expect(inputPO.value).toBe('');\n\n if (testComponent.control !== undefined) {\n expect(testComponent.control.value).toEqual(clearValue);\n }\n\n if (testComponent.value !== undefined) {\n expect(testComponent.value).toEqual(clearValue);\n }\n });\n });\n\n describe('Cross disabled', () => {\n it('The value is set, the cross is not shown', () => {\n updateValue(setValue);\n\n testComponent.cleaner = false;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getCleaner(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}cleaner`);\n }\n}\n","import type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiNativeInputPO} from '../native-input.page-object';\nimport type {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: Test;\n}\n\ninterface Test {\n control: FormControl;\n}\n\nexport function tuiTestFiller(\n context: TestParams,\n setValue: unknown = 'value',\n clearValue: unknown = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n let inputPO: TuiNativeInputPO;\n\n describe('Filler (mask)', () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n describe('if there is no value in the field', () => {\n beforeEach(() => {\n testComponent.control.setValue(clearValue);\n fixture.detectChanges();\n });\n\n it('not visible', () => {\n expect(getFiller()).toBeNull();\n });\n\n it('when focusing appears', async () => {\n inputPO.focus();\n fixture.detectChanges();\n await fixture.whenStable();\n expect(getFiller()).not.toBeNull();\n });\n });\n\n describe('if the field has a value', () => {\n beforeEach(() => {\n testComponent.control.setValue(setValue);\n fixture.detectChanges();\n });\n\n it('not visible', () => {\n expect(getFiller()).toBeNull();\n });\n\n it('also not visible when focusing', () => {\n inputPO.nativeElement?.focus();\n fixture.detectChanges();\n\n expect(getFiller()).toBeNull();\n });\n });\n });\n\n function getFiller(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}filler`);\n }\n}\n","import type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiNativeInputPO} from '../native-input.page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n testComponent: Test;\n}\n\ninterface Test {\n control: FormControl;\n}\n\nexport function tuiTestFormControlState(context: TestParams): void {\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n let inputPO: TuiNativeInputPO;\n\n describe('FormControl state', () => {\n beforeEach(() => {\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n it('After initializing control dirty === false', () => {\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it('After control initialization touched === false', () => {\n expect(testComponent.control.touched).toBe(false);\n });\n\n it('After setting value from outside dirty === false', () => {\n testComponent.control.setValue('123');\n fixture.detectChanges();\n\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it('After entering the value dirty === true', () => {\n inputPO.sendText('123');\n\n expect(testComponent.control.dirty).toBe(true);\n });\n\n it('After setting and de-focusing touched === true', async () => {\n inputPO.focus();\n inputPO.blur();\n\n await fixture.whenStable();\n\n fixture.detectChanges();\n expect(testComponent.control.touched).toBe(true);\n });\n });\n}\n","import type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: Test;\n}\n\ninterface Test {\n control?: FormControl;\n labelOutside: boolean;\n size: 'l' | 'm' | 's';\n value?: unknown;\n}\n\nexport function tuiTestPlaceholder(\n context: TestParams,\n setValue: unknown = 'value',\n clearValue: unknown = '',\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n\n describe('Placeholder', () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe('in size S', () => {\n beforeEach(() => {\n testComponent.size = 's';\n fixture.detectChanges();\n });\n\n it('if no value, then shown', () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if specified, not shown', () => {\n updateValue(setValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe('in size M', () => {\n beforeEach(() => {\n testComponent.size = 'm';\n fixture.detectChanges();\n });\n\n it('if no value, then shown', () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if a value is given, then', () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if value is given but label is outside, then not shown', () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe('in size L', () => {\n beforeEach(() => {\n testComponent.size = 'l';\n fixture.detectChanges();\n });\n\n it('if no value, then shown', () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if a value is given, then', () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if value is given but label is outside, then not shown', () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getPlaceholder(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}placeholder`);\n }\n}\n","import type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: Test;\n}\n\ninterface Test {\n control?: FormControl;\n disabled?: boolean;\n hintContent: string | null;\n readOnly: boolean;\n size: unknown;\n}\n\nexport function tuiTestTooltip(context: TestParams): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n\n describe('Tooltip in a field', () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe('There is tooltip content', () => {\n it('if field is disabled, there is no tooltip', () => {\n testComponent.disabled = true;\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n\n it('if field is not disabled, there is tooltip', () => {\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n\n it('if field is readonly, there is tooltip', () => {\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n });\n\n describe('There is no tooltip content', () => {\n beforeEach(() => {\n testComponent.hintContent = null;\n fixture.detectChanges();\n });\n\n it('tooltip without content is hidden', () => {\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n });\n });\n\n function getTooltip(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}tooltip`);\n }\n}\n","import type {DebugElement, Predicate} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\n\nexport class TuiPageObject<T> {\n constructor(protected fixture: ComponentFixture<T>) {}\n\n public static getIds({nativeElement}: DebugElement): string[] {\n const attributeValue: string | null = nativeElement.getAttribute('automation-id');\n\n return attributeValue === null ? [] : attributeValue.split(' ');\n }\n\n public static containsId(debugElement: DebugElement, automationId: string): boolean {\n return TuiPageObject.getIds(debugElement).includes(automationId);\n }\n\n private static byAutomationId(automationId: string): Predicate<DebugElement> {\n return (debugElement) => TuiPageObject.containsId(debugElement, automationId);\n }\n\n public getByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement | null {\n return debugElement.query(TuiPageObject.byAutomationId(automationId));\n }\n\n // Syncing result order with DOM order: https://github.com/angular/angular/issues/13066\n public getAllByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement[] {\n const debugEls = debugElement.queryAll(\n TuiPageObject.byAutomationId(automationId),\n );\n const domEls = Array.from(\n debugElement.nativeElement.querySelectorAll(\n `[automation-id='${automationId}']`,\n ),\n );\n\n return debugEls.sort(\n (a, b) => domEls.indexOf(a.nativeElement) - domEls.indexOf(b.nativeElement),\n );\n }\n}\n","import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\n\nexport function tuiReplaceNbsp(content?: string): string {\n return content?.replace(new RegExp(CHAR_NO_BREAK_SPACE, 'g'), ' ') ?? '';\n}\n","import type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\nimport {TuiPageObject} from './page-object';\nimport {tuiReplaceNbsp} from './replace-nbsp';\n\nexport class TuiNativeInputPO {\n private readonly pageObject: TuiPageObject<unknown>;\n\n constructor(\n private readonly fixture: ComponentFixture<unknown>,\n private readonly automationIdOrElement: DebugElement | string,\n ) {\n this.pageObject = new TuiPageObject(fixture);\n }\n\n public get nativeElement(): HTMLInputElement | HTMLTextAreaElement | null {\n return typeof this.automationIdOrElement === 'string'\n ? this.pageObject.getByAutomationId(this.automationIdOrElement)?.nativeElement\n : this.automationIdOrElement.nativeElement;\n }\n\n public get value(): string {\n return tuiReplaceNbsp(this.nativeElement?.value ?? '');\n }\n\n public get focused(): boolean {\n return document.activeElement === this.nativeElement;\n }\n\n public sendText(value: string): void {\n this.focus(); // need focus before initial value for emulate user interaction\n\n const nativeElement = this.nativeElement;\n\n if (nativeElement) {\n nativeElement.value = value;\n nativeElement.dispatchEvent(new Event('input', {bubbles: true}));\n }\n\n this.fixture.detectChanges();\n }\n\n // @bad TODO: Fix this with actually moving focus rather than just blurring\n public sendTextAndBlur(value: string): void {\n this.focus();\n this.sendText(value);\n this.blur();\n }\n\n public sendKeydown(key: string): void {\n this.nativeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, 'keydown'));\n this.fixture.detectChanges();\n }\n\n public focus(): void {\n this.nativeElement?.focus();\n this.fixture.detectChanges();\n }\n\n public blur(): void {\n this.nativeElement?.blur();\n this.fixture.detectChanges();\n }\n\n public click(): void {\n this.nativeElement?.click();\n this.fixture.detectChanges();\n }\n}\n","export function tuiTestingViewport(width: number, height: number): void {\n Object.defineProperty(global, 'innerWidth', {\n writable: true,\n configurable: true,\n value: width,\n });\n\n Object.defineProperty(global.document.documentElement, 'clientWidth', {\n writable: true,\n configurable: true,\n value: width - 15,\n });\n\n Object.defineProperty(global, 'innerHeight', {\n writable: true,\n configurable: true,\n value: height,\n });\n\n Object.defineProperty(global.document.documentElement, 'clientHeight', {\n writable: true,\n configurable: true,\n value: height,\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;SAAgB,sBAAsB,CAClC,GAAW,EACX,SAAS,GAAG,SAAS,EAAA;AAErB,IAAA,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAE5D,OAAQ,KAAa,CAAC,MAAM,CAAC;AAC7B,IAAA,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;IAEzD,OAAQ,KAAa,CAAC,GAAG,CAAC;AAC1B,IAAA,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;AAElD,IAAA,OAAO,KAAK,CAAC;AACjB;;ACTgB,SAAA,mBAAmB,CAAI,GAAW,EAAE,OAA6B,EAAA;AAC7E,IAAA,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9E,OAAO,EAAE,aAAa,EAAE,CAAC;AAC7B,CAAC;SAEe,aAAa,GAAA;IACzB,OAAO,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAC;AAEK,SAAU,WAAW,CAAC,OAAgB,EAAA;AACxC,IAAA,OAAO,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC;AAC9C;;ACbA;AACa,MAAA,kBAAkB,GAAG,CAAC,eAA4B,KAAU;AACrE,IAAA,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAChC,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE/C,SAAS,CAAC,MAAK;QACX,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC7B,QAAA,OAAO,CAAC,kBAAkB,GAAG,MAAM,OAAO,CAAC;AAC/C,KAAC,CAAC,CAAC;;AAGH,IAAA,IAAI,eAAe,EAAE;QACjB,SAAS,CAAC,YAAW;AACjB,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;AACtC,SAAC,CAAC,CAAC;AACN,KAAA;IAED,SAAS,CAAC,MAAK;;AAEX,QAAA,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAkC,KAClE,OAAO,CAAC,OAAO,EAAE,CACpB,CAAC;;;AAGF,QAAA,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;;;AAGjC,QAAA,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;AACrC,KAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAK;AACV,QAAA,OAAO,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACzC,OAAO,CAAC,kBAAkB,EAAE,CAAC;AACjC,KAAC,CAAC,CAAC;AACP;;AClCA,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;AAE3B,SAAU,kBAAkB,CAAC,YAA2B,EAAA;AAC1D,IAAA,MAAM,IAAI,GAAS,WAAW,CAAC,YAAY,CAAC;AACxC,UAAE,IAAI,YAAY,CAAC,YAAY,CAAC;UAC9B,YAAY,CAAC;IAEnB,MAAM,QAAS,SAAQ,YAAY,CAAA;AAC/B,QAAA,WAAA,GAAA;AACI,YAAA,KAAK,EAAE,CAAC;AAER,YAAA,OAAO,IAAI,CAAC;SACf;AACJ,KAAA;AAED,IAAA,MAAM,CAAC,IAAI,GAAG,QAAuB,CAAC;AAC1C,CAAC;SAEe,kBAAkB,GAAA;AAC9B,IAAA,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;AAC/B;;ACjBA;;;AAGG;AACG,SAAU,gBAAgB,CAI9B,QAAW,EAAA;AACT,IAAA,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAA,GAA8B,EAAE,KAC7C,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE5C,IAAA,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;AAIG;AACG,SAAU,cAAc,CAC1B,YAAoB,EAAA;IAIpB,OAAO,cAAc,gBAAgB,CAAA;iBACnB,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC,EAAA;;AAGnC,QAAA,OAAO,IAAI,CAAC,QAAA,GAA+B,EAAE,EAAA;AAChD,YAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC7B;KAGJ,CAAC;AACN,CAAC;AAEK,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;IAC9C,OAAO,IAAI,CAEd,OAA2B,EAAA;AAE3B,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC9C;AACJ,CAAA;AAEK,MAAO,mCAAoC,SAAQ,gCAAgC,CAAA;IAC9E,OAAO,IAAI,CAEd,OAA2B,EAAA;AAE3B,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC9C;AACJ;;AC5DD;AAyBM,SAAU,cAAc,CAC1B,OAAmB,EACnB,QAAgB,GAAA,OAAO,EACvB,UAAA,GAAkB,IAAI,EAAA;AAEtB,IAAA,IAAI,UAAkC,CAAC;AACvC,IAAA,IAAI,OAAkC,CAAC;AACvC,IAAA,IAAI,aAAmB,CAAC;AACxB,IAAA,IAAI,OAAyB,CAAC;AAE9B,IAAA,QAAQ,CAAC,0BAA0B,EAAE,MAAK;QACtC,UAAU,CAAC,MAAK;AACZ,YAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AAChC,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;AACtC,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAE1B,OAAO,CAAC,iBAAiB,EAAE,CAAC;AAChC,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,gBAAgB,EAAE,MAAK;YAC5B,UAAU,CAAC,MAAK;AACZ,gBAAA,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;AACjC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,kDAAkD,EAAE,MAAK;gBACxD,WAAW,CAAC,UAAU,CAAC,CAAC;gBAExB,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,kDAAkD,EAAE,MAAK;gBACxD,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEtB,gBAAA,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC9B,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,kDAAkD,EAAE,MAAK;gBACxD,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEtB,IAAI,aAAa,CAAC,OAAO,EAAE;AACvB,oBAAA,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AACnC,iBAAA;AAED,gBAAA,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC9B,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,2CAA2C,EAAE,MAAK;gBACjD,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEtB,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,yDAAyD,EAAE,MAAK;gBAC/D,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEtB,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,UAAU,EAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACpC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE/B,gBAAA,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE;AACrC,oBAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3D,iBAAA;AAED,gBAAA,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE;oBACnC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnD,iBAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,gBAAgB,EAAE,MAAK;AAC5B,YAAA,EAAE,CAAC,0CAA0C,EAAE,MAAK;gBAChD,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEtB,gBAAA,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC9B,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACP,KAAC,CAAC,CAAC;IAEH,SAAS,WAAW,CAAC,KAAc,EAAA;QAC/B,IAAI,aAAa,CAAC,OAAO,EAAE;AACvB,YAAA,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,SAAA;AAAM,aAAA;AACH,YAAA,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/B,SAAA;KACJ;AAED,IAAA,SAAS,UAAU,GAAA;QACf,OAAO,UAAU,CAAC,iBAAiB,CAAC,CAAA,EAAG,OAAO,CAAC,MAAM,CAAS,OAAA,CAAA,CAAC,CAAC;KACnE;AACL;;AChHM,SAAU,aAAa,CACzB,OAAmB,EACnB,QAAoB,GAAA,OAAO,EAC3B,UAAA,GAAsB,IAAI,EAAA;AAE1B,IAAA,IAAI,UAAkC,CAAC;AACvC,IAAA,IAAI,OAAkC,CAAC;AACvC,IAAA,IAAI,aAAmB,CAAC;AACxB,IAAA,IAAI,OAAyB,CAAC;AAE9B,IAAA,QAAQ,CAAC,eAAe,EAAE,MAAK;QAC3B,UAAU,CAAC,MAAK;AACZ,YAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AAChC,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;AACtC,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAE1B,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,mCAAmC,EAAE,MAAK;YAC/C,UAAU,CAAC,MAAK;AACZ,gBAAA,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC3C,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5B,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,aAAa,EAAE,MAAK;AACnB,gBAAA,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,uBAAuB,EAAE,YAAW;gBACnC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,aAAa,EAAE,CAAC;AACxB,gBAAA,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3B,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACvC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,0BAA0B,EAAE,MAAK;YACtC,UAAU,CAAC,MAAK;AACZ,gBAAA,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5B,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,aAAa,EAAE,MAAK;AACnB,gBAAA,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,gCAAgC,EAAE,MAAK;AACtC,gBAAA,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;gBAC/B,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACP,KAAC,CAAC,CAAC;AAEH,IAAA,SAAS,SAAS,GAAA;QACd,OAAO,UAAU,CAAC,iBAAiB,CAAC,CAAA,EAAG,OAAO,CAAC,MAAM,CAAQ,MAAA,CAAA,CAAC,CAAC;KAClE;AACL;;AChEM,SAAU,uBAAuB,CAAC,OAAmB,EAAA;AACvD,IAAA,IAAI,OAAkC,CAAC;AACvC,IAAA,IAAI,aAAmB,CAAC;AACxB,IAAA,IAAI,OAAyB,CAAC;AAE9B,IAAA,QAAQ,CAAC,mBAAmB,EAAE,MAAK;QAC/B,UAAU,CAAC,MAAK;AACZ,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;AACtC,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAE1B,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;AAEH,QAAA,EAAE,CAAC,4CAA4C,EAAE,MAAK;AAClD,YAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,SAAC,CAAC,CAAC;AAEH,QAAA,EAAE,CAAC,gDAAgD,EAAE,MAAK;AACtD,YAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtD,SAAC,CAAC,CAAC;AAEH,QAAA,EAAE,CAAC,kDAAkD,EAAE,MAAK;AACxD,YAAA,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,YAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,SAAC,CAAC,CAAC;AAEH,QAAA,EAAE,CAAC,yCAAyC,EAAE,MAAK;AAC/C,YAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAExB,YAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,SAAC,CAAC,CAAC;AAEH,QAAA,EAAE,CAAC,gDAAgD,EAAE,YAAW;YAC5D,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,CAAC;AAEf,YAAA,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,OAAO,CAAC,aAAa,EAAE,CAAC;AACxB,YAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;AACP,KAAC,CAAC,CAAC;AACP;;ACxCM,SAAU,kBAAkB,CAC9B,OAAmB,EACnB,QAAoB,GAAA,OAAO,EAC3B,UAAA,GAAsB,EAAE,EAAA;AAExB,IAAA,IAAI,UAAkC,CAAC;AACvC,IAAA,IAAI,OAAkC,CAAC;AACvC,IAAA,IAAI,aAAmB,CAAC;AAExB,IAAA,QAAQ,CAAC,aAAa,EAAE,MAAK;QACzB,UAAU,CAAC,MAAK;AACZ,YAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AAChC,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YAEtC,OAAO,CAAC,iBAAiB,EAAE,CAAC;AAChC,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,WAAW,EAAE,MAAK;YACvB,UAAU,CAAC,MAAK;AACZ,gBAAA,aAAa,CAAC,IAAI,GAAG,GAAG,CAAC;gBACzB,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5B,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,yBAAyB,EAAE,MAAK;gBAC/B,WAAW,CAAC,UAAU,CAAC,CAAC;gBACxB,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5C,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,yBAAyB,EAAE,MAAK;gBAC/B,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACtB,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,WAAW,EAAE,MAAK;YACvB,UAAU,CAAC,MAAK;AACZ,gBAAA,aAAa,CAAC,IAAI,GAAG,GAAG,CAAC;gBACzB,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5B,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,yBAAyB,EAAE,MAAK;gBAC/B,WAAW,CAAC,UAAU,CAAC,CAAC;gBACxB,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5C,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,2BAA2B,EAAE,MAAK;gBACjC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACtB,gBAAA,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;gBACnC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5C,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,wDAAwD,EAAE,MAAK;gBAC9D,WAAW,CAAC,QAAQ,CAAC,CAAC;AACtB,gBAAA,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC;gBAClC,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,WAAW,EAAE,MAAK;YACvB,UAAU,CAAC,MAAK;AACZ,gBAAA,aAAa,CAAC,IAAI,GAAG,GAAG,CAAC;gBACzB,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5B,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,yBAAyB,EAAE,MAAK;gBAC/B,WAAW,CAAC,UAAU,CAAC,CAAC;gBACxB,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5C,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,2BAA2B,EAAE,MAAK;gBACjC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACtB,gBAAA,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;gBACnC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5C,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,wDAAwD,EAAE,MAAK;gBAC9D,WAAW,CAAC,QAAQ,CAAC,CAAC;AACtB,gBAAA,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC;gBAClC,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACP,KAAC,CAAC,CAAC;IAEH,SAAS,WAAW,CAAC,KAAc,EAAA;QAC/B,IAAI,aAAa,CAAC,OAAO,EAAE;AACvB,YAAA,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,SAAA;AAAM,aAAA;AACH,YAAA,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/B,SAAA;KACJ;AAED,IAAA,SAAS,cAAc,GAAA;QACnB,OAAO,UAAU,CAAC,iBAAiB,CAAC,CAAA,EAAG,OAAO,CAAC,MAAM,CAAa,WAAA,CAAA,CAAC,CAAC;KACvE;AACL;;AC9GM,SAAU,cAAc,CAAC,OAAmB,EAAA;AAC9C,IAAA,IAAI,UAAkC,CAAC;AACvC,IAAA,IAAI,OAAkC,CAAC;AACvC,IAAA,IAAI,aAAmB,CAAC;AAExB,IAAA,QAAQ,CAAC,oBAAoB,EAAE,MAAK;QAChC,UAAU,CAAC,MAAK;AACZ,YAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AAChC,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1B,YAAA,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YAEtC,OAAO,CAAC,iBAAiB,EAAE,CAAC;AAChC,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,0BAA0B,EAAE,MAAK;AACtC,YAAA,EAAE,CAAC,2CAA2C,EAAE,MAAK;AACjD,gBAAA,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAE9B,IAAI,aAAa,CAAC,OAAO,EAAE;AACvB,oBAAA,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AACnC,iBAAA;gBAED,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,4CAA4C,EAAE,MAAK;gBAClD,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,wCAAwC,EAAE,MAAK;AAC9C,gBAAA,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC9B,OAAO,CAAC,aAAa,EAAE,CAAC;gBAExB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,6BAA6B,EAAE,MAAK;YACzC,UAAU,CAAC,MAAK;AACZ,gBAAA,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;gBACjC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC5B,aAAC,CAAC,CAAC;AAEH,YAAA,EAAE,CAAC,mCAAmC,EAAE,MAAK;gBACzC,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,gBAAA,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACP,KAAC,CAAC,CAAC;AAEH,IAAA,SAAS,UAAU,GAAA;QACf,OAAO,UAAU,CAAC,iBAAiB,CAAC,CAAA,EAAG,OAAO,CAAC,MAAM,CAAS,OAAA,CAAA,CAAC,CAAC;KACnE;AACL;;MC5Ea,aAAa,CAAA;AACtB,IAAA,WAAA,CAAsB,OAA4B,EAAA;QAA5B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqB;KAAI;AAE/C,IAAA,OAAO,MAAM,CAAC,EAAC,aAAa,EAAe,EAAA;QAC9C,MAAM,cAAc,GAAkB,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;AAElF,QAAA,OAAO,cAAc,KAAK,IAAI,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACnE;AAEM,IAAA,OAAO,UAAU,CAAC,YAA0B,EAAE,YAAoB,EAAA;QACrE,OAAO,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;KACpE;IAEO,OAAO,cAAc,CAAC,YAAoB,EAAA;AAC9C,QAAA,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;KACjF;IAEM,iBAAiB,CACpB,YAAoB,EACpB,YAAA,GAA6B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAA;QAEtD,OAAO,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;KACzE;;IAGM,oBAAoB,CACvB,YAAoB,EACpB,YAAA,GAA6B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAA;AAEtD,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAClC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAC7C,CAAC;AACF,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACrB,YAAY,CAAC,aAAa,CAAC,gBAAgB,CACvC,CAAA,gBAAA,EAAmB,YAAY,CAAI,EAAA,CAAA,CACtC,CACJ,CAAC;AAEF,QAAA,OAAO,QAAQ,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAC9E,CAAC;KACL;AACJ;;AC3CK,SAAU,cAAc,CAAC,OAAgB,EAAA;AAC3C,IAAA,OAAO,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AAC7E;;MCGa,gBAAgB,CAAA;IAGzB,WACqB,CAAA,OAAkC,EAClC,qBAA4C,EAAA;QAD5C,IAAO,CAAA,OAAA,GAAP,OAAO,CAA2B;QAClC,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;QAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;KAChD;AAED,IAAA,IAAW,aAAa,GAAA;AACpB,QAAA,OAAO,OAAO,IAAI,CAAC,qBAAqB,KAAK,QAAQ;AACjD,cAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,aAAa;AAC9E,cAAE,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;KAClD;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;KAC1D;AAED,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC;KACxD;AAEM,IAAA,QAAQ,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC;AAEb,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AAEzC,QAAA,IAAI,aAAa,EAAE;AACf,YAAA,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,YAAA,aAAa,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;AACpE,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KAChC;;AAGM,IAAA,eAAe,CAAC,KAAa,EAAA;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;KACf;AAEM,IAAA,WAAW,CAAC,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KAChC;IAEM,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KAChC;IAEM,IAAI,GAAA;AACP,QAAA,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KAChC;IAEM,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KAChC;AACJ;;ACtEe,SAAA,kBAAkB,CAAC,KAAa,EAAE,MAAc,EAAA;AAC5D,IAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;AACxC,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,KAAK,EAAE,KAAK;AACf,KAAA,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,aAAa,EAAE;AAClE,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,KAAK,GAAG,EAAE;AACpB,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;AACzC,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,KAAK,EAAE,MAAM;AAChB,KAAA,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc,EAAE;AACnE,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,KAAK,EAAE,MAAM;AAChB,KAAA,CAAC,CAAC;AACP;;ACxBA;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"taiga-ui-testing-utils.mjs","sources":["../../../projects/testing/utils/keyboard-event.ts","../../../projects/testing/utils/active-element.ts","../../../projects/testing/utils/date.ts","../../../projects/testing/utils/helpers.ts","../../../projects/testing/utils/input/cleaner.unit-common.ts","../../../projects/testing/utils/input/filler.unit-common.ts","../../../projects/testing/utils/input/form-control-state.unit-common.ts","../../../projects/testing/utils/input/placeholder.unit-common.ts","../../../projects/testing/utils/input/tooltip.unit-common.ts","../../../projects/testing/utils/page-object.ts","../../../projects/testing/utils/replace-nbsp.ts","../../../projects/testing/utils/native-input.page-object.ts","../../../projects/testing/utils/viewport.ts","../../../projects/testing/utils/taiga-ui-testing-utils.ts"],"sourcesContent":["export function tuiCreateKeyboardEvent(\n key: string,\n eventType = 'keydown',\n): KeyboardEvent {\n const event = new KeyboardEvent(eventType, {bubbles: true});\n\n delete (event as any).target;\n Object.defineProperty(event, 'type', {value: eventType});\n\n delete (event as any).key;\n Object.defineProperty(event, 'key', {value: key});\n\n return event;\n}\n","import type {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\n\nexport function tuiDispatchOnActive<T>(key: string, fixture?: ComponentFixture<T>): void {\n document.activeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, 'keydown'));\n\n fixture?.detectChanges();\n}\n\nexport function tuiActiveText(): string {\n return document.activeElement?.textContent?.trim() ?? '';\n}\n\nexport function tuiIsActive(element: Element): boolean {\n return document.activeElement === element;\n}\n","import {tuiIsNumber} from '@taiga-ui/cdk/utils/miscellaneous';\n\ndeclare const global: {Date: typeof Date};\n\nconst OriginalDate = global.Date;\n\nexport function tuiMockCurrentDate(dateOrNumber: Date | number): void {\n const date: Date = tuiIsNumber(dateOrNumber)\n ? new OriginalDate(dateOrNumber)\n : dateOrNumber;\n\n class MockDate extends OriginalDate {\n constructor() {\n super();\n\n return date;\n }\n }\n\n global.Date = MockDate as typeof Date;\n}\n\nexport function tuiRestoreRealDate(): void {\n global.Date = OriginalDate;\n}\n","import type {BaseHarnessFilters, ComponentHarnessConstructor} from '@angular/cdk/testing';\nimport {\n ComponentHarness,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\n/**\n * Decorator to add default static 'with' method.\n * Use in conjunction with {@link tuiHarnessWith} mixin.\n */\nexport function tuiWithPredicate<\n T extends ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n },\n>(original: T): T {\n original.with = (options: BaseHarnessFilters = {}) =>\n new HarnessPredicate(original, options);\n\n return original;\n}\n\n/**\n * Mixin to extend {@link ComponentHarness} and add typed\n * static 'with' method. Use {@link tuiWithPredicate} decorator\n * to monkey-patch default static 'with' method.\n */\nexport function tuiHarnessWith<T>(\n hostSelector: string,\n): ComponentHarnessConstructor<ComponentHarness> & {\n with: (options?: BaseHarnessFilters) => HarnessPredicate<ComponentHarness>;\n} {\n return class extends ComponentHarness {\n public static readonly locator?: T;\n public static hostSelector = hostSelector;\n\n public static with(\n _options: BaseHarnessFilters = {},\n ): HarnessPredicate<ComponentHarness> {\n throw new Error('Hummus');\n }\n };\n}\n\nexport class TuiComponentHarness extends ComponentHarness {\n public static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n\nexport class TuiContentContainerComponentHarness extends ContentContainerComponentHarness {\n public static with<T extends ComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: BaseHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n}\n","/// <reference types=\"jest\" />\n\nimport type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiNativeInputPO} from '../native-input.page-object';\nimport type {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: Test;\n}\n\ninterface Test {\n cleaner: boolean;\n control?: FormControl;\n disabled?: boolean;\n readOnly: boolean;\n value?: unknown;\n}\n\nexport function tuiTestCleaner(\n context: TestParams,\n setValue: any = 'value',\n clearValue: any = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n let inputPO: TuiNativeInputPO;\n\n describe('Cross for field cleaning', () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.autoDetectChanges();\n });\n\n describe('Cross included', () => {\n beforeEach(() => {\n testComponent.cleaner = true;\n });\n\n it('If no value is specified, the cross is not shown', () => {\n updateValue(clearValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it('If the field is readonly, the cross is not shown', () => {\n updateValue(setValue);\n\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it('If the field is disabled, the cross is not shown', () => {\n updateValue(setValue);\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n testComponent.disabled = true;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n\n it('If a value is specified, a cross is shown', () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n expect(getCleaner()).not.toBeNull();\n });\n\n it('When you click on the cross, the field value is cleared', () => {\n updateValue(setValue);\n\n fixture.detectChanges();\n\n getCleaner()!.nativeElement.click();\n fixture.detectChanges();\n\n expect(inputPO.value).toBe('');\n\n if (testComponent.control !== undefined) {\n expect(testComponent.control.value).toEqual(clearValue);\n }\n\n if (testComponent.value !== undefined) {\n expect(testComponent.value).toEqual(clearValue);\n }\n });\n });\n\n describe('Cross disabled', () => {\n it('The value is set, the cross is not shown', () => {\n updateValue(setValue);\n\n testComponent.cleaner = false;\n fixture.detectChanges();\n\n expect(getCleaner()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getCleaner(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}cleaner`);\n }\n}\n","import type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiNativeInputPO} from '../native-input.page-object';\nimport type {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: Test;\n}\n\ninterface Test {\n control: FormControl;\n}\n\nexport function tuiTestFiller(\n context: TestParams,\n setValue: unknown = 'value',\n clearValue: unknown = null,\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n let inputPO: TuiNativeInputPO;\n\n describe('Filler (mask)', () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n describe('if there is no value in the field', () => {\n beforeEach(() => {\n testComponent.control.setValue(clearValue);\n fixture.detectChanges();\n });\n\n it('not visible', () => {\n expect(getFiller()).toBeNull();\n });\n\n it('when focusing appears', async () => {\n inputPO.focus();\n fixture.detectChanges();\n await fixture.whenStable();\n expect(getFiller()).not.toBeNull();\n });\n });\n\n describe('if the field has a value', () => {\n beforeEach(() => {\n testComponent.control.setValue(setValue);\n fixture.detectChanges();\n });\n\n it('not visible', () => {\n expect(getFiller()).toBeNull();\n });\n\n it('also not visible when focusing', () => {\n inputPO.nativeElement?.focus();\n fixture.detectChanges();\n\n expect(getFiller()).toBeNull();\n });\n });\n });\n\n function getFiller(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}filler`);\n }\n}\n","import type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiNativeInputPO} from '../native-input.page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n inputPO: TuiNativeInputPO;\n testComponent: Test;\n}\n\ninterface Test {\n control: FormControl;\n}\n\nexport function tuiTestFormControlState(context: TestParams): void {\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n let inputPO: TuiNativeInputPO;\n\n describe('FormControl state', () => {\n beforeEach(() => {\n fixture = context.fixture;\n testComponent = context.testComponent;\n inputPO = context.inputPO;\n\n fixture.detectChanges();\n });\n\n it('After initializing control dirty === false', () => {\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it('After control initialization touched === false', () => {\n expect(testComponent.control.touched).toBe(false);\n });\n\n it('After setting value from outside dirty === false', () => {\n testComponent.control.setValue('123');\n fixture.detectChanges();\n\n expect(testComponent.control.dirty).toBe(false);\n });\n\n it('After entering the value dirty === true', () => {\n inputPO.sendText('123');\n\n expect(testComponent.control.dirty).toBe(true);\n });\n\n it('After setting and de-focusing touched === true', async () => {\n inputPO.focus();\n inputPO.blur();\n\n await fixture.whenStable();\n\n fixture.detectChanges();\n expect(testComponent.control.touched).toBe(true);\n });\n });\n}\n","import type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: Test;\n}\n\ninterface Test {\n control?: FormControl;\n labelOutside: boolean;\n size: 'l' | 'm' | 's';\n value?: unknown;\n}\n\nexport function tuiTestPlaceholder(\n context: TestParams,\n setValue: unknown = 'value',\n clearValue: unknown = '',\n): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n\n describe('Placeholder', () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe('in size S', () => {\n beforeEach(() => {\n testComponent.size = 's';\n fixture.detectChanges();\n });\n\n it('if no value, then shown', () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if specified, not shown', () => {\n updateValue(setValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe('in size M', () => {\n beforeEach(() => {\n testComponent.size = 'm';\n fixture.detectChanges();\n });\n\n it('if no value, then shown', () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if a value is given, then', () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if value is given but label is outside, then not shown', () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n\n describe('in size L', () => {\n beforeEach(() => {\n testComponent.size = 'l';\n fixture.detectChanges();\n });\n\n it('if no value, then shown', () => {\n updateValue(clearValue);\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if a value is given, then', () => {\n updateValue(setValue);\n testComponent.labelOutside = false;\n fixture.detectChanges();\n\n expect(getPlaceholder()).not.toBeNull();\n });\n\n it('if value is given but label is outside, then not shown', () => {\n updateValue(setValue);\n testComponent.labelOutside = true;\n fixture.detectChanges();\n\n expect(getPlaceholder()).toBeNull();\n });\n });\n });\n\n function updateValue(value: unknown): void {\n if (testComponent.control) {\n testComponent.control.setValue(value);\n } else {\n testComponent.value = value;\n }\n }\n\n function getPlaceholder(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}placeholder`);\n }\n}\n","import type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\nimport type {FormControl} from '@angular/forms';\n\nimport type {TuiPageObject} from '../page-object';\n\ninterface TestParams {\n fixture: ComponentFixture<unknown>;\n pageObject: TuiPageObject<unknown>;\n prefix: string;\n testComponent: Test;\n}\n\ninterface Test {\n control?: FormControl;\n disabled?: boolean;\n hintContent: string | null;\n readOnly: boolean;\n size: unknown;\n}\n\nexport function tuiTestTooltip(context: TestParams): void {\n let pageObject: TuiPageObject<unknown>;\n let fixture: ComponentFixture<unknown>;\n let testComponent: Test;\n\n describe('Tooltip in a field', () => {\n beforeEach(() => {\n pageObject = context.pageObject;\n fixture = context.fixture;\n testComponent = context.testComponent;\n\n fixture.autoDetectChanges();\n });\n\n describe('There is tooltip content', () => {\n it('if field is disabled, there is no tooltip', () => {\n testComponent.disabled = true;\n\n if (testComponent.control) {\n testComponent.control.disable();\n }\n\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n\n it('if field is not disabled, there is tooltip', () => {\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n\n it('if field is readonly, there is tooltip', () => {\n testComponent.readOnly = true;\n fixture.detectChanges();\n\n expect(getTooltip()).not.toBeNull();\n });\n });\n\n describe('There is no tooltip content', () => {\n beforeEach(() => {\n testComponent.hintContent = null;\n fixture.detectChanges();\n });\n\n it('tooltip without content is hidden', () => {\n fixture.detectChanges();\n\n expect(getTooltip()).toBeNull();\n });\n });\n });\n\n function getTooltip(): DebugElement | null {\n return pageObject.getByAutomationId(`${context.prefix}tooltip`);\n }\n}\n","import type {DebugElement, Predicate} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\n\nexport class TuiPageObject<T> {\n constructor(protected fixture: ComponentFixture<T>) {}\n\n public static getIds({nativeElement}: DebugElement): string[] {\n const attributeValue: string | null = nativeElement.getAttribute('automation-id');\n\n return attributeValue === null ? [] : attributeValue.split(' ');\n }\n\n public static containsId(debugElement: DebugElement, automationId: string): boolean {\n return TuiPageObject.getIds(debugElement).includes(automationId);\n }\n\n private static byAutomationId(automationId: string): Predicate<DebugElement> {\n return (debugElement) => TuiPageObject.containsId(debugElement, automationId);\n }\n\n public getByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement | null {\n return debugElement.query(TuiPageObject.byAutomationId(automationId));\n }\n\n // Syncing result order with DOM order: https://github.com/angular/angular/issues/13066\n public getAllByAutomationId(\n automationId: string,\n debugElement: DebugElement = this.fixture.debugElement,\n ): DebugElement[] {\n const debugEls = debugElement.queryAll(\n TuiPageObject.byAutomationId(automationId),\n );\n const domEls = Array.from(\n debugElement.nativeElement.querySelectorAll(\n `[automation-id='${automationId}']`,\n ),\n );\n\n return debugEls.sort(\n (a, b) => domEls.indexOf(a.nativeElement) - domEls.indexOf(b.nativeElement),\n );\n }\n}\n","import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\n\nexport function tuiReplaceNbsp(content?: string): string {\n return content?.replace(new RegExp(CHAR_NO_BREAK_SPACE, 'g'), ' ') ?? '';\n}\n","import type {DebugElement} from '@angular/core';\nimport type {ComponentFixture} from '@angular/core/testing';\n\nimport {tuiCreateKeyboardEvent} from './keyboard-event';\nimport {TuiPageObject} from './page-object';\nimport {tuiReplaceNbsp} from './replace-nbsp';\n\nexport class TuiNativeInputPO {\n private readonly pageObject: TuiPageObject<unknown>;\n\n constructor(\n private readonly fixture: ComponentFixture<unknown>,\n private readonly automationIdOrElement: DebugElement | string,\n ) {\n this.pageObject = new TuiPageObject(fixture);\n }\n\n public get nativeElement(): HTMLInputElement | HTMLTextAreaElement | null {\n return typeof this.automationIdOrElement === 'string'\n ? this.pageObject.getByAutomationId(this.automationIdOrElement)?.nativeElement\n : this.automationIdOrElement.nativeElement;\n }\n\n public get value(): string {\n return tuiReplaceNbsp(this.nativeElement?.value ?? '');\n }\n\n public get focused(): boolean {\n return document.activeElement === this.nativeElement;\n }\n\n public sendText(value: string): void {\n this.focus(); // need focus before initial value for emulate user interaction\n\n const nativeElement = this.nativeElement;\n\n if (nativeElement) {\n nativeElement.value = value;\n nativeElement.dispatchEvent(new Event('input', {bubbles: true}));\n }\n\n this.fixture.detectChanges();\n }\n\n // @bad TODO: Fix this with actually moving focus rather than just blurring\n public sendTextAndBlur(value: string): void {\n this.focus();\n this.sendText(value);\n this.blur();\n }\n\n public sendKeydown(key: string): void {\n this.nativeElement?.dispatchEvent(tuiCreateKeyboardEvent(key, 'keydown'));\n this.fixture.detectChanges();\n }\n\n public focus(): void {\n this.nativeElement?.focus();\n this.fixture.detectChanges();\n }\n\n public blur(): void {\n this.nativeElement?.blur();\n this.fixture.detectChanges();\n }\n\n public click(): void {\n this.nativeElement?.click();\n this.fixture.detectChanges();\n }\n}\n","export function tuiTestingViewport(width: number, height: number): void {\n Object.defineProperty(global, 'innerWidth', {\n writable: true,\n configurable: true,\n value: width,\n });\n\n Object.defineProperty(global.document.documentElement, 'clientWidth', {\n writable: true,\n configurable: true,\n value: width - 15,\n });\n\n Object.defineProperty(global, 'innerHeight', {\n writable: true,\n configurable: true,\n value: height,\n });\n\n Object.defineProperty(global.document.documentElement, 'clientHeight', {\n writable: true,\n configurable: true,\n value: height,\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
2
|
"name": "@taiga-ui/testing",
|
3
|
-
"version": "4.5.0-canary.
|
3
|
+
"version": "4.5.0-canary.6ead1e6",
|
4
4
|
"description": "Utils functions for testing Taiga UI packages",
|
5
5
|
"peerDependencies": {
|
6
|
-
"@taiga-ui/cdk": "^4.5.0-canary.
|
6
|
+
"@taiga-ui/cdk": "^4.5.0-canary.6ead1e6"
|
7
7
|
},
|
8
8
|
"module": "fesm2022/taiga-ui-testing.mjs",
|
9
9
|
"typings": "index.d.ts",
|
package/utils/index.d.ts
CHANGED
@@ -1,32 +0,0 @@
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXRlc3Qtc3VpdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXN0aW5nL3V0aWxzL2NvbmZpZ3VyZS10ZXN0LXN1aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQseUNBQXlDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsZUFBNEIsRUFBUSxFQUFFO0lBQ3JFLE1BQU0sVUFBVSxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztJQUUvQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDLENBQUMsQ0FBQztJQUVILGNBQWM7SUFDZCxJQUFJLGVBQWUsRUFBRTtRQUNqQixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDakIsZUFBZSxFQUFFLENBQUM7WUFDbEIsTUFBTSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNYLGFBQWE7UUFDYixVQUFVLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQWtDLEVBQUUsRUFBRSxDQUN0RSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQ3BCLENBQUM7UUFDRiwyQkFBMkI7UUFDM0IsYUFBYTtRQUNiLFVBQVUsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsVUFBVSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ1YsT0FBTyxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUN6QyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtDb21wb25lbnRGaXh0dXJlfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtnZXRUZXN0QmVkLCBUZXN0QmVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuXG4vKiogZGVwcmVjYXRlZCwgd2lsbCBiZSByZW1vdmVkIGluIDQuMCAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZVRlc3RTdWl0ZSA9IChjb25maWd1cmVNb2R1bGU/OiAoKSA9PiB2b2lkKTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGVzdEJlZEFwaSA9IGdldFRlc3RCZWQoKTtcbiAgICBjb25zdCBvcmlnaW5SZXNldCA9IFRlc3RCZWQucmVzZXRUZXN0aW5nTW9kdWxlO1xuXG4gICAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICAgICAgVGVzdEJlZC5yZXNldFRlc3RpbmdNb2R1bGUoKTtcbiAgICAgICAgVGVzdEJlZC5yZXNldFRlc3RpbmdNb2R1bGUgPSAoKSA9PiBUZXN0QmVkO1xuICAgIH0pO1xuXG4gICAgLy8gQ3VzdG9tIGhvb2tcbiAgICBpZiAoY29uZmlndXJlTW9kdWxlKSB7XG4gICAgICAgIGJlZm9yZUFsbChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25maWd1cmVNb2R1bGUoKTtcbiAgICAgICAgICAgIGF3YWl0IFRlc3RCZWQuY29tcGlsZUNvbXBvbmVudHMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0ZXN0QmVkQXBpLl9hY3RpdmVGaXh0dXJlcy5mb3JFYWNoKChmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+KSA9PlxuICAgICAgICAgICAgZml4dHVyZS5kZXN0cm95KCksXG4gICAgICAgICk7XG4gICAgICAgIC8vIHJlc2V0IFZpZXdFbmdpbmUgVGVzdEJlZFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRlc3RCZWRBcGkuX2luc3RhbnRpYXRlZCA9IGZhbHNlO1xuICAgICAgICAvLyByZXNldCBJdnkgVGVzdEJlZFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRlc3RCZWRBcGkuX3Rlc3RNb2R1bGVSZWYgPSBudWxsO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXJBbGwoKCkgPT4ge1xuICAgICAgICBUZXN0QmVkLnJlc2V0VGVzdGluZ01vZHVsZSA9IG9yaWdpblJlc2V0O1xuICAgICAgICBUZXN0QmVkLnJlc2V0VGVzdGluZ01vZHVsZSgpO1xuICAgIH0pO1xufTtcbiJdfQ==
|