From 48d36e6b61ba76b2122590e4a5b410092dcab377 Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 10:46:53 +0300 Subject: [PATCH 01/38] migrate to 12.0.1 version --- package-lock.json | 786 +++++++----------- package.json | 3 +- .../componentRegistration.tests.js | 4 +- .../modelIntegration.tests.js | 2 +- .../focus.tests.js | 4 +- .../headerFilter.tests.js | 2 +- .../calendar.tests.js | 10 +- .../fileUploader.tests.js | 28 +- .../tagBox.tests.js | 2 +- .../validationSummary.markup.tests.js | 2 +- .../appointment.templates.tests.js | 5 +- .../appointments.tests.js | 2 +- .../virtual_scrolling.integration.tests.js | 4 +- .../virtual_scrolling.monthView.tests.js | 4 +- .../virtual_scrolling.tests.js | 4 +- .../virtual_scrolling.timeline.tests.js | 5 +- .../dataController.tests.js | 2 +- .../treeList.tests.js | 2 +- .../DevExpress.ui.widgets/draggable.tests.js | 4 +- .../fileManagerParts/contextMenu.tests.js | 2 +- .../listParts/liveUpdateTests.js | 2 +- .../DevExpress.viz.core/baseAxis.tests.js | 2 +- .../funnel.base.tests.js | 2 +- .../DevExpress.viz.gauges/barGauge.tests.js | 8 +- .../DevExpress.viz.gauges/common.tests.js | 6 +- .../common.part3.tests.js | 4 +- .../sankey.base.tests.js | 4 +- .../DevExpress.viz.treeMap/drilldown.tests.js | 6 +- .../DevExpress.viz.treeMap/hover.tests.js | 10 +- .../DevExpress.viz.treeMap/selection.tests.js | 12 +- .../DevExpress.viz.treeMap/tracker.tests.js | 6 +- 31 files changed, 365 insertions(+), 574 deletions(-) diff --git a/package-lock.json b/package-lock.json index e89a881091ae..47072b77777e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -149,7 +149,8 @@ "run-sequence": "^1.1.5", "sass": "1.43.5", "shelljs": "^0.8.3", - "sinon": "1.10.3", + "sinon": "^12.0.1", + "sinon-test": "^3.1.1", "staged-git-files": "^1.2.0", "string-replace-loader": "^3.0.3", "stylelint": "^13.13.1", @@ -176,19 +177,6 @@ "yargs": "^4.6.0" } }, - "node_modules/@angular/core": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.2.14.tgz", - "integrity": "sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg==", - "peer": true, - "dependencies": { - "tslib": "^2.0.0" - }, - "peerDependencies": { - "rxjs": "^6.5.3", - "zone.js": "^0.10.2 || ^0.11.3" - } - }, "node_modules/@babel/code-frame": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", @@ -2809,6 +2797,41 @@ "node": ">= 8" } }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", + "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", + "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", + "dev": true + }, "node_modules/@stylelint/postcss-css-in-js": { "version": "0.37.2", "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", @@ -4715,18 +4738,6 @@ "postcss": "^8.1.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -9177,19 +9188,6 @@ "eslint-config-airbnb-base": "^14.2.0" } }, - "node_modules/eslint-config-airbnb-typescript/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "peer": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint-config-airbnb-typescript/node_modules/eslint-config-airbnb": { "version": "18.2.1", "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", @@ -9211,59 +9209,6 @@ "eslint-plugin-react-hooks": "^4 || ^3 || ^2.3.0 || ^1.7.0" } }, - "node_modules/eslint-config-airbnb-typescript/node_modules/eslint-plugin-react": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz", - "integrity": "sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==", - "dev": true, - "peer": true, - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", - "object.values": "^1.1.5", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-config-airbnb-typescript/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-config-airbnb-typescript/node_modules/resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "dev": true, - "peer": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/eslint-config-devextreme": { "version": "0.1.40", "resolved": "https://registry.npmjs.org/eslint-config-devextreme/-/eslint-config-devextreme-0.1.40.tgz", @@ -9626,19 +9571,6 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", - "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -11105,12 +11037,6 @@ "node": ">=0.10.0" } }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -11140,16 +11066,6 @@ "node": ">= 0.12" } }, - "node_modules/formatio": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz", - "integrity": "sha1-55kcoUT/fYz/B7uayGqbeca6R+8=", - "deprecated": "This package is unmaintained. Use @sinonjs/formatio instead", - "dev": true, - "dependencies": { - "samsam": "~1.1" - } - }, "node_modules/fraction.js": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", @@ -15527,22 +15443,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -15806,21 +15706,6 @@ "node": ">=6" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -16084,25 +15969,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -18172,6 +18038,12 @@ "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", "dev": true }, + "node_modules/just-extend": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", + "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "dev": true + }, "node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", @@ -18921,6 +18793,12 @@ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, "node_modules/lodash.groupby": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", @@ -20655,6 +20533,28 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node_modules/nise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", + "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0", + "@sinonjs/fake-timers": "^7.0.4", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, "node_modules/node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -21345,20 +21245,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.hasown": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", - "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", - "dev": true, - "peer": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", @@ -21970,6 +21856,21 @@ "node": ">=0.10.0" } }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-to-regexp/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -22264,18 +22165,6 @@ "node": ">=12.13.0" } }, - "node_modules/popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", - "dev": true, - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -24548,6 +24437,7 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, "dependencies": { "tslib": "^1.9.0" }, @@ -24558,7 +24448,8 @@ "node_modules/rxjs/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/safe-buffer": { "version": "5.1.2", @@ -24586,13 +24477,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/samsam": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.3.tgz", - "integrity": "sha1-n1CHQZtNCR8jJXHn+lLpCw9VJiE=", - "deprecated": "This package has been deprecated in favour of @sinonjs/samsam", - "dev": true - }, "node_modules/sane": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", @@ -25116,16 +25000,60 @@ "dev": true }, "node_modules/sinon": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.10.3.tgz", - "integrity": "sha1-wGPg6Z2DJ9wZkROqtS64Oi6ePCw=", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-12.0.1.tgz", + "integrity": "sha512-iGu29Xhym33ydkAT+aNQFBINakjq69kKO6ByPvTsm3yyIACfyQttRTP03aBP/I8GfhFmLzrnKwNNkr0ORb1udg==", "dev": true, "dependencies": { - "formatio": "~1.0", - "util": ">=0.10.3 <1" + "@sinonjs/commons": "^1.8.3", + "@sinonjs/fake-timers": "^8.1.0", + "@sinonjs/samsam": "^6.0.2", + "diff": "^5.0.0", + "nise": "^5.1.0", + "supports-color": "^7.2.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, + "node_modules/sinon-test": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/sinon-test/-/sinon-test-3.1.1.tgz", + "integrity": "sha512-1sM7QhfTGHXU8umSSyDyIQuAwPkUX2I0JK5WFcjzhChNxDYlVw5Vj0fGoJAaS/FvywKmN2U4YgGC/XqDKhYOTA==", + "dev": true, + "peerDependencies": { + "sinon": "2.x - 11.x" + } + }, + "node_modules/sinon/node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, "engines": { - "node": ">=0.1.103" + "node": ">=0.3.1" + } + }, + "node_modules/sinon/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sinon/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/sisteransi": { @@ -27184,20 +27112,6 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/terser-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -29397,20 +29311,6 @@ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", "dev": true }, - "node_modules/util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -29736,12 +29636,6 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, - "node_modules/vue": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", - "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==", - "peer": true - }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -30825,26 +30719,6 @@ "which": "bin/which" } }, - "node_modules/which-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -31221,15 +31095,6 @@ "node": ">= 6" } }, - "node_modules/zone.js": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", - "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", - "peer": true, - "dependencies": { - "tslib": "^2.0.0" - } - }, "node_modules/zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", @@ -31242,15 +31107,6 @@ } }, "dependencies": { - "@angular/core": { - "version": "11.2.14", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.2.14.tgz", - "integrity": "sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg==", - "peer": true, - "requires": { - "tslib": "^2.0.0" - } - }, "@babel/code-frame": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", @@ -33165,6 +33021,41 @@ "fastq": "^1.6.0" } }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@sinonjs/samsam": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", + "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "@sinonjs/text-encoding": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", + "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", + "dev": true + }, "@stylelint/postcss-css-in-js": { "version": "0.37.2", "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", @@ -33934,8 +33825,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "acorn-walk": { "version": "6.2.0", @@ -33986,15 +33876,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} + "dev": true }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "align-text": { "version": "0.1.4", @@ -34738,12 +34626,6 @@ "postcss-value-parser": "^4.1.0" } }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -34831,8 +34713,7 @@ "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true, - "requires": {} + "dev": true }, "babel-eslint": { "version": "10.1.0", @@ -35904,8 +35785,7 @@ "version": "4.6.1", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", - "dev": true, - "requires": {} + "dev": true }, "bowser": { "version": "2.11.0", @@ -36549,8 +36429,7 @@ "version": "7.5.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "requires": {} + "dev": true } } }, @@ -36604,8 +36483,7 @@ "version": "40.0.0", "resolved": "https://registry.npmjs.org/cldr-numbers-full/-/cldr-numbers-full-40.0.0.tgz", "integrity": "sha512-NE5uKg0JDAcg5Pn6MKDg50cAKkUQtMd+mOxGPfDZVL+JRUHimQFvY/21KuzLBTI1i1IDbhEF9so/iXMmUJugPg==", - "dev": true, - "requires": {} + "dev": true }, "cldrjs": { "version": "0.5.5", @@ -38617,16 +38495,6 @@ "eslint-config-airbnb-base": "^14.2.0" }, "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "peer": true, - "requires": { - "esutils": "^2.0.2" - } - }, "eslint-config-airbnb": { "version": "18.2.1", "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", @@ -38637,47 +38505,6 @@ "object.assign": "^4.1.2", "object.entries": "^1.1.2" } - }, - "eslint-plugin-react": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz", - "integrity": "sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==", - "dev": true, - "peer": true, - "requires": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", - "object.values": "^1.1.5", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "peer": true - }, - "resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "dev": true, - "peer": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } } } }, @@ -38685,8 +38512,7 @@ "version": "0.1.40", "resolved": "https://registry.npmjs.org/eslint-config-devextreme/-/eslint-config-devextreme-0.1.40.tgz", "integrity": "sha512-Sk7c6EOZVTXwkkszUuYBg4l3AIBzji+ZCEBd8yYuNLdNPwj9AqNSstPwcC++CWwPnUwQBnA0Q3/05RjtyWfSbA==", - "dev": true, - "requires": {} + "dev": true }, "eslint-import-resolver-node": { "version": "0.3.6", @@ -38865,8 +38691,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jest-formatting/-/eslint-plugin-jest-formatting-1.2.0.tgz", "integrity": "sha512-EqsbDByAtdQa5vEhJFUFMqTW7fghN0Qhb8oulM7R3j9+9xRuMsQKCPjWvCIxpWhl3SJJmlxBC25o1pUXiBHaAw==", - "dev": true, - "requires": {} + "dev": true }, "eslint-plugin-jsx-a11y": { "version": "6.5.1", @@ -38966,14 +38791,6 @@ } } }, - "eslint-plugin-react-hooks": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", - "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", - "dev": true, - "peer": true, - "requires": {} - }, "eslint-plugin-rulesdir": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/eslint-plugin-rulesdir/-/eslint-plugin-rulesdir-0.2.1.tgz", @@ -40038,12 +39855,6 @@ "for-in": "^1.0.1" } }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -40067,15 +39878,6 @@ "mime-types": "^2.1.12" } }, - "formatio": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz", - "integrity": "sha1-55kcoUT/fYz/B7uayGqbeca6R+8=", - "dev": true, - "requires": { - "samsam": "~1.1" - } - }, "fraction.js": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", @@ -43649,16 +43451,6 @@ "is-decimal": "^1.0.0" } }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -43831,15 +43623,6 @@ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -44023,19 +43806,6 @@ "has-symbols": "^1.0.2" } }, - "is-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0" - } - }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -45049,8 +44819,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} + "dev": true }, "jest-regex-util": { "version": "24.9.0", @@ -45622,8 +45391,7 @@ "version": "3.5.14", "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.5.14.tgz", "integrity": "sha512-Qm11yQ2hTvM2iZ7MpWLpeDGR+uQlI8bcOsMjWYXon9mTo+UehMqp5xdQk6JpVSNUN6+rnJnpS5mkqelv4ncd5g==", - "dev": true, - "requires": {} + "dev": true }, "jsprim": { "version": "1.4.2", @@ -45709,6 +45477,12 @@ "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", "dev": true }, + "just-extend": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", + "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "dev": true + }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", @@ -46353,6 +46127,12 @@ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, "lodash.groupby": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", @@ -47765,6 +47545,30 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "nise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", + "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0", + "@sinonjs/fake-timers": "^7.0.4", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" + }, + "dependencies": { + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + } + } + }, "node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -48331,17 +48135,6 @@ "es-abstract": "^1.19.1" } }, - "object.hasown": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", - "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", - "dev": true, - "peer": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, "object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", @@ -48839,6 +48632,23 @@ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", "dev": true }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -49062,13 +48872,6 @@ "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", "dev": true }, - "popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "dev": true, - "peer": true - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -49325,8 +49128,7 @@ "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true, - "requires": {} + "dev": true }, "postcss-value-parser": { "version": "4.2.0", @@ -50895,6 +50697,7 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, "requires": { "tslib": "^1.9.0" }, @@ -50902,7 +50705,8 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, @@ -50932,12 +50736,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "samsam": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.3.tgz", - "integrity": "sha1-n1CHQZtNCR8jJXHn+lLpCw9VJiE=", - "dev": true - }, "sane": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", @@ -51353,15 +51151,48 @@ } }, "sinon": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.10.3.tgz", - "integrity": "sha1-wGPg6Z2DJ9wZkROqtS64Oi6ePCw=", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-12.0.1.tgz", + "integrity": "sha512-iGu29Xhym33ydkAT+aNQFBINakjq69kKO6ByPvTsm3yyIACfyQttRTP03aBP/I8GfhFmLzrnKwNNkr0ORb1udg==", "dev": true, "requires": { - "formatio": "~1.0", - "util": ">=0.10.3 <1" + "@sinonjs/commons": "^1.8.3", + "@sinonjs/fake-timers": "^8.1.0", + "@sinonjs/samsam": "^6.0.2", + "diff": "^5.0.0", + "nise": "^5.1.0", + "supports-color": "^7.2.0" + }, + "dependencies": { + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, + "sinon-test": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/sinon-test/-/sinon-test-3.1.1.tgz", + "integrity": "sha512-1sM7QhfTGHXU8umSSyDyIQuAwPkUX2I0JK5WFcjzhChNxDYlVw5Vj0fGoJAaS/FvywKmN2U4YgGC/XqDKhYOTA==", + "dev": true + }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -52631,8 +52462,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", - "dev": true, - "requires": {} + "dev": true } } }, @@ -53010,14 +52840,6 @@ "terser": "^5.7.2" }, "dependencies": { - "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "dev": true, - "optional": true, - "peer": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -54781,20 +54603,6 @@ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", "dev": true }, - "util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -55071,12 +54879,6 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, - "vue": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", - "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==", - "peer": true - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -55185,8 +54987,7 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} + "dev": true }, "schema-utils": { "version": "3.1.1", @@ -55951,20 +55752,6 @@ } } }, - "which-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.7" - } - }, "wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -56281,15 +56068,6 @@ "readable-stream": "^3.4.0" } }, - "zone.js": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", - "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", - "peer": true, - "requires": { - "tslib": "^2.0.0" - } - }, "zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", diff --git a/package.json b/package.json index 613f861a96e7..ef46d11cc876 100644 --- a/package.json +++ b/package.json @@ -164,7 +164,8 @@ "run-sequence": "^1.1.5", "sass": "1.43.5", "shelljs": "^0.8.3", - "sinon": "1.10.3", + "sinon": "^12.0.1", + "sinon-test": "^3.1.1", "staged-git-files": "^1.2.0", "string-replace-loader": "^3.0.3", "stylelint": "^13.13.1", diff --git a/testing/tests/DevExpress.angular/componentRegistration.tests.js b/testing/tests/DevExpress.angular/componentRegistration.tests.js index 5f8118b224c0..1e4d1f9e30bd 100644 --- a/testing/tests/DevExpress.angular/componentRegistration.tests.js +++ b/testing/tests/DevExpress.angular/componentRegistration.tests.js @@ -625,7 +625,7 @@ QUnit.test('binding should fired once when option is a plain object', function(a const instance = $markup.dxTest('instance'); - spy.reset(); + spy.resetHistory(); instance.option('testOption', { value: 2 }); assert.equal(spy.callCount, 1, 'optionChanged action fired once'); @@ -683,7 +683,7 @@ QUnit.test('option changed fired after value was set in the same value(plain obj instance.option('testOption', value); - spy.reset(); + spy.resetHistory(); scope.$apply(() => { scope.dataValue.value = 3; }); diff --git a/testing/tests/DevExpress.angular/modelIntegration.tests.js b/testing/tests/DevExpress.angular/modelIntegration.tests.js index 98efb7e1ddf1..31ec167ef5fa 100644 --- a/testing/tests/DevExpress.angular/modelIntegration.tests.js +++ b/testing/tests/DevExpress.angular/modelIntegration.tests.js @@ -258,7 +258,7 @@ QUnit.test('optionChanged should fired once when value is a plain object and use angular.bootstrap(this.$container, ['app']); - spy.reset(); + spy.resetHistory(); const instance = $markup.dxEditor('instance'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js index 1bebc97476f6..6f6300c9a5f3 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js @@ -3384,7 +3384,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.clock.tick(); // act - loadSpy.reset(); + loadSpy.resetHistory(); this.getController('columns').changeSortOrder(2, 'asc'); this.clock.tick(); @@ -4096,7 +4096,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { assert.ok(newRow.isNewRow, 'new row'); // act - onFocusedRowChangedSpy.reset(); + onFocusedRowChangedSpy.resetHistory(); $(this.getRowElement(newRowIndex)).find('.dx-texteditor-input').trigger(pointerEvents.down).click(); this.clock.tick(); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/headerFilter.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/headerFilter.tests.js index b07ad72b49ec..dcccc90ed77c 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/headerFilter.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/headerFilter.tests.js @@ -4193,7 +4193,7 @@ QUnit.module('Header Filter with real columnsController', { }]; this.options.dataSource = { load: spy }; this.setupDataGrid(); - spy.reset(); + spy.resetHistory(); // act this.columnOption('date', 'filterValues', [['date', '=', '2018/01/01']]); diff --git a/testing/tests/DevExpress.ui.widgets.editors/calendar.tests.js b/testing/tests/DevExpress.ui.widgets.editors/calendar.tests.js index b5cdf13d2878..2628435da007 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/calendar.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/calendar.tests.js @@ -2284,7 +2284,7 @@ QUnit.module('disabledDates option', { }); fx.off = false; - animationSpy.reset(); + animationSpy.resetHistory(); const lastAvailableDateOnJanuary = new Date(2020, 0, 19); const firstAvailableDateOnFebruary = new Date(2020, 1, 20); @@ -2339,7 +2339,7 @@ QUnit.module('disabledDates option', { }); fx.off = false; - animationSpy.reset(); + animationSpy.resetHistory(); this.$element.trigger('focusin'); @@ -2577,7 +2577,7 @@ QUnit.module('disabledDates option', { }); fx.off = false; - animationSpy.reset(); + animationSpy.resetHistory(); this.$element.trigger('focusin'); @@ -2703,7 +2703,7 @@ QUnit.module('disabledDates option', { }); fx.off = false; - animationSpy.reset(); + animationSpy.resetHistory(); this.$element.trigger('focusin'); @@ -2739,7 +2739,7 @@ QUnit.module('disabledDates option', { }); fx.off = false; - animationSpy.reset(); + animationSpy.resetHistory(); this.$element.trigger('focusin'); diff --git a/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js b/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js index 8e5750e830b2..cf61cee8d45d 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js @@ -745,9 +745,9 @@ QUnit.module('custom uploading', moduleConfig, () => { assert.strictEqual(onUploadedSpy.callCount, 1, 'uploaded event raised'); assert.strictEqual(onAbortedSpy.callCount, 0, 'upload aborted event is not called'); - uploadChunkSpy.reset(); - onUploadedSpy.reset(); - onAbortedSpy.reset(); + uploadChunkSpy.resetHistory(); + onUploadedSpy.resetHistory(); + onAbortedSpy.resetHistory(); fileUploader.option('value', []); @@ -1606,8 +1606,8 @@ QUnit.module('allowCanceling', moduleConfig, () => { assert.ok(onUploadAbortedSpy.calledOnce, 'upload is cancelled'); assert.ok(onUploadedSpy.notCalled, 'upload is not finished'); - onUploadAbortedSpy.reset(); - onUploadedSpy.reset(); + onUploadAbortedSpy.resetHistory(); + onUploadedSpy.resetHistory(); let $fileStatusMessage = $element.find('.' + FILEUPLOADER_FILE_STATUS_MESSAGE_CLASS); let $progressBar = $element.find('.dx-progressbar'); @@ -2979,7 +2979,7 @@ QUnit.module('uploading events', moduleConfig, () => { assert.ok(onUploadedSpy.calledOnce, 'file 1 uploaded'); assert.ok(onUploadCompletedSpy.notCalled, 'onUploadCompletedSpy was not called'); - onUploadedSpy.reset(); + onUploadedSpy.resetHistory(); this.clock.tick(this.xhrMock.LOAD_TIMEOUT); this.clock.tick(FILEUPLOADER_AFTER_LOAD_DELAY); @@ -3013,7 +3013,7 @@ QUnit.module('uploading events', moduleConfig, () => { assert.ok(onUploadAbortedSpy.notCalled, 'none files was aborted'); assert.ok(onUploadCompletedSpy.notCalled, 'onUploadCompletedSpy was not called'); - onUploadedSpy.reset(); + onUploadedSpy.resetHistory(); $element.dxFileUploader('instance').abortUpload(); this.clock.tick(this.xhrMock.LOAD_TIMEOUT * 2); this.clock.tick(FILEUPLOADER_AFTER_LOAD_DELAY); @@ -3055,7 +3055,7 @@ QUnit.module('uploading events', moduleConfig, () => { assert.ok(onUploadErrorSpy.notCalled, 'none files has error'); assert.ok(onUploadCompletedSpy.notCalled, 'onUploadCompletedSpy was not called'); - onUploadedSpy.reset(); + onUploadedSpy.resetHistory(); this.clock.tick(1000); this.clock.tick(this.xhrMock.LOAD_TIMEOUT); this.clock.tick(FILEUPLOADER_AFTER_LOAD_DELAY); @@ -3092,8 +3092,8 @@ QUnit.module('uploading events', moduleConfig, () => { assert.ok(onUploadedSpy.calledOnce, 'file 1 was uploaded'); assert.ok(onUploadCompletedSpy.calledOnce, 'onUploadCompletedSpy was called in right time'); - onUploadedSpy.reset(); - onUploadCompletedSpy.reset(); + onUploadedSpy.resetHistory(); + onUploadCompletedSpy.resetHistory(); this.clock.tick(1000); this.clock.tick(this.xhrMock.LOAD_TIMEOUT); this.clock.tick(FILEUPLOADER_AFTER_LOAD_DELAY); @@ -3139,7 +3139,7 @@ QUnit.module('uploading events', moduleConfig, () => { assert.ok(onUploadErrorSpy.notCalled, 'none files has error'); assert.ok(onUploadCompletedSpy.notCalled, 'onUploadCompletedSpy was not called'); - onUploadedSpy.reset(); + onUploadedSpy.resetHistory(); this.clock.tick(1000); this.clock.tick(this.xhrMock.LOAD_TIMEOUT); this.clock.tick(FILEUPLOADER_AFTER_LOAD_DELAY); @@ -3591,8 +3591,8 @@ QUnit.module('Drag and drop', moduleConfig, () => { assert.ok(onDropZoneLeaveSpy.calledOnce, 'dropZoneLeave called on first dropZone'); assert.strictEqual(onDropZoneLeaveSpy.args[0][0].dropZoneElement, customDropZone1[0], 'dropZone argument is correct'); - onDropZoneEnterSpy.reset(); - onDropZoneLeaveSpy.reset(); + onDropZoneEnterSpy.resetHistory(); + onDropZoneLeaveSpy.resetHistory(); triggerDragEvent(customDropZone2, 'dragenter'); assert.ok(onDropZoneEnterSpy.calledOnce, 'dropZoneEnter called on second dropZone'); @@ -3749,7 +3749,7 @@ QUnit.module('files selection', moduleConfig, () => { this.clock.tick(this.xhrMock.LOAD_TIMEOUT * 2); assert.ok(uploadedSpy.calledTwice, 'two files are loaded'); - uploadedSpy.reset(); + uploadedSpy.resetHistory(); simulateFileChoose($fileUploader, files); instance.upload(); diff --git a/testing/tests/DevExpress.ui.widgets.editors/tagBox.tests.js b/testing/tests/DevExpress.ui.widgets.editors/tagBox.tests.js index 1c4c0c91cf96..fc37a657bb86 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/tagBox.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/tagBox.tests.js @@ -4966,7 +4966,7 @@ QUnit.module('the \'fieldTemplate\' option', moduleSetup, () => { focusStateEnabled: true }); - fieldTemplateSpy.reset(); + fieldTemplateSpy.resetHistory(); keyboardMock($tagBox.find('.dx-texteditor-input')) .focus() .press('down'); diff --git a/testing/tests/DevExpress.ui.widgets.editors/validationSummary.markup.tests.js b/testing/tests/DevExpress.ui.widgets.editors/validationSummary.markup.tests.js index 811f6990510f..c717a51b9a37 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/validationSummary.markup.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/validationSummary.markup.tests.js @@ -422,7 +422,7 @@ QUnit.module('Update on validator\'s validation', { ValidationEngine.validateGroup('group1'); ValidationEngine.validateGroup('group1'); - spy.reset(); + spy.resetHistory(); validator1.validate(); assert.equal(spy.callCount, 1, 'Render of validation summary should be called only once'); diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/appointment.templates.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/appointment.templates.tests.js index 7c1185e1f139..4cf4335057fd 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/appointment.templates.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/appointment.templates.tests.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import SinonTest from 'sinon-test'; import fx from 'animation/fx'; import { DataSource } from 'data/data_source/data_source'; import { @@ -11,12 +12,14 @@ import { import 'ui/scheduler/ui.scheduler'; import 'ui/switch'; +const sinonTest = SinonTest(sinon); const { module } = QUnit; + const test = (description, callback) => { - return QUnit.test(description, sinon.test(callback)); + return QUnit.test(description, sinonTest(callback)); }; QUnit.testStart(() => initTestMarkup()); diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js index 2f6fbb1f352c..54c9bfb70565 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js @@ -1071,7 +1071,7 @@ QUnit.module('Appointments Keyboard Navigation', moduleOptions, () => { this.clock.tick(); assert.ok(focusSpy.called, 'focus is called'); - sinon.restore(); + focusSpy.restore(); eventsEngine.trigger = initialTrigger; }); diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js index b352ec60626e..f058e5645bae 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import SinonTest from 'sinon-test'; import { getWindow } from 'core/utils/window'; @@ -15,6 +16,7 @@ import { const supportedViews = ['day', 'week', 'workWeek', 'month']; // TODO: add timelines +const sinonTest = SinonTest(sinon); const { testStart, module @@ -24,7 +26,7 @@ const test = (description, callback) => { const testFunc = !isDesktopEnvironment() ? QUnit.skip : QUnit.test; - return testFunc(description, sinon.test(callback)); + return testFunc(description, sinonTest(callback)); }; testStart(() => initTestMarkup()); diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js index bc3f66d6f36d..8274868f49a4 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js @@ -1,5 +1,6 @@ import 'generic_light.css!'; import $ from 'jquery'; +import SinonTest from 'sinon-test'; import dateUtils from 'core/utils/date'; import { @@ -10,6 +11,7 @@ import { isDesktopEnvironment, } from '../../helpers/scheduler/helpers.js'; +const sinonTest = SinonTest(sinon); const { testStart, module @@ -20,7 +22,7 @@ const test = (description, callback) => { ? QUnit.skip : QUnit.test; - return testFunc(description, sinon.test(callback)); + return testFunc(description, sinonTest(callback)); }; const printOffset = offset => [ offset.x >= 0 ? `offset.x: ${offset.x}` : '', diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.tests.js index adb312479f58..68c8080a0e0a 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.tests.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import SinonTest from 'sinon-test'; import { VirtualScrollingDispatcher } from 'ui/scheduler/workspaces/ui.scheduler.virtual_scrolling'; import domAdapter from 'core/dom_adapter'; import eventsEngine from 'events/core/events_engine'; @@ -7,9 +8,10 @@ import { addNamespace } from 'events/utils/index'; const { module } = QUnit; +const sinonTest = SinonTest(sinon); const test = (description, callback) => { - return QUnit.test(description, sinon.test(callback)); + return QUnit.test(description, sinonTest(callback)); }; module('Virtual Scrolling', { diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js index 3bd8fcd99052..8aa8be27cf64 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js @@ -1,3 +1,5 @@ +import SinonTest from 'sinon-test'; + import 'generic_light.css!'; import { @@ -12,13 +14,14 @@ const { testStart, module } = QUnit; +const sinonTest = SinonTest(sinon); const test = (description, callback) => { const testFunc = !isDesktopEnvironment() ? QUnit.skip : QUnit.test; - return testFunc(description, sinon.test(callback)); + return testFunc(description, sinonTest(callback)); }; const printOffset = offset => [ offset.x >= 0 ? `offset.x: ${offset.x}` : '', diff --git a/testing/tests/DevExpress.ui.widgets.treeList/dataController.tests.js b/testing/tests/DevExpress.ui.widgets.treeList/dataController.tests.js index 6e903986ffb5..2f456ef8f983 100644 --- a/testing/tests/DevExpress.ui.widgets.treeList/dataController.tests.js +++ b/testing/tests/DevExpress.ui.widgets.treeList/dataController.tests.js @@ -1203,7 +1203,7 @@ QUnit.module('Expand/Collapse nodes', { beforeEach: setupModule, afterEach: tear } }); clock.tick(30); - loadSpy.reset(); + loadSpy.resetHistory(); // act this.expandRow(1); diff --git a/testing/tests/DevExpress.ui.widgets.treeList/treeList.tests.js b/testing/tests/DevExpress.ui.widgets.treeList/treeList.tests.js index cea2a6b3d263..9fd617a66b66 100644 --- a/testing/tests/DevExpress.ui.widgets.treeList/treeList.tests.js +++ b/testing/tests/DevExpress.ui.widgets.treeList/treeList.tests.js @@ -1940,7 +1940,7 @@ QUnit.module('Scroll', defaultModuleConfig, () => { assert.equal($(treeList.getCellElement(0, 0)).text(), '0', 'first row first cell'); assert.equal($(treeList.getCellElement(1, 0)).text(), '1', 'second row first cell'); - loadSpy.reset(); + loadSpy.resetHistory(); }); // T991320 diff --git a/testing/tests/DevExpress.ui.widgets/draggable.tests.js b/testing/tests/DevExpress.ui.widgets/draggable.tests.js index f53a679c9a48..fb93a39f6f03 100644 --- a/testing/tests/DevExpress.ui.widgets/draggable.tests.js +++ b/testing/tests/DevExpress.ui.widgets/draggable.tests.js @@ -709,7 +709,7 @@ QUnit.module('Events', moduleConfig, () => { }, $('#items')); const pointer = this.pointer.down().move(0, 50); - onDragEnterSpy.reset(); + onDragEnterSpy.resetHistory(); // act pointer.move(0, 250).move(0, 50); @@ -735,7 +735,7 @@ QUnit.module('Events', moduleConfig, () => { }, $('#items')); const pointer = this.pointer.down().move(0, 300).move(0, 50); - onDragLeaveSpy.reset(); + onDragLeaveSpy.resetHistory(); // act pointer.move(0, -200); diff --git a/testing/tests/DevExpress.ui.widgets/fileManagerParts/contextMenu.tests.js b/testing/tests/DevExpress.ui.widgets/fileManagerParts/contextMenu.tests.js index a6dfc2e40b20..e97df123f4dd 100644 --- a/testing/tests/DevExpress.ui.widgets/fileManagerParts/contextMenu.tests.js +++ b/testing/tests/DevExpress.ui.widgets/fileManagerParts/contextMenu.tests.js @@ -401,7 +401,7 @@ QUnit.module('Raise context menu', moduleConfig, () => { this.clock.tick(800); this.wrapper.getContextMenuItems().eq(0).trigger('dxclick'); - spy.reset(); + spy.resetHistory(); this.clock.tick(800); const $subItems = this.wrapper.getContextMenuSubMenuItems(); diff --git a/testing/tests/DevExpress.ui.widgets/listParts/liveUpdateTests.js b/testing/tests/DevExpress.ui.widgets/listParts/liveUpdateTests.js index 3e8ff96d5497..a6f39a2a9466 100644 --- a/testing/tests/DevExpress.ui.widgets/listParts/liveUpdateTests.js +++ b/testing/tests/DevExpress.ui.widgets/listParts/liveUpdateTests.js @@ -273,7 +273,7 @@ QUnit.module('live update', { const $moreButton = $('#templated-list .dx-list-next-button > .dx-button').eq(0); $moreButton.trigger('dxclick'); - this.itemRenderedSpy.reset(); + this.itemRenderedSpy.resetHistory(); const pushData = [ { type: 'update', data: { a: 'Item 0 Updated', id: 0 }, key: 0 }, { type: 'update', data: { a: 'Item 2 Updated', id: 2 }, key: 2 }, diff --git a/testing/tests/DevExpress.viz.core/baseAxis.tests.js b/testing/tests/DevExpress.viz.core/baseAxis.tests.js index 0fb563051e1d..b7d0a2876a97 100644 --- a/testing/tests/DevExpress.viz.core/baseAxis.tests.js +++ b/testing/tests/DevExpress.viz.core/baseAxis.tests.js @@ -2154,7 +2154,7 @@ QUnit.test('T746896. Pass correct range to tick generator after syncroniztion', max: 250 }); - this.tickGeneratorSpy.reset(); + this.tickGeneratorSpy.resetHistory(); axis.createTicks(this.canvas); diff --git a/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js b/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js index 1eff3d4acb28..75f7bd07d8ed 100644 --- a/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js +++ b/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js @@ -964,7 +964,7 @@ QUnit.test('selection changed event in single mode fire only for selected elemen const item = funnel.getAllItems()[0]; item.select(true); - spy.reset(); + spy.resetHistory(); funnel.getAllItems()[1].select(true); assert.equal(spy.callCount, 2); diff --git a/testing/tests/DevExpress.viz.gauges/barGauge.tests.js b/testing/tests/DevExpress.viz.gauges/barGauge.tests.js index c4df5ae958fe..fab22bdfa03d 100644 --- a/testing/tests/DevExpress.viz.gauges/barGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/barGauge.tests.js @@ -944,7 +944,7 @@ QUnit.test('set values', function(assert) { values: [50], onDrawn: spy }); - spy.reset(); + spy.resetHistory(); gauge.values([10, '20', 30]); @@ -959,7 +959,7 @@ QUnit.test('set "values" option', function(assert) { values: [50], onDrawn: spy }); - spy.reset(); + spy.resetHistory(); gauge.option('values', [10, '20', 30]); @@ -974,7 +974,7 @@ QUnit.test('set values - scalar', function(assert) { values: [50], onDrawn: spy }); - spy.reset(); + spy.resetHistory(); gauge.values(80); @@ -989,7 +989,7 @@ QUnit.test('set values - not valid', function(assert) { values: [60, 70], onDrawn: spy }); - spy.reset(); + spy.resetHistory(); gauge.values({}); diff --git a/testing/tests/DevExpress.viz.gauges/common.tests.js b/testing/tests/DevExpress.viz.gauges/common.tests.js index 0f7c4cbe28d3..ca3b1558b4f7 100644 --- a/testing/tests/DevExpress.viz.gauges/common.tests.js +++ b/testing/tests/DevExpress.viz.gauges/common.tests.js @@ -20,7 +20,7 @@ const themeManagerModule = require('viz/gauges/theme_manager'); $('
').appendTo('#qunit-fixture'); -sinon.stub(rangeModule, 'Range', function(parameters) { +sinon.stub(rangeModule, 'Range').callFakes(function(parameters) { return new stubRange(parameters); }); @@ -75,7 +75,7 @@ tooltipModule.Tooltip = function(parameters) { return new StubTooltip(parameters); }; -sinon.stub(axisModule, 'Axis', function(parameters) { +sinon.stub(axisModule, 'Axis').callFakes(function(parameters) { return new vizMocks.Axis(parameters); }); @@ -173,7 +173,7 @@ loadingIndicatorModule.DEBUG_set_LoadingIndicator(function(parameters) { return new vizMocks.LoadingIndicator(parameters); }); -sinon.stub(rendererModule, 'Renderer', function() { +sinon.stub(rendererModule, 'Renderer').callFakes(function() { return currentTest().renderer; }); diff --git a/testing/tests/DevExpress.viz.rangeSelector/common.part3.tests.js b/testing/tests/DevExpress.viz.rangeSelector/common.part3.tests.js index a9e05d3ef4ae..45ccd3a191d7 100644 --- a/testing/tests/DevExpress.viz.rangeSelector/common.part3.tests.js +++ b/testing/tests/DevExpress.viz.rangeSelector/common.part3.tests.js @@ -1668,7 +1668,7 @@ QUnit.test('Render. Container size is changed - redraw widget', function(assert) const widget = this.createWidget({ onDrawn: spy }); setHeight(widget.$element(), getHeight(widget.$element()) + 1); - spy.reset(); + spy.resetHistory(); widget.render(); assert.strictEqual(spy.callCount, 1); @@ -1678,7 +1678,7 @@ QUnit.test('Render. Container size is not changed - do not redraw widget', funct const spy = sinon.spy(); const widget = this.createWidget({ onDrawn: spy }); - spy.reset(); + spy.resetHistory(); widget.render(); assert.strictEqual(spy.callCount, 0); diff --git a/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js b/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js index e80cd6fc712f..9699ce74c7e2 100644 --- a/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js +++ b/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js @@ -110,7 +110,7 @@ QUnit.test('Trigger error on invalid source data', function(assert) { const spy = sinon.spy(); invalidDataSets.forEach(function(data, dataIdx) { - spy.reset(); + spy.resetHistory(); createSankey({ layoutBuilder: layoutBuilder, dataSource: data, @@ -131,7 +131,7 @@ QUnit.test('Trigger "cycle detected" error on invalid source data', function(ass const spy = sinon.spy(); invalidDataSets.forEach(function(data) { - spy.reset(); + spy.resetHistory(); createSankey({ layoutBuilder: layoutBuilder, dataSource: data, diff --git a/testing/tests/DevExpress.viz.treeMap/drilldown.tests.js b/testing/tests/DevExpress.viz.treeMap/drilldown.tests.js index e537ff261597..000c5573078f 100644 --- a/testing/tests/DevExpress.viz.treeMap/drilldown.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/drilldown.tests.js @@ -55,7 +55,7 @@ QUnit.test('Drilldown to sibling', function(assert) { }); widget.getRootNode().getChild(0).drillDown(); this.renderer.simpleRect.reset(); - spy.reset(); + spy.resetHistory(); widget.getRootNode().getChild(1).drillDown(); @@ -106,7 +106,7 @@ QUnit.test('Reset drilldown', function(assert) { }); widget.getRootNode().getChild(0).getChild(0).drillDown(); this.renderer.simpleRect.reset(); - spy.reset(); + spy.resetHistory(); widget.resetDrillDown(); @@ -135,7 +135,7 @@ QUnit.test('Drill up', function(assert) { }); widget.getRootNode().getChild(0).getChild(0).drillDown(); this.renderer.simpleRect.reset(); - spy.reset(); + spy.resetHistory(); widget.drillUp(); diff --git a/testing/tests/DevExpress.viz.treeMap/hover.tests.js b/testing/tests/DevExpress.viz.treeMap/hover.tests.js index e44d8759ac2c..44fa8eeb72be 100644 --- a/testing/tests/DevExpress.viz.treeMap/hover.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/hover.tests.js @@ -106,7 +106,7 @@ QUnit.test('Turn tile hover on when another tile is hovered', function(assert) { onHoverChanged: spy }).getRootNode(); root.getChild(1).setHover(); - spy.reset(); + spy.resetHistory(); root.getChild(0).setHover(); @@ -200,7 +200,7 @@ QUnit.test('Turn group hover off', function(assert) { inner.smartAttr.reset(); tile1.smartAttr.reset(); tile2.smartAttr.reset(); - spy.reset(); + spy.resetHistory(); widget.clearHover(); @@ -238,7 +238,7 @@ QUnit.test('Turn group hover on when another group is hovered', function(assert) onHoverChanged: spy }).getRootNode(); root.getChild(1).setHover(); - spy.reset(); + spy.resetHistory(); root.getChild(0).setHover(); @@ -367,7 +367,7 @@ QUnit.test('Change hover mode', function(assert) { onHoverChanged: spy }); widget.getRootNode().getChild(0).setHover(); - spy.reset(); + spy.resetHistory(); widget.option('hoverEnabled', false); @@ -383,7 +383,7 @@ QUnit.test('Change hover mode of the group', function(assert) { onHoverChanged: spy }); widget.getRootNode().getChild(0).setHover(); - spy.reset(); + spy.resetHistory(); widget.option({ group: { hoverEnabled: false } }); diff --git a/testing/tests/DevExpress.viz.treeMap/selection.tests.js b/testing/tests/DevExpress.viz.treeMap/selection.tests.js index d627bb0167df..2469914037a3 100644 --- a/testing/tests/DevExpress.viz.treeMap/selection.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/selection.tests.js @@ -114,7 +114,7 @@ QUnit.test('Unselect group', function(assert) { root.getChild(0).select(true); outer.attr.reset(); inner.smartAttr.reset(); - spy.reset(); + spy.resetHistory(); root.getChild(0).select(false); @@ -132,7 +132,7 @@ QUnit.test('Select tile when another one is selected', function(assert) { onSelectionChanged: spy }).getRootNode(); root.getChild(0).select(true); - spy.reset(); + spy.resetHistory(); root.getChild(1).select(true); @@ -151,7 +151,7 @@ QUnit.test('Select tile when another one is selected - multiple selection', func selectionMode: 'MULTIPLE' }).getRootNode(); root.getChild(0).select(true); - spy.reset(); + spy.resetHistory(); root.getChild(1).select(true); @@ -183,7 +183,7 @@ QUnit.test('Clear selection', function(assert) { const root = widget.getRootNode(); root.getChild(0).select(true); root.getChild(1).select(true); - spy.reset(); + spy.resetHistory(); widget.clearSelection(); @@ -204,7 +204,7 @@ QUnit.test('Change from multiple to single', function(assert) { const root = widget.getRootNode(); root.getChild(1).select(true); root.getChild(0).select(true); - spy.reset(); + spy.resetHistory(); widget.option('selectionMode', 'SINGLE'); @@ -223,7 +223,7 @@ QUnit.test('Change from multiple to none', function(assert) { const root = widget.getRootNode(); root.getChild(0).select(true); root.getChild(1).select(true); - spy.reset(); + spy.resetHistory(); widget.option('selectionMode', 'NONE'); diff --git a/testing/tests/DevExpress.viz.treeMap/tracker.tests.js b/testing/tests/DevExpress.viz.treeMap/tracker.tests.js index 06b93bbd752d..b2e95bbd9c2d 100644 --- a/testing/tests/DevExpress.viz.treeMap/tracker.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/tracker.tests.js @@ -199,7 +199,7 @@ QUnit.test('Hover off', function(assert) { onHoverChanged: spy }); this.trigger(pointerEvents.move, 2); - spy.reset(); + spy.resetHistory(); this.trigger(pointerEvents.move, 1); @@ -231,7 +231,7 @@ QUnit.test('Hovering same element several times does not cause hover changes', f onHoverChanged: spy }); this.trigger(pointerEvents.move, 2); - spy.reset(); + spy.resetHistory(); this.trigger(pointerEvents.move, 2); this.trigger(pointerEvents.move, 2); @@ -247,7 +247,7 @@ QUnit.test('Hovering unknown element turns current hover off', function(assert) onHoverChanged: spy }); this.trigger(pointerEvents.move, 2); - spy.reset(); + spy.resetHistory(); this.trigger(pointerEvents.move, 'test'); From 153a712b5a933e5f13777f79e503c088979a351d Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 11:09:10 +0300 Subject: [PATCH 02/38] use sinon 11.1.2 instead of 12.1 to fix sinon-test peer dependency --- package-lock.json | 95 ++++++++++++++++++++++------------------------- package.json | 2 +- 2 files changed, 46 insertions(+), 51 deletions(-) diff --git a/package-lock.json b/package-lock.json index 47072b77777e..c7953df53dc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -149,7 +149,7 @@ "run-sequence": "^1.1.5", "sass": "1.43.5", "shelljs": "^0.8.3", - "sinon": "^12.0.1", + "sinon": "^11.1.2", "sinon-test": "^3.1.1", "staged-git-files": "^1.2.0", "string-replace-loader": "^3.0.3", @@ -2807,9 +2807,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", "dev": true, "dependencies": { "@sinonjs/commons": "^1.7.0" @@ -20546,15 +20546,6 @@ "path-to-regexp": "^1.7.0" } }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, "node_modules/node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -25000,13 +24991,13 @@ "dev": true }, "node_modules/sinon": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-12.0.1.tgz", - "integrity": "sha512-iGu29Xhym33ydkAT+aNQFBINakjq69kKO6ByPvTsm3yyIACfyQttRTP03aBP/I8GfhFmLzrnKwNNkr0ORb1udg==", + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", + "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", "dev": true, "dependencies": { "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^8.1.0", + "@sinonjs/fake-timers": "^7.1.2", "@sinonjs/samsam": "^6.0.2", "diff": "^5.0.0", "nise": "^5.1.0", @@ -33031,9 +33022,9 @@ } }, "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" @@ -33825,7 +33816,8 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "6.2.0", @@ -33876,13 +33868,15 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true + "dev": true, + "requires": {} }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "align-text": { "version": "0.1.4", @@ -34713,7 +34707,8 @@ "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true + "dev": true, + "requires": {} }, "babel-eslint": { "version": "10.1.0", @@ -35785,7 +35780,8 @@ "version": "4.6.1", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", - "dev": true + "dev": true, + "requires": {} }, "bowser": { "version": "2.11.0", @@ -36429,7 +36425,8 @@ "version": "7.5.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true + "dev": true, + "requires": {} } } }, @@ -36483,7 +36480,8 @@ "version": "40.0.0", "resolved": "https://registry.npmjs.org/cldr-numbers-full/-/cldr-numbers-full-40.0.0.tgz", "integrity": "sha512-NE5uKg0JDAcg5Pn6MKDg50cAKkUQtMd+mOxGPfDZVL+JRUHimQFvY/21KuzLBTI1i1IDbhEF9so/iXMmUJugPg==", - "dev": true + "dev": true, + "requires": {} }, "cldrjs": { "version": "0.5.5", @@ -38512,7 +38510,8 @@ "version": "0.1.40", "resolved": "https://registry.npmjs.org/eslint-config-devextreme/-/eslint-config-devextreme-0.1.40.tgz", "integrity": "sha512-Sk7c6EOZVTXwkkszUuYBg4l3AIBzji+ZCEBd8yYuNLdNPwj9AqNSstPwcC++CWwPnUwQBnA0Q3/05RjtyWfSbA==", - "dev": true + "dev": true, + "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.6", @@ -38691,7 +38690,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jest-formatting/-/eslint-plugin-jest-formatting-1.2.0.tgz", "integrity": "sha512-EqsbDByAtdQa5vEhJFUFMqTW7fghN0Qhb8oulM7R3j9+9xRuMsQKCPjWvCIxpWhl3SJJmlxBC25o1pUXiBHaAw==", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-jsx-a11y": { "version": "6.5.1", @@ -44819,7 +44819,8 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "24.9.0", @@ -45391,7 +45392,8 @@ "version": "3.5.14", "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.5.14.tgz", "integrity": "sha512-Qm11yQ2hTvM2iZ7MpWLpeDGR+uQlI8bcOsMjWYXon9mTo+UehMqp5xdQk6JpVSNUN6+rnJnpS5mkqelv4ncd5g==", - "dev": true + "dev": true, + "requires": {} }, "jsprim": { "version": "1.4.2", @@ -47556,17 +47558,6 @@ "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - } } }, "node-emoji": { @@ -49128,7 +49119,8 @@ "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true + "dev": true, + "requires": {} }, "postcss-value-parser": { "version": "4.2.0", @@ -51151,13 +51143,13 @@ } }, "sinon": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-12.0.1.tgz", - "integrity": "sha512-iGu29Xhym33ydkAT+aNQFBINakjq69kKO6ByPvTsm3yyIACfyQttRTP03aBP/I8GfhFmLzrnKwNNkr0ORb1udg==", + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", + "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", "dev": true, "requires": { "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^8.1.0", + "@sinonjs/fake-timers": "^7.1.2", "@sinonjs/samsam": "^6.0.2", "diff": "^5.0.0", "nise": "^5.1.0", @@ -51191,7 +51183,8 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/sinon-test/-/sinon-test-3.1.1.tgz", "integrity": "sha512-1sM7QhfTGHXU8umSSyDyIQuAwPkUX2I0JK5WFcjzhChNxDYlVw5Vj0fGoJAaS/FvywKmN2U4YgGC/XqDKhYOTA==", - "dev": true + "dev": true, + "requires": {} }, "sisteransi": { "version": "1.0.5", @@ -52462,7 +52455,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", - "dev": true + "dev": true, + "requires": {} } } }, @@ -54987,7 +54981,8 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true + "dev": true, + "requires": {} }, "schema-utils": { "version": "3.1.1", diff --git a/package.json b/package.json index ef46d11cc876..cb6fe5473ab6 100644 --- a/package.json +++ b/package.json @@ -164,7 +164,7 @@ "run-sequence": "^1.1.5", "sass": "1.43.5", "shelljs": "^0.8.3", - "sinon": "^12.0.1", + "sinon": "^11.1.2", "sinon-test": "^3.1.1", "staged-git-files": "^1.2.0", "string-replace-loader": "^3.0.3", From a51015f2632120b12b8a3054c1766470e8fc663e Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 11:28:27 +0300 Subject: [PATCH 03/38] imageCreator: use callsFake --- .../DevExpress.exporter/imageCreator.tests.js | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/testing/tests/DevExpress.exporter/imageCreator.tests.js b/testing/tests/DevExpress.exporter/imageCreator.tests.js index 9d0ea210ea49..5a0f7920953f 100644 --- a/testing/tests/DevExpress.exporter/imageCreator.tests.js +++ b/testing/tests/DevExpress.exporter/imageCreator.tests.js @@ -26,7 +26,7 @@ function setupCanvasStub(drawnElements, paths) { sinon.spy(exporter.image.creator, '_createCanvas'); // image - sinon.stub(prototype, 'drawImage', function(img, x, y, width, height) { + sinon.stub(prototype, 'drawImage').callsFake(function(img, x, y, width, height) { drawnElements.push({ type: 'image', args: { @@ -44,7 +44,7 @@ function setupCanvasStub(drawnElements, paths) { sinon.spy(canvasPrototype, 'toDataURL'); // stroke, fill - sinon.stub(prototype, 'stroke', function() { + sinon.stub(prototype, 'stroke').callsFake(function() { drawnElements.push({ type: 'stroke', style: { @@ -55,7 +55,7 @@ function setupCanvasStub(drawnElements, paths) { } }); }); - sinon.stub(prototype, 'fill', function() { + sinon.stub(prototype, 'fill').callsFake(function() { const style = { fillStyle: this.fillStyle, globalAlpha: this.globalAlpha @@ -75,7 +75,7 @@ function setupCanvasStub(drawnElements, paths) { style: style }); }); - sinon.stub(prototype, 'fillRect', function(x, y, w, h) { + sinon.stub(prototype, 'fillRect').callsFake(function(x, y, w, h) { drawnElements.push({ type: 'fillRect', args: { @@ -92,24 +92,24 @@ function setupCanvasStub(drawnElements, paths) { }); // paths, rect, circle - sinon.stub(prototype, 'beginPath', function() { + sinon.stub(prototype, 'beginPath').callsFake(function() { paths.push([]); }); - sinon.stub(prototype, 'moveTo', function(x, y) { + sinon.stub(prototype, 'moveTo').callsFake(function(x, y) { paths[paths.length - 1].push({ action: 'M', x: x, y: y }); }); - sinon.stub(prototype, 'lineTo', function(x, y) { + sinon.stub(prototype, 'lineTo').callsFake(function(x, y) { paths[paths.length - 1].push({ action: 'L', x: x, y: y }); }); - sinon.stub(prototype, 'bezierCurveTo', function(x1, y1, x2, y2, x, y) { + sinon.stub(prototype, 'bezierCurveTo').callsFake(function(x1, y1, x2, y2, x, y) { paths[paths.length - 1].push({ action: 'C', x1: x1, @@ -120,7 +120,7 @@ function setupCanvasStub(drawnElements, paths) { y: y }); }); - sinon.stub(prototype, 'arc', function(x, y, r, sa, ea, c) { + sinon.stub(prototype, 'arc').callsFake(function(x, y, r, sa, ea, c) { drawnElements.push({ type: 'arc', args: { @@ -146,12 +146,12 @@ function setupCanvasStub(drawnElements, paths) { }); } }); - sinon.stub(prototype, 'closePath', function() { + sinon.stub(prototype, 'closePath').callsFake(function() { paths[paths.length - 1].push({ action: 'Z' }); }); - sinon.stub(prototype, 'rect', function(x, y, width, height) { + sinon.stub(prototype, 'rect').callsFake(function(x, y, width, height) { drawnElements.push({ type: 'rect', args: { @@ -163,7 +163,7 @@ function setupCanvasStub(drawnElements, paths) { style: {} }); }); - sinon.stub(prototype, 'arcTo', function(x1, y1, x2, y2, radius) { + sinon.stub(prototype, 'arcTo').callsFake(function(x1, y1, x2, y2, radius) { drawnElements.push({ action: 'arcTo', args: { @@ -175,7 +175,7 @@ function setupCanvasStub(drawnElements, paths) { }); }); - sinon.stub(prototype, 'createLinearGradient', function(x0, y0, x1, y1) { + sinon.stub(prototype, 'createLinearGradient').callsFake(function(x0, y0, x1, y1) { const addColorStop = sinon.spy(); drawnElements.push({ type: 'linearGradient', @@ -223,7 +223,7 @@ function setupCanvasStub(drawnElements, paths) { }); // texts - sinon.stub(prototype, 'fillText', function() { + sinon.stub(prototype, 'fillText').callsFake(function() { const tempFont = this.font.replace(/px\s/g, 'px__'); const fontParts = tempFont.split('__'); const style = { @@ -252,7 +252,7 @@ function setupCanvasStub(drawnElements, paths) { }); }); - sinon.stub(prototype, 'strokeText', function() { + sinon.stub(prototype, 'strokeText').callsFake(function() { const tempFont = this.font.replace(/px\s/g, 'px__'); const fontParts = tempFont.split('__'); const style = { @@ -289,7 +289,7 @@ function setupCanvasStub(drawnElements, paths) { sinon.stub(prototype, 'clip'); sinon.stub(prototype, 'save'); sinon.stub(prototype, 'restore'); - sinon.stub(prototype, 'createPattern', function() { + sinon.stub(prototype, 'createPattern').callsFake(function() { drawnElements.push({ type: 'pattern' }); @@ -520,7 +520,7 @@ QUnit.module('Svg to canvas', { stubGetComputedStyle: function(testElement, testStyle) { const getComputedStyle = window.getComputedStyle; - this.getComputedStyle = sinon.stub(window, 'getComputedStyle', function(element) { + this.getComputedStyle = sinon.stub(window, 'getComputedStyle').callsFake(function(element) { if(element === testElement) { return testStyle; } From da090bccdaf44f9f7888363aeeee4c18f315ef76 Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 11:51:42 +0300 Subject: [PATCH 04/38] try to use callsFake everywhere --- testing/helpers/fileManagerHelpers.js | 2 +- .../tests/DevExpress.core/utils.ajax.tests.js | 2 +- .../utils.date_serialization.tests.js | 2 +- .../exceljsParts/exceljs.dataGrid.tests.js | 4 ++-- .../DevExpress.exporter/pdfCreator.tests.js | 8 +++++-- .../DevExpress.exporter/svgCreator.tests.js | 2 +- .../eventsEngine.tests.js | 4 ++-- .../DevExpress.ui.events/feedback.tests.js | 2 +- .../tests/DevExpress.ui.events/hover.tests.js | 2 +- .../dataController.tests.js | 2 +- .../exportController.tests.js | 2 +- .../gridView.tests.js | 2 +- .../fileUploader.tests.js | 2 +- .../numberBoxParts/common.tests.js | 2 +- .../tagBox.tests.js | 2 +- .../textEditorParts/mask.tests.js | 2 +- .../dataController.tests.js | 4 ++-- .../dataSource_bundled.tests.js | 4 ++-- .../pivotGrid.tests.js | 8 +++---- .../store.xmla.common.tests.js | 2 +- .../store.xmla.tests.js | 2 +- .../integration.agenda.tests.js | 2 +- ...integration.multiWeekAppointments.tests.js | 4 ++-- .../layoutManager.tests.js | 2 +- .../recurrence.tests.js | 6 ++--- .../DevExpress.ui.widgets/drawer.tests.js | 4 ++-- .../fileManagerParts/arrayProvider.tests.js | 2 +- .../fileManagerParts/editingEvents.tests.js | 2 +- .../DevExpress.ui.widgets/overlay.tests.js | 2 +- .../DevExpress.ui.widgets/toolbar.tests.js | 4 ++-- .../DevExpress.utils/utils.caret.tests.js | 2 +- .../chart.part1.tests.js | 2 +- .../chart.part3.tests.js | 2 +- .../chart.part4.tests.js | 20 ++++++++--------- .../chart.part7.tests.js | 2 +- .../DevExpress.viz.charts/chart.tests.js | 14 ++++++------ .../chartAxisDrawing.tests.js | 6 ++--- .../chartParts/commons.js | 14 ++++++------ .../DevExpress.viz.charts/chartSync.tests.js | 22 +++++++++---------- .../equalPieSize.tests.js | 2 +- .../DevExpress.viz.charts/pieChart.tests.js | 16 +++++++------- .../DevExpress.viz.charts/polarChart.tests.js | 18 +++++++-------- .../DevExpress.viz.charts/scrollBar.tests.js | 2 +- .../areaSeries.tests.js | 2 +- .../barSeries.tests.js | 4 ++-- .../basePoint.tests.js | 6 ++--- .../baseSeries.tests.js | 12 +++++----- .../bubbleSeries.tests.js | 2 +- .../financialPoint.tests.js | 2 +- .../financialSeries.tests.js | 2 +- .../lineSeries.tests.js | 4 ++-- .../pieSeries.tests.js | 2 +- .../polarPoint.tests.js | 2 +- .../rangeSeries.tests.js | 6 ++--- .../scatterSeries.tests.js | 2 +- .../axesTicksGeneration.tests.js | 2 +- .../DevExpress.viz.core/axisDrawing.tests.js | 4 ++-- .../axisFormatting.tests.js | 4 ++-- .../DevExpress.viz.core/baseAxis.tests.js | 6 ++--- .../DevExpress.viz.core/baseWidget.tests.js | 6 ++--- .../DevExpress.viz.core/polarAxes.tests.js | 4 ++-- .../DevExpress.viz.core/tooltip.tests.js | 4 ++-- .../tests/DevExpress.viz.core/xyAxes.tests.js | 4 ++-- .../commonParts/common.js | 2 +- .../commonParts/label.js | 2 +- .../funnel.tracker.tests.js | 2 +- .../barGauge_new.tests.js | 2 +- .../circularGauge.tests.js | 2 +- .../linearGauge.tests.js | 2 +- .../rangeContainer.tests.js | 2 +- .../common_new.tests.js | 2 +- .../Renderer.tests.js | 2 +- .../SvgElement.tests.js | 2 +- .../commonParts/common.js | 2 +- .../DevExpress.viz.sparklines/bullet.tests.js | 2 +- .../sparkline.tests.js | 8 +++---- 76 files changed, 164 insertions(+), 160 deletions(-) diff --git a/testing/helpers/fileManagerHelpers.js b/testing/helpers/fileManagerHelpers.js index 8b87909bcf83..803ad4ef605e 100644 --- a/testing/helpers/fileManagerHelpers.js +++ b/testing/helpers/fileManagerHelpers.js @@ -929,7 +929,7 @@ export const createUploadInfo = (file, chunkIndex, customData, chunkSize) => { export const stubFileReader = object => { if(!(object['_createFileReader'].restore && object['_createFileReader'].restore.sinon)) { - sinon.stub(object, '_createFileReader', () => new FileReaderMock()); + sinon.stub(object, '_createFileReader').callsFake(() => new FileReaderMock()); } }; diff --git a/testing/tests/DevExpress.core/utils.ajax.tests.js b/testing/tests/DevExpress.core/utils.ajax.tests.js index a698853e4d63..32ec0cc415b1 100644 --- a/testing/tests/DevExpress.core/utils.ajax.tests.js +++ b/testing/tests/DevExpress.core/utils.ajax.tests.js @@ -294,7 +294,7 @@ QUnit.test('Jsonp request (same domain)', function(assert) { QUnit.test('Send data with request (jsonp)', function(assert) { - const random = sinon.stub(Math, 'random', function() { + const random = sinon.stub(Math, 'random').callsFake(function() { return 0.5555555555; }); diff --git a/testing/tests/DevExpress.core/utils.date_serialization.tests.js b/testing/tests/DevExpress.core/utils.date_serialization.tests.js index ce57d94fb5bb..496f272b2b16 100644 --- a/testing/tests/DevExpress.core/utils.date_serialization.tests.js +++ b/testing/tests/DevExpress.core/utils.date_serialization.tests.js @@ -112,7 +112,7 @@ QUnit.test('serialization ISO8601 dates', function(assert) { let timezoneOffset = -180; - sinon.stub(date, 'getTimezoneOffset', function() { + sinon.stub(date, 'getTimezoneOffset').callsFake(function() { return timezoneOffset; }); diff --git a/testing/tests/DevExpress.exporter/exceljsParts/exceljs.dataGrid.tests.js b/testing/tests/DevExpress.exporter/exceljsParts/exceljs.dataGrid.tests.js index d11653aa8c7a..ed452903ae48 100644 --- a/testing/tests/DevExpress.exporter/exceljsParts/exceljs.dataGrid.tests.js +++ b/testing/tests/DevExpress.exporter/exceljsParts/exceljs.dataGrid.tests.js @@ -46,7 +46,7 @@ const moduleConfig = { beforeEach: function() { this.worksheet = new ExcelJS.Workbook().addWorksheet('Test sheet'); this.customizeCellCallCount = 0; - this.stub = sinon.stub(errors, 'log', () => { + this.stub = sinon.stub(errors, 'log').callsFake(() => { QUnit.assert.strictEqual(true, false, 'error.log should not be called'); }); @@ -6449,7 +6449,7 @@ QUnit.module('Deprecated warnings', moduleConfig, () => { QUnit.test('CustomizeCell handler - warnings when \'cell\' field is used', function(assert) { assert.expect(4); this.stub.restore(); - this.stub = sinon.stub(errors, 'log', () => { + this.stub = sinon.stub(errors, 'log').callsFake(() => { assert.deepEqual(errors.log.lastCall.args, [ 'W0003', 'CustomizeCell handler argument', diff --git a/testing/tests/DevExpress.exporter/pdfCreator.tests.js b/testing/tests/DevExpress.exporter/pdfCreator.tests.js index 5429d21ed46a..20bf24206c47 100644 --- a/testing/tests/DevExpress.exporter/pdfCreator.tests.js +++ b/testing/tests/DevExpress.exporter/pdfCreator.tests.js @@ -13,7 +13,9 @@ const contentTestEnv = { pdfCreator.set_getBase64(function(data) { return data; }); pdfCreator.set_getCurDate(function() { return '_test_date_'; }); const that = this; - sinon.stub(imageCreator, 'getImageData', function(markup) { const def = $.Deferred(); def.resolve(that.imageDataSample || '_test_' + markup + '_string_'); return def; }); + sinon.stub(imageCreator, 'getImageData').callsFake(function(markup) { + const def = $.Deferred(); def.resolve(that.imageDataSample || '_test_' + markup + '_string_'); return def; + }); }, afterEach: function() { pdfCreator.restore_getBlob(); @@ -133,7 +135,9 @@ QUnit.module('Export', { beforeEach: function() { pdfCreator.set_composePdfString(function() { return '_composed_string_'; }); - sinon.stub(imageCreator, 'getImageData', function(markup) { const def = $.Deferred(); def.resolve(''); return def; }); + sinon.stub(imageCreator, 'getImageData').callsFake(function(markup) { + const def = $.Deferred(); def.resolve(''); return def; + }); if(isFunction(window.Blob)) { this.Blob = window.Blob; diff --git a/testing/tests/DevExpress.exporter/svgCreator.tests.js b/testing/tests/DevExpress.exporter/svgCreator.tests.js index 16a6ef8e59b8..c0568a7b07a4 100644 --- a/testing/tests/DevExpress.exporter/svgCreator.tests.js +++ b/testing/tests/DevExpress.exporter/svgCreator.tests.js @@ -6,7 +6,7 @@ const svgUtils = require('core/utils/svg'); function setupCanvasStub() { // Blob - isFunction(Blob) && sinon.stub(window, 'Blob', function(arrayBuffer, options) { + isFunction(Blob) && sinon.stub(window, 'Blob').callsFake(function(arrayBuffer, options) { return { arrayBuffer: arrayBuffer, options: options diff --git a/testing/tests/DevExpress.ui.events/eventsEngine.tests.js b/testing/tests/DevExpress.ui.events/eventsEngine.tests.js index 322b78017fd2..477d11cf7696 100644 --- a/testing/tests/DevExpress.ui.events/eventsEngine.tests.js +++ b/testing/tests/DevExpress.ui.events/eventsEngine.tests.js @@ -386,7 +386,7 @@ QUnit.test('On/trigger/off event listeners', function(assert) { }); QUnit.test('Passive event listeners support detection, positive case', function(assert) { - const addEventListenerStub = sinon.stub(window, 'addEventListener', (name, handler, options) => { + const addEventListenerStub = sinon.stub(window, 'addEventListener').callsFake((name, handler, options) => { options.passive; }); @@ -397,7 +397,7 @@ QUnit.test('Passive event listeners support detection, positive case', function( }); QUnit.test('Passive event listeners support detection, negative case', function(assert) { - const addEventListenerStub = sinon.stub(window, 'addEventListener', (name, handler) => { + const addEventListenerStub = sinon.stub(window, 'addEventListener').callsFake((name, handler) => { }); const isPassiveEventListenerSupported = eventsEngine.detectPassiveEventHandlersSupport(); diff --git a/testing/tests/DevExpress.ui.events/feedback.tests.js b/testing/tests/DevExpress.ui.events/feedback.tests.js index 19fce679177f..ca7bdd606531 100644 --- a/testing/tests/DevExpress.ui.events/feedback.tests.js +++ b/testing/tests/DevExpress.ui.events/feedback.tests.js @@ -257,7 +257,7 @@ QUnit.test('dxactive should be fired on parent element if child was active befor QUnit.module('feedback simulator', { beforeEach: function() { this.clock = sinon.useFakeTimers(); - this.isSimulator = sinon.stub(devices, 'isSimulator', function() { return true; }); + this.isSimulator = sinon.stub(devices, 'isSimulator').callsFake(function() { return true; }); }, afterEach: function() { diff --git a/testing/tests/DevExpress.ui.events/hover.tests.js b/testing/tests/DevExpress.ui.events/hover.tests.js index b6b623403384..0924e5cdb6cb 100644 --- a/testing/tests/DevExpress.ui.events/hover.tests.js +++ b/testing/tests/DevExpress.ui.events/hover.tests.js @@ -284,7 +284,7 @@ QUnit.test('prevent hover on touch device', function(assert) { }); QUnit.test('hover should be prevented in simulator', function(assert) { - sinon.stub(devices, 'isSimulator', function() { return true; }); + sinon.stub(devices, 'isSimulator').callsFake(function() { return true; }); try { let hoverStartFired = 0; diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/dataController.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/dataController.tests.js index 665d99a14b54..99ac7b0fb93f 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/dataController.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/dataController.tests.js @@ -15395,7 +15395,7 @@ QUnit.module('onOptionChanged', { const that = this; that.option.restore(); - sinon.stub(that, 'option', function(optionName, value) { + sinon.stub(that, 'option').callsFake(function(optionName, value) { if(optionName === 'paging.pageSize' && value === 3) { pageSize = that.dataController.dataSource().pageSize(); } diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/exportController.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/exportController.tests.js index 92a198ba1075..4bce153bdd11 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/exportController.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/exportController.tests.js @@ -1859,7 +1859,7 @@ QUnit.module('ExportController', { proxyUrl: 'testProxy' } }); - sinon.stub(this.exportController, 'getAction', function(arg) { + sinon.stub(this.exportController, 'getAction').callsFake(function(arg) { if(arg === 'onExporting') { return onExportingStub; } else if(arg === 'onExported') { diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/gridView.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/gridView.tests.js index e60005172abd..be895b94cb53 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/gridView.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/gridView.tests.js @@ -1781,7 +1781,7 @@ QUnit.module('Synchronize columns', { const gridView = this.createGridView(defaultOptions, { columnAutoWidth: true }); const testElement = $('
').width(300).appendTo($('#container')); - const stub = sinon.stub(this.resizingController, '_correctColumnWidths', function() { + const stub = sinon.stub(this.resizingController, '_correctColumnWidths').callsFake(function() { const $tables = gridView.element().find('.dx-datagrid-table'); assert.ok($tables.hasClass('dx-datagrid-table-fixed'), 'the best fit mode is disabled'); }); diff --git a/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js b/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js index cf61cee8d45d..492e99923187 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js @@ -3830,7 +3830,7 @@ QUnit.module('readOnly option', moduleConfig, () => { readOnly: true, uploadMode: 'useButtons' }).dxFileUploader('instance'); - sinon.stub(instance, '_selectButtonClickHandler', () => instance._selectFileDialogHandler()); + sinon.stub(instance, '_selectButtonClickHandler').callsFake(() => instance._selectFileDialogHandler()); instance._selectButtonClickHandler(); assert.strictEqual(instance._selectButtonClickHandler.returnValues[0], false, 'selectFile method not called'); diff --git a/testing/tests/DevExpress.ui.widgets.editors/numberBoxParts/common.tests.js b/testing/tests/DevExpress.ui.widgets.editors/numberBoxParts/common.tests.js index c3f9e2cc9334..e4c4f1076f9e 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/numberBoxParts/common.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/numberBoxParts/common.tests.js @@ -589,7 +589,7 @@ QUnit.module('basics', {}, () => { kb.type('11'); - sinon.stub(instance, '_inputIsInvalid', () => true); + sinon.stub(instance, '_inputIsInvalid').callsFake(() => true); try { const $clearButton = $element.find(`.${CLEAR_BUTTON_CLASS}`); diff --git a/testing/tests/DevExpress.ui.widgets.editors/tagBox.tests.js b/testing/tests/DevExpress.ui.widgets.editors/tagBox.tests.js index fc37a657bb86..6cdf07c39420 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/tagBox.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/tagBox.tests.js @@ -6727,7 +6727,7 @@ QUnit.module('maxFilterQueryLength', { }; this.stubLogger = (assert) => { - this.stub = sinon.stub(uiErrors, 'log', (warning) => { + this.stub = sinon.stub(uiErrors, 'log').callsFake((warning) => { assert.strictEqual(warning, 'W1019', 'warning is correct'); }); }; diff --git a/testing/tests/DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js b/testing/tests/DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js index 3dd48fc342b2..06cc7b519b46 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js @@ -459,7 +459,7 @@ QUnit.module('typing', moduleConfig, () => { useMaskedValue: true }); const $input = $textEditor.find(`.${TEXTEDITOR_INPUT_CLASS}`); - inputMatchesStub = sinon.stub($input.get(0), 'matches', () => true); + inputMatchesStub = sinon.stub($input.get(0), 'matches').callsFake(() => true); const textEditor = $textEditor.dxTextEditor('instance'); const keyboard = keyboardMock($input, true); diff --git a/testing/tests/DevExpress.ui.widgets.pivotGrid/dataController.tests.js b/testing/tests/DevExpress.ui.widgets.pivotGrid/dataController.tests.js index 2fc4b732fd8c..cf56bee4fcad 100644 --- a/testing/tests/DevExpress.ui.widgets.pivotGrid/dataController.tests.js +++ b/testing/tests/DevExpress.ui.widgets.pivotGrid/dataController.tests.js @@ -14,7 +14,7 @@ const moduleConfig = { const stateStoringController = sinon.createStubInstance(StateStoringController); stateStoringController.init.returns(stateStoringController); - sinon.stub(stateStoring, 'StateStoringController', function() { + sinon.stub(stateStoring, 'StateStoringController').callsFake(function() { return stateStoringController; }); @@ -4381,7 +4381,7 @@ QUnit.module('Virtual scrolling', { const VirtualScrollController = virtualScrolling.VirtualScrollController; - this.VirtualScrollController = sinon.stub(virtualScrolling, 'VirtualScrollController', function() { + this.VirtualScrollController = sinon.stub(virtualScrolling, 'VirtualScrollController').callsFake(function() { return sinon.createStubInstance(VirtualScrollController); }); diff --git a/testing/tests/DevExpress.ui.widgets.pivotGrid/dataSource_bundled.tests.js b/testing/tests/DevExpress.ui.widgets.pivotGrid/dataSource_bundled.tests.js index a07857309a9d..3bfec634236f 100644 --- a/testing/tests/DevExpress.ui.widgets.pivotGrid/dataSource_bundled.tests.js +++ b/testing/tests/DevExpress.ui.widgets.pivotGrid/dataSource_bundled.tests.js @@ -5325,11 +5325,11 @@ QUnit.module('Apply summary mode', { const that = this; defaultEnvironment.beforeEach.apply(this, arguments); - sinon.stub(summaryDisplayModes, 'applyDisplaySummaryMode', function(descriptions, data) { + sinon.stub(summaryDisplayModes, 'applyDisplaySummaryMode').callsFake(function(descriptions, data) { that.applyDisplaySummaryModePassedData = $.extend(true, {}, data); }); - sinon.stub(summaryDisplayModes, 'applyRunningTotal', function(descriptions, data) { + sinon.stub(summaryDisplayModes, 'applyRunningTotal').callsFake(function(descriptions, data) { that.applyRunningTotalPassedData = $.extend(true, {}, data); }); }, diff --git a/testing/tests/DevExpress.ui.widgets.pivotGrid/pivotGrid.tests.js b/testing/tests/DevExpress.ui.widgets.pivotGrid/pivotGrid.tests.js index b2c66c8e9c48..a78d99a55db6 100644 --- a/testing/tests/DevExpress.ui.widgets.pivotGrid/pivotGrid.tests.js +++ b/testing/tests/DevExpress.ui.widgets.pivotGrid/pivotGrid.tests.js @@ -4947,7 +4947,7 @@ QUnit.module('Tests with stubs', { that.horizontalArea.on.returns(that.horizontalArea); that.horizontalArea.off.returns(that.horizontalArea); - sinon.stub(headersArea, 'HorizontalHeadersArea', function() { + sinon.stub(headersArea, 'HorizontalHeadersArea').callsFake(function() { return that.horizontalArea; }); @@ -4960,7 +4960,7 @@ QUnit.module('Tests with stubs', { that.verticalArea.on.returns(that.verticalArea); that.verticalArea.off.returns(that.verticalArea); - sinon.stub(headersArea, 'VerticalHeadersArea', function() { + sinon.stub(headersArea, 'VerticalHeadersArea').callsFake(function() { return that.verticalArea; }); @@ -4974,7 +4974,7 @@ QUnit.module('Tests with stubs', { that.dataArea.on.returns(that.dataArea); that.dataArea.off.returns(that.dataArea); - sinon.stub(dataArea, 'DataArea', function() { + sinon.stub(dataArea, 'DataArea').callsFake(function() { return that.dataArea; }); @@ -5012,7 +5012,7 @@ QUnit.module('Tests with stubs', { that.dataController.getColumnsInfo.returns([]); that.dataController.getRowsInfo.returns([]); - sinon.stub(pivotGridDataController, 'DataController', function(options) { + sinon.stub(pivotGridDataController, 'DataController').callsFake(function(options) { const dataController = that.dataController; const dataSource = createMockDataSource(options.dataSource); diff --git a/testing/tests/DevExpress.ui.widgets.pivotGrid/store.xmla.common.tests.js b/testing/tests/DevExpress.ui.widgets.pivotGrid/store.xmla.common.tests.js index b887ee7c9f50..e71c1dd165b5 100644 --- a/testing/tests/DevExpress.ui.widgets.pivotGrid/store.xmla.common.tests.js +++ b/testing/tests/DevExpress.ui.widgets.pivotGrid/store.xmla.common.tests.js @@ -18,7 +18,7 @@ const stubsEnvironment = { this.store = new Store(this.dataSource); that.sendDeferred = $.Deferred(); - that.sendRequest = sinon.stub(pivotGridUtils, 'sendRequest', function() { + that.sendRequest = sinon.stub(pivotGridUtils).callsFake('sendRequest', function() { return that.sendDeferred; }); }, diff --git a/testing/tests/DevExpress.ui.widgets.pivotGrid/store.xmla.tests.js b/testing/tests/DevExpress.ui.widgets.pivotGrid/store.xmla.tests.js index 45c5c755b048..6698a4e15355 100644 --- a/testing/tests/DevExpress.ui.widgets.pivotGrid/store.xmla.tests.js +++ b/testing/tests/DevExpress.ui.widgets.pivotGrid/store.xmla.tests.js @@ -786,7 +786,7 @@ define(function(require) { QUnit.test('T677334. Correct parse result with empty member value', function(assert) { const send = pivotGridUtils.sendRequest; - sinon.stub(pivotGridUtils, 'sendRequest', function() { + sinon.stub(pivotGridUtils, 'sendRequest').callsFake(function() { const deferred = $.Deferred(); send.apply(this, arguments) .then(function() { diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/integration.agenda.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/integration.agenda.tests.js index 5d64247cc5fa..d47cee6ef715 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/integration.agenda.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/integration.agenda.tests.js @@ -243,7 +243,7 @@ module('Integration: Agenda', moduleConfig, () => { let appointmentIndex = 0; - sinon.stub(scheduler.instance, 'showAppointmentPopup', (rawAppointment, isNew, targetedRawAppointment) => { + sinon.stub(scheduler.instance, 'showAppointmentPopup').callsFake((rawAppointment, isNew, targetedRawAppointment) => { const expectedDate = new Date(2015, 2, 23 + appointmentIndex); expectedDate.setHours(1); diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/integration.multiWeekAppointments.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/integration.multiWeekAppointments.tests.js index 27bd23131b46..03e04fd40bb3 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/integration.multiWeekAppointments.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/integration.multiWeekAppointments.tests.js @@ -19,11 +19,11 @@ const mockWorkSpaceRendering = function(schedulerInst, cellSize, bounds) { return bounds[groupIndex]; }; - sinon.stub(schedulerInst, '_renderWorkSpace', function(groups) { + sinon.stub(schedulerInst, '_renderWorkSpace').callsFake(function(groups) { base.call(this, groups); sinon.stub(this._workSpace, 'getCellWidth').returns(cellSize); - sinon.stub(this._workSpace, 'getMaxAllowedPosition', getMaxAllowedPosition); + sinon.stub(this._workSpace, 'getMaxAllowedPosition').callsFake(getMaxAllowedPosition); }); }; diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/layoutManager.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/layoutManager.tests.js index 8e09120810ca..2eac9f2ac7a3 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/layoutManager.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/layoutManager.tests.js @@ -1816,7 +1816,7 @@ QUnit.test('Full-size appointment should not have empty class in "auto" mode', f } ); - const getHeightStub = sinon.stub(this.instance.getRenderingStrategyInstance(), '_getAppointmentDefaultHeight', function() { + const getHeightStub = sinon.stub(this.instance.getRenderingStrategyInstance(), '_getAppointmentDefaultHeight').callsFake(function() { return 18; }); diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/recurrence.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/recurrence.tests.js index 61c480133d40..0739101f427c 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/recurrence.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/recurrence.tests.js @@ -486,7 +486,7 @@ QUnit.module('Recurrences', () => { }); QUnit.test('generateDates should handle recurrence exception in long format with \'Z\', DAILY rule', function(assert) { - const recurrenceStub = sinon.stub(getRecurrenceProcessor(), '_getTimeZoneOffset', function() { + const recurrenceStub = sinon.stub(getRecurrenceProcessor(), '_getTimeZoneOffset').callsFake(function() { return new Date(2015, 4, 24).getTimezoneOffset(); }); try { @@ -553,7 +553,7 @@ QUnit.module('Recurrences', () => { }); QUnit.test('getRecurrenceString should handle objects with until', function(assert) { - const recurrenceStub = sinon.stub(getRecurrenceProcessor(), '_getTimeZoneOffset', function() { + const recurrenceStub = sinon.stub(getRecurrenceProcessor(), '_getTimeZoneOffset').callsFake(function() { return new Date(2015, 6, 9).getTimezoneOffset(); }); @@ -718,7 +718,7 @@ QUnit.module('Recurrences', () => { }); QUnit.test('getDateByAsciiString should return a valid date for yyyyMMddTHHmmssZ format', function(assert) { - const recurrenceStub = sinon.stub(getRecurrenceProcessor(), '_getTimeZoneOffset', function() { + const recurrenceStub = sinon.stub(getRecurrenceProcessor(), '_getTimeZoneOffset').callsFake(function() { return new Date(2016, 6, 11).getTimezoneOffset(); }); diff --git a/testing/tests/DevExpress.ui.widgets/drawer.tests.js b/testing/tests/DevExpress.ui.widgets/drawer.tests.js index 47785ab74611..ef5832460f3f 100644 --- a/testing/tests/DevExpress.ui.widgets/drawer.tests.js +++ b/testing/tests/DevExpress.ui.widgets/drawer.tests.js @@ -2152,7 +2152,7 @@ QUnit.module('Deprecated options', { ['shrink', 'overlap', 'push'].forEach((openedStateMode) => { QUnit.test(`warnings for deprecated 'target' option, ${openedStateMode}, target: notInitialized`, function(assert) { assert.expect(1); - this.stub = sinon.stub(errors, 'log', () => { + this.stub = sinon.stub(errors, 'log').callsFake(() => { assert.strictEqual(true, false, 'error.log should not be called'); }); @@ -2166,7 +2166,7 @@ QUnit.module('Deprecated options', { [null, undefined, '#someID'].forEach((target) => { QUnit.test(`warnings for deprecated 'target' option, openedStateMode: ${openedStateMode}, target: ${target}`, function(assert) { assert.expect(2); - this.stub = sinon.stub(errors, 'log', () => { + this.stub = sinon.stub(errors, 'log').callsFake(() => { assert.deepEqual(errors.log.lastCall.args, [ 'W0001', 'dxDrawer', diff --git a/testing/tests/DevExpress.ui.widgets/fileManagerParts/arrayProvider.tests.js b/testing/tests/DevExpress.ui.widgets/fileManagerParts/arrayProvider.tests.js index b1abbdd5cd9e..d4e076adef7f 100644 --- a/testing/tests/DevExpress.ui.widgets/fileManagerParts/arrayProvider.tests.js +++ b/testing/tests/DevExpress.ui.widgets/fileManagerParts/arrayProvider.tests.js @@ -53,7 +53,7 @@ const moduleConfig = { this.rootItem = new FileSystemItem('', true); - sinon.stub(fileSaver, 'saveAs', (fileName, format, data) => { + sinon.stub(fileSaver, 'saveAs').callsFake((fileName, format, data) => { if(fileSaver._onTestSaveAs) { fileSaver._onTestSaveAs(fileName, format, data); } diff --git a/testing/tests/DevExpress.ui.widgets/fileManagerParts/editingEvents.tests.js b/testing/tests/DevExpress.ui.widgets/fileManagerParts/editingEvents.tests.js index e2f829d61bc6..48c60bb1189d 100644 --- a/testing/tests/DevExpress.ui.widgets/fileManagerParts/editingEvents.tests.js +++ b/testing/tests/DevExpress.ui.widgets/fileManagerParts/editingEvents.tests.js @@ -42,7 +42,7 @@ const moduleConfig = { this.dialogResult = { }; const showDialog = () => new Deferred().resolve(this.dialogResult).promise(); - sinon.stub(this.fileManager._editing, '_showDialog', showDialog); + sinon.stub(this.fileManager._editing, '_showDialog').callsFake(showDialog); }, afterEach: function() { diff --git a/testing/tests/DevExpress.ui.widgets/overlay.tests.js b/testing/tests/DevExpress.ui.widgets/overlay.tests.js index faac86a95394..7d194c291cbc 100644 --- a/testing/tests/DevExpress.ui.widgets/overlay.tests.js +++ b/testing/tests/DevExpress.ui.widgets/overlay.tests.js @@ -306,7 +306,7 @@ testModule('render', moduleConfig, () => { }); test('Overlay does not fail if swatch is undefined (render before documentReady, T713615)', function(assert) { - const stub = sinon.stub(swatch, 'getSwatchContainer', () => { + const stub = sinon.stub(swatch, 'getSwatchContainer').callsFake(() => { stub.restore(); return undefined; }); diff --git a/testing/tests/DevExpress.ui.widgets/toolbar.tests.js b/testing/tests/DevExpress.ui.widgets/toolbar.tests.js index 24f82e5c9a1f..0223680dbcb5 100644 --- a/testing/tests/DevExpress.ui.widgets/toolbar.tests.js +++ b/testing/tests/DevExpress.ui.widgets/toolbar.tests.js @@ -444,7 +444,7 @@ QUnit.module('Deprecated options', { }, () => { QUnit.test('show warning if deprecated "height" option is used', function(assert) { assert.expect(2); - this.stub = sinon.stub(errors, 'log', () => { + this.stub = sinon.stub(errors, 'log').callsFake(() => { assert.deepEqual(errors.log.lastCall.args, [ 'W0001', 'dxToolbar', @@ -464,7 +464,7 @@ QUnit.module('Deprecated options', { QUnit.test('Warning messages not displaying if deprecated "height" option not used', function(assert) { assert.expect(1); - this.stub = sinon.stub(errors, 'log', () => { + this.stub = sinon.stub(errors).callsFake('log', () => { assert.strictEqual(true, false, 'error.log should not be called'); }); diff --git a/testing/tests/DevExpress.utils/utils.caret.tests.js b/testing/tests/DevExpress.utils/utils.caret.tests.js index cfad5437ab77..d8db7d5f3891 100644 --- a/testing/tests/DevExpress.utils/utils.caret.tests.js +++ b/testing/tests/DevExpress.utils/utils.caret.tests.js @@ -93,7 +93,7 @@ testModule('caret', () => { const itShouldBePrevented = !forceSetCaret && (ios || mac); const $input = $('').val('12345').appendTo('#qunit-fixture'); const otherInput = $('').appendTo('#qunit-fixture').get(0); - const getActiveElementStub = sinon.stub(domAdapter, 'getActiveElement', () => itShouldBePrevented ? otherInput : $input.get(0)); + const getActiveElementStub = sinon.stub(domAdapter, 'getActiveElement').callsFake(() => itShouldBePrevented ? otherInput : $input.get(0)); $input.focus(); const initialStartPosition = caret($input).start; diff --git a/testing/tests/DevExpress.viz.charts/chart.part1.tests.js b/testing/tests/DevExpress.viz.charts/chart.part1.tests.js index 6bd36f55efbf..1c22409c9ede 100644 --- a/testing/tests/DevExpress.viz.charts/chart.part1.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.part1.tests.js @@ -960,7 +960,7 @@ QUnit.test('handle render complete after any option changed', function(assert) { QUnit.module('drawn', $.extend({}, commons.environment, { beforeEach: function() { commons.environment.beforeEach.call(this); - sinon.stub(BaseChart.prototype, '_drawn', sinon.spy()); + sinon.stub(BaseChart.prototype, '_drawn').callsFake(sinon.spy()); }, afterEach: function() { commons.environment.afterEach.call(this); diff --git a/testing/tests/DevExpress.viz.charts/chart.part3.tests.js b/testing/tests/DevExpress.viz.charts/chart.part3.tests.js index 02ba0b485a71..95de122e6a3e 100644 --- a/testing/tests/DevExpress.viz.charts/chart.part3.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.part3.tests.js @@ -36,7 +36,7 @@ QUnit.module('dxChart Translators', $.extend({}, commons.environment, { beforeEach: function() { commons.environment.beforeEach.call(this); - this.createTranslator2D = sinon.stub(translator2DModule, 'Translator2D', function() { + this.createTranslator2D = sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { return new Translator(); }); }, diff --git a/testing/tests/DevExpress.viz.charts/chart.part4.tests.js b/testing/tests/DevExpress.viz.charts/chart.part4.tests.js index 5a368c19176d..540406a8cb14 100644 --- a/testing/tests/DevExpress.viz.charts/chart.part4.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.part4.tests.js @@ -282,7 +282,7 @@ QUnit.test('Create clipRects. With financial series', function(assert) { }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; }); const stubSeries = new MockSeries(); @@ -344,7 +344,7 @@ QUnit.test('Create clipRects. With series with errorBars', function(assert) { }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; }); const stubSeries = new MockSeries({ @@ -415,7 +415,7 @@ QUnit.test('Create clipRects. With financial series. Rotated', function(assert) originalBottom: 70 }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; }); const stubSeries = new MockSeries(); @@ -477,7 +477,7 @@ QUnit.test('Create clipRects. With financial series. Two panes', function(assert originalBottom: 70 }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; panes[1].canvas = rect; }); @@ -560,7 +560,7 @@ QUnit.test('Create clipRects. With financial series. For second panes', function originalBottom: 70 }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; panes[1].canvas = rect; }); @@ -652,7 +652,7 @@ QUnit.test('Create clipRects. With financial series. Two panes. Rotated', functi originalBottom: 70 }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; panes[1].canvas = rect; }); @@ -737,7 +737,7 @@ QUnit.test('Create clipRects. With financial series. For second panes. Rotated', originalBottom: 70 }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; panes[1].canvas = rect; }); @@ -849,7 +849,7 @@ QUnit.test('Update clipRects. With financial series', function(assert) { originalBottom: 70 }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; }); @@ -965,7 +965,7 @@ QUnit.test('Update clipRects. With financial series. When start series does not originalBottom: 70 }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; }); @@ -1056,7 +1056,7 @@ QUnit.test('Create clipRects with visible pane borders. With financial series', originalBottom: 70 }; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; }); const stubSeries = new MockSeries(); diff --git a/testing/tests/DevExpress.viz.charts/chart.part7.tests.js b/testing/tests/DevExpress.viz.charts/chart.part7.tests.js index 603b7190eb23..5ddba43e2e8e 100644 --- a/testing/tests/DevExpress.viz.charts/chart.part7.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.part7.tests.js @@ -748,7 +748,7 @@ $('
').appendTo('#qunit-fixture'); commons.environment.afterEach.call(this); }, mockValidateData: function() { - this.validateData = sinon.stub(dataValidatorModule, 'validateData', function(data) { + this.validateData = sinon.stub(dataValidatorModule, 'validateData').callsFake(function(data) { return { x: data || [] }; }); }, diff --git a/testing/tests/DevExpress.viz.charts/chart.tests.js b/testing/tests/DevExpress.viz.charts/chart.tests.js index 1d6e7b38a3d3..14e17ca57f97 100644 --- a/testing/tests/DevExpress.viz.charts/chart.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.tests.js @@ -64,10 +64,10 @@ const environment = { return chart; }, _stubLayoutManager: function() { - this.LayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager', LayoutManager); + this.LayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager').callsFake(LayoutManager); }, _stubLegend: function() { - this.Legend = sinon.stub(legendModule, 'Legend', function() { + this.Legend = sinon.stub(legendModule, 'Legend').callsFake(function() { const legend = new Legend(); legend.getTemplatesGroups = sinon.spy(function() { return []; @@ -79,12 +79,12 @@ const environment = { }); }, _stubTitle: function() { - this.Title = sinon.stub(titleModule, 'Title', function() { + this.Title = sinon.stub(titleModule, 'Title').callsFake(function() { return new ChartTitle(); }); }, _stubAxis: function() { - this.Axis = sinon.stub(axisModule, 'Axis', function() { + this.Axis = sinon.stub(axisModule, 'Axis').callsFake(function() { const axis = new Axis(); axis.updateOptions = sinon.spy(function(options) { axis.name = options.name; @@ -104,20 +104,20 @@ const environment = { }); }, _stubRange: function() { - sinon.stub(rangeModule, 'Range', function(opt) { + sinon.stub(rangeModule, 'Range').callsFake(function(opt) { const range = new Range(); $.extend(range, opt); return range; }); }, _stubSeriesAndPoint: function() { - sinon.stub(seriesModule, 'Series', function() { + sinon.stub(seriesModule, 'Series').callsFake(function() { const series = new vizMocks.Series(); return series; }); - sinon.stub(pointModule, 'Point', function() { + sinon.stub(pointModule, 'Point').callsFake(function() { return new vizMocks.Point(); }); }, diff --git a/testing/tests/DevExpress.viz.charts/chartAxisDrawing.tests.js b/testing/tests/DevExpress.viz.charts/chartAxisDrawing.tests.js index c894179bb57f..f896e3932a7b 100644 --- a/testing/tests/DevExpress.viz.charts/chartAxisDrawing.tests.js +++ b/testing/tests/DevExpress.viz.charts/chartAxisDrawing.tests.js @@ -28,7 +28,7 @@ const environment = { getMargins: sinon.stub() }; - this.scrollBarStub = sinon.stub(scrollBarModule, 'ScrollBar', function(renderer, group) { + this.scrollBarStub = sinon.stub(scrollBarModule, 'ScrollBar').callsFake(function(renderer, group) { const scrollBar = new originalScrollBar(renderer, group); const originalUpdateSize = scrollBar.updateSize; @@ -44,7 +44,7 @@ const environment = { let axisIndex = 0; const originalAxis = axisModule.Axis; - this.axisStub = sinon.stub(axisModule, 'Axis', function(renderingSettings) { + this.axisStub = sinon.stub(axisModule, 'Axis').callsFake(function(renderingSettings) { const axis = new originalAxis(renderingSettings); for(const stubName in axesStubs[axisIndex]) { @@ -57,7 +57,7 @@ const environment = { this.title = new vizMocks.Title(); this.legend = new vizMocks.Legend(); - this.legendStub = sinon.stub(legendModule, 'Legend', () =>{ + this.legendStub = sinon.stub(legendModule, 'Legend').callsFake(() =>{ this.legend.getTemplatesGroups = sinon.spy(function() { return []; }); diff --git a/testing/tests/DevExpress.viz.charts/chartParts/commons.js b/testing/tests/DevExpress.viz.charts/chartParts/commons.js index 733ff305d031..2751a204ebab 100644 --- a/testing/tests/DevExpress.viz.charts/chartParts/commons.js +++ b/testing/tests/DevExpress.viz.charts/chartParts/commons.js @@ -172,11 +172,11 @@ exports.environment = { that.layoutManager.layoutElements = sinon.spy(function() { arguments[2](); }); - this.StubLayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager', function() { + this.StubLayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager').callsFake(function() { return that.layoutManager; }); - sinon.stub(scrollBarClassModule, 'ScrollBar', function() { + sinon.stub(scrollBarClassModule, 'ScrollBar').callsFake(function() { const ScrollBar = vizMocks.stubClass(ScrollBarClass); const scrollBar = new ScrollBar(); scrollBar.stub('init').returns(scrollBar); @@ -211,11 +211,11 @@ exports.environment = { }, options.argumentAxis)); return createChartInstance(options, this.$container); }; - this.createThemeManager = sinon.stub(chartThemeManagerModule, 'ThemeManager', function() { + this.createThemeManager = sinon.stub(chartThemeManagerModule, 'ThemeManager').callsFake(function() { return that.themeManager; }); const family = sinon.createStubInstance(seriesFamilyModule.SeriesFamily); - this.createSeriesFamily = sinon.stub(seriesFamilyModule, 'SeriesFamily', function() { + this.createSeriesFamily = sinon.stub(seriesFamilyModule, 'SeriesFamily').callsFake(function() { family.pane = 'default'; family.adjustSeriesDimensions = sinon.stub(); family.adjustSeriesValues = sinon.stub(); @@ -223,14 +223,14 @@ exports.environment = { return family; }); this.prepareSegmentRectPoints = _test_prepareSegmentRectPoints(function(x, y, w, h, borderOptions) { return { points: [x, y, w, h], pathType: borderOptions }; }); - this.createCrosshair = sinon.stub(crosshairModule, 'Crosshair', function() { + this.createCrosshair = sinon.stub(crosshairModule, 'Crosshair').callsFake(function() { return sinon.createStubInstance(Crosshair); }); tooltipModule.DEBUG_set_tooltip(sinon.spy(function(parameters) { return that.tooltip; })); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes, canvas) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes, canvas) { $.each(panes, function(_, item) { item.canvas = $.extend({}, canvas); }); @@ -272,7 +272,7 @@ exports.environment = { }, mockValidateData: function() { - this.validateData = sinon.stub(dataValidatorModule, 'validateData', function(data, groupsData) { + this.validateData = sinon.stub(dataValidatorModule, 'validateData').callsFake(function(data, groupsData) { const categories = []; if(data) { data.forEach(function(item) { diff --git a/testing/tests/DevExpress.viz.charts/chartSync.tests.js b/testing/tests/DevExpress.viz.charts/chartSync.tests.js index 16d2d8adf1cf..832d71a1d3ae 100644 --- a/testing/tests/DevExpress.viz.charts/chartSync.tests.js +++ b/testing/tests/DevExpress.viz.charts/chartSync.tests.js @@ -145,7 +145,7 @@ const environment = { return createChartInstance(options, this.$container); }; - this.createThemeManager = sinon.stub(chartThemeManagerModule, 'ThemeManager', function() { + this.createThemeManager = sinon.stub(chartThemeManagerModule, 'ThemeManager').callsFake(function() { return that.themeManager; }); this.layoutManager = new LayoutManager(); @@ -153,7 +153,7 @@ const environment = { arguments[2] && arguments[2](); }); - sinon.stub(layoutManagerModule, 'LayoutManager', function() { + sinon.stub(layoutManagerModule, 'LayoutManager').callsFake(function() { const layoutManager = new LayoutManager(); layoutManager .stub('needMoreSpaceForPanesCanvas') @@ -169,13 +169,13 @@ const environment = { tooltipModule.Tooltip = function(parameters) { return new StubTooltip(parameters); }; - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes, canvas) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes, canvas) { $.each(panes, function(_, item) { item.canvas = $.extend({}, canvas); }); }); - validateData = sinon.stub(dataValidatorModule, 'validateData', function(data) { + validateData = sinon.stub(dataValidatorModule, 'validateData').callsFake(function(data) { return { arg: data || [] }; }); }, @@ -215,7 +215,7 @@ const environment = { const spyLayoutManager = layoutManagerModule.LayoutManager; vizUtils.updatePanesCanvases.restore(); - sinon.stub(vizUtils, 'updatePanesCanvases', function(panes) { + sinon.stub(vizUtils, 'updatePanesCanvases').callsFake(function(panes) { panes[0].canvas = rect; }); @@ -695,7 +695,7 @@ const environment = { QUnit.test('draw chart when scrollBar is visible', function(assert) { // arrange - sinon.stub(scrollBarModule, 'ScrollBar', function() { + sinon.stub(scrollBarModule, 'ScrollBar').callsFake(function() { const stub = sinon.createStubInstance(ScrollBar); stub.init.returns(stub); stub.update.returns(stub); @@ -847,7 +847,7 @@ const environment = { const argAxis = chart._argumentAxes[0]; chartMocks.seriesMockData.series.push(new MockSeries({ points: getPoints(DEFAULT_ANIMATION_LIMIT - 1) })); $.each(chart.seriesFamilies, function(_, family) { - sinon.stub(family, 'updateOptions', function(options) { + sinon.stub(family, 'updateOptions').callsFake(function(options) { chart.seriesFamiliesUpdatingOptions = options; }); }); @@ -878,7 +878,7 @@ const environment = { const argAxis = chart._argumentAxes[0]; chartMocks.seriesMockData.series.push(new MockSeries({ points: getPoints(DEFAULT_ANIMATION_LIMIT - 1) })); $.each(chart.seriesFamilies, function(_, family) { - sinon.stub(family, 'updateOptions', function(options) { + sinon.stub(family, 'updateOptions').callsFake(function(options) { chart.seriesFamiliesUpdatingOptions = options; }); }); @@ -906,7 +906,7 @@ const environment = { }); chartMocks.seriesMockData.series.push(new MockSeries({ points: getPoints(DEFAULT_ANIMATION_LIMIT - 1) })); $.each(chart.seriesFamilies, function(_, family) { - sinon.stub(family, 'updateOptions', function(options) { + sinon.stub(family, 'updateOptions').callsFake(function(options) { chart.seriesFamiliesUpdatingOptions = options; }); }); @@ -929,7 +929,7 @@ const environment = { }); chartMocks.seriesMockData.series.push(new MockSeries({ points: getPoints(DEFAULT_ANIMATION_LIMIT - 1) })); $.each(chart.seriesFamilies, function(_, family) { - sinon.stub(family, 'updateOptions', function(options) { + sinon.stub(family, 'updateOptions').callsFake(function(options) { chart.seriesFamiliesUpdatingOptions = options; }); }); @@ -956,7 +956,7 @@ const environment = { const argAxis = chart._argumentAxes[0]; chartMocks.seriesMockData.series.push(new MockSeries({ points: getPoints(DEFAULT_ANIMATION_LIMIT - 1) })); $.each(chart.seriesFamilies, function(_, family) { - sinon.stub(family, 'updateOptions', function(options) { + sinon.stub(family, 'updateOptions').callsFake(function(options) { chart.seriesFamiliesUpdatingOptions = options; }); }); diff --git a/testing/tests/DevExpress.viz.charts/equalPieSize.tests.js b/testing/tests/DevExpress.viz.charts/equalPieSize.tests.js index cdedd47d0cb6..14f8ca86f81d 100644 --- a/testing/tests/DevExpress.viz.charts/equalPieSize.tests.js +++ b/testing/tests/DevExpress.viz.charts/equalPieSize.tests.js @@ -76,7 +76,7 @@ const environment = { this.originalLayoutManagerCtor = layoutManagerModule.LayoutManager; this.LayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager'); - this.validateData = sinon.stub(dataValidatorModule, 'validateData', function(data) { + this.validateData = sinon.stub(dataValidatorModule, 'validateData').callsFake(function(data) { return { arg: data || [] }; }); }, diff --git a/testing/tests/DevExpress.viz.charts/pieChart.tests.js b/testing/tests/DevExpress.viz.charts/pieChart.tests.js index b3426bfe74c7..3cc7a8db65a2 100644 --- a/testing/tests/DevExpress.viz.charts/pieChart.tests.js +++ b/testing/tests/DevExpress.viz.charts/pieChart.tests.js @@ -83,7 +83,7 @@ const environment = { that.themeManager = sinon.createStubInstance(chartThemeManagerModule.ThemeManager); that.templateManager = new TemplateManagerModule.TemplateManager(); - this.templateManagerCtor = sinon.stub(TemplateManagerModule, 'TemplateManager', function() { + this.templateManagerCtor = sinon.stub(TemplateManagerModule, 'TemplateManager').callsFake(function() { return that.templateManager; }); @@ -146,14 +146,14 @@ const environment = { that.layoutManager.needMoreSpaceForPanesCanvas.returns(true); that.layoutManager.applyPieChartSeriesLayout.returns({ radiusInner: 0, radiusOuter: 300, centerX: 100, centerY: 200 }); - that.LayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager', function() { + that.LayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager').callsFake(function() { return that.layoutManager; }); - this.createThemeManager = sinon.stub(chartThemeManagerModule, 'ThemeManager', function() { + this.createThemeManager = sinon.stub(chartThemeManagerModule, 'ThemeManager').callsFake(function() { return that.themeManager; }); - this.validateData = sinon.stub(dataValidatorModule, 'validateData', function(data) { + this.validateData = sinon.stub(dataValidatorModule, 'validateData').callsFake(function(data) { return { arg: data || [] }; }); }, @@ -831,7 +831,7 @@ const overlappingEnvironment = $.extend({}, environment, { environment.beforeEach.apply(this, arguments); const translatorClass = new vizMocks.stubClass(translator1DModule.Translator1D); - sinon.stub(translator1DModule, 'Translator1D', function() { + sinon.stub(translator1DModule, 'Translator1D').callsFake(function() { const translator = new translatorClass(); translator.stub('setDomain').returnsThis(); translator.stub('setCodomain').returnsThis(); @@ -890,7 +890,7 @@ const overlappingEnvironment = $.extend({}, environment, { const translatorClass = new vizMocks.stubClass(translator1DModule.Translator1D); - sinon.stub(translator1DModule, 'Translator1D', function() { + sinon.stub(translator1DModule, 'Translator1D').callsFake(function() { const translator = new translatorClass(); translator.stub('setDomain').returnsThis(); translator.stub('setCodomain').returnsThis(); @@ -1072,7 +1072,7 @@ const overlappingEnvironment = $.extend({}, environment, { this.mockSeries2 = new MockSeries({ argumentField: 'arg' }); const translatorClass = new vizMocks.stubClass(translator1DModule.Translator1D); - sinon.stub(translator1DModule, 'Translator1D', function() { + sinon.stub(translator1DModule, 'Translator1D').callsFake(function() { const translator = new translatorClass(); translator.stub('setDomain').returnsThis(); translator.stub('setCodomain').returnsThis(); @@ -2071,7 +2071,7 @@ const overlappingEnvironment = $.extend({}, environment, { const translatorClass = new vizMocks.stubClass(translator1DModule.Translator1D); - sinon.stub(translator1DModule, 'Translator1D', function() { + sinon.stub(translator1DModule, 'Translator1D').callsFake(function() { const translator = new translatorClass(); translator.stub('setDomain').returnsThis(); translator.stub('setCodomain').returnsThis(); diff --git a/testing/tests/DevExpress.viz.charts/polarChart.tests.js b/testing/tests/DevExpress.viz.charts/polarChart.tests.js index 76b92ac7c509..6208fd1e2fdf 100644 --- a/testing/tests/DevExpress.viz.charts/polarChart.tests.js +++ b/testing/tests/DevExpress.viz.charts/polarChart.tests.js @@ -143,7 +143,7 @@ const environment = { that.$container = $('#chartContainer'); - this.createThemeManager = sinon.stub(chartThemeManagerModule, 'ThemeManager', function() { + this.createThemeManager = sinon.stub(chartThemeManagerModule, 'ThemeManager').callsFake(function() { resetStub(stubThemeManager); that.themeManager = stubThemeManager; return stubThemeManager; @@ -160,25 +160,25 @@ const environment = { }; }; - that.createRenderer = sinon.stub(rendererModule, 'Renderer', function() { + that.createRenderer = sinon.stub(rendererModule, 'Renderer').callsFake(function() { const stubRenderer = new vizMocks.Renderer(); stubRenderer.clipCircle = that.clipFunc; stubRenderer.clipRect = that.clipFunc; return stubRenderer; }); - that.createTooltip = sinon.stub(tooltipModule, 'Tooltip', function() { + that.createTooltip = sinon.stub(tooltipModule, 'Tooltip').callsFake(function() { resetStub(stubTooltip); return stubTooltip; }); - that.range = sinon.stub(rangeModule, 'Range', function() { + that.range = sinon.stub(rangeModule, 'Range').callsFake(function() { resetStub(stubRange); stubRange.addRange = function() { this.min = 2; }; return stubRange; }); - that.createSeries = sinon.stub(seriesModule, 'Series', function(settings, seriesTheme) { + that.createSeries = sinon.stub(seriesModule, 'Series').callsFake(function(settings, seriesTheme) { resetStub(stubSeries[seriesIndex]); stubSeries[seriesIndex].getValueAxis.returns(settings.valueAxis); if(seriesTheme.valueErrorBar) { @@ -187,7 +187,7 @@ const environment = { return $.extend(true, stubSeries[seriesIndex++], seriesTheme); }); - that.createAxis = sinon.stub(axisModule, 'Axis', function() { + that.createAxis = sinon.stub(axisModule, 'Axis').callsFake(function() { resetStub(stubAxes[axesIndex]); stubAxes[axesIndex].getMargins.returns({ @@ -200,12 +200,12 @@ const environment = { return stubAxes[axesIndex++]; }); - that.createSeriesFamily = sinon.stub(seriesFamilyModule, 'SeriesFamily', function() { + that.createSeriesFamily = sinon.stub(seriesFamilyModule, 'SeriesFamily').callsFake(function() { resetStub(stubSeriesFamily); return stubSeriesFamily; }); - that.createLayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager', function() { + that.createLayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager').callsFake(function() { resetStub(stubLayoutManager); return stubLayoutManager; }); @@ -279,7 +279,7 @@ QUnit.test('create series with panes', function(assert) { }); QUnit.test('give series in groups to data validator', function(assert) { - const validateData = sinon.stub(dataValidatorModule, 'validateData', function(data) { + const validateData = sinon.stub(dataValidatorModule, 'validateData').callsFake(function(data) { return data || []; }); try { diff --git a/testing/tests/DevExpress.viz.charts/scrollBar.tests.js b/testing/tests/DevExpress.viz.charts/scrollBar.tests.js index 3b9df2592e74..1e766568996b 100644 --- a/testing/tests/DevExpress.viz.charts/scrollBar.tests.js +++ b/testing/tests/DevExpress.viz.charts/scrollBar.tests.js @@ -30,7 +30,7 @@ const environment = { this.group = this.renderer.g(); - sinon.stub(translator2DModule, 'Translator2D', function() { + sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { const stub = new Translator(); stub.getScale = sinon.stub().returns(1); stub.stub('getCanvasVisibleArea'); diff --git a/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js b/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js index 7b679e12fd95..e5cee96b8494 100644 --- a/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js @@ -94,7 +94,7 @@ const environmentWithSinonStubPoint = { beforeEach: function() { environment.beforeEach.call(this); let mockPointIndex = 0; - this.createPoint = sinon.stub(pointModule, 'Point', function(series, data) { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function(series, data) { const stub = mockPoints[mockPointIndex++]; stub.argument = 1; stub.angle = -data.argument; diff --git a/testing/tests/DevExpress.viz.core.series/barSeries.tests.js b/testing/tests/DevExpress.viz.core.series/barSeries.tests.js index 6d388e84a163..01f4c73d10e6 100644 --- a/testing/tests/DevExpress.viz.core.series/barSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/barSeries.tests.js @@ -64,7 +64,7 @@ const environment = { this.renderer = new vizMocks.Renderer(); this.seriesGroup = this.renderer.g(); this.data = [{ arg: 1, val: 10 }, { arg: 2, val: 20 }, { arg: 3, val: 30 }, { arg: 4, val: 40 }]; - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = mockPoints[mockPointIndex++]; stub.argument = 1; stub.getMarkerCoords.returns({ x: 1, y: 2, width: 20, height: 10 }); @@ -967,7 +967,7 @@ QUnit.test('Show invisible series', function(assert) { QUnit.module('Polar bar series', { beforeEach: function() { environment.beforeEach.call(this); - this.highlight = sinon.stub(Color.prototype, 'highlight', function() { return this.baseColor + '-highlight'; }); + this.highlight = sinon.stub(Color.prototype, 'highlight').callsFake(function() { return this.baseColor + '-highlight'; }); this.options = { type: 'bar', widgetType: 'polar' diff --git a/testing/tests/DevExpress.viz.core.series/basePoint.tests.js b/testing/tests/DevExpress.viz.core.series/basePoint.tests.js index 51dd2b926d63..b36e01f16645 100644 --- a/testing/tests/DevExpress.viz.core.series/basePoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/basePoint.tests.js @@ -540,7 +540,7 @@ QUnit.module('Draw', { attributes: { r: 6 }, symbol: 'circle' }; - this.sinonFactory = sinon.stub(labelModule, 'Label', function() { + this.sinonFactory = sinon.stub(labelModule, 'Label').callsFake(function() { return sinon.createStubInstance(originalLabel); }); this.series = { @@ -606,7 +606,7 @@ QUnit.module('Label', { this.renderer = new vizMocks.Renderer(); this.group = this.renderer.g(); - this.sinonFactory = sinon.stub(labelModule, 'Label', function() { + this.sinonFactory = sinon.stub(labelModule, 'Label').callsFake(function() { return sinon.createStubInstance(originalLabel); }); this.labelsGroup = {}; @@ -1257,7 +1257,7 @@ QUnit.module('Dispose', { attributes: { r: 6 }, symbol: 'circle' }; - this.sinonFactory = sinon.stub(labelModule, 'Label', function() { + this.sinonFactory = sinon.stub(labelModule, 'Label').callsFake(function() { return sinon.createStubInstance(originalLabel); }); this.series = { diff --git a/testing/tests/DevExpress.viz.core.series/baseSeries.tests.js b/testing/tests/DevExpress.viz.core.series/baseSeries.tests.js index 349d9cc191fa..68ecf2b66466 100644 --- a/testing/tests/DevExpress.viz.core.series/baseSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/baseSeries.tests.js @@ -177,7 +177,7 @@ const environmentWithSinonStubPoint = { beforeEach: function() { environment.beforeEach.call(this); let mockPointIndex = 0; - this.createPoint = sinon.stub(pointModule, 'Point', function(series, data) { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function(series, data) { const stub = mockPoints[mockPointIndex++]; stub.series = series; stub.argument = data.argument || 1; @@ -2188,7 +2188,7 @@ QUnit.test('Points count > maxLabelCount', function(assert) { QUnit.module('Series states - excludePointsMode', { beforeEach: function() { environment.beforeEach.call(this); - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = sinon.createStubInstance(originalPoint); stub.argument = 1; stub.hasValue.returns(true); @@ -2562,7 +2562,7 @@ QUnit.test('setHoverState after Selected State in includePointsMode', function(a QUnit.module('Series states - nearestPoint Mode', { beforeEach: function() { environment.beforeEach.call(this); - this.createPoint = sinon.stub(pointModule, 'Point', function(_, data) { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function(_, data) { const stub = sinon.createStubInstance(originalPoint); stub.argument = 1; @@ -2936,7 +2936,7 @@ QUnit.test('reset nearest point on select', function(assert) { QUnit.module('Series states - includePointsMode', { beforeEach: function() { environment.beforeEach.call(this); - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = sinon.createStubInstance(originalPoint); stub.argument = 1; stub.hasValue.returns(true); @@ -3298,7 +3298,7 @@ QUnit.test('clear selection hovered', function(assert) { QUnit.module('Series states - none mode', { beforeEach: function() { environment.beforeEach.call(this); - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = sinon.createStubInstance(originalPoint); stub.argument = 1; stub.hasValue.returns(true); @@ -4980,7 +4980,7 @@ QUnit.module('Legend states', { beforeEach: function() { this.legendCallback = sinon.stub(); environment.beforeEach.call(this); - sinon.stub(pointModule, 'Point', function(series) { + sinon.stub(pointModule, 'Point').callsFake(function(series) { const point = new vizMocks.Point(); point.argument = 1; point.series = series; diff --git a/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js b/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js index 072a829f247b..18653c0c81ea 100644 --- a/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js @@ -64,7 +64,7 @@ const environment = { this.seriesGroup = this.renderer.g(); this.data = [{ arg: 1, val: 10, size: 1 }, { arg: 2, val: 20, size: 1 }, { arg: 3, val: 30, size: 1 }, { arg: 4, val: 40, size: 1 }]; - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = mockPoints[mockPointIndex++]; stub.argument = 1; stub.hasValue.returns(true); diff --git a/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js b/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js index 37750c3573ad..d2aa0f4a2cd3 100644 --- a/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js @@ -1857,7 +1857,7 @@ QUnit.module('Draw label', { failOnWrongData: true }) }; - this.sinonFactory = sinon.stub(labelModule, 'Label', function() { + this.sinonFactory = sinon.stub(labelModule, 'Label').callsFake(function() { const label = sinon.createStubInstance(originalLabel); label.getLayoutOptions.returns(that.options.label); label.getBoundingRect.returns({ height: 10, width: 20 }); diff --git a/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js b/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js index ffb6ec1edca4..84fdf16dbb9f 100644 --- a/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js @@ -26,7 +26,7 @@ const environment = { this.data = [ { date: 'arg1', high: 'high1', low: 'low1', open: 'open1', close: 'close1' } ]; - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = mockPoints[mockPointIndex++]; stub.argument = 1; stub.hasValue.returns(true); diff --git a/testing/tests/DevExpress.viz.core.series/lineSeries.tests.js b/testing/tests/DevExpress.viz.core.series/lineSeries.tests.js index d97b895763c7..02190c340bac 100644 --- a/testing/tests/DevExpress.viz.core.series/lineSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/lineSeries.tests.js @@ -71,7 +71,7 @@ const environmentWithSinonStubPoint = { environment.beforeEach.call(this); let mockPointIndex = 0; - this.createPoint = sinon.stub(pointModule, 'Point', function(series, data) { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function(series, data) { const stub = mockPoints[mockPointIndex++]; stub.argument = 1; stub.angle = -data.argument; @@ -1311,7 +1311,7 @@ function setDiscreteType(series) { this.options = { type: 'line' }; - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = sinon.createStubInstance(originalPoint); stub.argument = 1; stub.hasValue.returns(true); diff --git a/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js b/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js index 8a74658d396e..65c11ef12807 100644 --- a/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js @@ -69,7 +69,7 @@ const environment = { beforeEach: function() { this.data = [{ arg: 1, val: 10 }, { arg: 2, val: 20 }, { arg: 3, val: 30 }, { arg: 4, val: 40 }]; let mockPointIndex = 0; - this.createPoint = sinon.stub(pointModule, 'Point', function(series, data) { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function(series, data) { const stub = mockPoints[mockPointIndex++]; stub.argument = data.argument || 1; diff --git a/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js b/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js index a701d9da43e9..fa174831524b 100644 --- a/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js @@ -58,7 +58,7 @@ const environment = { series._argumentChecker.returns(true); series._valueChecker.returns(true); - this.createLabel = sinon.stub(labelModule, 'Label', function() { + this.createLabel = sinon.stub(labelModule, 'Label').callsFake(function() { label.getBoundingRect.returns({ x: 1, y: 2, width: 20, height: 10 }); label.getLayoutOptions.returns({ alignment: 'center', radialOffset: 0 }); resetStub(label); diff --git a/testing/tests/DevExpress.viz.core.series/rangeSeries.tests.js b/testing/tests/DevExpress.viz.core.series/rangeSeries.tests.js index 38c27c78b00d..778b11764d4d 100644 --- a/testing/tests/DevExpress.viz.core.series/rangeSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/rangeSeries.tests.js @@ -76,7 +76,7 @@ const environmentWithSinonStubPoint = { beforeEach: function() { environment.beforeEach.call(this); let mockPointIndex = 0; - this.createPoint = sinon.stub(pointModule, 'Point', function(params, data) { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function(params, data) { const stub = mockPoints[mockPointIndex++]; stub.argument = 1; stub.hasValue.returns(true); @@ -178,7 +178,7 @@ const environmentWithSinonStubPoint = { QUnit.module('RangeSeries. API', { beforeEach: function() { environment.beforeEach.call(this); - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = sinon.createStubInstance(originalPoint); stub.argument = 1; stub.hasValue.returns(true); @@ -337,7 +337,7 @@ const environmentWithSinonStubPoint = { this.options = { type: 'rangearea' }; - this.createPoint = sinon.stub(pointModule, 'Point', function() { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function() { const stub = sinon.createStubInstance(originalPoint); stub.argument = 1; stub.hasValue.returns(true); diff --git a/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js b/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js index 3af2fe062236..17cc067812cb 100644 --- a/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js @@ -76,7 +76,7 @@ const environment = { this.renderer = new vizMocks.Renderer(); this.seriesGroup = this.renderer.g(); this.data = [{ arg: 1, val: 10 }, { arg: 2, val: 20 }, { arg: 3, val: 30 }, { arg: 4, val: 40 }]; - this.createPoint = sinon.stub(pointModule, 'Point', function(series, data) { + this.createPoint = sinon.stub(pointModule, 'Point').callsFake(function(series, data) { const stub = mockPoints[mockPointIndex++]; data = data || {}; stub.argument = data.argument || 1; diff --git a/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js b/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js index 0619381e404d..1e2f8f8cd480 100644 --- a/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js +++ b/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js @@ -25,7 +25,7 @@ const environment = { beforeEach: function() { const that = this; - sinon.stub(translator2DModule, 'Translator2D', function() { + sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { return that.translator; }); this.renderer = new vizMocks.Renderer(); diff --git a/testing/tests/DevExpress.viz.core/axisDrawing.tests.js b/testing/tests/DevExpress.viz.core/axisDrawing.tests.js index e10ede2412a6..b9621cc47cfb 100644 --- a/testing/tests/DevExpress.viz.core/axisDrawing.tests.js +++ b/testing/tests/DevExpress.viz.core/axisDrawing.tests.js @@ -41,12 +41,12 @@ const environment = { }; const that = this; - sinon.stub(translator2DModule, 'Translator2D', function() { + sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { return that.translator; }); this.renderer = new vizMocks.Renderer(); - this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator', function() { + this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator').callsFake(function() { return function() { return { ticks: that.generatedTicks || [], diff --git a/testing/tests/DevExpress.viz.core/axisFormatting.tests.js b/testing/tests/DevExpress.viz.core/axisFormatting.tests.js index a1d7059b5d8b..e19e1009d4de 100644 --- a/testing/tests/DevExpress.viz.core/axisFormatting.tests.js +++ b/testing/tests/DevExpress.viz.core/axisFormatting.tests.js @@ -37,12 +37,12 @@ const environment = { }; const that = this; - sinon.stub(translator2DModule, 'Translator2D', function() { + sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { return that.translator; }); this.renderer = new vizMocks.Renderer(); - this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator', function() { + this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator').callsFake(function() { return function() { return { ticks: that.generatedTicks || [], diff --git a/testing/tests/DevExpress.viz.core/baseAxis.tests.js b/testing/tests/DevExpress.viz.core/baseAxis.tests.js index b7d0a2876a97..037743906f2f 100644 --- a/testing/tests/DevExpress.viz.core/baseAxis.tests.js +++ b/testing/tests/DevExpress.viz.core/baseAxis.tests.js @@ -26,7 +26,7 @@ const environment = { tickInterval: that.generatedTickInterval }; }); - this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator', function() { + this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator').callsFake(function() { return that.tickGeneratorSpy; }); @@ -172,7 +172,7 @@ QUnit.module('API', { beforeEach: function() { const that = this; - sinon.stub(translator2DModule, 'Translator2D', function() { + sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { return that.translator; }); environment.beforeEach.call(this); @@ -1202,7 +1202,7 @@ QUnit.test('Validate visualRange, option is set', function(assert) { QUnit.module('Zoom', { beforeEach: function() { const that = this; - sinon.stub(translator2DModule, 'Translator2D', function() { + sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { return that.translator; }); diff --git a/testing/tests/DevExpress.viz.core/baseWidget.tests.js b/testing/tests/DevExpress.viz.core/baseWidget.tests.js index ac3775800559..6d54c787d058 100644 --- a/testing/tests/DevExpress.viz.core/baseWidget.tests.js +++ b/testing/tests/DevExpress.viz.core/baseWidget.tests.js @@ -59,7 +59,7 @@ QUnit.begin(function() { registerComponent('dxBaseWidgetTester', dxBaseWidgetTester); - sinon.stub(rendererModule, 'Renderer', function() { + sinon.stub(rendererModule, 'Renderer').callsFake(function() { return currentTest().renderer; }); @@ -272,7 +272,7 @@ QUnit.test('Handler is called inside the renderer lock', function(assert) { QUnit.test('Another handler is called if option is changed inside the handler', function(assert) { this.createWidget(); let lock = false; - const spy = sinon.stub(this.widget, '_applyChanges', function(options) { + const spy = sinon.stub(this.widget, '_applyChanges').callsFake(function(options) { if(!lock) { lock = true; this.option('rtlEnabled', 'rtl-enabled'); @@ -290,7 +290,7 @@ QUnit.test('Another handler is called if option is changed inside the handler', QUnit.test('Count the actual number of changes', function(assert) { const widget = this.createWidget(); const counts = []; - const spy = sinon.stub(widget, '_applyChanges', function() { + const spy = sinon.stub(widget, '_applyChanges').callsFake(function() { counts.push(widget._changes.count()); }); diff --git a/testing/tests/DevExpress.viz.core/polarAxes.tests.js b/testing/tests/DevExpress.viz.core/polarAxes.tests.js index fbbb601ca082..de878739a054 100644 --- a/testing/tests/DevExpress.viz.core/polarAxes.tests.js +++ b/testing/tests/DevExpress.viz.core/polarAxes.tests.js @@ -28,7 +28,7 @@ const environment = { this.renderer = new vizMocks.Renderer(); - this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator', function() { + this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator').callsFake(function() { return sinon.spy(function() { return { ticks: that.generatedTicks || [], @@ -92,7 +92,7 @@ const environment = { br.isEmpty.returns(true); this.translator.getBusinessRange.returns(br); - sinon.stub(translator2DModule, 'Translator2D', function() { + sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { return that.translator; }); }, diff --git a/testing/tests/DevExpress.viz.core/tooltip.tests.js b/testing/tests/DevExpress.viz.core/tooltip.tests.js index 7072bf216ddc..5e2cff395a20 100644 --- a/testing/tests/DevExpress.viz.core/tooltip.tests.js +++ b/testing/tests/DevExpress.viz.core/tooltip.tests.js @@ -568,7 +568,7 @@ QUnit.module('Manipulation', { } if(getComputedStyle) { - this.getComputedStyle = sinon.stub(window, 'getComputedStyle', function(elem) { + this.getComputedStyle = sinon.stub(window, 'getComputedStyle').callsFake(function(elem) { if(elem === tooltip._textHtml.get(0)) { return { width: '83.13px', height: '23.45px', getPropertyValue: () => {} }; } @@ -1689,7 +1689,7 @@ QUnit.module('Movements', { that.canvas = CANVAS; tooltip._getCanvas = function() { return that.canvas; }; if(getComputedStyle) { - this.getComputedStyle = sinon.stub(window, 'getComputedStyle', function(elem) { + this.getComputedStyle = sinon.stub(window, 'getComputedStyle').callsFake(function(elem) { if(elem === tooltip._textHtml.get(0)) { return { width: '60px', height: '40px', getPropertyValue: () => {} }; } diff --git a/testing/tests/DevExpress.viz.core/xyAxes.tests.js b/testing/tests/DevExpress.viz.core/xyAxes.tests.js index bfc643db9344..da5448bb5b13 100644 --- a/testing/tests/DevExpress.viz.core/xyAxes.tests.js +++ b/testing/tests/DevExpress.viz.core/xyAxes.tests.js @@ -42,11 +42,11 @@ const environment = { breaks: breaks }; }); - this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator', function() { + this.tickGenerator = sinon.stub(tickGeneratorModule, 'tickGenerator').callsFake(function() { return that.tickGeneratorSpy; }); - sinon.stub(translator2DModule, 'Translator2D', function() { + sinon.stub(translator2DModule, 'Translator2D').callsFake(function() { return that.translator; }); diff --git a/testing/tests/DevExpress.viz.funnel/commonParts/common.js b/testing/tests/DevExpress.viz.funnel/commonParts/common.js index 2c8d27e95a85..3d5729e9ffa7 100644 --- a/testing/tests/DevExpress.viz.funnel/commonParts/common.js +++ b/testing/tests/DevExpress.viz.funnel/commonParts/common.js @@ -34,7 +34,7 @@ export const environment = { this.itemGroupNumber = 0; - sinon.stub(rendererModule, 'Renderer', function() { + sinon.stub(rendererModule, 'Renderer').callsFake(function() { return that.renderer; }); }, diff --git a/testing/tests/DevExpress.viz.funnel/commonParts/label.js b/testing/tests/DevExpress.viz.funnel/commonParts/label.js index 17cb840f9c58..822a36dae0e0 100644 --- a/testing/tests/DevExpress.viz.funnel/commonParts/label.js +++ b/testing/tests/DevExpress.viz.funnel/commonParts/label.js @@ -31,7 +31,7 @@ export const labelEnvironment = $.extend({}, environment, { ]; let labelBoxesIndex = 0; - sinon.stub(labelModule, 'Label', ()=> { + sinon.stub(labelModule, 'Label').callsFake(()=> { const stub = new stubLabel(); stub.stub('getBoundingRect').returns(this.labelBoxes[(labelBoxesIndex++) % this.labelBoxes.length]); return stub; diff --git a/testing/tests/DevExpress.viz.funnel/funnel.tracker.tests.js b/testing/tests/DevExpress.viz.funnel/funnel.tracker.tests.js index 8fbb670990f3..6a152c63a7b8 100644 --- a/testing/tests/DevExpress.viz.funnel/funnel.tracker.tests.js +++ b/testing/tests/DevExpress.viz.funnel/funnel.tracker.tests.js @@ -31,7 +31,7 @@ const trackerEnvironment = $.extend({}, environment, { const that = this; common.environment.beforeEach.apply(this, arguments); this.legend = new stubLegend(); - sinon.stub(labelModule, 'Label', function() { + sinon.stub(labelModule, 'Label').callsFake(function() { const stub = new stubLabel(); stub.stub('getBoundingRect').returns({ width: 0, diff --git a/testing/tests/DevExpress.viz.gauges/barGauge_new.tests.js b/testing/tests/DevExpress.viz.gauges/barGauge_new.tests.js index 273de6d00f94..aac4c14ed2c4 100644 --- a/testing/tests/DevExpress.viz.gauges/barGauge_new.tests.js +++ b/testing/tests/DevExpress.viz.gauges/barGauge_new.tests.js @@ -138,7 +138,7 @@ QUnit.module('Legend', { beforeEach() { this.renderer = new vizMocks.Renderer(); - sinon.stub(rendererModule, 'Renderer', () => { + sinon.stub(rendererModule, 'Renderer').callsFake(() => { return this.renderer; }); diff --git a/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js b/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js index 318d66de0c98..d7337acda155 100644 --- a/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js @@ -104,7 +104,7 @@ const TestPointerElement = TestElement.inherit({ (function circularGauge() { rendererModule.Renderer = sinon.stub(); - sinon.stub(axisModule, 'Axis', function(parameters) { + sinon.stub(axisModule, 'Axis').callsFake(function(parameters) { const axis = new vizMocks.Axis(parameters); axis.measureLabels = sinon.stub().returns({ width: 30, diff --git a/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js b/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js index fe320d4559a2..21e6e06ae54b 100644 --- a/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js @@ -103,7 +103,7 @@ const TestPointerElement = TestElement.inherit({ (function linearGauge() { rendererModule.Renderer = sinon.stub(); - sinon.stub(axisModule, 'Axis', function(parameters) { + sinon.stub(axisModule, 'Axis').callsFake(function(parameters) { const axis = new vizMocks.Axis(parameters); axis.measureLabels = sinon.stub().returns({ width: 30, diff --git a/testing/tests/DevExpress.viz.gauges/rangeContainer.tests.js b/testing/tests/DevExpress.viz.gauges/rangeContainer.tests.js index 63856578ccee..64747b49d14a 100644 --- a/testing/tests/DevExpress.viz.gauges/rangeContainer.tests.js +++ b/testing/tests/DevExpress.viz.gauges/rangeContainer.tests.js @@ -29,7 +29,7 @@ const environment = { this.container = new vizMocks.Element(); this.translator = new Translator1D(); this.themeManager = new themeManagerModule.ThemeManager({}); - sinon.stub(this.themeManager, 'createPalette', this.themeManager.createPalette); + sinon.stub(this.themeManager, 'createPalette').callsFake(this.themeManager.createPalette); this.rangeContainer = new TestRangeContainer({ renderer: this.renderer, container: this.container, diff --git a/testing/tests/DevExpress.viz.rangeSelector/common_new.tests.js b/testing/tests/DevExpress.viz.rangeSelector/common_new.tests.js index 8008b3200623..2b7a5c7d10bb 100644 --- a/testing/tests/DevExpress.viz.rangeSelector/common_new.tests.js +++ b/testing/tests/DevExpress.viz.rangeSelector/common_new.tests.js @@ -22,7 +22,7 @@ QUnit.module('RangeSelector', { rendererModule.Renderer = function() { return renderer; }; this.axis = new StubAxis(); this.axis.stub('getVisibleArea').returns([]); - sinon.stub(axisModule, 'Axis', function() { + sinon.stub(axisModule, 'Axis').callsFake(function() { return that.axis; }); diff --git a/testing/tests/DevExpress.viz.renderers/Renderer.tests.js b/testing/tests/DevExpress.viz.renderers/Renderer.tests.js index a3f1abe541bd..f3f399067564 100644 --- a/testing/tests/DevExpress.viz.renderers/Renderer.tests.js +++ b/testing/tests/DevExpress.viz.renderers/Renderer.tests.js @@ -397,7 +397,7 @@ QUnit.module('Fix sharping', { const that = this; this.boundingRect = { left: 123.76, top: 2.15 }; this.container = document.createElement('div'); - sinon.stub(this.container, 'getBoundingClientRect', function() { + sinon.stub(this.container, 'getBoundingClientRect').callsFake(function() { return that.boundingRect; }); } diff --git a/testing/tests/DevExpress.viz.renderers/SvgElement.tests.js b/testing/tests/DevExpress.viz.renderers/SvgElement.tests.js index d51bfc00d2c6..905290a82d44 100644 --- a/testing/tests/DevExpress.viz.renderers/SvgElement.tests.js +++ b/testing/tests/DevExpress.viz.renderers/SvgElement.tests.js @@ -535,7 +535,7 @@ function checkDashStyle(assert, elem, result, style, value) { this.eventsEngine = eventsEngine; this.rendererStub = { fake: 'fake', root: { element: document.createElement('div') } }; this.$emptyStub = sinon.stub($.fn, 'empty'); - this.$removeStub = sinon.stub($.fn, 'remove', function() { return this; }); + this.$removeStub = sinon.stub($.fn, 'remove').callsFake(function() { return this; }); this.$onStub = sinon.stub(this.eventsEngine, 'on'); this.$offStub = sinon.stub(this.eventsEngine, 'off'); this.$triggerStub = sinon.stub(this.eventsEngine, 'trigger'); diff --git a/testing/tests/DevExpress.viz.sankey/commonParts/common.js b/testing/tests/DevExpress.viz.sankey/commonParts/common.js index 9deba950ceb7..d9a054782a52 100644 --- a/testing/tests/DevExpress.viz.sankey/commonParts/common.js +++ b/testing/tests/DevExpress.viz.sankey/commonParts/common.js @@ -34,7 +34,7 @@ const environment = { this.nodesGroupIndex = 1; this.labelsGroupIndex = 2; - sinon.stub(rendererModule, 'Renderer', function() { + sinon.stub(rendererModule, 'Renderer').callsFake(function() { return that.renderer; }); }, diff --git a/testing/tests/DevExpress.viz.sparklines/bullet.tests.js b/testing/tests/DevExpress.viz.sparklines/bullet.tests.js index c2796af260b9..46464135a1f9 100644 --- a/testing/tests/DevExpress.viz.sparklines/bullet.tests.js +++ b/testing/tests/DevExpress.viz.sparklines/bullet.tests.js @@ -1092,7 +1092,7 @@ QUnit.test('Change size if size = 0,10 - B239871', function(assert) { QUnit.module('drawn', { beforeEach: function() { environment.beforeEach.call(this); - sinon.stub(BaseWidget.prototype, '_drawn', sinon.spy()); + sinon.stub(BaseWidget.prototype, '_drawn').callsFake(sinon.spy()); }, createBullet: environment.createBullet, resetTranslators: environment.resetTranslators, diff --git a/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js b/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js index 54392283727d..faef08e03260 100644 --- a/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js +++ b/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js @@ -90,7 +90,7 @@ QUnit.begin(function() { return $.extend({}, environment, { beforeEach: function() { environment.beforeEach.apply(this, arguments); - this.validateData = sinon.stub(dataValidatorModule, 'validateData', function() { + this.validateData = sinon.stub(dataValidatorModule, 'validateData').callsFake(function() { return { arg: [{ argument: 1, @@ -2059,7 +2059,7 @@ QUnit.begin(function() { QUnit.module('drawn', { beforeEach: function() { environment.beforeEach.call(this); - sinon.stub(BaseWidget.prototype, '_drawn', sinon.spy()); + sinon.stub(BaseWidget.prototype, '_drawn').callsFake(sinon.spy()); }, afterEach: function() { environment.afterEach.call(this); @@ -2093,7 +2093,7 @@ QUnit.begin(function() { QUnit.module('drawn with async data', { beforeEach: function() { environment.beforeEach.call(this); - sinon.stub(BaseWidget.prototype, '_drawn', sinon.spy()); + sinon.stub(BaseWidget.prototype, '_drawn').callsFake(sinon.spy()); this.data = new DataSource(); this.isLoadedStub = sinon.stub(this.data, 'isLoaded'); }, @@ -2140,7 +2140,7 @@ QUnit.begin(function() { QUnit.test('isReady with not loaded dataSource', function(assert) { const data = new DataSource(); - sinon.stub(data, 'isLoaded', function() { return false; }); + sinon.stub(data, 'isLoaded').callsFake(function() { return false; }); const sparkline = this.createSparkline({ dataSource: data }); From 1430e8b5f58129883fcae8b5753c790716f8dbcf Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 12:41:58 +0300 Subject: [PATCH 05/38] fix htmlEditor timer --- .../htmlEditorParts/toolbarIntegration.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.ui.widgets.editors/htmlEditorParts/toolbarIntegration.tests.js b/testing/tests/DevExpress.ui.widgets.editors/htmlEditorParts/toolbarIntegration.tests.js index 625636bf4452..acdc98a4be10 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/htmlEditorParts/toolbarIntegration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/htmlEditorParts/toolbarIntegration.tests.js @@ -521,7 +521,7 @@ export default function() { $okDialogButton.trigger('dxclick'); this.clock.tick(); - this.clock.tick(); + this.clock.tick(1); }); test('Add a link with empty text', function(assert) { From 36db1e96561224864023c62358d94329b6773ca6 Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 12:42:19 +0300 Subject: [PATCH 06/38] use resetHistory in editor mask tests --- .../DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js b/testing/tests/DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js index 06cc7b519b46..2d8a5e623e9f 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/textEditorParts/mask.tests.js @@ -1171,7 +1171,7 @@ QUnit.module('value', moduleConfig, () => { const textEditor = $textEditor.dxTextEditor('instance'); textEditor.option('value', '1'); - valueChangedHandler.reset(); + valueChangedHandler.resetHistory(); const $input = $textEditor.find(`.${TEXTEDITOR_INPUT_CLASS}`); const keyboard = keyboardMock($input, true); From 89f8756d0a52071e4f07cb4985df50cdfa5d9938 Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 13:05:57 +0300 Subject: [PATCH 07/38] use resetHistory in utils resize_callbacks test --- testing/tests/DevExpress.core/utils.resize_callbacks.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.core/utils.resize_callbacks.tests.js b/testing/tests/DevExpress.core/utils.resize_callbacks.tests.js index 52a47bd08e14..b8d1befda2fa 100644 --- a/testing/tests/DevExpress.core/utils.resize_callbacks.tests.js +++ b/testing/tests/DevExpress.core/utils.resize_callbacks.tests.js @@ -182,7 +182,7 @@ QUnit.test('callbacks should be fired with changed dimensions', function(assert) assert.ok(callback.calledWith('width'), 'callback is called for width only'); - callback.reset(); + callback.resetHistory(); this.fakeWindow.innerHeight = 500; this.triggerResize(false); From 49ee50de5650e2a62a2ba6c05ef1849abd21f76d Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 15:45:34 +0300 Subject: [PATCH 08/38] fix ajax tests --- testing/tests/DevExpress.core/utils.ajax.tests.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/testing/tests/DevExpress.core/utils.ajax.tests.js b/testing/tests/DevExpress.core/utils.ajax.tests.js index 32ec0cc415b1..5408945ff98e 100644 --- a/testing/tests/DevExpress.core/utils.ajax.tests.js +++ b/testing/tests/DevExpress.core/utils.ajax.tests.js @@ -80,7 +80,7 @@ QUnit.test('responseType arraybuffer', function(assert) { xhr.response = buffer; xhr.respond(); - assert.equal(result, buffer); + assert.deepEqual(result, buffer); }); QUnit.test('upload events', function(assert) { @@ -156,7 +156,7 @@ QUnit.test('Set request header', function(assert) { assert.equal(xhr.method, 'GET'); assert.equal(xhr.url, '/some-url'); - assert.equal(xhr.requestHeaders['Content-Type'], 'text/html'); + assert.equal(xhr.requestHeaders['Content-Type'], 'text/html;charset=utf-8'); // https://github.com/sinonjs/nise/issues/33 assert.equal(xhr.requestHeaders['Accept'], 'application/xml'); assert.equal(xhr.requestHeaders['X-Requested-With'], 'XMLHttpRequest'); }); @@ -175,7 +175,7 @@ QUnit.test('Set request header and content-type', function(assert) { assert.equal(xhr.method, 'GET'); assert.equal(xhr.url, '/some-url'); - assert.equal(xhr.requestHeaders['Content-Type'], 'text/html'); + assert.equal(xhr.requestHeaders['Content-Type'], 'text/html;charset=utf-8'); // https://github.com/sinonjs/nise/issues/33 assert.equal(xhr.requestHeaders['Accept'], '*/*'); }); @@ -219,10 +219,11 @@ QUnit.test('Default Content-Type', function(assert) { assert.equal(xhr1.method, 'GET'); assert.equal(xhr1.url, '/some-url'); - assert.equal(xhr1.requestHeaders['Content-Type'], undefined); + // https://chromium.googlesource.com/chromium/src/third_party/+/refs/heads/main/sinonjs/src/sinon.js?autodive=0%2F%2F#3795 + assert.equal(xhr1.requestHeaders['Content-Type'], 'text/plain;charset=utf-8'); assert.equal(xhr1.requestHeaders['Accept'], '*/*'); - assert.equal(xhr2.requestHeaders['Content-Type'], undefined); + assert.equal(xhr2.requestHeaders['Content-Type'], 'text/plain;charset=utf-8'); assert.equal(xhr3.method, 'POST'); assert.equal(xhr3.requestHeaders['Content-Type'], 'application/x-www-form-urlencoded;charset=utf-8'); From 4d5c8e2230fee06bfa8f650bfcda3cf3cb7efe10 Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 16:16:32 +0300 Subject: [PATCH 09/38] get rid of sinon-test --- package-lock.json | 2866 ++++++++++------- package.json | 3 +- .../appointment.templates.tests.js | 12 +- .../virtual_scrolling.integration.tests.js | 4 +- .../virtual_scrolling.monthView.tests.js | 4 +- .../virtual_scrolling.tests.js | 46 +- .../virtual_scrolling.timeline.tests.js | 5 +- 7 files changed, 1780 insertions(+), 1160 deletions(-) diff --git a/package-lock.json b/package-lock.json index c7953df53dc3..e0b64f79260b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -149,8 +149,7 @@ "run-sequence": "^1.1.5", "sass": "1.43.5", "shelljs": "^0.8.3", - "sinon": "^11.1.2", - "sinon-test": "^3.1.1", + "sinon": "^12.0.1", "staged-git-files": "^1.2.0", "string-replace-loader": "^3.0.3", "stylelint": "^13.13.1", @@ -177,6 +176,19 @@ "yargs": "^4.6.0" } }, + "node_modules/@angular/core": { + "version": "11.2.14", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.2.14.tgz", + "integrity": "sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg==", + "peer": true, + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3", + "zone.js": "^0.10.2 || ^0.11.3" + } + }, "node_modules/@babel/code-frame": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", @@ -199,19 +211,19 @@ } }, "node_modules/@babel/core": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", - "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz", + "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helpers": "^7.16.0", - "@babel/parser": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helpers": "^7.16.5", + "@babel/parser": "^7.16.5", "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", @@ -229,9 +241,9 @@ } }, "node_modules/@babel/generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", - "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz", + "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", "dev": true, "dependencies": { "@babel/types": "^7.16.0", @@ -255,9 +267,9 @@ } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz", - "integrity": "sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz", + "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==", "dev": true, "dependencies": { "@babel/helper-explode-assignable-expression": "^7.16.0", @@ -286,16 +298,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz", - "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz", + "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-function-name": "^7.16.0", - "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-member-expression-to-functions": "^7.16.5", "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.5", "@babel/helper-split-export-declaration": "^7.16.0" }, "engines": { @@ -322,9 +335,9 @@ } }, "node_modules/@babel/helper-define-map": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.16.0.tgz", - "integrity": "sha512-aJjlhKoL+EDLhJoPD5va2su7ftrt1V3Kr+JhW5E52e1BGPYEO8yVKlKKPpKKQFogKBqh5FX244uD2EnP1IBIVg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.16.5.tgz", + "integrity": "sha512-npaQpTcr0mz0D8/AE5+icB+EFwsaH6cVwrEDKIlVzR+5Jb1tmHfKlqCqfo5IM3JVmirOZGhuv1DcnU1mCwsm4w==", "dev": true, "dependencies": { "@babel/helper-function-name": "^7.16.0", @@ -353,6 +366,18 @@ "@babel/core": "^7.4.0-0" } }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz", + "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz", @@ -404,9 +429,9 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", - "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz", + "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==", "dev": true, "dependencies": { "@babel/types": "^7.16.0" @@ -428,18 +453,18 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", - "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz", + "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", "dev": true, "dependencies": { + "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", "@babel/helper-simple-access": "^7.16.0", "@babel/helper-split-export-declaration": "^7.16.0", "@babel/helper-validator-identifier": "^7.15.7", "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0" }, "engines": { @@ -459,22 +484,22 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz", + "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz", - "integrity": "sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz", + "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-wrap-function": "^7.16.0", + "@babel/helper-wrap-function": "^7.16.5", "@babel/types": "^7.16.0" }, "engines": { @@ -482,14 +507,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", - "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz", + "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-member-expression-to-functions": "^7.16.5", "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.0", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0" }, "engines": { @@ -551,14 +577,14 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz", - "integrity": "sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz", + "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==", "dev": true, "dependencies": { "@babel/helper-function-name": "^7.16.0", "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0" }, "engines": { @@ -566,13 +592,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz", - "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz", + "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", "dev": true, "dependencies": { "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.3", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0" }, "engines": { @@ -594,9 +620,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.5.tgz", + "integrity": "sha512-+Ce7T5iPNWzfu9C1aB5tN3Lyafs5xb3Ic7vBWyZL2KXT3QSdD1dD3CvgOzPmQKoNNRt6uauc0XwNJTQtXC2/Mw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -638,13 +664,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz", - "integrity": "sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz", + "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.16.4", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-remap-async-to-generator": "^7.16.5", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -655,13 +681,13 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz", - "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz", + "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -671,13 +697,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz", - "integrity": "sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz", + "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -688,14 +714,14 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz", - "integrity": "sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.5.tgz", + "integrity": "sha512-XAiZll5oCdp2Dd2RbXA3LVPlFyIRhhcQy+G34p9ePpl6mjFkbqHAYHovyw2j5mqUrlBf0/+MtOIJ3JGYtz8qaw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-decorators": "^7.16.0" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-decorators": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -705,12 +731,12 @@ } }, "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz", - "integrity": "sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz", + "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -721,12 +747,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz", - "integrity": "sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz", + "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -737,12 +763,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz", - "integrity": "sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz", + "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -753,12 +779,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz", - "integrity": "sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz", + "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -769,12 +795,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz", - "integrity": "sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz", + "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -785,12 +811,12 @@ } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz", - "integrity": "sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz", + "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -801,16 +827,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz", - "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz", + "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.0" + "@babel/plugin-transform-parameters": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -820,12 +846,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz", - "integrity": "sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz", + "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -836,12 +862,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz", - "integrity": "sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz", + "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -853,13 +879,13 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz", - "integrity": "sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz", + "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -869,14 +895,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz", - "integrity": "sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz", + "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -887,13 +913,13 @@ } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz", - "integrity": "sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz", + "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=4" @@ -942,12 +968,12 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz", - "integrity": "sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.5.tgz", + "integrity": "sha512-3CbYTXfflvyy8O819uhZcZSMedZG4J8yS/NLTc/8T24M9ke1GssTGvg8VZu3Yn2LU5IyQSv1CmPq0a9JWHXJwg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -981,12 +1007,12 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz", - "integrity": "sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.5.tgz", + "integrity": "sha512-Nrx+7EAJx1BieBQseZa2pavVH2Rp7hADK2xn7coYqVbWRu9C2OFizYcsKo6TrrqJkJl+qF/+Qqzrk/+XDu4GnA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1020,12 +1046,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz", - "integrity": "sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.5.tgz", + "integrity": "sha512-42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1137,12 +1163,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz", - "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz", + "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1152,14 +1178,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz", - "integrity": "sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz", + "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.16.0" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-remap-async-to-generator": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1169,12 +1195,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz", - "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz", + "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1184,12 +1210,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz", - "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz", + "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1199,16 +1225,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz", - "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz", + "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-function-name": "^7.16.0", "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-replace-supers": "^7.16.5", "@babel/helper-split-export-declaration": "^7.16.0", "globals": "^11.1.0" }, @@ -1220,12 +1247,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz", - "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz", + "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1235,12 +1262,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz", - "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz", + "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1250,13 +1277,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz", - "integrity": "sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz", + "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1266,12 +1293,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz", - "integrity": "sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz", + "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1281,13 +1308,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz", - "integrity": "sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz", + "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1297,13 +1324,13 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.0.tgz", - "integrity": "sha512-vs/F5roOaO/+WxKfp9PkvLsAyj0G+Q0zbFimHm9X2KDgabN2XmNFoAafmeGEYspUlIF9+MvVmyek9UyHiqeG/w==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.5.tgz", + "integrity": "sha512-skE02E/MptkZdBS4HwoRhjWXqeKQj0BWKEAPfPC+8R4/f6bjQqQ9Nftv/+HkxWwnVxh/E2NV9TNfzLN5H/oiBw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-flow": "^7.16.0" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-flow": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1313,12 +1340,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz", - "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz", + "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1328,13 +1355,13 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz", - "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz", + "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==", "dev": true, "dependencies": { "@babel/helper-function-name": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1344,12 +1371,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz", - "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz", + "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1359,12 +1386,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz", - "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz", + "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1374,13 +1401,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz", - "integrity": "sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz", + "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { @@ -1391,13 +1418,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz", - "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz", + "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-simple-access": "^7.16.0", "babel-plugin-dynamic-import-node": "^2.3.3" }, @@ -1409,14 +1436,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz", - "integrity": "sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz", + "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-validator-identifier": "^7.15.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, @@ -1428,13 +1455,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz", - "integrity": "sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz", + "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1444,9 +1471,9 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz", - "integrity": "sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz", + "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.0" @@ -1459,12 +1486,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz", - "integrity": "sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz", + "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1474,13 +1501,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz", - "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz", + "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.16.0" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-replace-supers": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1490,12 +1517,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz", - "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz", + "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1505,12 +1532,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz", - "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz", + "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1520,13 +1547,13 @@ } }, "node_modules/@babel/plugin-transform-property-mutators": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-mutators/-/plugin-transform-property-mutators-7.16.0.tgz", - "integrity": "sha512-PpxVELgLNYOYuWZdW20f8WqItll2Kij1AdtvxdnxOBPALWW+wYU7e3fl/Ap2A2+f+9GpxT/nEWwqB2Fzu3rKeA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-mutators/-/plugin-transform-property-mutators-7.16.5.tgz", + "integrity": "sha512-ny0KI1AJLQFP+g0PkPwbyJpXtixt0asAx+FFv9WAHFzgeA7417vUF3G7KKVIpcYJ6BufCDHHMixXlcosyagktQ==", "dev": true, "dependencies": { - "@babel/helper-define-map": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-define-map": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1536,12 +1563,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz", - "integrity": "sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.5.tgz", + "integrity": "sha512-dHYCOnzSsXFz8UcdNQIHGvg94qPL/teF7CCiCEMRxmA1G2p5Mq4JnKVowCDxYfiQ9D7RstaAp9kwaSI+sXbnhw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1551,15 +1578,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz", - "integrity": "sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.5.tgz", + "integrity": "sha512-+arLIz1d7kmwX0fKxTxbnoeG85ONSnLpvdODa4P3pc1sS7CV1hfmtYWufkW/oYsPnkDrEeQFxhUWcFnrXW7jQQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-jsx": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-jsx": "^7.16.5", "@babel/types": "^7.16.0" }, "engines": { @@ -1570,12 +1597,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz", - "integrity": "sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.5.tgz", + "integrity": "sha512-uQSLacMZSGLCxOw20dzo1dmLlKkd+DsayoV54q3MHXhbqgPzoiGerZQgNPl/Ro8/OcXV2ugfnkx+rxdS0sN5Uw==", "dev": true, "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.16.0" + "@babel/plugin-transform-react-jsx": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1585,13 +1612,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz", - "integrity": "sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.5.tgz", + "integrity": "sha512-0nYU30hCxnCVCbRjSy9ahlhWZ2Sn6khbY4FqR91W+2RbSqkWEbVu2gXh45EqNy4Bq7sRU+H4i0/6YKwOSzh16A==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1601,9 +1628,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz", - "integrity": "sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz", + "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==", "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" @@ -1616,12 +1643,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz", - "integrity": "sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz", + "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1631,13 +1658,13 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz", - "integrity": "sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz", + "integrity": "sha512-gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.4.0", "babel-plugin-polyfill-regenerator": "^0.3.0", @@ -1651,12 +1678,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz", - "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz", + "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1666,12 +1693,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz", - "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz", + "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" }, "engines": { @@ -1682,12 +1709,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz", - "integrity": "sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz", + "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1697,12 +1724,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz", - "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz", + "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1712,12 +1739,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz", - "integrity": "sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz", + "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1727,12 +1754,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz", - "integrity": "sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz", + "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1742,13 +1769,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz", - "integrity": "sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz", + "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1758,32 +1785,32 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.4.tgz", - "integrity": "sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz", + "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.16.4", "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-validator-option": "^7.14.5", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-async-generator-functions": "^7.16.4", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-class-static-block": "^7.16.0", - "@babel/plugin-proposal-dynamic-import": "^7.16.0", - "@babel/plugin-proposal-export-namespace-from": "^7.16.0", - "@babel/plugin-proposal-json-strings": "^7.16.0", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-object-rest-spread": "^7.16.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-proposal-private-property-in-object": "^7.16.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.0", + "@babel/plugin-proposal-async-generator-functions": "^7.16.5", + "@babel/plugin-proposal-class-properties": "^7.16.5", + "@babel/plugin-proposal-class-static-block": "^7.16.5", + "@babel/plugin-proposal-dynamic-import": "^7.16.5", + "@babel/plugin-proposal-export-namespace-from": "^7.16.5", + "@babel/plugin-proposal-json-strings": "^7.16.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5", + "@babel/plugin-proposal-numeric-separator": "^7.16.5", + "@babel/plugin-proposal-object-rest-spread": "^7.16.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.5", + "@babel/plugin-proposal-optional-chaining": "^7.16.5", + "@babel/plugin-proposal-private-methods": "^7.16.5", + "@babel/plugin-proposal-private-property-in-object": "^7.16.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -1798,38 +1825,38 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.0", - "@babel/plugin-transform-async-to-generator": "^7.16.0", - "@babel/plugin-transform-block-scoped-functions": "^7.16.0", - "@babel/plugin-transform-block-scoping": "^7.16.0", - "@babel/plugin-transform-classes": "^7.16.0", - "@babel/plugin-transform-computed-properties": "^7.16.0", - "@babel/plugin-transform-destructuring": "^7.16.0", - "@babel/plugin-transform-dotall-regex": "^7.16.0", - "@babel/plugin-transform-duplicate-keys": "^7.16.0", - "@babel/plugin-transform-exponentiation-operator": "^7.16.0", - "@babel/plugin-transform-for-of": "^7.16.0", - "@babel/plugin-transform-function-name": "^7.16.0", - "@babel/plugin-transform-literals": "^7.16.0", - "@babel/plugin-transform-member-expression-literals": "^7.16.0", - "@babel/plugin-transform-modules-amd": "^7.16.0", - "@babel/plugin-transform-modules-commonjs": "^7.16.0", - "@babel/plugin-transform-modules-systemjs": "^7.16.0", - "@babel/plugin-transform-modules-umd": "^7.16.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.0", - "@babel/plugin-transform-new-target": "^7.16.0", - "@babel/plugin-transform-object-super": "^7.16.0", - "@babel/plugin-transform-parameters": "^7.16.3", - "@babel/plugin-transform-property-literals": "^7.16.0", - "@babel/plugin-transform-regenerator": "^7.16.0", - "@babel/plugin-transform-reserved-words": "^7.16.0", - "@babel/plugin-transform-shorthand-properties": "^7.16.0", - "@babel/plugin-transform-spread": "^7.16.0", - "@babel/plugin-transform-sticky-regex": "^7.16.0", - "@babel/plugin-transform-template-literals": "^7.16.0", - "@babel/plugin-transform-typeof-symbol": "^7.16.0", - "@babel/plugin-transform-unicode-escapes": "^7.16.0", - "@babel/plugin-transform-unicode-regex": "^7.16.0", + "@babel/plugin-transform-arrow-functions": "^7.16.5", + "@babel/plugin-transform-async-to-generator": "^7.16.5", + "@babel/plugin-transform-block-scoped-functions": "^7.16.5", + "@babel/plugin-transform-block-scoping": "^7.16.5", + "@babel/plugin-transform-classes": "^7.16.5", + "@babel/plugin-transform-computed-properties": "^7.16.5", + "@babel/plugin-transform-destructuring": "^7.16.5", + "@babel/plugin-transform-dotall-regex": "^7.16.5", + "@babel/plugin-transform-duplicate-keys": "^7.16.5", + "@babel/plugin-transform-exponentiation-operator": "^7.16.5", + "@babel/plugin-transform-for-of": "^7.16.5", + "@babel/plugin-transform-function-name": "^7.16.5", + "@babel/plugin-transform-literals": "^7.16.5", + "@babel/plugin-transform-member-expression-literals": "^7.16.5", + "@babel/plugin-transform-modules-amd": "^7.16.5", + "@babel/plugin-transform-modules-commonjs": "^7.16.5", + "@babel/plugin-transform-modules-systemjs": "^7.16.5", + "@babel/plugin-transform-modules-umd": "^7.16.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5", + "@babel/plugin-transform-new-target": "^7.16.5", + "@babel/plugin-transform-object-super": "^7.16.5", + "@babel/plugin-transform-parameters": "^7.16.5", + "@babel/plugin-transform-property-literals": "^7.16.5", + "@babel/plugin-transform-regenerator": "^7.16.5", + "@babel/plugin-transform-reserved-words": "^7.16.5", + "@babel/plugin-transform-shorthand-properties": "^7.16.5", + "@babel/plugin-transform-spread": "^7.16.5", + "@babel/plugin-transform-sticky-regex": "^7.16.5", + "@babel/plugin-transform-template-literals": "^7.16.5", + "@babel/plugin-transform-typeof-symbol": "^7.16.5", + "@babel/plugin-transform-unicode-escapes": "^7.16.5", + "@babel/plugin-transform-unicode-regex": "^7.16.5", "@babel/preset-modules": "^0.1.5", "@babel/types": "^7.16.0", "babel-plugin-polyfill-corejs2": "^0.3.0", @@ -1846,14 +1873,14 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.0.tgz", - "integrity": "sha512-e5NE1EoPMpoHFkyFkMSj2h9tu7OolARcUHki8mnBv4NiFK9so+UrhbvT9mV99tMJOUEx8BOj67T6dXvGcTeYeQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.5.tgz", + "integrity": "sha512-rmC6Nznp4V55N4Zfec87jwd14TdREqwKVJFM/6Z2wTwoeZQr56czjaPRCezqzqc8TsHF7aLP1oczjadIQ058gw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-flow-strip-types": "^7.16.0" + "@babel/plugin-transform-flow-strip-types": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1879,17 +1906,17 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.0.tgz", - "integrity": "sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.5.tgz", + "integrity": "sha512-3kzUOQeaxY/2vhPDS7CX/KGEGu/1bOYGvdRDJ2U5yjEz5o5jmIeTPLoiQBPGjfhPascLuW5OlMiPzwOOuB6txg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-react-jsx": "^7.16.0", - "@babel/plugin-transform-react-jsx-development": "^7.16.0", - "@babel/plugin-transform-react-pure-annotations": "^7.16.0" + "@babel/plugin-transform-react-display-name": "^7.16.5", + "@babel/plugin-transform-react-jsx": "^7.16.5", + "@babel/plugin-transform-react-jsx-development": "^7.16.5", + "@babel/plugin-transform-react-pure-annotations": "^7.16.5" }, "engines": { "node": ">=6.9.0" @@ -1899,9 +1926,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", - "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz", + "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -1910,9 +1937,9 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz", - "integrity": "sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.5.tgz", + "integrity": "sha512-F1pMwvTiUNSAM8mc45kccMQxj31x3y3P+tA/X8hKNWp3/hUsxdGxZ3D3H8JIkxtfA8qGkaBTKvcmvStaYseAFw==", "dev": true, "dependencies": { "core-js-pure": "^3.19.0", @@ -1937,17 +1964,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz", - "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz", + "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-function-name": "^7.16.0", "@babel/helper-hoist-variables": "^7.16.0", "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.3", + "@babel/parser": "^7.16.5", "@babel/types": "^7.16.0", "debug": "^4.1.0", "globals": "^11.1.0" @@ -2807,9 +2835,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", "dev": true, "dependencies": { "@sinonjs/commons": "^1.7.0" @@ -2861,9 +2889,9 @@ } }, "node_modules/@types/babel__core": { - "version": "7.1.16", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", - "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", + "version": "7.1.17", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.17.tgz", + "integrity": "sha512-6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -3015,9 +3043,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.177", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.177.tgz", - "integrity": "sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw==", + "version": "4.14.178", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", + "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", "dev": true }, "node_modules/@types/mdast": { @@ -3042,9 +3070,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.11.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz", - "integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==", + "version": "16.11.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz", + "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -4142,6 +4170,12 @@ "node": ">= 6" } }, + "node_modules/archiver-utils/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/archiver-utils/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -4182,6 +4216,12 @@ "readable-stream": "^2.0.6" } }, + "node_modules/are-we-there-yet/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/are-we-there-yet/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -6233,13 +6273,13 @@ } }, "node_modules/browserslist": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", - "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.0.tgz", + "integrity": "sha512-JGHzm73ei2OnAcobcQ61GXNnN6vDCg5Oz5MayudL+FyzjoLnCzUWnuLtDLMIYw8aXgQzzdCZMVky+fftD5jbtA==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001280", - "electron-to-chromium": "^1.3.896", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", "node-releases": "^2.0.1", "picocolors": "^1.0.0" @@ -6372,6 +6412,12 @@ "node": ">=6.9.5" } }, + "node_modules/bufferstreams/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/bufferstreams/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -6557,9 +6603,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001284", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz", - "integrity": "sha512-t28SKa7g6kiIQi6NHeOcKrOrGMzCRrXvlasPwWC26TH2QNdglgzQIRUuJ0cR3NeQPH+5jpuveeeSFDLm2zbkEw==", + "version": "1.0.30001286", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz", + "integrity": "sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ==", "dev": true, "funding": { "type": "opencollective", @@ -6587,9 +6633,9 @@ } }, "node_modules/canvg/node_modules/core-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz", - "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", + "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==", "dev": true, "hasInstallScript": true, "optional": true, @@ -6968,13 +7014,15 @@ } }, "node_modules/cli-table": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.9.tgz", - "integrity": "sha512-7eA6hFtAZwVx3dWAGoaBqTrzWko5jRUFKpHT64ZHkJpaA3y5wf5NlLjguqTRmqycatJZiwftODYYyGNLbQ7MuA==", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", "dev": true, "dependencies": { - "colors": "1.0.3", - "strip-ansi": "^6.0.1" + "colors": "1.0.3" + }, + "engines": { + "node": ">= 0.2.0" } }, "node_modules/cli-truncate": { @@ -7139,6 +7187,12 @@ "readable-stream": "^2.3.5" } }, + "node_modules/cloneable-readable/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/cloneable-readable/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -7348,6 +7402,12 @@ "node": ">= 6" } }, + "node_modules/compress-commons/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/compress-commons/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -7393,6 +7453,12 @@ "typedarray": "^0.0.6" } }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/concat-stream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -7520,9 +7586,9 @@ "hasInstallScript": true }, "node_modules/core-js-compat": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.2.tgz", - "integrity": "sha512-ObBY1W5vx/LFFMaL1P5Udo4Npib6fu+cMokeziWkA8Tns4FcDemKF5j9JvaI5JhdkW8EQJQGJN1EcrzmEwuAqQ==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.3.tgz", + "integrity": "sha512-59tYzuWgEEVU9r+SRgceIGXSSUn47JknoiXW6Oq7RW8QHjXWz3/vp8pa7dbtuVu40sewz3OP3JmQEcDdztrLhA==", "dev": true, "dependencies": { "browserslist": "^4.18.1", @@ -7543,9 +7609,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.2.tgz", - "integrity": "sha512-5LkcgQEy8pFeVnd/zomkUBSwnmIxuF1C8E9KrMAbOc8f34IBT9RGvTYeNDdp1PnvMJrrVhvk1hg/yVV5h/znlg==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.3.tgz", + "integrity": "sha512-N3JruInmCyt7EJj5mAq3csCgGYgiSqu7p7TQp2KOztr180/OAIxyIvL1FCjzgmQk/t3Yniua50Fsak7FShI9lA==", "dev": true, "hasInstallScript": true, "funding": { @@ -8228,9 +8294,9 @@ } }, "node_modules/devextreme-quill/node_modules/core-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz", - "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", + "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -8323,9 +8389,9 @@ "dev": true }, "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, "engines": { "node": ">=0.3.1" @@ -8453,9 +8519,9 @@ "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==" }, "node_modules/dompurify": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.3.tgz", - "integrity": "sha512-dqnqRkPMAjOZE0FogZ+ceJNM2dZ3V/yNOuFB7+39qpO93hHhfRpHw3heYQC7DPK9FqbQTfBKUJhiSfz4MvXYwg==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.4.tgz", + "integrity": "sha512-6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ==", "dev": true, "optional": true }, @@ -8488,12 +8554,6 @@ "readable-stream": "~1.1.9" } }, - "node_modules/duplexer2/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "node_modules/duplexer2/node_modules/readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", @@ -8524,6 +8584,12 @@ "stream-shift": "^1.0.0" } }, + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/duplexify/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -8605,9 +8671,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.11.tgz", - "integrity": "sha512-2OhsaYgsWGhWjx2et8kaUcdktPbBGjKM2X0BReUCKcSCPttEY+hz2zie820JLbttU8jwL92+JJysWwkut3wZgA==", + "version": "1.4.17", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.17.tgz", + "integrity": "sha512-zhk1MravPtq/KBhmGB7TLBILmXTgRG9TFSI3qS3DbgyfHzIl72iiTE37r/BHIbPCJJlWIo5rySyxiH4vWhu2ZA==", "dev": true }, "node_modules/elegant-spinner": { @@ -9188,6 +9254,19 @@ "eslint-config-airbnb-base": "^14.2.0" } }, + "node_modules/eslint-config-airbnb-typescript/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/eslint-config-airbnb-typescript/node_modules/eslint-config-airbnb": { "version": "18.2.1", "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", @@ -9209,6 +9288,59 @@ "eslint-plugin-react-hooks": "^4 || ^3 || ^2.3.0 || ^1.7.0" } }, + "node_modules/eslint-config-airbnb-typescript/node_modules/eslint-plugin-react": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz", + "integrity": "sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flatmap": "^1.2.5", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.0", + "object.values": "^1.1.5", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-config-airbnb-typescript/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-config-airbnb-typescript/node_modules/resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "peer": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/eslint-config-devextreme": { "version": "0.1.40", "resolved": "https://registry.npmjs.org/eslint-config-devextreme/-/eslint-config-devextreme-0.1.40.tgz", @@ -9571,6 +9703,19 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7" } }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", + "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -10178,6 +10323,12 @@ "node": ">=0.10.0" } }, + "node_modules/expand-range/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/expand-range/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", @@ -10878,6 +11029,12 @@ "node": ">=0.10.0" } }, + "node_modules/first-chunk-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/first-chunk-stream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -10955,6 +11112,12 @@ "readable-stream": "^2.3.6" } }, + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/flush-write-stream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -11107,6 +11270,12 @@ "readable-stream": "^2.0.0" } }, + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/from2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -11194,6 +11363,12 @@ "readable-stream": "1 || 2" } }, + "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -11577,6 +11752,12 @@ "node": ">=0.10.0" } }, + "node_modules/glob-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/glob-stream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -11854,9 +12035,9 @@ } }, "node_modules/gulp-cache/node_modules/core-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz", - "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", + "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==", "dev": true, "hasInstallScript": true, "funding": { @@ -12096,12 +12277,6 @@ "through2": "~0.4" } }, - "node_modules/gulp-eol/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "node_modules/gulp-eol/node_modules/object-keys": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", @@ -12541,12 +12716,6 @@ "vinyl": "^2.1.0" } }, - "node_modules/gulp-file/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "node_modules/gulp-file/node_modules/object-keys": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", @@ -12649,6 +12818,12 @@ "node": ">=0.10.0" } }, + "node_modules/gulp-flatmap/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/gulp-flatmap/node_modules/kind-of": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", @@ -13099,12 +13274,6 @@ "xtend": "~4.0.1" } }, - "node_modules/gulp-notify/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "node_modules/gulp-notify/node_modules/object-assign": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", @@ -13430,6 +13599,12 @@ "node": ">=0.10" } }, + "node_modules/gulp-replace/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/gulp-replace/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -13902,6 +14077,12 @@ "node": ">=0.10" } }, + "node_modules/gulp-uglify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/gulp-uglify/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", @@ -14042,12 +14223,6 @@ "node": ">=0.10.0" } }, - "node_modules/gulp-util/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "node_modules/gulp-util/node_modules/lodash._reinterpolate": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", @@ -14345,6 +14520,12 @@ "node": ">=0.10.0" } }, + "node_modules/gulp-watch/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/gulp-watch/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -14490,9 +14671,9 @@ } }, "node_modules/handlebars/node_modules/uglify-js": { - "version": "3.14.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.4.tgz", - "integrity": "sha512-AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA==", + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz", + "integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==", "dev": true, "optional": true, "bin": { @@ -14895,9 +15076,9 @@ } }, "node_modules/humanize-duration": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.0.tgz", - "integrity": "sha512-qLo/08cNc3Tb0uD7jK0jAcU5cnqCM0n568918E7R2XhMr/+7F37p4EY062W/stg7tmzvknNn9b/1+UhVRzsYrQ==", + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.1.tgz", + "integrity": "sha512-jCVkMl+EaM80rrMrAPl96SGG4NRac53UyI1o/yAzebDntEY6K6/Fj2HOjdPg8omTqIe5Y0wPBai2q5xXrIbarA==", "dev": true }, "node_modules/hunspell-spellchecker": { @@ -15744,9 +15925,9 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, "engines": { "node": ">= 0.4" @@ -16015,12 +16196,12 @@ } }, "node_modules/is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -16045,9 +16226,10 @@ } }, "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", @@ -17941,9 +18123,9 @@ } }, "node_modules/jspdf/node_modules/core-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz", - "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", + "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==", "dev": true, "hasInstallScript": true, "optional": true, @@ -18010,6 +18192,11 @@ "set-immediate-shim": "~1.0.1" } }, + "node_modules/jszip/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "node_modules/jszip/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -18141,6 +18328,12 @@ "node": ">= 0.6.3" } }, + "node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/lazystream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -19773,6 +19966,12 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, + "node_modules/memory-fs/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/memory-fs/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -20546,6 +20745,15 @@ "path-to-regexp": "^1.7.0" } }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, "node_modules/node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -20661,10 +20869,10 @@ "isarray": "^1.0.0" } }, - "node_modules/node-libs-browser/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "node_modules/node-libs-browser/node_modules/punycode": { @@ -20697,24 +20905,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/node-libs-browser/node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/node-notifier": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz", @@ -20786,6 +20976,12 @@ "node": ">=0.12" } }, + "node_modules/node-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/node-stream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -21110,9 +21306,9 @@ } }, "node_modules/object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz", + "integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -21236,6 +21432,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "peer": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", @@ -21399,6 +21609,12 @@ "readable-stream": "^2.0.1" } }, + "node_modules/ordered-read-streams/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/ordered-read-streams/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -21578,6 +21794,12 @@ "readable-stream": "^2.1.5" } }, + "node_modules/parallel-transform/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/parallel-transform/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -21856,12 +22078,6 @@ "isarray": "0.0.1" } }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -21972,13 +22188,10 @@ } }, "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", + "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, "engines": { "node": ">= 6" } @@ -22156,6 +22369,18 @@ "node": ">=12.13.0" } }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "dev": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -22166,9 +22391,9 @@ } }, "node_modules/postcss": { - "version": "8.4.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.4.tgz", - "integrity": "sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", "dev": true, "dependencies": { "nanoid": "^3.1.30", @@ -22459,9 +22684,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.7.tgz", + "integrity": "sha512-U+b/Deoi4I/UmE6KOVPpnhS7I7AYdKbhGcat+qTQ27gycvaACvNEw11ba6RrkwVmDVRW7sigWgLj4/KbbJjeDA==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -22561,9 +22786,9 @@ } }, "node_modules/prettier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz", - "integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -23584,6 +23809,12 @@ "node": ">=0.10.0" } }, + "node_modules/readdirp/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/readdirp/node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -24054,6 +24285,12 @@ "readable-stream": "^2.0.2" } }, + "node_modules/replacestream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/replacestream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -24428,7 +24665,6 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "dependencies": { "tslib": "^1.9.0" }, @@ -24439,8 +24675,7 @@ "node_modules/rxjs/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/safe-buffer": { "version": "5.1.2", @@ -24991,13 +25226,13 @@ "dev": true }, "node_modules/sinon": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", - "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-12.0.1.tgz", + "integrity": "sha512-iGu29Xhym33ydkAT+aNQFBINakjq69kKO6ByPvTsm3yyIACfyQttRTP03aBP/I8GfhFmLzrnKwNNkr0ORb1udg==", "dev": true, "dependencies": { "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^7.1.2", + "@sinonjs/fake-timers": "^8.1.0", "@sinonjs/samsam": "^6.0.2", "diff": "^5.0.0", "nise": "^5.1.0", @@ -25008,24 +25243,6 @@ "url": "https://opencollective.com/sinon" } }, - "node_modules/sinon-test": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/sinon-test/-/sinon-test-3.1.1.tgz", - "integrity": "sha512-1sM7QhfTGHXU8umSSyDyIQuAwPkUX2I0JK5WFcjzhChNxDYlVw5Vj0fGoJAaS/FvywKmN2U4YgGC/XqDKhYOTA==", - "dev": true, - "peerDependencies": { - "sinon": "2.x - 11.x" - } - }, - "node_modules/sinon/node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/sinon/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -25566,6 +25783,12 @@ "readable-stream": "^2.0.2" } }, + "node_modules/stream-browserify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/stream-browserify/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -25619,6 +25842,12 @@ "readable-stream": "^2.0.2" } }, + "node_modules/stream-combiner2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/stream-combiner2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -25672,6 +25901,12 @@ "xtend": "^4.0.0" } }, + "node_modules/stream-http/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/stream-http/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -27019,6 +27254,12 @@ "node": ">= 0.10.0" } }, + "node_modules/ternary-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/ternary-stream/node_modules/merge-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", @@ -27103,6 +27344,20 @@ } } }, + "node_modules/terser-webpack-plugin/node_modules/acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/terser-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -27113,9 +27368,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz", - "integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==", + "version": "27.4.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz", + "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==", "dev": true, "dependencies": { "@types/node": "*", @@ -27658,6 +27913,12 @@ } } }, + "node_modules/testcafe-hammerhead/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/testcafe-hammerhead/node_modules/lru-cache": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz", @@ -27929,6 +28190,15 @@ "node": ">=4" } }, + "node_modules/testcafe/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/testcafe/node_modules/execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", @@ -28234,6 +28504,12 @@ "xtend": "~4.0.0" } }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/through2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -29189,6 +29465,12 @@ "node": ">=0.10.0" } }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/unzipper": { "version": "0.9.15", "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.9.15.tgz", @@ -29221,6 +29503,12 @@ "readable-stream": "^2.0.2" } }, + "node_modules/unzipper/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/unzipper/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -29302,6 +29590,15 @@ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", "dev": true }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -29323,6 +29620,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "node_modules/utrie": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.1.tgz", @@ -29546,6 +29849,12 @@ "node": ">= 0.10" } }, + "node_modules/vinyl-fs/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/vinyl-fs/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -29627,6 +29936,12 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, + "node_modules/vue": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==", + "peer": true + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -29656,9 +29971,9 @@ } }, "node_modules/watchpack": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.0.tgz", - "integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -29694,9 +30009,9 @@ "dev": true }, "node_modules/webpack": { - "version": "5.64.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.4.tgz", - "integrity": "sha512-LWhqfKjCLoYJLKJY8wk2C3h77i8VyHowG3qYNZiIqD6D0ZS40439S/KVuc/PY48jp2yQmy0mhMknq8cys4jFMw==", + "version": "5.65.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz", + "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.0", @@ -29721,7 +30036,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.0", + "watchpack": "^2.3.1", "webpack-sources": "^3.2.2" }, "bin": { @@ -30171,6 +30486,12 @@ "node": ">=0.10.0" } }, + "node_modules/webpack-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/webpack-stream/node_modules/json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -30764,6 +31085,12 @@ "node": ">= 6.4.0" } }, + "node_modules/winston-transport/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/winston-transport/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -31086,6 +31413,15 @@ "node": ">= 6" } }, + "node_modules/zone.js": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", + "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", + "peer": true, + "dependencies": { + "tslib": "^2.0.0" + } + }, "node_modules/zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", @@ -31098,6 +31434,15 @@ } }, "dependencies": { + "@angular/core": { + "version": "11.2.14", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.2.14.tgz", + "integrity": "sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg==", + "peer": true, + "requires": { + "tslib": "^2.0.0" + } + }, "@babel/code-frame": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", @@ -31114,19 +31459,19 @@ "dev": true }, "@babel/core": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", - "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz", + "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", "dev": true, "requires": { "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helpers": "^7.16.0", - "@babel/parser": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helpers": "^7.16.5", + "@babel/parser": "^7.16.5", "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", @@ -31137,9 +31482,9 @@ } }, "@babel/generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", - "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz", + "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", "dev": true, "requires": { "@babel/types": "^7.16.0", @@ -31157,9 +31502,9 @@ } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz", - "integrity": "sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz", + "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==", "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "^7.16.0", @@ -31179,16 +31524,17 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz", - "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz", + "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-function-name": "^7.16.0", - "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-member-expression-to-functions": "^7.16.5", "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.5", "@babel/helper-split-export-declaration": "^7.16.0" } }, @@ -31203,9 +31549,9 @@ } }, "@babel/helper-define-map": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.16.0.tgz", - "integrity": "sha512-aJjlhKoL+EDLhJoPD5va2su7ftrt1V3Kr+JhW5E52e1BGPYEO8yVKlKKPpKKQFogKBqh5FX244uD2EnP1IBIVg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.16.5.tgz", + "integrity": "sha512-npaQpTcr0mz0D8/AE5+icB+EFwsaH6cVwrEDKIlVzR+5Jb1tmHfKlqCqfo5IM3JVmirOZGhuv1DcnU1mCwsm4w==", "dev": true, "requires": { "@babel/helper-function-name": "^7.16.0", @@ -31228,6 +31574,15 @@ "semver": "^6.1.2" } }, + "@babel/helper-environment-visitor": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz", + "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, "@babel/helper-explode-assignable-expression": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz", @@ -31267,9 +31622,9 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", - "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz", + "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==", "dev": true, "requires": { "@babel/types": "^7.16.0" @@ -31285,18 +31640,18 @@ } }, "@babel/helper-module-transforms": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", - "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz", + "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", "dev": true, "requires": { + "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", "@babel/helper-simple-access": "^7.16.0", "@babel/helper-split-export-declaration": "^7.16.0", "@babel/helper-validator-identifier": "^7.15.7", "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0" } }, @@ -31310,31 +31665,32 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz", + "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz", - "integrity": "sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz", + "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-wrap-function": "^7.16.0", + "@babel/helper-wrap-function": "^7.16.5", "@babel/types": "^7.16.0" } }, "@babel/helper-replace-supers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", - "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz", + "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-member-expression-to-functions": "^7.16.5", "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.0", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0" } }, @@ -31378,25 +31734,25 @@ "dev": true }, "@babel/helper-wrap-function": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz", - "integrity": "sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz", + "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==", "dev": true, "requires": { "@babel/helper-function-name": "^7.16.0", "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0" } }, "@babel/helpers": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz", - "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz", + "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", "dev": true, "requires": { "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.3", + "@babel/traverse": "^7.16.5", "@babel/types": "^7.16.0" } }, @@ -31412,9 +31768,9 @@ } }, "@babel/parser": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.5.tgz", + "integrity": "sha512-+Ce7T5iPNWzfu9C1aB5tN3Lyafs5xb3Ic7vBWyZL2KXT3QSdD1dD3CvgOzPmQKoNNRt6uauc0XwNJTQtXC2/Mw==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -31438,172 +31794,172 @@ } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz", - "integrity": "sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz", + "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.16.4", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-remap-async-to-generator": "^7.16.5", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz", - "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz", + "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz", - "integrity": "sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz", + "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-decorators": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz", - "integrity": "sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.5.tgz", + "integrity": "sha512-XAiZll5oCdp2Dd2RbXA3LVPlFyIRhhcQy+G34p9ePpl6mjFkbqHAYHovyw2j5mqUrlBf0/+MtOIJ3JGYtz8qaw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-decorators": "^7.16.0" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-decorators": "^7.16.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz", - "integrity": "sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz", + "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz", - "integrity": "sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz", + "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz", - "integrity": "sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz", + "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz", - "integrity": "sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz", + "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz", - "integrity": "sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz", + "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz", - "integrity": "sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz", + "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz", - "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz", + "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.0" + "@babel/plugin-transform-parameters": "^7.16.5" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz", - "integrity": "sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz", + "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz", - "integrity": "sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz", + "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz", - "integrity": "sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz", + "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz", - "integrity": "sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz", + "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-create-class-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz", - "integrity": "sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz", + "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-syntax-async-generators": { @@ -31634,12 +31990,12 @@ } }, "@babel/plugin-syntax-decorators": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz", - "integrity": "sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.5.tgz", + "integrity": "sha512-3CbYTXfflvyy8O819uhZcZSMedZG4J8yS/NLTc/8T24M9ke1GssTGvg8VZu3Yn2LU5IyQSv1CmPq0a9JWHXJwg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-syntax-dynamic-import": { @@ -31661,12 +32017,12 @@ } }, "@babel/plugin-syntax-flow": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz", - "integrity": "sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.5.tgz", + "integrity": "sha512-Nrx+7EAJx1BieBQseZa2pavVH2Rp7hADK2xn7coYqVbWRu9C2OFizYcsKo6TrrqJkJl+qF/+Qqzrk/+XDu4GnA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-syntax-import-meta": { @@ -31688,12 +32044,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz", - "integrity": "sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.5.tgz", + "integrity": "sha512-42OGssv9NPk4QHKVgIHlzeLgPOW5rGgfV5jzG90AhcXXIv6hu/eqj63w4VgvRxdvZY3AlYeDgPiSJ3BqAd1Y6Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -31769,321 +32125,322 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz", - "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz", + "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz", - "integrity": "sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz", + "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.16.0" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-remap-async-to-generator": "^7.16.5" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz", - "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz", + "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz", - "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz", + "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-classes": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz", - "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz", + "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-function-name": "^7.16.0", "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-replace-supers": "^7.16.5", "@babel/helper-split-export-declaration": "^7.16.0", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz", - "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz", + "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz", - "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz", + "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz", - "integrity": "sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz", + "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz", - "integrity": "sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz", + "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz", - "integrity": "sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz", + "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.0.tgz", - "integrity": "sha512-vs/F5roOaO/+WxKfp9PkvLsAyj0G+Q0zbFimHm9X2KDgabN2XmNFoAafmeGEYspUlIF9+MvVmyek9UyHiqeG/w==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.5.tgz", + "integrity": "sha512-skE02E/MptkZdBS4HwoRhjWXqeKQj0BWKEAPfPC+8R4/f6bjQqQ9Nftv/+HkxWwnVxh/E2NV9TNfzLN5H/oiBw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-flow": "^7.16.0" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-flow": "^7.16.5" } }, "@babel/plugin-transform-for-of": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz", - "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz", + "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz", - "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz", + "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==", "dev": true, "requires": { "@babel/helper-function-name": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-literals": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz", - "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz", + "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz", - "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz", + "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz", - "integrity": "sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz", + "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz", - "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz", + "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-simple-access": "^7.16.0", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz", - "integrity": "sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz", + "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-validator-identifier": "^7.15.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz", - "integrity": "sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz", + "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz", - "integrity": "sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz", + "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.0" } }, "@babel/plugin-transform-new-target": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz", - "integrity": "sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz", + "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz", - "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz", + "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.16.0" + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/helper-replace-supers": "^7.16.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz", - "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz", + "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz", - "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz", + "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-property-mutators": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-mutators/-/plugin-transform-property-mutators-7.16.0.tgz", - "integrity": "sha512-PpxVELgLNYOYuWZdW20f8WqItll2Kij1AdtvxdnxOBPALWW+wYU7e3fl/Ap2A2+f+9GpxT/nEWwqB2Fzu3rKeA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-mutators/-/plugin-transform-property-mutators-7.16.5.tgz", + "integrity": "sha512-ny0KI1AJLQFP+g0PkPwbyJpXtixt0asAx+FFv9WAHFzgeA7417vUF3G7KKVIpcYJ6BufCDHHMixXlcosyagktQ==", "dev": true, "requires": { - "@babel/helper-define-map": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-define-map": "^7.16.5", + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz", - "integrity": "sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.5.tgz", + "integrity": "sha512-dHYCOnzSsXFz8UcdNQIHGvg94qPL/teF7CCiCEMRxmA1G2p5Mq4JnKVowCDxYfiQ9D7RstaAp9kwaSI+sXbnhw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz", - "integrity": "sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.5.tgz", + "integrity": "sha512-+arLIz1d7kmwX0fKxTxbnoeG85ONSnLpvdODa4P3pc1sS7CV1hfmtYWufkW/oYsPnkDrEeQFxhUWcFnrXW7jQQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-jsx": "^7.16.0", + "@babel/helper-plugin-utils": "^7.16.5", + "@babel/plugin-syntax-jsx": "^7.16.5", "@babel/types": "^7.16.0" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz", - "integrity": "sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.5.tgz", + "integrity": "sha512-uQSLacMZSGLCxOw20dzo1dmLlKkd+DsayoV54q3MHXhbqgPzoiGerZQgNPl/Ro8/OcXV2ugfnkx+rxdS0sN5Uw==", "dev": true, "requires": { - "@babel/plugin-transform-react-jsx": "^7.16.0" + "@babel/plugin-transform-react-jsx": "^7.16.5" } }, "@babel/plugin-transform-react-pure-annotations": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz", - "integrity": "sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.5.tgz", + "integrity": "sha512-0nYU30hCxnCVCbRjSy9ahlhWZ2Sn6khbY4FqR91W+2RbSqkWEbVu2gXh45EqNy4Bq7sRU+H4i0/6YKwOSzh16A==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz", - "integrity": "sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz", + "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz", - "integrity": "sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz", + "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-runtime": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz", - "integrity": "sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz", + "integrity": "sha512-gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.4.0", "babel-plugin-polyfill-regenerator": "^0.3.0", @@ -32091,97 +32448,97 @@ } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz", - "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz", + "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-spread": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz", - "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz", + "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz", - "integrity": "sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz", + "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz", - "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz", + "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz", - "integrity": "sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz", + "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz", - "integrity": "sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz", + "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz", - "integrity": "sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz", + "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.5" } }, "@babel/preset-env": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.4.tgz", - "integrity": "sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz", + "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==", "dev": true, "requires": { "@babel/compat-data": "^7.16.4", "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-validator-option": "^7.14.5", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-async-generator-functions": "^7.16.4", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-class-static-block": "^7.16.0", - "@babel/plugin-proposal-dynamic-import": "^7.16.0", - "@babel/plugin-proposal-export-namespace-from": "^7.16.0", - "@babel/plugin-proposal-json-strings": "^7.16.0", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-object-rest-spread": "^7.16.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-proposal-private-property-in-object": "^7.16.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.0", + "@babel/plugin-proposal-async-generator-functions": "^7.16.5", + "@babel/plugin-proposal-class-properties": "^7.16.5", + "@babel/plugin-proposal-class-static-block": "^7.16.5", + "@babel/plugin-proposal-dynamic-import": "^7.16.5", + "@babel/plugin-proposal-export-namespace-from": "^7.16.5", + "@babel/plugin-proposal-json-strings": "^7.16.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5", + "@babel/plugin-proposal-numeric-separator": "^7.16.5", + "@babel/plugin-proposal-object-rest-spread": "^7.16.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.5", + "@babel/plugin-proposal-optional-chaining": "^7.16.5", + "@babel/plugin-proposal-private-methods": "^7.16.5", + "@babel/plugin-proposal-private-property-in-object": "^7.16.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -32196,38 +32553,38 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.0", - "@babel/plugin-transform-async-to-generator": "^7.16.0", - "@babel/plugin-transform-block-scoped-functions": "^7.16.0", - "@babel/plugin-transform-block-scoping": "^7.16.0", - "@babel/plugin-transform-classes": "^7.16.0", - "@babel/plugin-transform-computed-properties": "^7.16.0", - "@babel/plugin-transform-destructuring": "^7.16.0", - "@babel/plugin-transform-dotall-regex": "^7.16.0", - "@babel/plugin-transform-duplicate-keys": "^7.16.0", - "@babel/plugin-transform-exponentiation-operator": "^7.16.0", - "@babel/plugin-transform-for-of": "^7.16.0", - "@babel/plugin-transform-function-name": "^7.16.0", - "@babel/plugin-transform-literals": "^7.16.0", - "@babel/plugin-transform-member-expression-literals": "^7.16.0", - "@babel/plugin-transform-modules-amd": "^7.16.0", - "@babel/plugin-transform-modules-commonjs": "^7.16.0", - "@babel/plugin-transform-modules-systemjs": "^7.16.0", - "@babel/plugin-transform-modules-umd": "^7.16.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.0", - "@babel/plugin-transform-new-target": "^7.16.0", - "@babel/plugin-transform-object-super": "^7.16.0", - "@babel/plugin-transform-parameters": "^7.16.3", - "@babel/plugin-transform-property-literals": "^7.16.0", - "@babel/plugin-transform-regenerator": "^7.16.0", - "@babel/plugin-transform-reserved-words": "^7.16.0", - "@babel/plugin-transform-shorthand-properties": "^7.16.0", - "@babel/plugin-transform-spread": "^7.16.0", - "@babel/plugin-transform-sticky-regex": "^7.16.0", - "@babel/plugin-transform-template-literals": "^7.16.0", - "@babel/plugin-transform-typeof-symbol": "^7.16.0", - "@babel/plugin-transform-unicode-escapes": "^7.16.0", - "@babel/plugin-transform-unicode-regex": "^7.16.0", + "@babel/plugin-transform-arrow-functions": "^7.16.5", + "@babel/plugin-transform-async-to-generator": "^7.16.5", + "@babel/plugin-transform-block-scoped-functions": "^7.16.5", + "@babel/plugin-transform-block-scoping": "^7.16.5", + "@babel/plugin-transform-classes": "^7.16.5", + "@babel/plugin-transform-computed-properties": "^7.16.5", + "@babel/plugin-transform-destructuring": "^7.16.5", + "@babel/plugin-transform-dotall-regex": "^7.16.5", + "@babel/plugin-transform-duplicate-keys": "^7.16.5", + "@babel/plugin-transform-exponentiation-operator": "^7.16.5", + "@babel/plugin-transform-for-of": "^7.16.5", + "@babel/plugin-transform-function-name": "^7.16.5", + "@babel/plugin-transform-literals": "^7.16.5", + "@babel/plugin-transform-member-expression-literals": "^7.16.5", + "@babel/plugin-transform-modules-amd": "^7.16.5", + "@babel/plugin-transform-modules-commonjs": "^7.16.5", + "@babel/plugin-transform-modules-systemjs": "^7.16.5", + "@babel/plugin-transform-modules-umd": "^7.16.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5", + "@babel/plugin-transform-new-target": "^7.16.5", + "@babel/plugin-transform-object-super": "^7.16.5", + "@babel/plugin-transform-parameters": "^7.16.5", + "@babel/plugin-transform-property-literals": "^7.16.5", + "@babel/plugin-transform-regenerator": "^7.16.5", + "@babel/plugin-transform-reserved-words": "^7.16.5", + "@babel/plugin-transform-shorthand-properties": "^7.16.5", + "@babel/plugin-transform-spread": "^7.16.5", + "@babel/plugin-transform-sticky-regex": "^7.16.5", + "@babel/plugin-transform-template-literals": "^7.16.5", + "@babel/plugin-transform-typeof-symbol": "^7.16.5", + "@babel/plugin-transform-unicode-escapes": "^7.16.5", + "@babel/plugin-transform-unicode-regex": "^7.16.5", "@babel/preset-modules": "^0.1.5", "@babel/types": "^7.16.0", "babel-plugin-polyfill-corejs2": "^0.3.0", @@ -32238,14 +32595,14 @@ } }, "@babel/preset-flow": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.0.tgz", - "integrity": "sha512-e5NE1EoPMpoHFkyFkMSj2h9tu7OolARcUHki8mnBv4NiFK9so+UrhbvT9mV99tMJOUEx8BOj67T6dXvGcTeYeQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.5.tgz", + "integrity": "sha512-rmC6Nznp4V55N4Zfec87jwd14TdREqwKVJFM/6Z2wTwoeZQr56czjaPRCezqzqc8TsHF7aLP1oczjadIQ058gw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-flow-strip-types": "^7.16.0" + "@babel/plugin-transform-flow-strip-types": "^7.16.5" } }, "@babel/preset-modules": { @@ -32262,31 +32619,31 @@ } }, "@babel/preset-react": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.0.tgz", - "integrity": "sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.5.tgz", + "integrity": "sha512-3kzUOQeaxY/2vhPDS7CX/KGEGu/1bOYGvdRDJ2U5yjEz5o5jmIeTPLoiQBPGjfhPascLuW5OlMiPzwOOuB6txg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-react-jsx": "^7.16.0", - "@babel/plugin-transform-react-jsx-development": "^7.16.0", - "@babel/plugin-transform-react-pure-annotations": "^7.16.0" + "@babel/plugin-transform-react-display-name": "^7.16.5", + "@babel/plugin-transform-react-jsx": "^7.16.5", + "@babel/plugin-transform-react-jsx-development": "^7.16.5", + "@babel/plugin-transform-react-pure-annotations": "^7.16.5" } }, "@babel/runtime": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", - "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.5.tgz", + "integrity": "sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz", - "integrity": "sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.5.tgz", + "integrity": "sha512-F1pMwvTiUNSAM8mc45kccMQxj31x3y3P+tA/X8hKNWp3/hUsxdGxZ3D3H8JIkxtfA8qGkaBTKvcmvStaYseAFw==", "dev": true, "requires": { "core-js-pure": "^3.19.0", @@ -32305,17 +32662,18 @@ } }, "@babel/traverse": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz", - "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz", + "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", "dev": true, "requires": { "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-function-name": "^7.16.0", "@babel/helper-hoist-variables": "^7.16.0", "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.3", + "@babel/parser": "^7.16.5", "@babel/types": "^7.16.0", "debug": "^4.1.0", "globals": "^11.1.0" @@ -33022,9 +33380,9 @@ } }, "@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" @@ -33067,9 +33425,9 @@ } }, "@types/babel__core": { - "version": "7.1.16", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", - "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", + "version": "7.1.17", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.17.tgz", + "integrity": "sha512-6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -33221,9 +33579,9 @@ "dev": true }, "@types/lodash": { - "version": "4.14.177", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.177.tgz", - "integrity": "sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw==", + "version": "4.14.178", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", + "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", "dev": true }, "@types/mdast": { @@ -33248,9 +33606,9 @@ "dev": true }, "@types/node": { - "version": "16.11.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz", - "integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==", + "version": "16.11.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz", + "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==", "dev": true }, "@types/normalize-package-data": { @@ -34147,6 +34505,12 @@ "readable-stream": "^2.0.0" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -34189,6 +34553,12 @@ "readable-stream": "^2.0.6" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -35937,13 +36307,13 @@ } }, "browserslist": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", - "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.0.tgz", + "integrity": "sha512-JGHzm73ei2OnAcobcQ61GXNnN6vDCg5Oz5MayudL+FyzjoLnCzUWnuLtDLMIYw8aXgQzzdCZMVky+fftD5jbtA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001280", - "electron-to-chromium": "^1.3.896", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", "node-releases": "^2.0.1", "picocolors": "^1.0.0" @@ -36028,6 +36398,12 @@ "readable-stream": "^2.3.6" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -36198,9 +36574,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001284", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz", - "integrity": "sha512-t28SKa7g6kiIQi6NHeOcKrOrGMzCRrXvlasPwWC26TH2QNdglgzQIRUuJ0cR3NeQPH+5jpuveeeSFDLm2zbkEw==", + "version": "1.0.30001286", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz", + "integrity": "sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ==", "dev": true }, "canvg": { @@ -36221,9 +36597,9 @@ }, "dependencies": { "core-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz", - "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", + "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==", "dev": true, "optional": true } @@ -36522,13 +36898,12 @@ } }, "cli-table": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.9.tgz", - "integrity": "sha512-7eA6hFtAZwVx3dWAGoaBqTrzWko5jRUFKpHT64ZHkJpaA3y5wf5NlLjguqTRmqycatJZiwftODYYyGNLbQ7MuA==", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", "dev": true, "requires": { - "colors": "1.0.3", - "strip-ansi": "^6.0.1" + "colors": "1.0.3" } }, "cli-truncate": { @@ -36661,6 +37036,12 @@ "readable-stream": "^2.3.5" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -36840,6 +37221,12 @@ "readable-stream": "^2.3.6" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -36884,6 +37271,12 @@ "typedarray": "^0.0.6" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -37007,9 +37400,9 @@ "dev": true }, "core-js-compat": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.2.tgz", - "integrity": "sha512-ObBY1W5vx/LFFMaL1P5Udo4Npib6fu+cMokeziWkA8Tns4FcDemKF5j9JvaI5JhdkW8EQJQGJN1EcrzmEwuAqQ==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.3.tgz", + "integrity": "sha512-59tYzuWgEEVU9r+SRgceIGXSSUn47JknoiXW6Oq7RW8QHjXWz3/vp8pa7dbtuVu40sewz3OP3JmQEcDdztrLhA==", "dev": true, "requires": { "browserslist": "^4.18.1", @@ -37025,9 +37418,9 @@ } }, "core-js-pure": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.2.tgz", - "integrity": "sha512-5LkcgQEy8pFeVnd/zomkUBSwnmIxuF1C8E9KrMAbOc8f34IBT9RGvTYeNDdp1PnvMJrrVhvk1hg/yVV5h/znlg==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.3.tgz", + "integrity": "sha512-N3JruInmCyt7EJj5mAq3csCgGYgiSqu7p7TQp2KOztr180/OAIxyIvL1FCjzgmQk/t3Yniua50Fsak7FShI9lA==", "dev": true }, "core-util-is": { @@ -37584,9 +37977,9 @@ }, "dependencies": { "core-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz", - "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==" + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", + "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==" } } }, @@ -37657,9 +38050,9 @@ "dev": true }, "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true }, "diff-sequences": { @@ -37758,9 +38151,9 @@ "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==" }, "dompurify": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.3.tgz", - "integrity": "sha512-dqnqRkPMAjOZE0FogZ+ceJNM2dZ3V/yNOuFB7+39qpO93hHhfRpHw3heYQC7DPK9FqbQTfBKUJhiSfz4MvXYwg==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.4.tgz", + "integrity": "sha512-6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ==", "dev": true, "optional": true }, @@ -37790,12 +38183,6 @@ "readable-stream": "~1.1.9" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", @@ -37828,6 +38215,12 @@ "stream-shift": "^1.0.0" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -37906,9 +38299,9 @@ } }, "electron-to-chromium": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.11.tgz", - "integrity": "sha512-2OhsaYgsWGhWjx2et8kaUcdktPbBGjKM2X0BReUCKcSCPttEY+hz2zie820JLbttU8jwL92+JJysWwkut3wZgA==", + "version": "1.4.17", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.17.tgz", + "integrity": "sha512-zhk1MravPtq/KBhmGB7TLBILmXTgRG9TFSI3qS3DbgyfHzIl72iiTE37r/BHIbPCJJlWIo5rySyxiH4vWhu2ZA==", "dev": true }, "elegant-spinner": { @@ -38493,6 +38886,16 @@ "eslint-config-airbnb-base": "^14.2.0" }, "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "requires": { + "esutils": "^2.0.2" + } + }, "eslint-config-airbnb": { "version": "18.2.1", "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", @@ -38503,6 +38906,47 @@ "object.assign": "^4.1.2", "object.entries": "^1.1.2" } + }, + "eslint-plugin-react": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz", + "integrity": "sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==", + "dev": true, + "peer": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flatmap": "^1.2.5", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.0", + "object.values": "^1.1.5", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true + }, + "resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "peer": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } } } }, @@ -38791,6 +39235,14 @@ } } }, + "eslint-plugin-react-hooks": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", + "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", + "dev": true, + "peer": true, + "requires": {} + }, "eslint-plugin-rulesdir": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/eslint-plugin-rulesdir/-/eslint-plugin-rulesdir-0.2.1.tgz", @@ -39140,6 +39592,12 @@ "kind-of": "^3.0.2" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", @@ -39711,6 +40169,12 @@ "readable-stream": "^2.0.2" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -39780,6 +40244,12 @@ "readable-stream": "^2.3.6" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -39909,6 +40379,12 @@ "readable-stream": "^2.0.0" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -39989,6 +40465,12 @@ "readable-stream": "1 || 2" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -40298,6 +40780,12 @@ "is-extglob": "^2.1.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -40525,9 +41013,9 @@ }, "dependencies": { "core-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz", - "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", + "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==", "dev": true }, "through2": { @@ -40729,12 +41217,6 @@ "through2": "~0.4" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "object-keys": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", @@ -41087,12 +41569,6 @@ "vinyl": "^2.1.0" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "object-keys": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", @@ -41179,6 +41655,12 @@ "kind-of": "^1.1.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "kind-of": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", @@ -41571,12 +42053,6 @@ } } }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "object-assign": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", @@ -41841,6 +42317,12 @@ "replacestream": "^4.0.0" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -42219,6 +42701,12 @@ "vinyl": "^0.5.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", @@ -42337,12 +42825,6 @@ "ansi-regex": "^0.2.0" } }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "lodash._reinterpolate": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", @@ -42599,6 +43081,12 @@ "is-extglob": "^2.1.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -42716,9 +43204,9 @@ "dev": true }, "uglify-js": { - "version": "3.14.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.4.tgz", - "integrity": "sha512-AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA==", + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz", + "integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==", "dev": true, "optional": true } @@ -43028,9 +43516,9 @@ "dev": true }, "humanize-duration": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.0.tgz", - "integrity": "sha512-qLo/08cNc3Tb0uD7jK0jAcU5cnqCM0n568918E7R2XhMr/+7F37p4EY062W/stg7tmzvknNn9b/1+UhVRzsYrQ==", + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.1.tgz", + "integrity": "sha512-jCVkMl+EaM80rrMrAPl96SGG4NRac53UyI1o/yAzebDntEY6K6/Fj2HOjdPg8omTqIe5Y0wPBai2q5xXrIbarA==", "dev": true }, "hunspell-spellchecker": { @@ -43651,9 +44139,9 @@ "dev": true }, "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number": { @@ -43840,12 +44328,12 @@ "dev": true }, "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2" } }, "is-windows": { @@ -43861,9 +44349,10 @@ "dev": true }, "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true }, "isexe": { "version": "2.0.0", @@ -45380,9 +45869,9 @@ }, "dependencies": { "core-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz", - "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", + "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==", "dev": true, "optional": true } @@ -45449,6 +45938,11 @@ "set-immediate-shim": "~1.0.1" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -45564,6 +46058,12 @@ "readable-stream": "^2.0.5" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -46933,6 +47433,12 @@ "readable-stream": "^2.0.1" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -47558,6 +48064,17 @@ "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", "path-to-regexp": "^1.7.0" + }, + "dependencies": { + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + } } }, "node-emoji": { @@ -47662,10 +48179,10 @@ "isarray": "^1.0.0" } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "punycode": { @@ -47697,24 +48214,9 @@ "requires": { "safe-buffer": "~5.1.0" } - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } } } }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, "node-notifier": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz", @@ -47776,6 +48278,12 @@ "through2": "^2.0.1" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -48039,9 +48547,9 @@ } }, "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz", + "integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==", "dev": true }, "object-is": { @@ -48126,6 +48634,17 @@ "es-abstract": "^1.19.1" } }, + "object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "peer": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, "object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", @@ -48252,6 +48771,12 @@ "readable-stream": "^2.0.1" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -48397,6 +48922,12 @@ "readable-stream": "^2.1.5" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -48630,14 +49161,6 @@ "dev": true, "requires": { "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } } }, "path-type": { @@ -48720,13 +49243,10 @@ } }, "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", + "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", + "dev": true }, "pkg-dir": { "version": "2.0.0", @@ -48863,6 +49383,13 @@ "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", "dev": true }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "dev": true, + "peer": true + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -48870,9 +49397,9 @@ "dev": true }, "postcss": { - "version": "8.4.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.4.tgz", - "integrity": "sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==", + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", "dev": true, "requires": { "nanoid": "^3.1.30", @@ -49106,9 +49633,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.7.tgz", + "integrity": "sha512-U+b/Deoi4I/UmE6KOVPpnhS7I7AYdKbhGcat+qTQ27gycvaACvNEw11ba6RrkwVmDVRW7sigWgLj4/KbbJjeDA==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -49189,9 +49716,9 @@ "dev": true }, "prettier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz", - "integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "dev": true }, "pretty-format": { @@ -50015,6 +50542,12 @@ "isobject": "^3.0.1" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -50395,6 +50928,12 @@ "readable-stream": "^2.0.2" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -50689,7 +51228,6 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "requires": { "tslib": "^1.9.0" }, @@ -50697,8 +51235,7 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -51143,25 +51680,19 @@ } }, "sinon": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", - "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-12.0.1.tgz", + "integrity": "sha512-iGu29Xhym33ydkAT+aNQFBINakjq69kKO6ByPvTsm3yyIACfyQttRTP03aBP/I8GfhFmLzrnKwNNkr0ORb1udg==", "dev": true, "requires": { "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^7.1.2", + "@sinonjs/fake-timers": "^8.1.0", "@sinonjs/samsam": "^6.0.2", "diff": "^5.0.0", "nise": "^5.1.0", "supports-color": "^7.2.0" }, "dependencies": { - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -51179,13 +51710,6 @@ } } }, - "sinon-test": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/sinon-test/-/sinon-test-3.1.1.tgz", - "integrity": "sha512-1sM7QhfTGHXU8umSSyDyIQuAwPkUX2I0JK5WFcjzhChNxDYlVw5Vj0fGoJAaS/FvywKmN2U4YgGC/XqDKhYOTA==", - "dev": true, - "requires": {} - }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -51617,6 +52141,12 @@ "readable-stream": "^2.0.2" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -51672,6 +52202,12 @@ "readable-stream": "^2.0.2" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -51727,6 +52263,12 @@ "xtend": "^4.0.0" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -52767,6 +53309,12 @@ "through2": "^2.0.1" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "merge-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", @@ -52834,6 +53382,14 @@ "terser": "^5.7.2" }, "dependencies": { + "acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true, + "optional": true, + "peer": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -52841,9 +53397,9 @@ "dev": true }, "jest-worker": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz", - "integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==", + "version": "27.4.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz", + "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==", "dev": true, "requires": { "@types/node": "*", @@ -53137,6 +53693,12 @@ } } }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, "execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", @@ -53503,6 +54065,12 @@ "ms": "2.1.2" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "lru-cache": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz", @@ -53714,6 +54282,12 @@ "xtend": "~4.0.1" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -54485,6 +55059,12 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true } } }, @@ -54520,6 +55100,12 @@ "readable-stream": "^2.0.2" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -54597,6 +55183,23 @@ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", "dev": true }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -54797,6 +55400,12 @@ "vinyl-sourcemap": "^1.1.0" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -54873,6 +55482,12 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, + "vue": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==", + "peer": true + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -54902,9 +55517,9 @@ } }, "watchpack": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.0.tgz", - "integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -54934,9 +55549,9 @@ "dev": true }, "webpack": { - "version": "5.64.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.4.tgz", - "integrity": "sha512-LWhqfKjCLoYJLKJY8wk2C3h77i8VyHowG3qYNZiIqD6D0ZS40439S/KVuc/PY48jp2yQmy0mhMknq8cys4jFMw==", + "version": "5.65.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz", + "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -54961,7 +55576,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.0", + "watchpack": "^2.3.1", "webpack-sources": "^3.2.2" }, "dependencies": { @@ -55352,6 +55967,12 @@ "isobject": "^3.0.1" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -55803,6 +56424,12 @@ "triple-beam": "^1.2.0" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -56063,6 +56690,15 @@ "readable-stream": "^3.4.0" } }, + "zone.js": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", + "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", + "peer": true, + "requires": { + "tslib": "^2.0.0" + } + }, "zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", diff --git a/package.json b/package.json index cb6fe5473ab6..7d9c5114c31c 100644 --- a/package.json +++ b/package.json @@ -164,8 +164,7 @@ "run-sequence": "^1.1.5", "sass": "1.43.5", "shelljs": "^0.8.3", - "sinon": "^11.1.2", - "sinon-test": "^3.1.1", + "sinon": "^12.0.1", "staged-git-files": "^1.2.0", "string-replace-loader": "^3.0.3", "stylelint": "^13.13.1", diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/appointment.templates.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/appointment.templates.tests.js index 4cf4335057fd..f5fc61c56283 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/appointment.templates.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/appointment.templates.tests.js @@ -1,5 +1,4 @@ import $ from 'jquery'; -import SinonTest from 'sinon-test'; import fx from 'animation/fx'; import { DataSource } from 'data/data_source/data_source'; import { @@ -12,16 +11,11 @@ import { import 'ui/scheduler/ui.scheduler'; import 'ui/switch'; -const sinonTest = SinonTest(sinon); const { - module + module, + test } = QUnit; - -const test = (description, callback) => { - return QUnit.test(description, sinonTest(callback)); -}; - QUnit.testStart(() => initTestMarkup()); const APPOINTMENT_CLASS = 'dx-scheduler-appointment'; @@ -40,10 +34,12 @@ const createInstance = (options, clock) => { module('Integration: Appointment templates', { beforeEach: function() { + this.clock = sinon.useFakeTimers(); fx.off = true; }, afterEach: function() { fx.off = false; + this.clock.restore(); } }, () => { let eventCallCount = 0; diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js index f058e5645bae..c3494dba5d55 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js @@ -1,5 +1,4 @@ import $ from 'jquery'; -import SinonTest from 'sinon-test'; import { getWindow } from 'core/utils/window'; @@ -16,7 +15,6 @@ import { const supportedViews = ['day', 'week', 'workWeek', 'month']; // TODO: add timelines -const sinonTest = SinonTest(sinon); const { testStart, module @@ -26,7 +24,7 @@ const test = (description, callback) => { const testFunc = !isDesktopEnvironment() ? QUnit.skip : QUnit.test; - return testFunc(description, sinonTest(callback)); + return testFunc(description, callback); }; testStart(() => initTestMarkup()); diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js index 8274868f49a4..a502b1e6df58 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js @@ -1,6 +1,5 @@ import 'generic_light.css!'; import $ from 'jquery'; -import SinonTest from 'sinon-test'; import dateUtils from 'core/utils/date'; import { @@ -11,7 +10,6 @@ import { isDesktopEnvironment, } from '../../helpers/scheduler/helpers.js'; -const sinonTest = SinonTest(sinon); const { testStart, module @@ -22,7 +20,7 @@ const test = (description, callback) => { ? QUnit.skip : QUnit.test; - return testFunc(description, sinonTest(callback)); + return testFunc(description, callback); }; const printOffset = offset => [ offset.x >= 0 ? `offset.x: ${offset.x}` : '', diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.tests.js index 68c8080a0e0a..2e5bf095b78e 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.tests.js @@ -1,18 +1,13 @@ import $ from 'jquery'; -import SinonTest from 'sinon-test'; import { VirtualScrollingDispatcher } from 'ui/scheduler/workspaces/ui.scheduler.virtual_scrolling'; import domAdapter from 'core/dom_adapter'; import eventsEngine from 'events/core/events_engine'; import { addNamespace } from 'events/utils/index'; const { - module + module, + test } = QUnit; -const sinonTest = SinonTest(sinon); - -const test = (description, callback) => { - return QUnit.test(description, sinonTest(callback)); -}; module('Virtual Scrolling', { beforeEach: function() { @@ -73,6 +68,7 @@ module('Virtual Scrolling', { }, afterEach: function() { this.virtualScrollingDispatcher.dispose(); + sinon.restore(); } }, () => { @@ -100,7 +96,7 @@ module('Virtual Scrolling', { test('document scroll event should be subscribed correctly if heigth option is undefined', function(assert) { const SCROLL_EVENT_NAME = addNamespace('scroll', 'dxSchedulerVirtualScrolling'); - const spyEventsOn = this.spy(eventsEngine, 'on'); + const spyEventsOn = sinon.spy(eventsEngine, 'on'); this.prepareInstance({ height: null }); @@ -111,7 +107,7 @@ module('Virtual Scrolling', { test('document scroll event should be unsubscribed correctly if heigth option is undefined', function(assert) { const SCROLL_EVENT_NAME = addNamespace('scroll', 'dxSchedulerVirtualScrolling'); - const spyEventsOff = this.spy(eventsEngine, 'off'); + const spyEventsOff = sinon.spy(eventsEngine, 'off'); this.prepareInstance({ height: null }); @@ -127,8 +123,8 @@ module('Virtual Scrolling', { test('It should call getTotalRowCount with correct parameters', function(assert) { this.prepareInstance(); - const getTotalRowCountSpy = this.spy(this.verticalVirtualScrolling.options, 'getTotalRowCount'); - const isVerticalGroupingSpy = this.spy(this.verticalVirtualScrolling.options, 'isVerticalGrouping'); + const getTotalRowCountSpy = sinon.spy(this.verticalVirtualScrolling.options, 'getTotalRowCount'); + const isVerticalGroupingSpy = sinon.spy(this.verticalVirtualScrolling.options, 'isVerticalGrouping'); // TODO this.verticalVirtualScrolling.updateState(200); @@ -177,7 +173,7 @@ module('Virtual Scrolling', { }); test('document scroll event should not been subscribed if the "width" option is not defined', function(assert) { - const spyEventsOn = this.spy(eventsEngine, 'on'); + const spyEventsOn = sinon.spy(eventsEngine, 'on'); this.prepareInstance({ width: null }); @@ -187,8 +183,8 @@ module('Virtual Scrolling', { test('It should call getTotalCellCount with correct parameters', function(assert) { this.prepareInstance(); - const getTotalCellCountSpy = this.spy(this.horizontalVirtualScrolling.options, 'getTotalCellCount'); - const isVerticalGroupingSpy = this.spy(this.horizontalVirtualScrolling.options, 'isVerticalGrouping'); + const getTotalCellCountSpy = sinon.spy(this.horizontalVirtualScrolling.options, 'getTotalCellCount'); + const isVerticalGroupingSpy = sinon.spy(this.horizontalVirtualScrolling.options, 'isVerticalGrouping'); this.horizontalVirtualScrolling.updateState(600); @@ -358,8 +354,8 @@ module('Virtual Scrolling', { test(`it should not call virtual scrolling instances if scrollOffset is "${offset}"`, function(assert) { this.prepareInstance(); - const spyUpdateVerticalState = this.spy(this.verticalVirtualScrolling, 'updateState'); - const spyUpdateHorizontalState = this.spy(this.horizontalVirtualScrolling, 'updateState'); + const spyUpdateVerticalState = sinon.spy(this.verticalVirtualScrolling, 'updateState'); + const spyUpdateHorizontalState = sinon.spy(this.horizontalVirtualScrolling, 'updateState'); this.virtualScrollingDispatcher.handleOnScrollEvent({ left: offset, @@ -374,7 +370,7 @@ module('Virtual Scrolling', { test('it should not update render if scroll position has not been changed', function(assert) { this.prepareInstance(); - const spy = this.spy(this.options, 'updateRender'); + const spy = sinon.spy(this.options, 'updateRender'); const scrollOffset = { left: 300, top: 200 }; @@ -398,7 +394,7 @@ module('Virtual Scrolling', { this.virtualScrollingDispatcher.getCellHeight = () => 200; - const spy = this.spy(this.virtualScrollingDispatcher.verticalVirtualScrolling, 'reinitState'); + const spy = sinon.spy(this.virtualScrollingDispatcher.verticalVirtualScrolling, 'reinitState'); this.virtualScrollingDispatcher.updateDimensions(); assert.ok(spy.calledOnce, 'reinitState called once'); @@ -411,7 +407,7 @@ module('Virtual Scrolling', { this.virtualScrollingDispatcher.getCellWidth = () => 200; - const spy = this.spy(this.virtualScrollingDispatcher.horizontalVirtualScrolling, 'reinitState'); + const spy = sinon.spy(this.virtualScrollingDispatcher.horizontalVirtualScrolling, 'reinitState'); this.virtualScrollingDispatcher.updateDimensions(); assert.ok(spy.calledOnce, 'reinitState called once'); @@ -424,16 +420,16 @@ module('Virtual Scrolling', { this.virtualScrollingDispatcher.getCellWidth = () => 200; - const spyHorizontalReinit = this.spy(this.horizontalVirtualScrolling, 'reinitState'); - const spyVerticalReinit = this.spy(this.verticalVirtualScrolling, 'reinitState'); + const spyHorizontalReinit = sinon.spy(this.horizontalVirtualScrolling, 'reinitState'); + const spyVerticalReinit = sinon.spy(this.verticalVirtualScrolling, 'reinitState'); this.virtualScrollingDispatcher.updateDimensions(); assert.ok(spyHorizontalReinit.calledOnce, 'Horizintal scrolling reinitState called once'); assert.ok(spyVerticalReinit.notCalled, 'Vertical scrolling reinitState not called'); - spyHorizontalReinit.reset(); - spyVerticalReinit.reset(); + spyHorizontalReinit.resetHistory(); + spyVerticalReinit.resetHistory(); this.virtualScrollingDispatcher.getCellHeight = () => 500; @@ -763,7 +759,7 @@ module('Virtual Scrolling', { test('Scroll event position should be checked correctly before update state', function(assert) { this.prepareInstance(); - const spy = this.spy(this.verticalVirtualScrolling, 'needUpdateState'); + const spy = sinon.spy(this.verticalVirtualScrolling, 'needUpdateState'); [ { y: 0, expectedNeedUpdate: true }, @@ -875,7 +871,7 @@ module('Virtual Scrolling', { this.prepareInstance(); - const spy = this.spy(this.horizontalVirtualScrolling, 'needUpdateState'); + const spy = sinon.spy(this.horizontalVirtualScrolling, 'needUpdateState'); [ { left: 0, expectedNeedUpdate: true }, diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js index 8aa8be27cf64..20f168d8d573 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js @@ -1,5 +1,3 @@ -import SinonTest from 'sinon-test'; - import 'generic_light.css!'; import { @@ -14,14 +12,13 @@ const { testStart, module } = QUnit; -const sinonTest = SinonTest(sinon); const test = (description, callback) => { const testFunc = !isDesktopEnvironment() ? QUnit.skip : QUnit.test; - return testFunc(description, sinonTest(callback)); + return testFunc(description, callback); }; const printOffset = offset => [ offset.x >= 0 ? `offset.x: ${offset.x}` : '', From a4d407b64a837295c741eb55c5db83a4e007b7b5 Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 17:12:21 +0300 Subject: [PATCH 10/38] use resetHistory for resize_callbacks spy --- testing/tests/DevExpress.core/utils.resize_callbacks.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.core/utils.resize_callbacks.tests.js b/testing/tests/DevExpress.core/utils.resize_callbacks.tests.js index b8d1befda2fa..92138ab343bc 100644 --- a/testing/tests/DevExpress.core/utils.resize_callbacks.tests.js +++ b/testing/tests/DevExpress.core/utils.resize_callbacks.tests.js @@ -176,7 +176,7 @@ QUnit.test('callbacks should be fired with changed dimensions', function(assert) const callback = sinon.spy(); this.callbacks.add(callback); - callback.reset(); + callback.resetHistory(); this.fakeWindow.innerWidth = 500; this.triggerResize(false); From f942115cc39a4520a66ad802fab140680227663f Mon Sep 17 00:00:00 2001 From: ksercs Date: Tue, 14 Dec 2021 18:43:08 +0300 Subject: [PATCH 11/38] fix timers --- testing/tests/DevExpress.angular/widgets.tests.js | 12 ++++++------ .../fileUploader.tests.js | 8 ++++---- .../DevExpress.ui.widgets.editors/lookup.tests.js | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/testing/tests/DevExpress.angular/widgets.tests.js b/testing/tests/DevExpress.angular/widgets.tests.js index 290fc7b78bbe..96d086427e81 100644 --- a/testing/tests/DevExpress.angular/widgets.tests.js +++ b/testing/tests/DevExpress.angular/widgets.tests.js @@ -208,7 +208,7 @@ QUnit.test('dxDataGrid - search with row template should highlight data without }; initMarkup($markup, controller, this); - this.clock.tick(30); + this.clock.tick(40); assert.equal($($('.mycell')[0]).text(), 'text.1'); @@ -267,7 +267,7 @@ QUnit.test('dxDataGrid - search with cell template should highlight data without }; initMarkup($markup, controller, this); - this.clock.tick(30); + this.clock.tick(40); assert.equal($($('.mycell')[0]).text(), 'text1'); @@ -432,7 +432,7 @@ QUnit.test('Two-way binding', function(assert) { const scope = $markup.scope(); - this.clock.tick(30); + this.clock.tick(40); let $rows = $markup.find('.dx-data-row'); assert.equal($rows.length, 2, 'row count'); @@ -469,7 +469,7 @@ QUnit.test('Two-way binding when columnFixing', function(assert) { const scope = $markup.scope(); - this.clock.tick(30); + this.clock.tick(40); let $rows = $markup.find('.dx-datagrid-content-fixed .dx-data-row'); assert.equal($rows.length, 2, 'row count'); @@ -628,7 +628,7 @@ QUnit.test('Scope refreshing count on init', function(assert) { initMarkup($markup, controller, this); - this.clock.tick(30); + this.clock.tick(40); assert.equal(refreshingCount, 4); }); @@ -931,7 +931,7 @@ QUnit.test('dxDateBox with list strategy automatically scrolls to selected item initMarkup($markup, function() {}, this); - this.clock.tick(); + this.clock.tick(40); const $popupContent = $('.dx-popup-content'); const $selectedItem = $popupContent.find('.dx-list-item-selected'); diff --git a/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js b/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js index 492e99923187..d9dcb35d8bd4 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/fileUploader.tests.js @@ -914,7 +914,7 @@ QUnit.module('uploading by chunks', moduleConfig, function() { }); const instance = $fileUploader.dxFileUploader('instance'); simulateFileChoose($fileUploader, [fakeContentFile]); - this.clock.tick(); + this.clock.tick(10); const expectedCallsCount = Math.ceil(fakeContentFile.size / instance.option('chunkSize')); assert.equal(index, expectedCallsCount, 'count of calls onProgress event is valid'); @@ -970,7 +970,7 @@ QUnit.module('uploading by chunks', moduleConfig, function() { } }); simulateFileChoose($fileUploader, files); - this.clock.tick(); + this.clock.tick(10); assert.equal(fileUploadedCount, files.length, 'Count uploaded files is correct'); for(let i = 0; i < files.length; i++) { @@ -991,7 +991,7 @@ QUnit.module('uploading by chunks', moduleConfig, function() { const files = [createBlobFile('fake1.png', 100023), createBlobFile('fake2.png', 5000)]; simulateFileChoose($fileUploader, files); - this.clock.tick(); + this.clock.tick(10); assert.equal(uploadedFiles.length, files.length, 'count uploaded files is valid'); for(let i = 0; i < files.length; i++) { @@ -1017,7 +1017,7 @@ QUnit.module('uploading by chunks', moduleConfig, function() { simulateFileChoose($fileUploader, files); assert.strictEqual(progressSpy.callCount, 1, 'only one chunk sent'); - this.clock.tick(); + this.clock.tick(10); assert.strictEqual(progressSpy.callCount, chunkCount, 'all chunks are sent'); }); test('abortUpload callback should not rise for not uploading files', function(assert) { diff --git a/testing/tests/DevExpress.ui.widgets.editors/lookup.tests.js b/testing/tests/DevExpress.ui.widgets.editors/lookup.tests.js index 658cb209d00f..f4623f88848f 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/lookup.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/lookup.tests.js @@ -3068,7 +3068,7 @@ QUnit.module('dataSource integration', { keyboard.type('1'); this.clock.tick(loadDelay * 2); keyboard.type('2'); - this.clock.tick(loadDelay / 2); + this.clock.tick(loadDelay / 2 + 10); const $loadPanel = $content.find(`.${SCROLL_VIEW_LOAD_PANEL_CLASS}`); assert.ok($loadPanel.is(':visible'), 'load panel is visible'); From be0e16c75941428be5803b1abb53f13d5508216e Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 13:40:00 +0300 Subject: [PATCH 12/38] get rid of private api in Grid DataController tests --- .../dataController.tests.js | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/dataController.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/dataController.tests.js index 99ac7b0fb93f..aae3bf073683 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/dataController.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/dataController.tests.js @@ -4371,13 +4371,13 @@ QUnit.module('Virtual scrolling (ScrollingDataSource)', { this.dataController.setViewportItemIndex(7); // act - this.clock.callTimer(this.clock.firstTimerInRange()); + this.clock.next(); // assert assert.equal(changedArgs.length, 0); // act - this.clock.callTimer(this.clock.firstTimerInRange()); + this.clock.next(); // assert assert.equal(changedArgs.length, 2); @@ -4452,9 +4452,9 @@ QUnit.module('Virtual scrolling (ScrollingDataSource)', { const dataController = this.dataController; - this.clock.tick(); + this.clock.tick(10); dataController.setViewportItemIndex(7); - this.clock.tick(); + this.clock.tick(10); dataController.changed.add(function(e) { changedArgs.push(e); virtualItems.push(dataController.virtualItemsCount()); @@ -4462,7 +4462,7 @@ QUnit.module('Virtual scrolling (ScrollingDataSource)', { // act dataController.reload(true); - this.clock.callTimer(this.clock.firstTimerInRange()); + this.clock.next(); // assert assert.deepEqual(changedArgs, []); @@ -4470,7 +4470,7 @@ QUnit.module('Virtual scrolling (ScrollingDataSource)', { assert.ok(dataController.isLoaded()); // act - this.clock.callTimer(this.clock.firstTimerInRange()); + this.clock.next(); // assert assert.equal(changedArgs.length, 2); @@ -4581,8 +4581,6 @@ QUnit.module('Virtual scrolling (ScrollingDataSource)', { let finalized; let loadResult; - const clock = this.clock; - this.options.loadingTimeout = 0; this.dataSource = new DataSource({ @@ -4621,11 +4619,11 @@ QUnit.module('Virtual scrolling (ScrollingDataSource)', { finalized = true; }); - clock.tick(); + this.clock.tick(10); // assert assert.ok(finalized); - clock.tick(); + this.clock.tick(10); // assert assert.ok(!dataController.isLoaded(), 'isLoaded after error'); @@ -4806,7 +4804,7 @@ QUnit.module('Virtual scrolling (ScrollingDataSource)', { dataController.load(); dataController.viewportSize(3); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(!isLoading, 'not loading'); @@ -4817,7 +4815,7 @@ QUnit.module('Virtual scrolling (ScrollingDataSource)', { dataController.changeRowExpand([0]); assert.ok(isLoading, 'loading started'); - this.clock.tick(); + this.clock.tick(10); assert.ok(!isLoading, 'loading ended'); }); @@ -6927,7 +6925,7 @@ QUnit.module('Filtering', { that.dataController.setDataSource(that.dataSource); that.dataSource.load(); that.dataController.searchByText('Bob'); - that.clock.tick(); + that.clock.tick(10); // assert const items = that.dataController.items(); @@ -6947,7 +6945,7 @@ QUnit.module('Filtering', { // act that.dataController.clearFilter(); - that.clock.tick(); + that.clock.tick(10); // assert columns = that.columnsController.getColumns(); @@ -14981,14 +14979,14 @@ QUnit.module('Exporting', { columns: ['field1', { dataField: 'field2', filterValue: 3 }, 'field3'] }); - this.clock.tick(); + this.clock.tick(10); // act this.dataController.loadAll().done(function(items) { allItems = items; }); - this.clock.tick(); + this.clock.tick(10); // assert assert.deepEqual(allItems.length, 2, 'all items count'); From a938ec53c443b8eabdf32fc482ee6619248f2e20 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 14:28:51 +0300 Subject: [PATCH 13/38] fix timers in grid testss --- .../eventsEngine.tests.js | 4 +- .../adaptiveColumns.tests.js | 16 +-- .../columnFixing.integration.tests.js | 4 +- .../dataGrid.tests.js | 12 +- .../dataSource.tests.js | 20 ++-- .../editing.integration.tests.js | 110 +++++++++--------- 6 files changed, 83 insertions(+), 83 deletions(-) diff --git a/testing/tests/DevExpress.ui.events/eventsEngine.tests.js b/testing/tests/DevExpress.ui.events/eventsEngine.tests.js index 477d11cf7696..cc463413524f 100644 --- a/testing/tests/DevExpress.ui.events/eventsEngine.tests.js +++ b/testing/tests/DevExpress.ui.events/eventsEngine.tests.js @@ -358,8 +358,8 @@ QUnit.test('On/trigger/off event listeners', function(assert) { const removeListener = sinon.spy(HTMLElement.prototype, 'removeEventListener'); eventNames.forEach(function(eventName) { - addListener.reset(); - removeListener.reset(); + addListener.resetHistory(); + removeListener.resetHistory(); eventsEngine.on(div, eventName, function(e) { callbackIsCalled = true; }); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/adaptiveColumns.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/adaptiveColumns.tests.js index 7bbe39fc88a8..e307b853d071 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/adaptiveColumns.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/adaptiveColumns.tests.js @@ -4002,7 +4002,7 @@ QUnit.module('Validation', { setupDataGrid(this); this.rowsView.render($('#container')); this.resizingController.updateDimensions(); - this.clock.tick(); + this.clock.tick(10); // act this.adaptiveColumnsController.expandAdaptiveDetailRow(dataSource[0]); @@ -4010,13 +4010,13 @@ QUnit.module('Validation', { let $itemsContent = $('.dx-field-item-content'); $($itemsContent.first()).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); const editor = $('.dx-form .dx-texteditor').first().dxTextBox('instance'); editor.option('value', ''); $(document).trigger('dxpointerdown'); $(document).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($('.dx-field-item-content.dx-validator').length === 1, 'item element has a validation styles'); @@ -4025,7 +4025,7 @@ QUnit.module('Validation', { // act $itemsContent = $('.dx-field-item-content'); $($itemsContent.first()).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($('.dx-field-item-content > .dx-widget.dx-validator').length === 1, 'editor into a form item has a validation styles'); @@ -4062,7 +4062,7 @@ QUnit.module('Validation', { setupDataGrid(this); this.rowsView.render($('#container')); this.resizingController.updateDimensions(); - this.clock.tick(); + this.clock.tick(10); // act this.adaptiveColumnsController.expandAdaptiveDetailRow(dataSource[0]); @@ -4070,13 +4070,13 @@ QUnit.module('Validation', { let $itemsContent = $('.dx-field-item-content'); $itemsContent.first().trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); const editor = $('.dx-form .dx-texteditor').first().dxTextBox('instance'); editor.option('value', ''); $(document).trigger('dxpointerdown'); $(document).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($('.dx-field-item-content.dx-validator').length === 1, 'item element has a validation styles'); @@ -4085,7 +4085,7 @@ QUnit.module('Validation', { // act $itemsContent = $('.dx-field-item-content'); $itemsContent.first().trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($('.dx-field-item-content > .dx-widget.dx-validator').length === 1, 'editor into a form item has a validation styles'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/columnFixing.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/columnFixing.integration.tests.js index 798b2562bec5..dc473d4caf4b 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/columnFixing.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/columnFixing.integration.tests.js @@ -555,7 +555,7 @@ QUnit.module('Fixed columns', baseModuleConfig, () => { } ] }); - this.clock.tick(); + this.clock.tick(10); for(let rowIndex = 0; rowIndex < 5; rowIndex++) { for(let columnIndex = 0; columnIndex < 5; columnIndex++) { @@ -563,7 +563,7 @@ QUnit.module('Fixed columns', baseModuleConfig, () => { // act $cell.trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $cell = $(dataGrid.getCellElement(rowIndex, columnIndex)); // assert diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/dataGrid.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/dataGrid.tests.js index 0a7c45925afd..932921496adc 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/dataGrid.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/dataGrid.tests.js @@ -163,7 +163,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { ] }); - this.clock.tick(); + this.clock.tick(10); assert.equal($('.dx-widget').attr('role'), 'presentation', 'Widget role'); @@ -628,7 +628,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act dataGrid.navigateToRow('Zeb'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(dataGrid.pageIndex(), 2, 'Page index'); @@ -1336,7 +1336,7 @@ QUnit.module('Async render', baseModuleConfig, () => { assert.equal(buttonTemplateCallCount, 0, 'template is not rendered'); - this.clock.tick(); + this.clock.tick(10); assert.equal(buttonTemplateCallCount, 1, 'template is rendered asynchronously'); assert.equal($(dataGrid.getCellElement(0, 0)).text(), 'Test\u00A0', 'template is applied'); @@ -3204,7 +3204,7 @@ QUnit.module('API methods', baseModuleConfig, () => { dataSource: [], columns: ['id', 'name'] }); - onColumnsChanging.reset(); + onColumnsChanging.resetHistory(); // act dataGrid.columnOption('name', 'visible', false); @@ -4418,11 +4418,11 @@ QUnit.module('templates', baseModuleConfig, () => { }, }); - this.clock.tick(); + this.clock.tick(10); // act dataGrid.pageIndex(1); - this.clock.tick(); + this.clock.tick(10); const $rows = $(dataGrid.element()).find('.dx-row'); assert.equal($rows.length, 4, 'row count'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/dataSource.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/dataSource.tests.js index f607ff1cb2be..4447a2d42760 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/dataSource.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/dataSource.tests.js @@ -105,7 +105,7 @@ QUnit.module('Grid DataSource', { source.load(); }); - this.clock.tick(); + this.clock.tick(10); assert.equal(changeCallCount, 1); assert.equal(source.pageIndex(), 3); @@ -1802,18 +1802,18 @@ QUnit.module('Grouping with basic remoteOperations', { source.load(); - this.clock.tick(); + this.clock.tick(10); source.changeRowExpand([1]); source.load(); - this.clock.tick(); + this.clock.tick(10); // act source.filter(['field2', '>', 3]); source.reload(); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(source.totalItemsCount(), 1, 'total items count'); @@ -2130,23 +2130,23 @@ QUnit.module('Grouping with basic remoteOperations. Second level', { source.load(); - this.clock.tick(); + this.clock.tick(10); source.changeRowExpand([1, 2]); - this.clock.tick(); + this.clock.tick(10); source.load(); - this.clock.tick(); + this.clock.tick(10); source.changeRowExpand([1, 3]); - this.clock.tick(); + this.clock.tick(10); source.load(); - this.clock.tick(); + this.clock.tick(10); // act source.group(['field1', { selector: 'field2', desc: true }]); source.reload(); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(source.totalItemsCount(), 3); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js index f74a988bdd29..5c1884e9b71c 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js @@ -292,7 +292,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { } }); - this.clock.tick(); + this.clock.tick(10); // assert const $commandCell = $(dataGrid.getCellElement(0, 1)); @@ -335,7 +335,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { } }); - this.clock.tick(); + this.clock.tick(10); // assert const $commandCell = $(dataGrid.getCellElement(0, 1)); @@ -357,15 +357,15 @@ QUnit.module('Initialization', baseModuleConfig, () => { dataSource: [...new Array(20)].map((x, i) => ({ name: i })) }); - clock.tick(); + clock.tick(10); const scrollable = $('.dx-scrollable').dxScrollable('instance'); scrollable.scrollTo({ y: 5 }); - clock.tick(); + clock.tick(10); // act dataGrid.addRow(); - clock.tick(); + clock.tick(10); // assert assert.ok(scrollable.scrollTop() <= 1, 'first row is not overlayed by parent container'); @@ -387,15 +387,15 @@ QUnit.module('Initialization', baseModuleConfig, () => { dataSource: [...new Array(20)].map((x, i) => ({ name: i })) }); - clock.tick(); + clock.tick(10); const scrollable = $('.dx-scrollable').dxScrollable('instance'); scrollable.scrollTo({ y: 10 }); - clock.tick(); + clock.tick(10); // act dataGrid.addRow(); - clock.tick(); + clock.tick(10); // assert assert.ok(scrollable.scrollTop() <= 1, 'first row is not overlayed by parent container'); @@ -1116,7 +1116,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { ] }); - this.clock.tick(300); + this.clock.tick(310); const $dataGridTables = $dataGrid.find('.dx-datagrid-table'); // assert @@ -1366,14 +1366,14 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act dataGrid.editCell(0, 0); - this.clock.tick(); + this.clock.tick(10); // assert $tableElements = dataGrid.$element().find('.dx-datagrid-rowsview').find('table'); assert.roughEqual(getOuterHeight($tableElements.eq(0)), 68, 3.01, 'height main table'); dataGrid.closeEditCell(); - this.clock.tick(); + this.clock.tick(10); // assert $tableElements = dataGrid.$element().find('.dx-datagrid-rowsview').find('table'); @@ -1582,13 +1582,13 @@ QUnit.module('Initialization', baseModuleConfig, () => { columnFixing: { enabled: true } }); - this.clock.tick(); + this.clock.tick(10); for(let i = 1; i <= 3; i++) { // act let $cellElement = $(dataGrid.getCellElement(1, i)); $cellElement.trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $cellElement = $(dataGrid.getCellElement(1, i)); // assert @@ -1598,7 +1598,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act $cellElement.find('.dx-texteditor-input').val(i).trigger('change'); dataGrid.closeEditCell(); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(dataGrid.cellValue(1, i), `${i}`, `cell ${i} has modified value`); @@ -1688,11 +1688,11 @@ QUnit.module('Editing', baseModuleConfig, () => { allowUpdating: true } }); - this.clock.tick(); + this.clock.tick(10); // act $(dataGrid.getCellElement(0, 0)).trigger(CLICK_EVENT); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(dataGrid.getCellElement(0, 0)).hasClass('dx-cell-focus-disabled'), `cell has dx-cell-focus-disabled class in '${editingMode}' editing mode`); @@ -1895,11 +1895,11 @@ QUnit.module('Editing', baseModuleConfig, () => { // act dataGrid.editCell(1, 0); - this.clock.tick(); + this.clock.tick(10); const navigationController = dataGrid.getController('keyboardNavigation'); navigationController._keyDownHandler({ key: 'Tab', keyName: 'tab', originalEvent: $.Event('keydown', { target: $(dataGrid.getCellElement(0, 0)) }) }); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal($(dataGrid.getCellElement(0, 1)).find('input').length, 0, `cell is not being edited in '${editingMode}' editing mode`); @@ -2045,20 +2045,20 @@ QUnit.module('Editing', baseModuleConfig, () => { }; const grid = createDataGrid(gridConfig); - this.clock.tick(); + this.clock.tick(10); grid.addRow(); - this.clock.tick(); + this.clock.tick(10); $(document).trigger('dxpointerdown'); $(document).trigger('dxclick'); let $secondCell = $(grid.getCellElement(0, 1)); $secondCell.trigger(pointerEvents.down).trigger('dxclick'); - this.clock.tick(1000); + this.clock.tick(1010); $secondCell = $(grid.getCellElement(0, 1)); $secondCell.trigger(pointerEvents.down).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $secondCell = $(grid.getCellElement(0, 1)); // assert @@ -2133,7 +2133,7 @@ QUnit.module('Editing', baseModuleConfig, () => { }; const grid = createDataGrid(gridConfig); - this.clock.tick(); + this.clock.tick(10); let $firstCell = $(grid.getCellElement(0, 0)); $firstCell.trigger(pointerEvents.down).trigger('dxclick'); this.clock.tick(); @@ -2185,11 +2185,11 @@ QUnit.module('Editing', baseModuleConfig, () => { }; const grid = createDataGrid(gridConfig); - this.clock.tick(); + this.clock.tick(10); let $firstCell = $(grid.getCellElement(0, 0)); $firstCell.trigger(pointerEvents.down).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $firstCell = $(grid.getCellElement(0, 0)); assert.ok($firstCell.hasClass('dx-focused'), 'cell is focused'); @@ -2199,7 +2199,7 @@ QUnit.module('Editing', baseModuleConfig, () => { $inputElement.trigger('change'); headerPanel.getElement().trigger(pointerEvents.down).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $firstCell = $(grid.getCellElement(0, 0)); // assert @@ -2319,10 +2319,10 @@ QUnit.module('Editing', baseModuleConfig, () => { }; const grid = createDataGrid(gridConfig); - this.clock.tick(); + this.clock.tick(10); grid.addRow(); - this.clock.tick(); + this.clock.tick(10); const $firstCell = $(grid.getCellElement(0, 0)); @@ -2355,10 +2355,10 @@ QUnit.module('Editing', baseModuleConfig, () => { }; const grid = createDataGrid(gridConfig); - this.clock.tick(); + this.clock.tick(10); grid.editRow(0); - this.clock.tick(); + this.clock.tick(10); const $firstCell = $(grid.getCellElement(0, 0)); @@ -2391,10 +2391,10 @@ QUnit.module('Editing', baseModuleConfig, () => { }; const grid = createDataGrid(gridConfig); - this.clock.tick(); + this.clock.tick(10); grid.editCell(0, 0); - this.clock.tick(); + this.clock.tick(10); const $firstCell = $(grid.getCellElement(0, 0)); @@ -2567,15 +2567,15 @@ QUnit.module('Editing', baseModuleConfig, () => { } else { dataGrid.editCell(0, 0); } - this.clock.tick(); + this.clock.tick(10); $(dataGrid.getCellElement(0, 0)).find('.dx-texteditor-input').focus(); - this.clock.tick(); + this.clock.tick(10); if(editMode !== 'Row') { dataGrid.editCell(0, 1); - this.clock.tick(); + this.clock.tick(10); } $(dataGrid.getCellElement(0, 1)).find('.dx-texteditor-input').focus(); - this.clock.tick(); + this.clock.tick(10); // assert @@ -2690,7 +2690,7 @@ QUnit.module('Editing', baseModuleConfig, () => { // act $(dataGrid.element()).find('.dx-icon-edit-button-addrow').trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); let $firstRow = $(dataGrid.getRowElement(0)); const $inputElement = $firstRow.find('.dx-texteditor-input').first(); @@ -2700,9 +2700,9 @@ QUnit.module('Editing', baseModuleConfig, () => { // act $inputElement.val('tst').trigger('change'); - this.clock.tick(); + this.clock.tick(10); $(dataGrid.getRowElement(1)).find('.dx-link-delete').trigger('click'); - this.clock.tick(); + this.clock.tick(10); const visibleRows = dataGrid.getVisibleRows(); // assert @@ -2747,7 +2747,7 @@ QUnit.module('Editing', baseModuleConfig, () => { // act let $firstCell = $(dataGrid.getCellElement(0, 0)); $firstCell.trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $firstCell = $(dataGrid.getCellElement(0, 0)); // assert @@ -2756,9 +2756,9 @@ QUnit.module('Editing', baseModuleConfig, () => { // act const $inputElement = $firstCell.find('.dx-texteditor-input').first(); $inputElement.val('tst').trigger('change'); - this.clock.tick(); + this.clock.tick(10); $(dataGrid.getRowElement(1)).find('.dx-link-delete').trigger('click'); - this.clock.tick(); + this.clock.tick(10); const visibleRows = dataGrid.getVisibleRows(); // assert @@ -2939,11 +2939,11 @@ QUnit.module('Editing', baseModuleConfig, () => { allowUpdating: true } }); - this.clock.tick(); + this.clock.tick(10); // act $(dataGrid.getCellElement(0, 1)).find('.dx-checkbox').trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(dataGrid.cellValue(0, 1), false, 'cell value after the first click'); @@ -2952,7 +2952,7 @@ QUnit.module('Editing', baseModuleConfig, () => { // act $(dataGrid.getCellElement(0, 1)).find('.dx-checkbox').trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(dataGrid.cellValue(0, 1), true, 'cell value after the second click'); @@ -2962,7 +2962,7 @@ QUnit.module('Editing', baseModuleConfig, () => { // act $(dataGrid.getCellElement(0, 1)).find('.dx-checkbox').trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(dataGrid.cellValue(0, 1), false, 'cell value after the third click'); @@ -3002,18 +3002,18 @@ QUnit.module('Editing', baseModuleConfig, () => { allowUpdating: true } }); - this.clock.tick(); + this.clock.tick(10); // act $(dataGrid.element()).find('.dx-datagrid-addrow-button').trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(dataGrid.getRowElement(0)).hasClass('dx-row-inserted'), 'first row is inserted'); // act $(dataGrid.getRowElement(1)).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(dataGrid.getCellElement(0, 1)).hasClass('dx-datagrid-invalid'), 'cell is invalid after the first click'); @@ -3021,11 +3021,11 @@ QUnit.module('Editing', baseModuleConfig, () => { // act $(dataGrid.getCellElement(0, 1)).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $(dataGrid.getCellElement(0, 1)).find('.dx-checkbox').trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $(dataGrid.getRowElement(1)).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(insertSpy.callCount, 1, 'insert is called after the last click'); @@ -3705,7 +3705,7 @@ QUnit.module('Validation with virtual scrolling and rendering', { } }); - this.clock.tick(); + this.clock.tick(10); // assert const $cellElement = $(dataGrid.getCellElement(0, 1)); @@ -4160,12 +4160,12 @@ QUnit.module('API methods', baseModuleConfig, () => { }, columns: ['id', { dataField: 'value', allowEditing: true }] }); - this.clock.tick(); + this.clock.tick(10); this.clock.tick(1000); // act $('.dx-checkbox').eq(0).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal($('.dx-checkbox').eq(0).attr('aria-checked'), 'true', 'checkbox is checked'); From eac2caa620352b8f823da8b256f4024b16b59f7c Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 14:34:43 +0300 Subject: [PATCH 14/38] fix Scheduler tests --- .../appointments.tests.js | 2 +- .../desktopTooltip.tests.js | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js index 54c9bfb70565..80cbaedbe14a 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js @@ -1071,7 +1071,7 @@ QUnit.module('Appointments Keyboard Navigation', moduleOptions, () => { this.clock.tick(); assert.ok(focusSpy.called, 'focus is called'); - focusSpy.restore(); + focusSpy.reset(); eventsEngine.trigger = initialTrigger; }); diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/desktopTooltip.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/desktopTooltip.tests.js index a1d3d74d47a1..697ebfd3c10b 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/desktopTooltip.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/desktopTooltip.tests.js @@ -43,14 +43,14 @@ const environment = { isButtonClick: false, }, afterEach: function() { - stubCreateComponent.reset(); - stubComponent.option.reset(); - stubShowAppointmentPopup.reset(); - stubAddDefaultTemplates.reset(); - stubGetAppointmentTemplate.reset(); - stubCreateFormattedDateText.reset(); - stubCreateFormattedDateText.reset(); - stubCheckAndDeleteAppointment.reset(); + stubCreateComponent.resetHistory(); + stubComponent.option.resetHistory(); + stubShowAppointmentPopup.resetHistory(); + stubAddDefaultTemplates.resetHistory(); + stubGetAppointmentTemplate.resetHistory(); + stubCreateFormattedDateText.resetHistory(); + stubCreateFormattedDateText.resetHistory(); + stubCheckAndDeleteAppointment.resetHistory(); } }; From 3a3c86f17abca625896cc44c40e444e691ab6d30 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 14:35:53 +0300 Subject: [PATCH 15/38] fix ButtonGroup selection tests --- .../tests/DevExpress.ui.widgets/buttonGroup.selection.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.ui.widgets/buttonGroup.selection.tests.js b/testing/tests/DevExpress.ui.widgets/buttonGroup.selection.tests.js index b3748df4b7be..5cbaec03068d 100644 --- a/testing/tests/DevExpress.ui.widgets/buttonGroup.selection.tests.js +++ b/testing/tests/DevExpress.ui.widgets/buttonGroup.selection.tests.js @@ -48,7 +48,7 @@ QUnit.module(`Selection for items: ${JSON.stringify(items)}, `, () => { } resetSelectedChangedSpy() { - this.selectionChangedHandler.reset(); + this.selectionChangedHandler.resetHistory(); } _getButtonGroupItem(index) { From 3dea06b45d3ac47a05251ddee6a80d340597f136 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 14:42:42 +0300 Subject: [PATCH 16/38] fix charts --- .../chart.integration.tests.js | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/testing/tests/DevExpress.viz.charts/chart.integration.tests.js b/testing/tests/DevExpress.viz.charts/chart.integration.tests.js index f90e2b582530..92ff3c1a5a8e 100644 --- a/testing/tests/DevExpress.viz.charts/chart.integration.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.integration.tests.js @@ -331,7 +331,7 @@ QUnit.test('Set visualRange via array', function(assert) { onOptionChanged: visualRangeChanged }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 8]); assert.deepEqual(chart.getArgumentAxis().getViewport(), { startValue: 2, endValue: 8 }); @@ -371,7 +371,7 @@ QUnit.test('Set visualRange for indexed valueAxis (check onOptionChanged fired)' assert.ok(chart); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.getValueAxis().visualRange([3, 6]); assert.deepEqual(visualRangeChanged.lastCall.args[0].value, { startValue: 3, endValue: 6 }); @@ -415,7 +415,7 @@ QUnit.test('Set visualRange for multi axis (exists single option collection for assert.ok(chart); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 8]); assert.equal(visualRangeChanged.callCount, 2); @@ -460,7 +460,7 @@ QUnit.test('Set visualRange for multi axis/pane (exists option collection for ea assert.ok(chart); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 8]); assert.equal(visualRangeChanged.callCount, 3); @@ -501,7 +501,7 @@ QUnit.test('Pass visualRange array if options is set using array', function(asse onOptionChanged: visualRangeChanged }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.getArgumentAxis().visualRange([3, 6]); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, [3, 6]); @@ -762,7 +762,7 @@ QUnit.test('Set value visual range using option. only one edge was set. other un onOptionChanged: onOptionChanged }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('valueAxis.visualRange.startValue', 50); assert.deepEqual(chart.getValueAxis().visualRange(), { startValue: 50, endValue: 90 }); assert.equal(onOptionChanged.callCount, 3); @@ -837,7 +837,7 @@ QUnit.test('Using the single section of axis options for some panes (check custo chart.getArgumentAxis().visualRange([4, 6]); panes.push({ name: 'p2' }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('panes', panes); assert.deepEqual(chart.option('valueAxis.visualRange'), chart.getValueAxis().visualRange()); @@ -967,21 +967,21 @@ QUnit.test('Set the visualRange option by the different ways', function(assert) assert.deepEqual(chart.getArgumentAxis().visualRange(), { startValue: 3, endValue: 10 }); assert.deepEqual(chart.getValueAxis().visualRange(), { startValue: 4, endValue: 7 }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis.visualRange', [3, 6]); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, [3, 6]); assert.deepEqual(chart.option('valueAxis.visualRange'), [3, 6]); assert.deepEqual(chart.option('valueAxis._customVisualRange'), [3, 6]); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis', { visualRange: [1, 4] }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, { visualRange: [1, 4] }); assert.deepEqual(chart.option('valueAxis.visualRange'), [1, 4]); assert.deepEqual(chart.option('valueAxis._customVisualRange'), [1, 4]); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option({ size: { width: 1000, @@ -997,21 +997,21 @@ QUnit.test('Set the visualRange option by the different ways', function(assert) assert.deepEqual(chart.option('valueAxis.visualRange'), [2, 7]); assert.deepEqual(chart.option('valueAxis._customVisualRange'), [2, 7]); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis', { visualRange: { startValue: 3 } }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, { visualRange: { startValue: 3 } }); assert.deepEqual(chart.option('valueAxis.visualRange'), { startValue: 3, endValue: 7 }); assert.deepEqual(chart.option('valueAxis._customVisualRange'), { startValue: 3 }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis', { visualRange: { endValue: 10 } }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, { visualRange: { endValue: 10 } }); assert.deepEqual(chart.option('valueAxis.visualRange'), { startValue: 3, endValue: 10 }); assert.deepEqual(chart.option('valueAxis._customVisualRange'), { endValue: 10 }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis', { visualRange: { length: 2 } }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, { visualRange: { length: 2 } }); @@ -1048,7 +1048,7 @@ QUnit.test('Reload dataSource - visualRange option should be changed', function( argumentAxis: { valueMarginsEnabled: false } }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); // act const ds = chart.getDataSource(); @@ -1219,7 +1219,7 @@ QUnit.test('Reject the visualRange less then minVisualRangeLength, categories', const argumentAxis = chart.getArgumentAxis(); const visualRange = argumentAxis.visualRange(); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); argumentAxis.visualRange({ startValue: 'a4' }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, visualRange); @@ -1276,7 +1276,7 @@ QUnit.test('Reject the visualRange less then minVisualRangeLength, numeric, star const argumentAxis = chart.getArgumentAxis(); const visualRange = argumentAxis.visualRange(); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); argumentAxis.visualRange({ startValue: 3, endValue: 3 }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, visualRange); @@ -1474,8 +1474,8 @@ QUnit.test('Reset chart viewport', function(assert) { chart.getValueAxis().visualRange([-20, 40]); assert.deepEqual(chart.getValueAxis().visualRange(), { startValue: -20, endValue: 40 }); - zoomStart.reset(); - zoomEnd.reset(); + zoomStart.resetHistory(); + zoomEnd.resetHistory(); chart.resetVisualRange(); assert.equal(zoomStart.callCount, 3); @@ -2971,14 +2971,14 @@ QUnit.module('Option changing in onDrawn after zooming', { beforeEach: function() { this.legendShiftSpy = sinon.spy(legendModule.Legend.prototype, 'move'); this.titleShiftSpy = sinon.spy(titleModule.Title.prototype, 'move'); - sinon.spy(rendererModule, 'Renderer', function() { + this.rendererSpy = sinon.spy(rendererModule, 'Renderer', function() { return new vizMocks.Renderer(); }); }, afterEach: function() { legendModule.Legend.prototype.move.restore(); titleModule.Title.prototype.move.restore(); - rendererModule.Renderer.restore(); + this.rendererSpy.restore(); } }); @@ -3305,7 +3305,7 @@ QUnit.test('Set/reset the visualRange by API methods', function(assert) { const valueAxis = chart.getValueAxis(); let visualRange = { startValue: 4, endValue: 7 }; - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); valueAxis.visualRange(visualRange); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, visualRange); @@ -3313,7 +3313,7 @@ QUnit.test('Set/reset the visualRange by API methods', function(assert) { assert.deepEqual(chart.option('valueAxis.visualRange'), visualRange); assert.deepEqual(chart.option().valueAxis._customVisualRange, $.extend({ action: undefined }, visualRange)); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); visualRange = { startValue: 3, endValue: 8 }; chart.resetVisualRange(); @@ -3355,28 +3355,28 @@ QUnit.test('Set the visualRange option by the different ways', function(assert) assert.deepEqual(chart.option('valueAxis.visualRange'), { startValue: 4, endValue: 7 }); assert.deepEqual(chart.getValueAxis().visualRange(), { startValue: 4, endValue: 7 }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis.visualRange', [null, null]); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, [null, null]); assert.deepEqual(chart.option('valueAxis.visualRange'), [3, 8]); assert.deepEqual(chart.option().valueAxis._customVisualRange, [null, null]); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis.visualRange', [3, 6]); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, [3, 6]); assert.deepEqual(chart.option('valueAxis.visualRange'), [3, 6]); assert.deepEqual(chart.option().valueAxis._customVisualRange, [3, 6]); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis', { visualRange: [1, 4] }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, { visualRange: [1, 4] }); assert.deepEqual(chart.option('valueAxis.visualRange'), [1, 4]); assert.deepEqual(chart.option().valueAxis._customVisualRange, [1, 4]); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option({ dataSource: dataSource, series: { type: 'line' }, @@ -3388,21 +3388,21 @@ QUnit.test('Set the visualRange option by the different ways', function(assert) assert.deepEqual(chart.option('valueAxis.visualRange'), [2, 7]); assert.deepEqual(chart.option().valueAxis._customVisualRange, [2, 7]); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis', { visualRange: { startValue: 4 } }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, { visualRange: { startValue: 4 } }); assert.deepEqual(chart.option('valueAxis.visualRange'), { startValue: 4, endValue: 8 }); assert.deepEqual(chart.option().valueAxis._customVisualRange, { startValue: 4 }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis', { visualRange: { endValue: 10 } }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, { visualRange: { endValue: 10 } }); assert.deepEqual(chart.option('valueAxis.visualRange'), { startValue: 3, endValue: 10 }); assert.deepEqual(chart.option().valueAxis._customVisualRange, { endValue: 10 }); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); chart.option('valueAxis', { visualRange: { length: 2 } }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, { visualRange: { length: 2 } }); @@ -3444,7 +3444,7 @@ QUnit.test('Try to set the visualRange less then minVisualRangeLength', function const valueAxis = chart.getValueAxis(); const visualRange = valueAxis.visualRange(); - visualRangeChanged.reset(); + visualRangeChanged.resetHistory(); valueAxis.visualRange({ startValue: 7 }); assert.deepEqual(visualRangeChanged.firstCall.args[0].value, visualRange); From 9d15e9c4af9c7b85aeccd025f81683a62ea55f2d Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 15:50:43 +0300 Subject: [PATCH 17/38] fix vix.Charts --- testing/helpers/chartMocks.js | 2 +- .../chart.part1.tests.js | 14 +- .../chart.part4.tests.js | 4 +- .../chart.part5.tests.js | 10 +- .../chart.part6.tests.js | 78 ++-- .../DevExpress.viz.charts/chart.tests.js | 2 +- .../chart.visualRangeUpdate.tests.js | 368 +++++++++--------- .../chartAxisDrawing.tests.js | 24 +- .../chartInteraction.tests.js | 8 +- .../chartParts/commons.js | 22 +- .../DevExpress.viz.charts/chartSync.tests.js | 108 ++--- .../DevExpress.viz.charts/crosshair.tests.js | 2 +- .../DevExpress.viz.charts/pieChart.tests.js | 2 +- .../DevExpress.viz.charts/polarChart.tests.js | 26 +- .../DevExpress.viz.charts/tracker.tests.js | 72 ++-- .../DevExpress.viz.charts/zoomAndPan.tests.js | 12 +- .../annotations.plugins.tests.js | 2 +- .../DevExpress.viz.gauges/barGauge.tests.js | 2 +- .../DevExpress.viz.gauges/baseGauge.tests.js | 2 +- .../circularGauge.tests.js | 2 +- .../linearGauge.tests.js | 2 +- .../sparkline.tests.js | 2 +- 22 files changed, 383 insertions(+), 383 deletions(-) diff --git a/testing/helpers/chartMocks.js b/testing/helpers/chartMocks.js index be7f9ae973cf..85f816317461 100644 --- a/testing/helpers/chartMocks.js +++ b/testing/helpers/chartMocks.js @@ -1098,7 +1098,7 @@ export const MockAxis = function(renderOptions) { isFirstDrawing() { return true; }, - getMarginOptions: sinon.stub.returns({}), + getMarginOptions: sinon.stub().returns({}), applyVisualRangeSetter: sinon.spy(), _setVisualRange: sinon.spy(), _getAdjustedBusinessRange: sinon.spy(), diff --git a/testing/tests/DevExpress.viz.charts/chart.part1.tests.js b/testing/tests/DevExpress.viz.charts/chart.part1.tests.js index 1c22409c9ede..f8e401aec6b3 100644 --- a/testing/tests/DevExpress.viz.charts/chart.part1.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.part1.tests.js @@ -255,7 +255,7 @@ QUnit.test('Recreate series points on zooming if aggregation is enabled', functi const series = chart.getAllSeries()[0]; const argumentAxis = chart.getArgumentAxis(); - series.createPoints.reset(); + series.createPoints.resetHistory(); chart.seriesFamilies[0].adjustSeriesValues.reset(); argumentAxis.applyVisualRangeSetter.lastCall.args[0](argumentAxis, { startValue: 0, endValue: 1 }); @@ -276,7 +276,7 @@ QUnit.test('Recreate series points on scrolling if aggregation is enabled', func }); const series = chart.getAllSeries()[0]; - series.createPoints.reset(); + series.createPoints.resetHistory(); chart.getArgumentAxis().applyVisualRangeSetter.lastCall.args[0](chart.getArgumentAxis(), { startValue: 0, endValue: 1 }); chart.getArgumentAxis().applyVisualRangeSetter.lastCall.args[0](chart.getArgumentAxis(), { startValue: 1, endValue: 2 }); @@ -297,7 +297,7 @@ QUnit.test('Recreate series points on zooming if aggregation is enabled (discret const series = chart.getAllSeries()[0]; const oldGetBusinessRange = chart._argumentAxes[0].getTranslator().getBusinessRange; - series.createPoints.reset(); + series.createPoints.resetHistory(); chart._argumentAxes[0].getTranslator = function() { return { getBusinessRange: function() { @@ -328,7 +328,7 @@ QUnit.test('Do not recreate series points on scrolling if aggregation is enabled const series = chart.getAllSeries()[0]; const oldGetBusinessRange = chart._argumentAxes[0].getTranslator().getBusinessRange; - series.createPoints.reset(); + series.createPoints.resetHistory(); chart._argumentAxes[0].getTranslator = function() { return { getBusinessRange: function() { @@ -366,7 +366,7 @@ QUnit.test('Do not recreate series points on scrolling if aggregation is enabled }); const series = chart.getAllSeries()[0]; - series.createPoints.reset(); + series.createPoints.resetHistory(); chart._argumentAxes[0].getViewport.returns({ min: 0, @@ -394,7 +394,7 @@ QUnit.test('Do not recreate series points on zooming if aggregation is not enabl }); const series = chart.getAllSeries()[0]; - series.createPoints.reset(); + series.createPoints.resetHistory(); chart.getArgumentAxis().applyVisualRangeSetter.lastCall.args[0](chart.getArgumentAxis(), { startValue: 0, endValue: 1 }); @@ -416,7 +416,7 @@ QUnit.test('Recreate points on resize if aggregation is enabled', function(asser const series = chart.getAllSeries()[0]; const argumentAxis = chart._argumentAxes[0]; - series.createPoints.reset(); + series.createPoints.resetHistory(); argumentAxis.updateCanvas.reset(); chart.option({ diff --git a/testing/tests/DevExpress.viz.charts/chart.part4.tests.js b/testing/tests/DevExpress.viz.charts/chart.part4.tests.js index 540406a8cb14..038423588706 100644 --- a/testing/tests/DevExpress.viz.charts/chart.part4.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.part4.tests.js @@ -931,7 +931,7 @@ QUnit.test('Not Update clipRects and canvases. After zoomArgument', function(ass margin: { left: 80, right: 90, top: 10, bottom: 80 } }); - chart._canvasClipRect.attr.reset(); + chart._canvasClipRect.attr.resetHistory(); chart.zoomArgument(1, 10); @@ -944,7 +944,7 @@ QUnit.test('Update clipRect and canvases. After force render', function(assert) margin: { left: 80, right: 90, top: 10, bottom: 80 } }); - chart._canvasClipRect.attr.reset(); + chart._canvasClipRect.attr.resetHistory(); chart.render({ force: true }); diff --git a/testing/tests/DevExpress.viz.charts/chart.part5.tests.js b/testing/tests/DevExpress.viz.charts/chart.part5.tests.js index f5ab005cc90e..c63f8610d736 100644 --- a/testing/tests/DevExpress.viz.charts/chart.part5.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.part5.tests.js @@ -117,8 +117,8 @@ QUnit.test('MultiAxis chart', function(assert) { ] }); - chart._valueAxes[0].adjust.reset(); - chart._valueAxes[1].adjust.reset(); + chart._valueAxes[0].adjust.resetHistory(); + chart._valueAxes[1].adjust.resetHistory(); // act chart.getArgumentAxis().applyVisualRangeSetter.lastCall.args[0](chart.getArgumentAxis(), {}); // assert @@ -147,7 +147,7 @@ QUnit.test('Set visual range for all argument axis except original target one', name: 'p2' }] }); - chart._argumentAxes[0].visualRange.reset(); + chart._argumentAxes[0].visualRange.resetHistory(); // act chart.getArgumentAxis().applyVisualRangeSetter.lastCall.args[0](chart.getArgumentAxis(), { range: [10, 50] }); // assert @@ -550,8 +550,8 @@ QUnit.test('ScrollBar option changed', function(assert) { }); const scrollBar = scrollBarClassModule.ScrollBar.lastCall.returnValue; - scrollBar.init.reset(); - scrollBar.setPosition.reset(); + scrollBar.init.resetHistory(); + scrollBar.setPosition.resetHistory(); this.themeManager.getOptions.withArgs('scrollBar').returns({ visible: true, diff --git a/testing/tests/DevExpress.viz.charts/chart.part6.tests.js b/testing/tests/DevExpress.viz.charts/chart.part6.tests.js index 73013e882b14..545f8d5c2af6 100644 --- a/testing/tests/DevExpress.viz.charts/chart.part6.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.part6.tests.js @@ -54,8 +54,8 @@ QUnit.test('change dataSource only - reinitialized series data', function(assert dataSource: dataSource1 }); const oldChartSeries = chart.series; - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option('dataSource', dataSource2); // Assert @@ -81,8 +81,8 @@ QUnit.test('change dataSource only. render call', function(assert) { chart._doRender = function() { this._renderCalled = true; }; - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // act chart.option('dataSource', dataSource2); @@ -132,8 +132,8 @@ QUnit.test('change series options only - populateSeries', function(assert) { $.each(chart.series, function(_, series) { series.dispose = function() { chart.seriesDisposed = true; }; }); $.each(chart.seriesFamilies, function(_, family) { family.dispose = function() { chart.seriesFamiliesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ @@ -170,8 +170,8 @@ QUnit.test('change series options only', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ @@ -208,8 +208,8 @@ QUnit.test('change series order only', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ @@ -246,8 +246,8 @@ QUnit.test('change series - pass less series than chart has', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ @@ -281,8 +281,8 @@ QUnit.test('change series - pass more series than chart has', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ @@ -436,8 +436,8 @@ QUnit.test('change series options only. render called', function(assert) { family.dispose = function() { chart.seriesFamiliesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ @@ -466,7 +466,7 @@ QUnit.test('change containerBackgroundColor option only', function(assert) { const valAxis = chart._valueAxes[0]; const argAxis = chart._argumentAxes[0]; - this.validateData.reset(); + this.validateData.resetHistory(); // Act chart.option({ containerBackgroundColor: 'red' @@ -497,7 +497,7 @@ QUnit.test('change resolveLabelsOverlapping option only', function(assert) { const valAxis = chart._valueAxes[0]; const argAxis = chart._argumentAxes[0]; - this.validateData.reset(); + this.validateData.resetHistory(); // Act chart.option({ resolveLabelsOverlapping: false @@ -574,8 +574,8 @@ QUnit.test('change panes option only', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); this.themeManager.getOptions.withArgs('panes').returns([{ name: 'pane1' }]); // Act chart.option({ @@ -611,8 +611,8 @@ QUnit.test('change default Pane', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); this.themeManager.getOptions.withArgs('defaultPane').returns('top'); // Act chart.option({ @@ -655,8 +655,8 @@ QUnit.test('change valueAxis option', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ valueAxis: { @@ -733,7 +733,7 @@ QUnit.test('change some options check calls', function(assert) { const spy = chart._doRender = sinon.spy(); // Act - this.validateData.reset(); + this.validateData.resetHistory(); chart.option($.extend({}, newOptions)); // assert assert.equal(spy.callCount, 1); @@ -759,7 +759,7 @@ QUnit.test('change some options', function(assert) { }; this.themeManager.getOptions.withArgs('panes').returns([{ name: 'top' }, { name: 'bottom' }]); // Act - this.validateData.reset(); + this.validateData.resetHistory(); chart.option({ valueAxis: [{ name: 'axis1' }], panes: [{ name: 'top' }, { name: 'bottom' }], @@ -879,8 +879,8 @@ QUnit.test('palette option changed', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ @@ -913,8 +913,8 @@ QUnit.test('paletteExtensionMode option changed', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ @@ -946,8 +946,8 @@ QUnit.test('palette option changed. palette as array', function(assert) { $.each(chart._argumentAxes, function(_, axis) { axis.dispose = function() { chart.horizontalAxesDisposed = true; }; }); $.each(chart._valueAxes, function(_, axis) { axis.dispose = function() { chart.verticalAxesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); // Act chart.option({ palette: ['black', 'blue'] @@ -1201,8 +1201,8 @@ QUnit.test('SeriesTemplate.', function(assert) { $.each(chart.series, function(_, series) { series.dispose = function() { chart.seriesDisposed = true; }; }); $.each(chart.seriesFamilies, function(_, family) { family.dispose = function() { chart.seriesFamiliesDisposed = true; }; }); - this.validateData.reset(); - chart.seriesFamilies[0].adjustSeriesValues.reset(); + this.validateData.resetHistory(); + chart.seriesFamilies[0].adjustSeriesValues.resetHistory(); this.themeManager.getOptions.withArgs('seriesTemplate').returns({ nameField: 'series', customizeSeries: function(sName) { return { type: 'spline-' + sName }; } }); // Act chart.option({ @@ -1257,7 +1257,7 @@ QUnit.test('SeriesTemplate. render called', function(assert) { }; this.themeManager.getOptions.withArgs('seriesTemplate').returns({ nameField: 'series', customizeSeries: function(sName) { return { type: 'spline-' + sName }; } }); // Act - this.validateData.reset(); + this.validateData.resetHistory(); chart.option({ seriesTemplate: { nameField: 'series', customizeSeries: function(sName) { return { type: 'spline-' + sName }; } } }); @@ -1279,7 +1279,7 @@ QUnit.test('Ignore Series update if SeriesTemplate presents.', function(assert) }); chartMocks.seriesMockData.series.push(new MockSeries(), new MockSeries(), new MockSeries()); // Act - this.validateData.reset(); + this.validateData.resetHistory(); chart.option({ series: [{ name: 'first', type: 'spline' }] }); @@ -1324,7 +1324,7 @@ QUnit.test('\'done\' event is triggered after all \'_render\' calls when async s series: { type: 'line' }, onDone: onDone }); - onDone.reset(); + onDone.resetHistory(); commons.getTrackerStub().stub('update').reset(); chartMocks.seriesMockData.series[1].canRenderCompleteHandle = function() { this.canRenderCompleteHandle = function() { @@ -1378,7 +1378,7 @@ QUnit.test('title option', function(assert) { const series = chart.getAllSeries()[0]; const valAxis = chart._valueAxes[0]; const argAxis = chart._argumentAxes[0]; - onDrawn.reset(); + onDrawn.resetHistory(); // Act chart.option({ title: 'changed title' @@ -1464,7 +1464,7 @@ QUnit.test('adjustOnZoom option', function(assert) { max: 2 }); - valAxis.adjust.reset(); + valAxis.adjust.resetHistory(); // act chart.option({ diff --git a/testing/tests/DevExpress.viz.charts/chart.tests.js b/testing/tests/DevExpress.viz.charts/chart.tests.js index 14e17ca57f97..dbe945f03dae 100644 --- a/testing/tests/DevExpress.viz.charts/chart.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.tests.js @@ -64,7 +64,7 @@ const environment = { return chart; }, _stubLayoutManager: function() { - this.LayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager').callsFake(LayoutManager); + this.LayoutManager = sinon.stub(layoutManagerModule, 'LayoutManager').callsFake((...args) => new LayoutManager(args)); }, _stubLegend: function() { this.Legend = sinon.stub(legendModule, 'Legend').callsFake(function() { diff --git a/testing/tests/DevExpress.viz.charts/chart.visualRangeUpdate.tests.js b/testing/tests/DevExpress.viz.charts/chart.visualRangeUpdate.tests.js index 363401d99271..f23820a1efa3 100644 --- a/testing/tests/DevExpress.viz.charts/chart.visualRangeUpdate.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.visualRangeUpdate.tests.js @@ -60,7 +60,7 @@ QUnit.test('No data -> set visualRange - take given range', function(assert) { // Case 3 [chart, onOptionChanged] = this.createChart({}); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [2, 4] } }); @@ -76,7 +76,7 @@ QUnit.test('No data -> set visualRange - take given range', function(assert) { // Case 4 [chart, onOptionChanged] = this.createChart({}); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [2, 4]); @@ -92,7 +92,7 @@ QUnit.test('No data -> set visualRange - take given range', function(assert) { // Case 5 [chart, onOptionChanged] = this.createChart({}); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 4]); @@ -120,7 +120,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio let [chart, onOptionChanged] = this.createChart({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -137,7 +137,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio [chart, onOptionChanged] = this.createChart({ argumentAxis: { visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -153,7 +153,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio // Case 3 [chart, onOptionChanged] = this.createChart({}); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -169,7 +169,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio // Case 4 [chart, onOptionChanged] = this.createChart({}); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -185,7 +185,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio // Case 5 [chart, onOptionChanged] = this.createChart({}); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -249,7 +249,7 @@ QUnit.test('No data -> set visualRange < wholeRange -> set data - keep visual ra let [chart, onOptionChanged] = this.createChart({ argumentAxis: { visualRange: [2, 4], wholeRange: [0, 10] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -266,7 +266,7 @@ QUnit.test('No data -> set visualRange < wholeRange -> set data - keep visual ra [chart, onOptionChanged] = this.createChart({ argumentAxis: { visualRange: { startValue: 2, endValue: 4 }, wholeRange: { startValue: 0, endValue: 10 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -282,7 +282,7 @@ QUnit.test('No data -> set visualRange < wholeRange -> set data - keep visual ra // Case 3 [chart, onOptionChanged] = this.createChart({}); chart.option({ argumentAxis: { visualRange: [2, 4], wholeRange: [0, 10] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -299,7 +299,7 @@ QUnit.test('No data -> set visualRange < wholeRange -> set data - keep visual ra [chart, onOptionChanged] = this.createChart({}); chart.option('argumentAxis.wholeRange', [0, 10]); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -316,7 +316,7 @@ QUnit.test('No data -> set visualRange < wholeRange -> set data - keep visual ra [chart, onOptionChanged] = this.createChart({}); chart.option('argumentAxis.wholeRange', [0, 10]); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -345,7 +345,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data > wholeRange - t let [chart, onOptionChanged] = this.createChart({ argumentAxis: { visualRange: [1, 5], wholeRange: [1, 5] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -362,7 +362,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data > wholeRange - t [chart, onOptionChanged] = this.createChart({ argumentAxis: { visualRange: { startValue: 1, endValue: 5 }, wholeRange: { startValue: 1, endValue: 5 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -378,7 +378,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data > wholeRange - t // Case 3 [chart, onOptionChanged] = this.createChart({}); chart.option({ argumentAxis: { visualRange: [1, 5], wholeRange: [1, 5] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -395,7 +395,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data > wholeRange - t [chart, onOptionChanged] = this.createChart({}); chart.option('argumentAxis.wholeRange', [1, 5]); chart.option('argumentAxis.visualRange', [1, 5]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -412,7 +412,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data > wholeRange - t [chart, onOptionChanged] = this.createChart({}); chart.option('argumentAxis.wholeRange', [1, 5]); chart.getArgumentAxis().visualRange([1, 5]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -439,7 +439,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data < wholeRange - t let [chart, onOptionChanged] = this.createChart({ argumentAxis: { visualRange: [0, 6], wholeRange: [0, 6] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -456,7 +456,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data < wholeRange - t [chart, onOptionChanged] = this.createChart({ argumentAxis: { visualRange: { startValue: 0, endValue: 6 }, wholeRange: { startValue: 0, endValue: 6 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -472,7 +472,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data < wholeRange - t // Case 3 [chart, onOptionChanged] = this.createChart({}); chart.option({ argumentAxis: { visualRange: [0, 6], wholeRange: [0, 6] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -489,7 +489,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data < wholeRange - t [chart, onOptionChanged] = this.createChart({}); chart.option('argumentAxis.wholeRange', [0, 6]); chart.option('argumentAxis.visualRange', [0, 6]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -506,7 +506,7 @@ QUnit.test('No data -> set visualRange = wholeRange -> set data < wholeRange - t [chart, onOptionChanged] = this.createChart({}); chart.option('argumentAxis.wholeRange', [0, 6]); chart.getArgumentAxis().visualRange([0, 6]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -545,7 +545,7 @@ QUnit.test('Data -> set visualRange in the middle of data - take given range', f assert.deepEqual(onOptionChanged.getCall(1).args[0].value, { startValue: 20, endValue: 40 }, 'Case 1'); // Case 2 - onOptionChanged.reset(); + onOptionChanged.resetHistory(); [chart, onOptionChanged] = this.createChart({ dataSource, argumentAxis: { visualRange: { startValue: 2, endValue: 4 } } @@ -564,7 +564,7 @@ QUnit.test('Data -> set visualRange in the middle of data - take given range', f [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [2, 4] } }); @@ -581,7 +581,7 @@ QUnit.test('Data -> set visualRange in the middle of data - take given range', f [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [2, 4]); @@ -598,7 +598,7 @@ QUnit.test('Data -> set visualRange in the middle of data - take given range', f [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 4]); @@ -637,7 +637,7 @@ QUnit.test('Data -> set visualRange at the end of data - take given range', func assert.deepEqual(onOptionChanged.getCall(1).args[0].value, { startValue: 40, endValue: 50 }, 'Case 1'); // Case 2 - onOptionChanged.reset(); + onOptionChanged.resetHistory(); [chart, onOptionChanged] = this.createChart({ dataSource, argumentAxis: { visualRange: { startValue: 4, endValue: 5 } } @@ -656,7 +656,7 @@ QUnit.test('Data -> set visualRange at the end of data - take given range', func [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [4, 5] } }); @@ -673,7 +673,7 @@ QUnit.test('Data -> set visualRange at the end of data - take given range', func [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [4, 5]); @@ -690,7 +690,7 @@ QUnit.test('Data -> set visualRange at the end of data - take given range', func [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([4, 5]); @@ -726,7 +726,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -744,7 +744,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra dataSource, argumentAxis: { visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -763,7 +763,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra }); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -781,7 +781,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra dataSource }); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -799,7 +799,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra dataSource }); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -832,7 +832,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -850,7 +850,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data dataSource, argumentAxis: { visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -868,7 +868,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data dataSource }); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -886,7 +886,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data dataSource }); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -904,7 +904,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data dataSource }); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -929,7 +929,7 @@ QUnit.test('No data -> set Data(one point)', function(assert) { dataSource, argumentAxis: { visualRange: { length: 2 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -963,7 +963,7 @@ QUnit.test('No data -> set visualRange - take given range', function(assert) { assert.deepEqual(onOptionChanged.getCall(1).args[0].value, { startValue: undefined, endValue: undefined }, 'Case 1'); // Case 2 - onOptionChanged.reset(); + onOptionChanged.resetHistory(); [chart, onOptionChanged] = this.createChart({ argumentAxis: { type: 'discrete', @@ -989,7 +989,7 @@ QUnit.test('No data -> set visualRange - take given range', function(assert) { argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [2, 4] } }); @@ -1010,7 +1010,7 @@ QUnit.test('No data -> set visualRange - take given range', function(assert) { argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [2, 4]); @@ -1031,7 +1031,7 @@ QUnit.test('No data -> set visualRange - take given range', function(assert) { argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 4]); @@ -1063,7 +1063,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1084,7 +1084,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1106,7 +1106,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio }); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1128,7 +1128,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio }); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1149,7 +1149,7 @@ QUnit.test('No data -> set visualRange -> set data - keep visual range', functio } }); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1192,7 +1192,7 @@ QUnit.test('Data -> set visualRange in the middle of data - take given range', f assert.deepEqual(onOptionChanged.getCall(1).args[0].value, { startValue: 20, endValue: 40 }, 'Case 1'); // Case 2 - onOptionChanged.reset(); + onOptionChanged.resetHistory(); [chart, onOptionChanged] = this.createChart({ dataSource, argumentAxis: { @@ -1219,7 +1219,7 @@ QUnit.test('Data -> set visualRange in the middle of data - take given range', f argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [2, 4] } }); @@ -1240,7 +1240,7 @@ QUnit.test('Data -> set visualRange in the middle of data - take given range', f argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [2, 4]); @@ -1261,7 +1261,7 @@ QUnit.test('Data -> set visualRange in the middle of data - take given range', f argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 4]); @@ -1304,7 +1304,7 @@ QUnit.test('Data -> set visualRange at the end of data - take given range', func assert.deepEqual(onOptionChanged.getCall(1).args[0].value, { startValue: 40, endValue: 50 }, 'Case 1'); // Case 2 - onOptionChanged.reset(); + onOptionChanged.resetHistory(); [chart, onOptionChanged] = this.createChart({ dataSource, argumentAxis: { @@ -1331,7 +1331,7 @@ QUnit.test('Data -> set visualRange at the end of data - take given range', func argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [4, 5] } }); @@ -1352,7 +1352,7 @@ QUnit.test('Data -> set visualRange at the end of data - take given range', func argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [4, 5]); @@ -1373,7 +1373,7 @@ QUnit.test('Data -> set visualRange at the end of data - take given range', func argumentType: 'numeric' } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([4, 5]); @@ -1413,7 +1413,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1435,7 +1435,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1458,7 +1458,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra }); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1480,7 +1480,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra } }); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1502,7 +1502,7 @@ QUnit.test('Data -> set visualRange < data range -> update data - keep visual ra } }); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1539,7 +1539,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1561,7 +1561,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1583,7 +1583,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data } }); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1605,7 +1605,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data } }); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1627,7 +1627,7 @@ QUnit.test('Data -> set visualRange = data range -> update data - take new data } }); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1660,7 +1660,7 @@ QUnit.test('No data, keep mode -> set visualRange = wholeRange -> set data < who wholeRange: [0, 6] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1681,7 +1681,7 @@ QUnit.test('No data, keep mode -> set visualRange = wholeRange -> set data < who wholeRange: { startValue: 0, endValue: 6 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1701,7 +1701,7 @@ QUnit.test('No data, keep mode -> set visualRange = wholeRange -> set data < who } }); chart.option({ argumentAxis: { visualRange: [0, 6], wholeRange: [0, 6] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1722,7 +1722,7 @@ QUnit.test('No data, keep mode -> set visualRange = wholeRange -> set data < who }); chart.option('argumentAxis.wholeRange', [0, 6]); chart.option('argumentAxis.visualRange', [0, 6]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1743,7 +1743,7 @@ QUnit.test('No data, keep mode -> set visualRange = wholeRange -> set data < who }); chart.option('argumentAxis.wholeRange', [0, 6]); chart.getArgumentAxis().visualRange([0, 6]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1774,7 +1774,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re wholeRange: [0, 10] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1795,7 +1795,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re wholeRange: { startValue: 0, endValue: 10 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1815,7 +1815,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re } }); chart.option({ argumentAxis: { visualRange: [2, 4], wholeRange: [0, 10] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1836,7 +1836,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re }); chart.option('argumentAxis.wholeRange', [0, 10]); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1857,7 +1857,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re }); chart.option('argumentAxis.wholeRange', [0, 10]); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -1896,7 +1896,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1917,7 +1917,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1939,7 +1939,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh }); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1960,7 +1960,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh } }); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -1981,7 +1981,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh } }); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2015,7 +2015,7 @@ QUnit.test('No data, keep mode -> set visualRange -> set data - keep visual rang visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2037,7 +2037,7 @@ QUnit.test('No data, keep mode -> set visualRange -> set data - keep visual rang visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2060,7 +2060,7 @@ QUnit.test('No data, keep mode -> set visualRange -> set data - keep visual rang }); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2083,7 +2083,7 @@ QUnit.test('No data, keep mode -> set visualRange -> set data - keep visual rang }); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2105,7 +2105,7 @@ QUnit.test('No data, keep mode -> set visualRange -> set data - keep visual rang } }); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2138,7 +2138,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re wholeRange: [0, 10] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2161,7 +2161,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re wholeRange: { startValue: 0, endValue: 10 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2183,7 +2183,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re } }); chart.option({ argumentAxis: { visualRange: [2, 4], wholeRange: [0, 10] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2206,7 +2206,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re }); chart.option('argumentAxis.wholeRange', [0, 10]); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2229,7 +2229,7 @@ QUnit.test('No data, reset mode -> set visualRange < wholeRange -> set data - re }); chart.option('argumentAxis.wholeRange', [0, 10]); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource }); @@ -2270,7 +2270,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2293,7 +2293,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh visualRange: { startValue: 2, endValue: 4 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2317,7 +2317,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh }); chart.option({ argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2340,7 +2340,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh } }); chart.option('argumentAxis.visualRange', [2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2363,7 +2363,7 @@ QUnit.test('Data, shift mode -> set visualRange < data range -> update data - sh } }); chart.getArgumentAxis().visualRange([2, 4]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2405,7 +2405,7 @@ QUnit.test('Without visualRange, adjustOnZoom true -> set argument visualRange - assert.deepEqual(onOptionChanged.getCall(1).args[0].value, { startValue: 20, endValue: 40 }, 'Case 1'); // Case 2 - onOptionChanged.reset(); + onOptionChanged.resetHistory(); [chart, onOptionChanged] = this.createChart({ dataSource, argumentAxis: { visualRange: { startValue: 2, endValue: 4 } } @@ -2424,7 +2424,7 @@ QUnit.test('Without visualRange, adjustOnZoom true -> set argument visualRange - [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [2, 4] } }); @@ -2441,7 +2441,7 @@ QUnit.test('Without visualRange, adjustOnZoom true -> set argument visualRange - [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [2, 4]); @@ -2458,7 +2458,7 @@ QUnit.test('Without visualRange, adjustOnZoom true -> set argument visualRange - [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 4]); @@ -2487,7 +2487,7 @@ QUnit.test('Without visualRange, argument visualRange, adjustOnZoom true -> chan dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [3, 5] } }); @@ -2505,7 +2505,7 @@ QUnit.test('Without visualRange, argument visualRange, adjustOnZoom true -> chan dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [3, 5]); @@ -2523,7 +2523,7 @@ QUnit.test('Without visualRange, argument visualRange, adjustOnZoom true -> chan dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([3, 5]); @@ -2552,7 +2552,7 @@ QUnit.test('Without visualRange, argument visualRange, adjustOnZoom false -> cha dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [3, 5] } }); @@ -2571,7 +2571,7 @@ QUnit.test('Without visualRange, argument visualRange, adjustOnZoom false -> cha dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [3, 5]); @@ -2590,7 +2590,7 @@ QUnit.test('Without visualRange, argument visualRange, adjustOnZoom false -> cha dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([3, 5]); @@ -2629,7 +2629,7 @@ QUnit.test('Data -> set visualRange - take given range', function(assert) { assert.deepEqual(onOptionChanged.getCall(1).args[0].value, [10, 30], 'Case 1'); // Case 2 - onOptionChanged.reset(); + onOptionChanged.resetHistory(); [chart, onOptionChanged] = this.createChart({ dataSource, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } @@ -2648,7 +2648,7 @@ QUnit.test('Data -> set visualRange - take given range', function(assert) { [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ valueAxis: { visualRange: [10, 30] } }); @@ -2667,7 +2667,7 @@ QUnit.test('Data -> set visualRange - take given range', function(assert) { [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('valueAxis.visualRange', [10, 30]); @@ -2684,7 +2684,7 @@ QUnit.test('Data -> set visualRange - take given range', function(assert) { [chart, onOptionChanged] = this.createChart({ dataSource }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getValueAxis().visualRange([10, 30]); @@ -2712,7 +2712,7 @@ QUnit.test('Data -> set value visualRange -> set argument VisualRange - keep val dataSource, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [4, 5] } }); @@ -2730,7 +2730,7 @@ QUnit.test('Data -> set value visualRange -> set argument VisualRange - keep val dataSource }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [4, 5] } }); @@ -2748,7 +2748,7 @@ QUnit.test('Data -> set value visualRange -> set argument VisualRange - keep val dataSource }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [4, 5]); @@ -2766,7 +2766,7 @@ QUnit.test('Data -> set value visualRange -> set argument VisualRange - keep val dataSource }); chart.option('valueAxis.visualRange', [10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [4, 5]); @@ -2835,7 +2835,7 @@ QUnit.test('AdjustOnZoom true - show adjusted value range for every argument ran dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2854,7 +2854,7 @@ QUnit.test('AdjustOnZoom true - show adjusted value range for every argument ran dataSource, argumentAxis: { visualRange: [3, 5] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2873,7 +2873,7 @@ QUnit.test('AdjustOnZoom true - show adjusted value range for every argument ran dataSource, argumentAxis: { visualRange: [1, 5] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2909,7 +2909,7 @@ QUnit.test('AdjustOnZoom false - show full value range for every argument range dataSource, argumentAxis: { visualRange: [2, 4] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2928,7 +2928,7 @@ QUnit.test('AdjustOnZoom false - show full value range for every argument range dataSource, argumentAxis: { visualRange: [3, 5] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2947,7 +2947,7 @@ QUnit.test('AdjustOnZoom false - show full value range for every argument range dataSource, argumentAxis: { visualRange: [1, 5] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -2986,7 +2986,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode - keep vi argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3005,7 +3005,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode - keep vi argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3024,7 +3024,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode - keep vi argumentAxis: { visualRange: [2, 4] } }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3043,7 +3043,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode - keep vi argumentAxis: { visualRange: [2, 4] } }); chart.option('valueAxis.visualRange', [10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3062,7 +3062,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode - keep vi argumentAxis: { visualRange: [2, 4] } }); chart.getValueAxis().visualRange([10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3099,7 +3099,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode - show f argumentAxis: { visualRange: [1, 5] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3118,7 +3118,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode - show f argumentAxis: { visualRange: [1, 5] }, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3137,7 +3137,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode - show f argumentAxis: { visualRange: [1, 5] } }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3156,7 +3156,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode - show f argumentAxis: { visualRange: [1, 5] } }); chart.option('valueAxis.visualRange', [10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3175,7 +3175,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode - show f argumentAxis: { visualRange: [1, 5] } }); chart.getValueAxis().visualRange([10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3213,7 +3213,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3233,7 +3233,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] }, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3253,7 +3253,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] } }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3273,7 +3273,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] } }); chart.option('valueAxis.visualRange', [10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3293,7 +3293,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] } }); chart.getValueAxis().visualRange([10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3331,7 +3331,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3351,7 +3351,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] }, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3371,7 +3371,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] } }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3391,7 +3391,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] } }); chart.option('valueAxis.visualRange', [10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3411,7 +3411,7 @@ QUnit.test('Data -> set visualRange -> update data, argument shift mode, adjustO argumentAxis: { visualRange: [3, 5] } }); chart.getValueAxis().visualRange([10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3453,7 +3453,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode, value k visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3475,7 +3475,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode, value k visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3497,7 +3497,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode, value k } }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3519,7 +3519,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode, value k } }); chart.option('valueAxis.visualRange', [10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3541,7 +3541,7 @@ QUnit.test('Data -> set visualRange -> update data, argument reset mode, value k } }); chart.getValueAxis().visualRange([10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3582,7 +3582,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3605,7 +3605,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3628,7 +3628,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re } }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3651,7 +3651,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re } }); chart.option('valueAxis.visualRange', [10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3674,7 +3674,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re } }); chart.getValueAxis().visualRange([10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3715,7 +3715,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3738,7 +3738,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3761,7 +3761,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re } }); chart.option({ valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3784,7 +3784,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re } }); chart.option('valueAxis.visualRange', [10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3807,7 +3807,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode, value re } }); chart.getValueAxis().visualRange([10, 30]); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource }); @@ -3846,7 +3846,7 @@ QUnit.test('Data -> update data and visualRange, argument reset mode - take give argumentAxis: { visualRange: [1, 5] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource, @@ -3895,7 +3895,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode -> reset }); chart.option({ dataSource: newDataSource1 }); chart.resetVisualRange(); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource2 }); @@ -3916,7 +3916,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode -> reset }); chart.option({ dataSource: newDataSource1 }); chart.resetVisualRange(); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource2 }); @@ -3937,7 +3937,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode -> reset chart.option({ valueAxis: { visualRange: [10, 30] } }); chart.option({ dataSource: newDataSource1 }); chart.resetVisualRange(); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource2 }); @@ -3958,7 +3958,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode -> reset chart.option('valueAxis.visualRange', [10, 30]); chart.option({ dataSource: newDataSource1 }); chart.resetVisualRange(); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource2 }); @@ -3979,7 +3979,7 @@ QUnit.test('Data -> set visualRange -> update data, argument keep mode -> reset chart.getValueAxis().visualRange([10, 30]); chart.option({ dataSource: newDataSource1 }); chart.resetVisualRange(); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ dataSource: newDataSource2 }); @@ -4016,7 +4016,7 @@ QUnit.test('Data -> update data -> scroll argument, adjustOnZoom true - show adj argumentAxis: { visualRange: [3, 5] } }); chart.option({ dataSource: newDataSource1 }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [2, 4] } }); @@ -4034,7 +4034,7 @@ QUnit.test('Data -> update data -> scroll argument, adjustOnZoom true - show adj argumentAxis: { visualRange: [3, 5] } }); chart.option({ dataSource: newDataSource1 }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: { startValue: 2, endValue: 4 } } }); @@ -4054,7 +4054,7 @@ QUnit.test('Data -> update data -> scroll argument, adjustOnZoom true - show adj argumentAxis: { visualRange: [3, 5] } }); chart.option({ dataSource: newDataSource1 }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [2, 4]); @@ -4074,7 +4074,7 @@ QUnit.test('Data -> update data -> scroll argument, adjustOnZoom true - show adj argumentAxis: { visualRange: [3, 5] } }); chart.option({ dataSource: newDataSource1 }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([2, 4]); @@ -4103,7 +4103,7 @@ QUnit.test('Argument Axis. Reset visualRange with null option', function(assert) argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [null, null] } }); @@ -4122,7 +4122,7 @@ QUnit.test('Argument Axis. Reset visualRange with null option', function(assert) argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: [null, null] } }); @@ -4141,7 +4141,7 @@ QUnit.test('Argument Axis. Reset visualRange with null option', function(assert) argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', [null, null]); @@ -4160,7 +4160,7 @@ QUnit.test('Argument Axis. Reset visualRange with null option', function(assert) argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange([null, null]); @@ -4180,7 +4180,7 @@ QUnit.test('Argument Axis. Reset visualRange with null option', function(assert) argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: { startValue: null, endValue: null } } }); @@ -4199,7 +4199,7 @@ QUnit.test('Argument Axis. Reset visualRange with null option', function(assert) argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ argumentAxis: { visualRange: { startValue: null, endValue: null } } }); @@ -4218,7 +4218,7 @@ QUnit.test('Argument Axis. Reset visualRange with null option', function(assert) argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('argumentAxis.visualRange', { startValue: null, endValue: null }); @@ -4237,7 +4237,7 @@ QUnit.test('Argument Axis. Reset visualRange with null option', function(assert) argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getArgumentAxis().visualRange({ startValue: null, endValue: null }); @@ -4266,7 +4266,7 @@ QUnit.test('Value Axis. Reset visualRange with null option', function(assert) { argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ valueAxis: { visualRange: [null, null] } }); @@ -4285,7 +4285,7 @@ QUnit.test('Value Axis. Reset visualRange with null option', function(assert) { argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ valueAxis: { visualRange: [null, null] } }); @@ -4304,7 +4304,7 @@ QUnit.test('Value Axis. Reset visualRange with null option', function(assert) { argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('valueAxis.visualRange', [null, null]); @@ -4323,7 +4323,7 @@ QUnit.test('Value Axis. Reset visualRange with null option', function(assert) { argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getValueAxis().visualRange([null, null]); @@ -4342,7 +4342,7 @@ QUnit.test('Value Axis. Reset visualRange with null option', function(assert) { argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ valueAxis: { visualRange: { startValue: null, endValue: null } } }); @@ -4361,7 +4361,7 @@ QUnit.test('Value Axis. Reset visualRange with null option', function(assert) { argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: { startValue: 10, endValue: 30 } } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option({ valueAxis: { visualRange: { startValue: null, endValue: null } } }); @@ -4380,7 +4380,7 @@ QUnit.test('Value Axis. Reset visualRange with null option', function(assert) { argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.option('valueAxis.visualRange', { startValue: null, endValue: null }); @@ -4399,7 +4399,7 @@ QUnit.test('Value Axis. Reset visualRange with null option', function(assert) { argumentAxis: { visualRange: [2, 4] }, valueAxis: { visualRange: [10, 30] } }); - onOptionChanged.reset(); + onOptionChanged.resetHistory(); chart.getValueAxis().visualRange({ startValue: null, endValue: null }); diff --git a/testing/tests/DevExpress.viz.charts/chartAxisDrawing.tests.js b/testing/tests/DevExpress.viz.charts/chartAxisDrawing.tests.js index f896e3932a7b..3fae2051566f 100644 --- a/testing/tests/DevExpress.viz.charts/chartAxisDrawing.tests.js +++ b/testing/tests/DevExpress.viz.charts/chartAxisDrawing.tests.js @@ -73,7 +73,7 @@ const environment = { }, afterEach: function() { this.renderer = null; - rendererModule.Renderer.reset(); + rendererModule.Renderer.resetHistory(); this.axisStub.restore(); this.scrollBarStub && this.scrollBarStub.restore(); this.legendStub.restore(); @@ -109,13 +109,13 @@ function createAxisStubs() { } function resetAxisStubs(axis) { - axis.draw.reset(); - axis.getMargins.reset(); - axis.estimateMargins.reset(); - axis.updateSize.reset(); - axis.shift.reset(); - axis.createTicks.reset(); - axis.drawScaleBreaks.reset(); + axis.draw.resetHistory(); + axis.getMargins.resetHistory(); + axis.estimateMargins.resetHistory(); + axis.updateSize.resetHistory(); + axis.shift.resetHistory(); + axis.createTicks.resetHistory(); + axis.drawScaleBreaks.resetHistory(); } QUnit.module('Canvas processing', environment); @@ -1780,7 +1780,7 @@ QUnit.test('Do not recalculate canvas on zooming - only draw axes in old canvas' const valAxisStub = this.axisStub.getCall(1).returnValue; resetAxisStubs(valAxisStub); - scrollBar.updateSize.reset(); + scrollBar.updateSize.resetHistory(); // act chart.zoomArgument(2, 9); @@ -1853,7 +1853,7 @@ QUnit.test('Recalculate canvas on zooming - draw axes in new canvas, resizePanes const valAxisStub = this.axisStub.getCall(1).returnValue; resetAxisStubs(valAxisStub); - scrollBar.updateSize.reset(); + scrollBar.updateSize.resetHistory(); // act chart.zoomArgument(2, 9); @@ -1926,7 +1926,7 @@ QUnit.test('Recalculate canvas on zooming - draw axes in new canvas (support of const valAxisStub = this.axisStub.getCall(1).returnValue; resetAxisStubs(valAxisStub); - scrollBar.updateSize.reset(); + scrollBar.updateSize.resetHistory(); // act chart.zoomArgument(2, 9); @@ -3296,7 +3296,7 @@ QUnit.test('Recalculate canvas on zooming, axis labels hide due to adaptiveLayou const valAxisStub = this.axisStub.getCall(1).returnValue; resetAxisStubs(valAxisStub); - scrollBar.updateSize.reset(); + scrollBar.updateSize.resetHistory(); // act chart.zoomArgument(2, 9); diff --git a/testing/tests/DevExpress.viz.charts/chartInteraction.tests.js b/testing/tests/DevExpress.viz.charts/chartInteraction.tests.js index 3b3bec4c5a60..4b8321701b8c 100644 --- a/testing/tests/DevExpress.viz.charts/chartInteraction.tests.js +++ b/testing/tests/DevExpress.viz.charts/chartInteraction.tests.js @@ -185,7 +185,7 @@ QUnit.test('number of rendering on updating dataSource', function(assert) { onDrawn: drawn }).dxChart('instance'); - drawn.reset(); + drawn.resetHistory(); chart.option({ dataSource: data }); data.load(); @@ -504,7 +504,7 @@ QUnit.test('clearHover', function(assert) { const hoverChanged = this.options.onSeriesHoverChanged = sinon.spy(); this.createChart(this.options); this.chart.getAllSeries()[0].hover(); - hoverChanged.reset(); + hoverChanged.resetHistory(); // act this.chart.getAllSeries()[0].clearHover(); @@ -529,7 +529,7 @@ QUnit.test('clearPointHover', function(assert) { const pointHover = this.options.onPointHoverChanged = sinon.spy(); this.createChart(this.options); this.chart.getAllSeries()[0].getAllPoints()[0].hover(); - pointHover.reset(); + pointHover.resetHistory(); // act this.chart.getAllSeries()[0].getAllPoints()[0].clearHover(); @@ -559,7 +559,7 @@ QUnit.test('onPointhoverChanged on hover second', function(assert) { this.createChart(this.options); this.chart.getAllSeries()[0].getAllPoints()[0].hover(); - pointHover.reset(); + pointHover.resetHistory(); // act this.chart.getAllSeries()[0].getAllPoints()[1].hover(); diff --git a/testing/tests/DevExpress.viz.charts/chartParts/commons.js b/testing/tests/DevExpress.viz.charts/chartParts/commons.js index 2751a204ebab..c54f9031903f 100644 --- a/testing/tests/DevExpress.viz.charts/chartParts/commons.js +++ b/testing/tests/DevExpress.viz.charts/chartParts/commons.js @@ -88,14 +88,14 @@ const trackerModule = mock('viz/chart_components/tracker', { }); const resetModules = exports.resetModules = function() { - trackerModule.ChartTracker.reset(); - trackerModule.PieTracker.reset(); + trackerModule.ChartTracker.resetHistory(); + trackerModule.PieTracker.resetHistory(); - legendModule.Legend.reset(); + legendModule.Legend.resetHistory(); - rendererModule.Renderer.reset(); - exportModule.ExportMenu.reset(); - titleModule.Title.reset(); + rendererModule.Renderer.resetHistory(); + exportModule.ExportMenu.resetHistory(); + titleModule.Title.resetHistory(); }; // stubs getters @@ -242,21 +242,21 @@ exports.environment = { this.$container.remove(); restoreMockFactory(); resetMockFactory(); - this.createThemeManager.reset(); + this.createThemeManager.resetHistory(); this.createThemeManager.restore(); - window.vizMocks.Element.prototype.updateRectangle.reset(); + window.vizMocks.Element.prototype.updateRectangle.resetHistory(); scrollBarClassModule.ScrollBar.restore(); this.createSeriesFamily.restore(); this.prepareSegmentRectPoints.restore(); this.createCrosshair.restore(); vizUtils.updatePanesCanvases.restore(); - this.layoutManager.layoutElements.reset(); + this.layoutManager.layoutElements.resetHistory(); this.layoutManager = null; - this.StubLayoutManager.reset(); + this.StubLayoutManager.resetHistory(); this.StubLayoutManager.restore(); - this.themeManager.getOptions.reset(); + this.themeManager.getOptions.resetHistory(); this.themeManager = null; this.restoreValidateData(); diff --git a/testing/tests/DevExpress.viz.charts/chartSync.tests.js b/testing/tests/DevExpress.viz.charts/chartSync.tests.js index 832d71a1d3ae..8b46f551ebea 100644 --- a/testing/tests/DevExpress.viz.charts/chartSync.tests.js +++ b/testing/tests/DevExpress.viz.charts/chartSync.tests.js @@ -183,27 +183,27 @@ const environment = { resetMockFactory(); restoreMockFactory(); - validateData.reset(); + validateData.resetHistory(); validateData.restore(); - this.createThemeManager.reset(); + this.createThemeManager.resetHistory(); this.createThemeManager.restore(); this.$container.remove(); - vizUtils.updatePanesCanvases.reset(); + vizUtils.updatePanesCanvases.resetHistory(); vizUtils.updatePanesCanvases.restore(); - layoutManagerModule.LayoutManager.reset(); + layoutManagerModule.LayoutManager.resetHistory(); layoutManagerModule.LayoutManager.restore(); - this.layoutManager.layoutElements.reset(); + this.layoutManager.layoutElements.resetHistory(); - trackerModule.ChartTracker.reset(); - legendModule.Legend.reset(); - exportModule.ExportMenu.reset(); + trackerModule.ChartTracker.resetHistory(); + legendModule.Legend.resetHistory(); + exportModule.ExportMenu.resetHistory(); - titleModule.Title.reset(); + titleModule.Title.resetHistory(); } }; @@ -1073,7 +1073,7 @@ const environment = { axis.getTemplatesGroups = function() { return valueGroups; }; }); - drawn.reset(); + drawn.resetHistory(); chart.render({ force: true }); $.each(defs, function(_, d) { d.resolve(); }); @@ -1658,54 +1658,54 @@ const getPoints = function(count, options) { function resetMocksInChart(chart) { let i; - chart._renderer.stub('resize').reset(); - chart._renderer.stub('clear').reset(); + chart._renderer.stub('resize').resetHistory(); + chart._renderer.stub('clear').resetHistory(); - chart.layoutManager.layoutElements.reset && chart.layoutManager.layoutElements.reset(); + chart.layoutManager.layoutElements.reset && chart.layoutManager.layoutElements.resetHistory(); chart._argumentAxes[0].resetMock(); chart.getValueAxis().resetMock(); - chart._legendGroup.stub('linkAppend').reset(); - chart._legendGroup.stub('linkRemove').reset(); - chart._legendGroup.stub('clear').reset(); - chart._seriesGroup.stub('linkAppend').reset(); - chart._seriesGroup.stub('linkRemove').reset(); - chart._seriesGroup.stub('clear').reset(); - chart._labelsGroup.stub('linkAppend').reset(); - chart._labelsGroup.stub('linkRemove').reset(); - chart._labelsGroup.stub('clear').reset(); - chart._stripsGroup.stub('linkAppend').reset(); - chart._stripsGroup.stub('linkRemove').reset(); - chart._stripsGroup.stub('clear').reset(); - chart._constantLinesGroup.above.stub('linkAppend').reset(); - chart._constantLinesGroup.above.stub('linkRemove').reset(); - chart._constantLinesGroup.above.stub('clear').reset(); - - chart._constantLinesGroup.under.stub('linkAppend').reset(); - chart._constantLinesGroup.under.stub('linkRemove').reset(); - chart._constantLinesGroup.under.stub('clear').reset(); - - chart._axesGroup.stub('linkAppend').reset(); - chart._axesGroup.stub('linkRemove').reset(); - chart._axesGroup.stub('clear').reset(); - chart._stripLabelAxesGroup.stub('linkAppend').reset(); - chart._stripLabelAxesGroup.stub('linkRemove').reset(); - chart._stripLabelAxesGroup.stub('clear').reset(); - validateData.reset(); - chart._crosshairCursorGroup.stub('linkAppend').reset(); - chart._crosshairCursorGroup.stub('linkRemove').reset(); - chart._crosshairCursorGroup.stub('clear').reset(); - chart._scaleBreaksGroup.stub('linkAppend').reset(); - chart._scaleBreaksGroup.stub('linkRemove').reset(); - chart._scaleBreaksGroup.stub('clear').reset(); - - chart.canvasClipRect && chart.canvasClipRect.stub('remove').reset(); - chart.canvasClipRect && chart.canvasClipRect.stub('clear').reset(); - chart.canvasClipRect && chart.canvasClipRect.stub('attr').reset(); - chart._panesClipRects.base[0] && chart._panesClipRects.base[0].stub('remove').reset(); - chart._panesClipRects.base[0] && chart._panesClipRects.base[0].stub('clear').reset(); - chart._panesClipRects.base[0] && chart._panesClipRects.base[0].stub('attr').reset(); + chart._legendGroup.stub('linkAppend').resetHistory(); + chart._legendGroup.stub('linkRemove').resetHistory(); + chart._legendGroup.stub('clear').resetHistory(); + chart._seriesGroup.stub('linkAppend').resetHistory(); + chart._seriesGroup.stub('linkRemove').resetHistory(); + chart._seriesGroup.stub('clear').resetHistory(); + chart._labelsGroup.stub('linkAppend').resetHistory(); + chart._labelsGroup.stub('linkRemove').resetHistory(); + chart._labelsGroup.stub('clear').resetHistory(); + chart._stripsGroup.stub('linkAppend').resetHistory(); + chart._stripsGroup.stub('linkRemove').resetHistory(); + chart._stripsGroup.stub('clear').resetHistory(); + chart._constantLinesGroup.above.stub('linkAppend').resetHistory(); + chart._constantLinesGroup.above.stub('linkRemove').resetHistory(); + chart._constantLinesGroup.above.stub('clear').resetHistory(); + + chart._constantLinesGroup.under.stub('linkAppend').resetHistory(); + chart._constantLinesGroup.under.stub('linkRemove').resetHistory(); + chart._constantLinesGroup.under.stub('clear').resetHistory(); + + chart._axesGroup.stub('linkAppend').resetHistory(); + chart._axesGroup.stub('linkRemove').resetHistory(); + chart._axesGroup.stub('clear').resetHistory(); + chart._stripLabelAxesGroup.stub('linkAppend').resetHistory(); + chart._stripLabelAxesGroup.stub('linkRemove').resetHistory(); + chart._stripLabelAxesGroup.stub('clear').resetHistory(); + validateData.resetHistory(); + chart._crosshairCursorGroup.stub('linkAppend').resetHistory(); + chart._crosshairCursorGroup.stub('linkRemove').resetHistory(); + chart._crosshairCursorGroup.stub('clear').resetHistory(); + chart._scaleBreaksGroup.stub('linkAppend').resetHistory(); + chart._scaleBreaksGroup.stub('linkRemove').resetHistory(); + chart._scaleBreaksGroup.stub('clear').resetHistory(); + + chart.canvasClipRect && chart.canvasClipRect.stub('remove').resetHistory(); + chart.canvasClipRect && chart.canvasClipRect.stub('clear').resetHistory(); + chart.canvasClipRect && chart.canvasClipRect.stub('attr').resetHistory(); + chart._panesClipRects.base[0] && chart._panesClipRects.base[0].stub('remove').resetHistory(); + chart._panesClipRects.base[0] && chart._panesClipRects.base[0].stub('clear').resetHistory(); + chart._panesClipRects.base[0] && chart._panesClipRects.base[0].stub('attr').resetHistory(); for(i = 0; i < chart.series.length; i++) { chart.series[i].wasDrawn = false; @@ -1717,7 +1717,7 @@ function resetMocksInChart(chart) { } } - vizUtils.updatePanesCanvases.reset(); + vizUtils.updatePanesCanvases.resetHistory(); } function createChartInstance(options, container) { diff --git a/testing/tests/DevExpress.viz.charts/crosshair.tests.js b/testing/tests/DevExpress.viz.charts/crosshair.tests.js index 0d5312314c5a..adb80a391c97 100644 --- a/testing/tests/DevExpress.viz.charts/crosshair.tests.js +++ b/testing/tests/DevExpress.viz.charts/crosshair.tests.js @@ -16,7 +16,7 @@ const environment = { bottom: 80 }; this.crosshairGroup = this.renderer.g(); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.panes = [{ coords: { width: 800, diff --git a/testing/tests/DevExpress.viz.charts/pieChart.tests.js b/testing/tests/DevExpress.viz.charts/pieChart.tests.js index 3cc7a8db65a2..2e0e30eae921 100644 --- a/testing/tests/DevExpress.viz.charts/pieChart.tests.js +++ b/testing/tests/DevExpress.viz.charts/pieChart.tests.js @@ -1831,7 +1831,7 @@ const overlappingEnvironment = $.extend({}, environment, { }); chartMocks.seriesMockData.series.push(new MockSeries({})); $.each(chart.series, function(_, series) { series.dispose = function() { chart.seriesDisposed = true; }; }); - this.validateData.reset(); + this.validateData.resetHistory(); // act chart.refresh(); // assert diff --git a/testing/tests/DevExpress.viz.charts/polarChart.tests.js b/testing/tests/DevExpress.viz.charts/polarChart.tests.js index 6208fd1e2fdf..18bee1a7f185 100644 --- a/testing/tests/DevExpress.viz.charts/polarChart.tests.js +++ b/testing/tests/DevExpress.viz.charts/polarChart.tests.js @@ -55,7 +55,7 @@ stubExport(); function resetStub(stub) { $.each(stub, function(_, stubFunc) { - stubFunc && stubFunc.reset && stubFunc.reset(); + stubFunc && stubFunc.reset && stubFunc.resetHistory(); }); } function createStubThemeManager() { @@ -218,35 +218,35 @@ const environment = { }); }, afterEach: function() { - this.createThemeManager.reset(); + this.createThemeManager.resetHistory(); this.createThemeManager.restore(); - this.createSeries.reset(); + this.createSeries.resetHistory(); this.createSeries.restore(); - this.createRenderer.reset(); + this.createRenderer.resetHistory(); this.createRenderer.restore(); - this.range.reset(); + this.range.resetHistory(); this.range.restore(); - this.createTooltip.reset(); + this.createTooltip.resetHistory(); this.createTooltip.restore(); - this.createAxis.reset(); + this.createAxis.resetHistory(); this.createAxis.restore(); - this.createSeriesFamily.reset(); + this.createSeriesFamily.resetHistory(); this.createSeriesFamily.restore(); - this.createLayoutManager.reset(); + this.createLayoutManager.resetHistory(); this.createLayoutManager.restore(); - trackerModule.ChartTracker.reset(); - legendModule.Legend.reset(); - exportModule.ExportMenu.reset(); + trackerModule.ChartTracker.resetHistory(); + legendModule.Legend.resetHistory(); + exportModule.ExportMenu.resetHistory(); - stubLayoutManager.layoutElements.reset(); + stubLayoutManager.layoutElements.resetHistory(); }, createPolarChart: function(options) { const polarChart = new dxPolarChart(this.$container, options); diff --git a/testing/tests/DevExpress.viz.charts/tracker.tests.js b/testing/tests/DevExpress.viz.charts/tracker.tests.js index f9973d5594ae..ea65b7a9f11c 100644 --- a/testing/tests/DevExpress.viz.charts/tracker.tests.js +++ b/testing/tests/DevExpress.viz.charts/tracker.tests.js @@ -209,7 +209,7 @@ const chartEnvironment = { createTracker(options) { const tracker = createTracker('dxChart', options); - options.tooltip.stub('hide').reset(); + options.tooltip.stub('hide').resetHistory(); return tracker; }, @@ -724,7 +724,7 @@ QUnit.test('Mouseout from canvas after dxpointermove on series. Tooltip disabled // arrange this.options.tooltip.isEnabled.returns(false); this.tracker.update(this.options); - this.options.tooltip.stub('hide').reset(); + this.options.tooltip.stub('hide').resetHistory(); // act $(this.seriesGroup.element).trigger(getEvent('showpointtooltip'), this.point); @@ -760,10 +760,10 @@ QUnit.test('mouseout from canvas after dxpointermove on series some times. Check assert.strictEqual(that.point.hover.callCount, 1, 'point hovered: ' + testSettings.name); } - that.series.stub('hover').reset(); - that.point.stub('hover').reset(); - that.point.stub('clearHover').reset(); - that.series.stub('clearHover').reset(); + that.series.stub('hover').resetHistory(); + that.point.stub('hover').resetHistory(); + that.point.stub('clearHover').resetHistory(); + that.series.stub('clearHover').resetHistory(); }); // act @@ -1749,7 +1749,7 @@ QUnit.test('update with old series', function(assert) { series2.stub('getPoints').returns([]); this.updateTracker(series); - this.options.tooltip.stub('hide').reset(); + this.options.tooltip.stub('hide').resetHistory(); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50, target: this.seriesGroup.element })); this.clock.tick(this.tracker.__trackerDelay); @@ -1770,7 +1770,7 @@ QUnit.test('update with old series when point is hovered', function(assert) { this.series.stub('getPoints').returns([point]); this.updateTracker(series); - this.options.tooltip.stub('hide').reset(); + this.options.tooltip.stub('hide').resetHistory(); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50, target: this.seriesGroup.element })); this.clock.tick(this.tracker.__trackerDelay); @@ -1809,7 +1809,7 @@ QUnit.test('Work after update with old series', function(assert) { const series = [this.series]; this.updateTracker(series); - this.options.tooltip.stub('hide').reset(); + this.options.tooltip.stub('hide').resetHistory(); this.series.getNeighborPoint.withArgs(97, 45).returns(point); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50, target: this.seriesGroup.element })); @@ -1819,7 +1819,7 @@ QUnit.test('Work after update with old series', function(assert) { this.series.getNeighborPoint.withArgs(97, 45).returns(null); - this.series.hover.reset(); + this.series.hover.resetHistory(); // act $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50, target: this.seriesGroup.element })); this.clock.tick(this.tracker.__trackerDelay); @@ -1861,8 +1861,8 @@ QUnit.test('update with new series', function(assert) { $(this.options.seriesGroup.element).trigger(getEvent('selectpoint'), point); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50, target: this.seriesGroup.element })); - this.options.tooltip.stub('hide').reset(); - this.options.tooltip.stub('show').reset(); + this.options.tooltip.stub('hide').resetHistory(); + this.options.tooltip.stub('show').resetHistory(); // act this.tracker.updateSeries([newSeries]); @@ -1982,8 +1982,8 @@ QUnit.test('repairTooltip', function(assert) { const point = createPoint(this.series); $(this.options.seriesGroup.element).trigger(getEvent('showpointtooltip'), point); - this.options.tooltip.show.reset(); - point.getTooltipParams.reset(); + this.options.tooltip.show.resetHistory(); + point.getTooltipParams.resetHistory(); // act this.tracker.repairTooltip(); @@ -2004,8 +2004,8 @@ QUnit.test('clearHover', function(assert) { QUnit.test('Can be disposed', function(assert) { $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50, pointers: [], target: this.seriesGroup.element })); - this.renderer.root.off.reset(); - this.seriesGroup.off.reset(); + this.renderer.root.off.resetHistory(); + this.seriesGroup.off.resetHistory(); // Act this.tracker.dispose(); @@ -2129,7 +2129,7 @@ QUnit.module('Root events. Pie chart', { }; that.tracker = that.createTracker(that.options); - that.options.tooltip.stub('hide').reset(); + that.options.tooltip.stub('hide').resetHistory(); }, afterEach: function() { @@ -2311,7 +2311,7 @@ QUnit.test('mouseout from legend item', function(assert) { this.legend.getItemByCoord.withArgs(97, 45).returns({ id: 0, argument: 'argument1', argumentIndex: 11 }); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50 })); - this.series.notify.reset(); + this.series.notify.resetHistory(); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 80, pageY: 50 })); assert.strictEqual(this.series.notify.callCount, 1); @@ -2328,7 +2328,7 @@ QUnit.test('mousedown on legend item', function(assert) { this.legend.getItemByCoord.withArgs(97, 45).returns({ id: 0, argument: 'argument1', argumentIndex: 11 }); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50 })); - this.series.notify.reset(); + this.series.notify.resetHistory(); $(this.renderer.root.element).trigger(getEvent('dxpointerdown', { pageX: 100, pageY: 50 })); assert.strictEqual(this.series.notify.callCount, 0); @@ -2339,7 +2339,7 @@ QUnit.test('mouseout from chart after hover point on legend', function(assert) { this.legend.getItemByCoord.withArgs(97, 45).returns({ id: 0, argument: 'argument1', argumentIndex: 11 }); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50 })); - this.series.notify.reset(); + this.series.notify.resetHistory(); $(document).trigger(getEvent('dxpointermove', { pageX: 500, pageY: 50 })); assert.strictEqual(this.series.notify.callCount, 1); @@ -2356,7 +2356,7 @@ QUnit.test('mousemove from legend item to another one', function(assert) { this.legend.getItemByCoord.withArgs(97 + 10, 45 + 10).returns({ id: 0, argument: 'argument2', argumentIndex: 12 }); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50 })); - this.series.notify.reset(); + this.series.notify.resetHistory(); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 110, pageY: 60 })); assert.strictEqual(this.series.notify.callCount, 2); @@ -2396,7 +2396,7 @@ QUnit.test('mouseout from chart after hover point on legend. legend hoverMode is this.legend.getItemByCoord.withArgs(97, 45).returns({ id: 0, argument: 'argument1' }); $(this.renderer.root.element).trigger(getEvent('dxpointermove', { pageX: 100, pageY: 50 })); - this.series.notify.reset(); + this.series.notify.resetHistory(); $(document).trigger(getEvent('dxpointermove', { pageX: 500, pageY: 50 })); assert.strictEqual(this.series.notify.callCount, 1); @@ -2581,7 +2581,7 @@ QUnit.module('Tooltip', { }); QUnit.test('show Tooltip event. TooltipShown fired', function(assert) { - this.tooltip.stub('hide').reset(); + this.tooltip.stub('hide').resetHistory(); this.environment.options.seriesGroup.trigger(getEvent('showpointtooltip'), this.environment.point1); const showTooltip = this.tooltip.stub('show'); @@ -2602,7 +2602,7 @@ QUnit.test('Tooltip is disabled. Show tooltip on point, stopCurrentHandling, sho this.environment.options.seriesGroup.trigger(getEvent('showpointtooltip'), this.environment.point1); this.tracker.stopCurrentHandling(); - this.tooltip.stub('show').reset(); + this.tooltip.stub('show').resetHistory(); this.environment.options.seriesGroup.trigger(getEvent('showpointtooltip'), this.environment.point1); @@ -2611,8 +2611,8 @@ QUnit.test('Tooltip is disabled. Show tooltip on point, stopCurrentHandling, sho QUnit.test('show Tooltip event when there is tooltip on another point. TooltipHidden fired, TooltipShown fired', function(assert) { this.environment.options.seriesGroup.trigger(getEvent('showpointtooltip'), this.environment.point2); - this.tooltip.stub('hide').reset(); - this.tooltip.stub('show').reset(); + this.tooltip.stub('hide').resetHistory(); + this.tooltip.stub('show').resetHistory(); // act this.environment.options.seriesGroup.trigger(getEvent('showpointtooltip'), this.environment.point1); @@ -2655,7 +2655,7 @@ QUnit.test('show Tooltip event without text', function(assert) { }); QUnit.test('hide Tooltip event. TooltipHidden fired', function(assert) { - this.tooltip.stub('hide').reset(); + this.tooltip.stub('hide').resetHistory(); $(this.environment.options.seriesGroup.element).trigger(getEvent('showpointtooltip'), this.environment.point1); $(this.environment.options.seriesGroup.element).trigger(getEvent('hidepointtooltip'), this.environment.point1); @@ -2664,7 +2664,7 @@ QUnit.test('hide Tooltip event. TooltipHidden fired', function(assert) { }); QUnit.test('tooltipShown call', function(assert) { - this.tooltip.stub('show').reset(); + this.tooltip.stub('show').resetHistory(); $(this.environment.options.seriesGroup.element).trigger(getEvent('showpointtooltip'), this.environment.point1); assert.equal(this.tooltip.show.callCount, 1); @@ -2672,14 +2672,14 @@ QUnit.test('tooltipShown call', function(assert) { }); QUnit.test('tooltipHidden, tooltip not shown - not call', function(assert) { - this.tooltip.stub('hide').reset(); + this.tooltip.stub('hide').resetHistory(); $(this.environment.options.seriesGroup.element).trigger(getEvent('hidepointtooltip'), this.environment.point1); assert.equal(this.tooltip.hide.callCount, 0); }); QUnit.test('tooltipHidden from chart', function(assert) { - this.tooltip.stub('hide').reset(); + this.tooltip.stub('hide').resetHistory(); $(this.environment.options.seriesGroup.element).trigger(getEvent('showpointtooltip'), this.environment.point1); $(this.environment.options.seriesGroup.element).trigger(getEvent('hidepointtooltip')); @@ -2690,8 +2690,8 @@ QUnit.test('tooltipHidden from chart', function(assert) { QUnit.test('repairTooltip. Point got invisible, tooltipHidden not fired', function(assert) { $(this.environment.options.seriesGroup.element).trigger(getEvent('showpointtooltip'), this.environment.point1); this.environment.point1.isVisible = function() { return false; }; - this.tooltip.stub('hide').reset(); - this.tooltip.stub('show').reset(); + this.tooltip.stub('hide').resetHistory(); + this.tooltip.stub('show').resetHistory(); // act this.tracker.repairTooltip(); @@ -2706,8 +2706,8 @@ QUnit.test('repairTooltip. Point got visible after invisible, tooltipShown fired this.environment.point1.isVisible = function() { return false; }; this.tracker.repairTooltip(); this.environment.point1.isVisible = function() { return true; }; - this.tooltip.stub('hide').reset(); - this.tooltip.stub('show').reset(); + this.tooltip.stub('hide').resetHistory(); + this.tooltip.stub('show').resetHistory(); // act this.tracker.repairTooltip(); @@ -2721,8 +2721,8 @@ QUnit.test('show tooltip on point. Point with tooltip is invisible', function(as $(this.environment.options.seriesGroup.element).trigger(getEvent('showpointtooltip'), this.environment.point1); this.environment.point1.isVisible = function() { return false; }; this.tracker.repairTooltip(); - this.tooltip.stub('hide').reset(); - this.tooltip.stub('show').reset(); + this.tooltip.stub('hide').resetHistory(); + this.tooltip.stub('show').resetHistory(); // act $(this.environment.options.seriesGroup.element).trigger(getEvent('showpointtooltip'), this.environment.point2); diff --git a/testing/tests/DevExpress.viz.charts/zoomAndPan.tests.js b/testing/tests/DevExpress.viz.charts/zoomAndPan.tests.js index feb2c6645973..2307e4a32b0a 100644 --- a/testing/tests/DevExpress.viz.charts/zoomAndPan.tests.js +++ b/testing/tests/DevExpress.viz.charts/zoomAndPan.tests.js @@ -2112,7 +2112,7 @@ QUnit.test('Drag. Small chart rendering time on start and big time in the middle // act // drag1 - onZoomStart.reset(); + onZoomStart.resetHistory(); this.pointer.drag(50, 50); // assert @@ -2231,7 +2231,7 @@ QUnit.test('Drag. Big chart rendering time on start and small time in the middle // act // drag1 - onZoomStart.reset(); + onZoomStart.resetHistory(); this.pointer.drag(50, 50); // assert @@ -2347,7 +2347,7 @@ QUnit.test('Pinch zoom. Small chart rendering time on start and big time in the // act // pinch1 - onZoomStart.reset(); + onZoomStart.resetHistory(); $root.trigger($.Event('dxpointermove', { pointerType: 'touch', pointers: [{ pointerId: 1, pageX: 0, pageY: 150 }, { pointerId: 2, pageX: 800, pageY: 150 }] })); // assert @@ -2363,7 +2363,7 @@ QUnit.test('Pinch zoom. Small chart rendering time on start and big time in the // act // pinch2 chart._lastRenderingTime = 1000; - onZoomStart.reset(); + onZoomStart.resetHistory(); $root.trigger($.Event('dxpointermove', { pointerType: 'touch', pointers: [{ pointerId: 1, pageX: 200, pageY: 150 }, { pointerId: 2, pageX: 600, pageY: 150 }] })); // assert @@ -2464,7 +2464,7 @@ QUnit.test('Pinch zoom. Big chart rendering time on start and small time in the // act // pinch1 - onZoomStart.reset(); + onZoomStart.resetHistory(); $root.trigger($.Event('dxpointermove', { pointerType: 'touch', pointers: [{ pointerId: 1, pageX: 0, pageY: 150 }, { pointerId: 2, pageX: 800, pageY: 150 }] })); // assert @@ -2480,7 +2480,7 @@ QUnit.test('Pinch zoom. Big chart rendering time on start and small time in the // act // pinch2 chart._lastRenderingTime = 10; - onZoomStart.reset(); + onZoomStart.resetHistory(); $root.trigger($.Event('dxpointermove', { pointerType: 'touch', pointers: [{ pointerId: 1, pageX: 200, pageY: 150 }, { pointerId: 2, pageX: 600, pageY: 150 }] })); // assert diff --git a/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js b/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js index 21bd29e3179b..fecef70d2256 100644 --- a/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js +++ b/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js @@ -900,7 +900,7 @@ QUnit.module('Lifecycle', { }, afterEach() { __test_utils.restore_createAnnotations(); - rendererModule.Renderer.reset(); + rendererModule.Renderer.resetHistory(); } }, function() { QUnit.module('Chart plugin', { diff --git a/testing/tests/DevExpress.viz.gauges/barGauge.tests.js b/testing/tests/DevExpress.viz.gauges/barGauge.tests.js index fab22bdfa03d..b059e1270a7d 100644 --- a/testing/tests/DevExpress.viz.gauges/barGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/barGauge.tests.js @@ -103,7 +103,7 @@ const environment = { }, afterEach: function() { this.$container.remove(); - rendererModule.Renderer.reset(); + rendererModule.Renderer.resetHistory(); this.renderer = null; }, diff --git a/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js b/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js index 4a953f48605d..f7dd056eb1b0 100644 --- a/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js @@ -120,7 +120,7 @@ const environment = { BaseGauge.prototype[name].reset(); }); - rendererModule.Renderer.reset(); + rendererModule.Renderer.resetHistory(); themeManagerModule.ThemeManager.reset(); factory.createTranslator.reset(); factory.createTracker.reset(); diff --git a/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js b/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js index d7337acda155..aac0cdcef641 100644 --- a/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js @@ -133,7 +133,7 @@ const TestPointerElement = TestElement.inherit({ this.container.remove(); this.renderer = null; axisModule.Axis.reset(); - rendererModule.Renderer.reset(); + rendererModule.Renderer.resetHistory(); } }; const canvas = { diff --git a/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js b/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js index 21e6e06ae54b..83efe6036c7f 100644 --- a/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js @@ -129,7 +129,7 @@ const TestPointerElement = TestElement.inherit({ afterEach: function() { this.container.remove(); axisModule.Axis.reset(); - rendererModule.Renderer.reset(); + rendererModule.Renderer.resetHistory(); this.renderer = null; delete this.container; } diff --git a/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js b/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js index faef08e03260..67ebdcaa411f 100644 --- a/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js +++ b/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js @@ -43,7 +43,7 @@ QUnit.begin(function() { QUnit.testStart(function() { translator2DModule.Translator2D.reset(); - rendererModule.Renderer.reset(); + rendererModule.Renderer.resetHistory(); seriesModule.Series.reset(); }); From b7c4cc5cf5481b02fe49c518cc6e26c4d61c351f Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:04:44 +0300 Subject: [PATCH 18/38] fix Viz.Core --- .../annotations.plugins.tests.js | 16 ++-- .../DevExpress.viz.core/annotations.tests.js | 80 +++++++++--------- .../axesTicksGeneration.tests.js | 2 +- .../DevExpress.viz.core/axisDrawing.tests.js | 82 +++++++++---------- .../axisFormatting.tests.js | 2 +- .../DevExpress.viz.core/baseAxis.tests.js | 22 ++--- .../DevExpress.viz.core/baseWidget.tests.js | 14 ++-- .../export.integration.tests.js | 2 +- .../tests/DevExpress.viz.core/export.tests.js | 52 ++++++------ .../tests/DevExpress.viz.core/legend.tests.js | 32 ++++---- .../loadingIndicator.integration.tests.js | 8 +- .../loadingIndicator.tests.js | 16 ++-- .../DevExpress.viz.core/polarAxes.tests.js | 18 ++-- .../title.integration.tests.js | 6 +- .../tooltip.integration.tests.js | 4 +- .../DevExpress.viz.core/tooltip.tests.js | 18 ++-- .../tests/DevExpress.viz.core/xyAxes.tests.js | 44 +++++----- 17 files changed, 209 insertions(+), 209 deletions(-) diff --git a/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js b/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js index fecef70d2256..e26f8cdfe9bd 100644 --- a/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js +++ b/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js @@ -1043,8 +1043,8 @@ QUnit.module('Lifecycle', { { value: 1, argument: 2 } ]; const chart = this.chart(annotationOptions, items); - this.createAnnotationStub.getCall(0).returnValue[0].draw.reset(); - this.createAnnotationStub.reset(); + this.createAnnotationStub.getCall(0).returnValue[0].draw.resetHistory(); + this.createAnnotationStub.resetHistory(); const newItems = [ { some: 'newItem' } @@ -1074,8 +1074,8 @@ QUnit.module('Lifecycle', { { value: 1, argument: 2 } ]; const chart = this.chart(annotationOptions, items); - this.createAnnotationStub.getCall(0).returnValue[0].draw.reset(); - this.createAnnotationStub.reset(); + this.createAnnotationStub.getCall(0).returnValue[0].draw.resetHistory(); + this.createAnnotationStub.resetHistory(); const newAnnotationOptions = { some: 'otherOptions' @@ -1233,8 +1233,8 @@ QUnit.module('Lifecycle', { { value: 1, argument: 2 } ]; const polarChart = this.polarChart(annotationOptions, items); - this.createAnnotationStub.getCall(0).returnValue[0].draw.reset(); - this.createAnnotationStub.reset(); + this.createAnnotationStub.getCall(0).returnValue[0].draw.resetHistory(); + this.createAnnotationStub.resetHistory(); const newItems = [ { some: 'newItem' } @@ -1264,8 +1264,8 @@ QUnit.module('Lifecycle', { { value: 1, argument: 2 } ]; const polarChart = this.polarChart(annotationOptions, items); - this.createAnnotationStub.getCall(0).returnValue[0].draw.reset(); - this.createAnnotationStub.reset(); + this.createAnnotationStub.getCall(0).returnValue[0].draw.resetHistory(); + this.createAnnotationStub.resetHistory(); const newAnnotationOptions = { some: 'otherOptions' diff --git a/testing/tests/DevExpress.viz.core/annotations.tests.js b/testing/tests/DevExpress.viz.core/annotations.tests.js index 58b2795797c1..c559a7a950e9 100644 --- a/testing/tests/DevExpress.viz.core/annotations.tests.js +++ b/testing/tests/DevExpress.viz.core/annotations.tests.js @@ -183,7 +183,7 @@ QUnit.test('Draw image inside a plaque with borders and arrow', function(assert) }, font: { size: 20 } })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -246,7 +246,7 @@ QUnit.test('Get size from annotation setting if it less than image size', functi width: 20, height: 30 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -267,7 +267,7 @@ QUnit.test('Draw image inside a plaque without borders', function(assert) { color: '#AAAAAA', opacity: 0.5 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); // assert @@ -291,7 +291,7 @@ QUnit.test('Draw annotation with anchor and x/y', function(assert) { paddingLeftRight: 10, paddingTopBottom: 15 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -316,7 +316,7 @@ QUnit.test('Draw annotation with anchor and only x', function(assert) { paddingLeftRight: 10, paddingTopBottom: 15 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -344,7 +344,7 @@ QUnit.test('Draw annotation with anchor and only y', function(assert) { blur: 5, } })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -368,7 +368,7 @@ QUnit.test('Draw annotation with x/y and without anchor', function(assert) { paddingLeftRight: 10, paddingTopBottom: 15 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -393,7 +393,7 @@ QUnit.test('Draw annotation with offsetX/offsetY with anchor', function(assert) paddingLeftRight: 10, paddingTopBottom: 15 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -417,7 +417,7 @@ QUnit.test('Draw annotation with offsetX/offsetY and without anchor', function(a paddingLeftRight: 10, paddingTopBottom: 15 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -440,7 +440,7 @@ QUnit.test('Arrow on the top, left side', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -464,7 +464,7 @@ QUnit.test('Arrow on the top, center', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -488,7 +488,7 @@ QUnit.test('Arrow on the top, right side', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -512,7 +512,7 @@ QUnit.test('Arrow on the bottom, left side', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -536,7 +536,7 @@ QUnit.test('Arrow on the bottom, center', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -560,7 +560,7 @@ QUnit.test('Arrow on the bottom, right side', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -584,7 +584,7 @@ QUnit.test('Arrow on the left, top side', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -608,7 +608,7 @@ QUnit.test('Arrow on the left, center', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -633,7 +633,7 @@ QUnit.test('Arrow on the left, bottom side', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -657,7 +657,7 @@ QUnit.test('Arrow on the right, top side', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -681,7 +681,7 @@ QUnit.test('Arrow on the right, center', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -705,7 +705,7 @@ QUnit.test('Arrow on the right, bottom side', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -729,7 +729,7 @@ QUnit.test('Arrow on top-left corner', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -753,7 +753,7 @@ QUnit.test('Arrow on top-right corner', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -777,7 +777,7 @@ QUnit.test('Arrow on bottom-right corner', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -801,7 +801,7 @@ QUnit.test('Arrow on bottom-left corner', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -825,7 +825,7 @@ QUnit.test('Anchor is inside plaque', function(assert) { paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -849,7 +849,7 @@ QUnit.test('Arrow on the left, center. Arrow width is bigger than annotation hei paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -872,7 +872,7 @@ QUnit.test('Arrow on the bottom, center. Arrow width is bigger than annotation w paddingLeftRight: 10, paddingTopBottom: 10 })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -919,7 +919,7 @@ QUnit.test('Out of right bound - draw plaque from right border', function(assert blur: 5 } })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -941,7 +941,7 @@ QUnit.test('Out of left bound - draw plaque from left border', function(assert) blur: 10 } })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -957,7 +957,7 @@ QUnit.test('Plaque width more than canvas - draw plaque in center', function(ass this.widget._getAnnotationCoords.returns({ x: 5, y: 200, canvas: { left: 0, top: 0, right: 0, bottom: 0, width: 20, height: 500 } }); this.renderer.bBoxTemplate = { x: 0, y: 0, width: 20, height: 20 }; const annotation = this.createAnnotations([{ type: 'image', image: { url: 'some_url' } }])[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -979,7 +979,7 @@ QUnit.test('Out of top bound - draw plaque under anchor', function(assert) { blur: 10 } })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -1001,7 +1001,7 @@ QUnit.test('Out of top bound, but does not fit under anchor - draw plaque from t blur: 5 } })[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -1017,7 +1017,7 @@ QUnit.test('Plaque height more than canvas - draw plaque from top border', funct this.widget._getAnnotationCoords.returns({ x: 200, y: 10, canvas: { left: 0, top: 0, right: 0, bottom: 0, width: 500, height: 30 } }); this.renderer.bBoxTemplate = { x: 0, y: 0, width: 20, height: 20 }; const annotation = this.createAnnotations([{ type: 'image', image: { url: 'some_url' } }])[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -1037,7 +1037,7 @@ QUnit.test('Round x, y', function(assert) { x: 201.3, y: 20.6 }])[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -1053,7 +1053,7 @@ QUnit.module('Text annotaion', environment); QUnit.test('Draw text inside plaque', function(assert) { const annotation = this.createAnnotations([{ x: 0, y: 0, type: 'text', text: 'some text', font: {}, cssClass: 'annotation_class' } ], {})[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -1082,7 +1082,7 @@ QUnit.test('Draw text with width/height', function(assert) { paddingTopBottom: 20, arrowWidth: 0 }], {})[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -1112,7 +1112,7 @@ QUnit.test('Do not call setMax size is less than 0', function(assert) { paddingTopBottom: 20, arrowWidth: 0 }], {})[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); @@ -1138,7 +1138,7 @@ QUnit.test('Draw plague bound text bbox if it greater than passed size', functio paddingTopBottom: 0, arrowWidth: 0 }], {})[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.renderer.bBoxTemplate = { x: 0, y: 0, width: 100, height: 200 }; annotation.draw(this.widget, this.group); @@ -1152,7 +1152,7 @@ QUnit.module('Custom annotaion', environment); QUnit.test('Use functional template to draw custom annotation', function(assert) { const template = sinon.spy(); const annotation = this.createAnnotations([{ x: 0, y: 0, type: 'custom', template, data: { isCustomData: true } } ], {})[0]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); annotation.draw(this.widget, this.group); diff --git a/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js b/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js index 1e2f8f8cd480..49fd577780e0 100644 --- a/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js +++ b/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js @@ -40,7 +40,7 @@ const environment = { const axesContainerGroup = this.renderer.g(); const gridGroup = this.renderer.g(); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.incidentOccurred = sinon.spy(); this.axis = new Axis($.extend(true, { diff --git a/testing/tests/DevExpress.viz.core/axisDrawing.tests.js b/testing/tests/DevExpress.viz.core/axisDrawing.tests.js index b9621cc47cfb..ad0756e53d22 100644 --- a/testing/tests/DevExpress.viz.core/axisDrawing.tests.js +++ b/testing/tests/DevExpress.viz.core/axisDrawing.tests.js @@ -69,7 +69,7 @@ const environment = { const gridGroup = this.renderer.g(); const scaleBreaksGroup = this.renderer.g(); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.templateRender = sinon.spy(); this.axis = new Axis($.extend(true, { @@ -1544,8 +1544,8 @@ QUnit.test('showCustomBoundaryTicks true, customBoundTicks, double drawing, seco customBoundTicks: [undefined] }); this.axis.setBusinessRange({ min: undefined, max: undefined }); - this.translator.stub('translate').reset(); - this.renderer.path.reset(); + this.translator.stub('translate').resetHistory(); + this.renderer.path.resetHistory(); // act this.axis.draw(this.canvas); @@ -1645,7 +1645,7 @@ QUnit.test('Template container coords after drawing template', function(assert) this.translator.stub('translate').withArgs(1).returns(40); this.translator.stub('translate').withArgs(2).returns(60); - renderer.g.reset(); + renderer.g.resetHistory(); // act this.renderer.bBoxTemplate = function() { return { x: 1, y: 2, width: 18, height: 18 }; @@ -1680,7 +1680,7 @@ QUnit.test('Template container bbox on adjusting labels. Horizontal = true, top' this.translator.stub('translate').withArgs(1).returns(40); this.translator.stub('translate').withArgs(2).returns(60); - renderer.g.reset(); + renderer.g.resetHistory(); // act this.renderer.bBoxTemplate = function() { return { x: 1, y: 2, width: 18, height: 18 }; @@ -1714,7 +1714,7 @@ QUnit.test('Template container bbox on adjusting labels. Horizontal = true, bott this.translator.stub('translate').withArgs(1).returns(40); this.translator.stub('translate').withArgs(2).returns(60); - renderer.g.reset(); + renderer.g.resetHistory(); // act this.renderer.bBoxTemplate = function() { return { x: 1, y: 2, width: 18, height: 18 }; @@ -1748,7 +1748,7 @@ QUnit.test('Template container bbox on adjusting labels. Horizontal = false, lef this.translator.stub('translate').withArgs(1).returns(40); this.translator.stub('translate').withArgs(2).returns(60); - renderer.g.reset(); + renderer.g.resetHistory(); // act this.renderer.bBoxTemplate = function() { return { x: 1, y: 2, width: 18, height: 18 }; @@ -1782,7 +1782,7 @@ QUnit.test('Template container bbox on adjusting labels. Horizontal = false, rig this.translator.stub('translate').withArgs(1).returns(40); this.translator.stub('translate').withArgs(2).returns(60); - renderer.g.reset(); + renderer.g.resetHistory(); // act this.renderer.bBoxTemplate = function() { return { x: 1, y: 2, width: 18, height: 18 }; @@ -1847,7 +1847,7 @@ QUnit.test('Hint on template container', function(assert) { this.translator.stub('translate').withArgs(1).returns(40); this.translator.stub('translate').withArgs(2).returns(60); - renderer.g.reset(); + renderer.g.resetHistory(); // act this.axis.draw(this.canvas); @@ -1876,7 +1876,7 @@ QUnit.test('store data in template container', function(assert) { this.translator.stub('translate').withArgs(123).returns(40); this.translator.stub('translate').withArgs(345).returns(80); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); // act this.axis.draw(this.canvas); @@ -10204,7 +10204,7 @@ QUnit.test('Axis has title - hideTitle removes title and throws incident', funct title: { text: 'text' } }); this.axis.draw(this.canvas); - this.renderer.g.getCall(5).returnValue.clear.reset(); + this.renderer.g.getCall(5).returnValue.clear.resetHistory(); this.axis.hideTitle(); @@ -10227,7 +10227,7 @@ QUnit.test('Axis has no title - hideTitle does nothing', function(assert) { return value; }; this.axis.draw(this.canvas); - this.renderer.g.getCall(5).returnValue.clear.reset(); + this.renderer.g.getCall(5).returnValue.clear.resetHistory(); this.axis.hideTitle(); @@ -10248,7 +10248,7 @@ QUnit.test('Axis has labels - hideOuterElements removes labels and throws incide } }); this.axis.draw(this.canvas); - this.renderer.g.getCall(3).returnValue.clear.reset(); + this.renderer.g.getCall(3).returnValue.clear.resetHistory(); this.axis.hideOuterElements(); @@ -10344,7 +10344,7 @@ QUnit.test('Axis has no visible labels nor outside constantLines - hideOuterElem return value; }; this.axis.draw(this.canvas); - this.renderer.g.getCall(3).returnValue.clear.reset(); + this.renderer.g.getCall(3).returnValue.clear.resetHistory(); this.axis.hideOuterElements(); @@ -10367,7 +10367,7 @@ QUnit.test('Axis with empty range - hideOuterElements does nothing', function(as }); this.axis.setBusinessRange({ }); this.axis.draw(this.canvas); - this.renderer.g.getCall(3).returnValue.clear.reset(); + this.renderer.g.getCall(3).returnValue.clear.resetHistory(); this.axis.hideOuterElements(); @@ -10902,13 +10902,13 @@ QUnit.test('Update grid points, but distance between grids and borders less than const grid2 = path.getCall(1).returnValue; const grid3 = path.getCall(2).returnValue; - grid1.attr.reset(); - grid2.attr.reset(); - grid3.attr.reset(); + grid1.attr.resetHistory(); + grid2.attr.resetHistory(); + grid3.attr.resetHistory(); - grid1.stub('remove').reset(); - grid2.stub('remove').reset(); - grid3.stub('remove').reset(); + grid1.stub('remove').resetHistory(); + grid2.stub('remove').resetHistory(); + grid3.stub('remove').resetHistory(); // act this.axis.updateSize(this.canvas); @@ -11450,11 +11450,11 @@ QUnit.test('Recreate group for breaks', function(assert) { this.translator.stub('isInverted').returns(false); this.translator.stub('translate').withArgs(20).returns(20); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.axis.drawScaleBreaks(); const oldGroup = this.renderer.g.getCall(0).returnValue; // act - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.axis.drawScaleBreaks(); // assert @@ -11483,8 +11483,8 @@ QUnit.test('Recreate group for breaks if shifted axis', function(assert) { const oldAdditionGroup = this.renderer.g.getCall(13).returnValue; const oldAdditionClipRect = this.renderer.clipRect.getCall(1).returnValue; - this.renderer.clipRect.reset(); - this.renderer.g.reset(); + this.renderer.clipRect.resetHistory(); + this.renderer.g.resetHistory(); // act this.axis.drawScaleBreaks(); @@ -11890,7 +11890,7 @@ QUnit.test('Fade out unnecessary tick', function(assert) { // act this.generatedTicks = []; - tick.append.reset(); + tick.append.resetHistory(); this.axis.draw(this.zeroMarginCanvas); @@ -12164,7 +12164,7 @@ QUnit.test('Fade out unnecessary grid line', function(assert) { // act this.generatedTicks = []; - gridLine.append.reset(); + gridLine.append.resetHistory(); this.axis.draw(this.zeroMarginCanvas); @@ -12231,8 +12231,8 @@ QUnit.test('Animate label to the new position on second drawing', function(asser this.axis.updateSize(this.canvas, true); const label = renderer.text.lastCall.returnValue; - label.append.reset(); - label.attr.reset(); + label.append.resetHistory(); + label.attr.resetHistory(); // act this.translator.stub('translate').withArgs(1).returns(45); @@ -12358,7 +12358,7 @@ QUnit.test('Update hint on axis redrawing', function(assert) { this.axis.updateSize(this.canvas, true); const label = renderer.text.lastCall.returnValue; - label.setTitle.reset(); + label.setTitle.resetHistory(); // act this.axis.draw(this.zeroMarginCanvas); this.axis.updateSize(this.canvas, true); @@ -12385,7 +12385,7 @@ QUnit.test('Update hint on axis redrawing after updating the data source (T92645 this.axis.updateSize(this.canvas, true); const oldLabel = renderer.text.lastCall.returnValue; - oldLabel.setTitle.reset(); + oldLabel.setTitle.resetHistory(); this.generatedTicks = [111]; // act this.axis.draw(this.zeroMarginCanvas); @@ -12471,7 +12471,7 @@ QUnit.test('Fade out unnecessary label', function(assert) { // act this.generatedTicks = []; - label.append.reset(); + label.append.resetHistory(); this.axis.draw(this.zeroMarginCanvas); @@ -12714,7 +12714,7 @@ QUnit.test('Fade out unnecessary minor tick', function(assert) { // act this.generatedMinorTicks = []; - tick.append.reset(); + tick.append.resetHistory(); this.axis.draw(this.zeroMarginCanvas); @@ -12940,7 +12940,7 @@ QUnit.test('Fade out unnecessary minor grid line', function(assert) { // act this.generatedMinorTicks = []; - minorGridLine.append.reset(); + minorGridLine.append.resetHistory(); this.axis.draw(this.zeroMarginCanvas); @@ -13054,8 +13054,8 @@ QUnit.test('Animate constant line on second drawing', function(assert) { const line = renderer.path.lastCall.returnValue; const text = renderer.text.lastCall.returnValue; - line.attr.reset(); - text.attr.reset(); + line.attr.resetHistory(); + text.attr.resetHistory(); this.translator.stub('translate').withArgs(1).returns(60); @@ -13208,8 +13208,8 @@ QUnit.test('Do not animate constant line if it position go out from canvas', fun const line = renderer.path.lastCall.returnValue; const text = renderer.text.lastCall.returnValue; - line.attr.reset(); - text.attr.reset(); + line.attr.resetHistory(); + text.attr.resetHistory(); this.axis.updateSize(this.canvas, true); // assert @@ -13285,8 +13285,8 @@ QUnit.test('Animate strip to new position on second drawing', function(assert) { const rect = renderer.rect.lastCall.returnValue; const text = renderer.text.lastCall.returnValue; - rect.attr.reset(); - text.attr.reset(); + rect.attr.resetHistory(); + text.attr.resetHistory(); this.axis.updateSize(this.canvas, true); // assert @@ -13628,7 +13628,7 @@ QUnit.test('Update skikipped categories on second drawing', function(assert) { }.bind(this)); this.axis.draw(this.canvas); - this.renderer.path.reset(); + this.renderer.path.resetHistory(); // act this.generatedTicks = categories; diff --git a/testing/tests/DevExpress.viz.core/axisFormatting.tests.js b/testing/tests/DevExpress.viz.core/axisFormatting.tests.js index e19e1009d4de..daeb07f3df9c 100644 --- a/testing/tests/DevExpress.viz.core/axisFormatting.tests.js +++ b/testing/tests/DevExpress.viz.core/axisFormatting.tests.js @@ -101,7 +101,7 @@ const environment = { translator.stub('translate').withArgs(tick).returns(100); }); - this.renderer.stub('text').reset(); + this.renderer.stub('text').resetHistory(); // act this.axis.draw(this.canvas); diff --git a/testing/tests/DevExpress.viz.core/baseAxis.tests.js b/testing/tests/DevExpress.viz.core/baseAxis.tests.js index 037743906f2f..ac19888966b7 100644 --- a/testing/tests/DevExpress.viz.core/baseAxis.tests.js +++ b/testing/tests/DevExpress.viz.core/baseAxis.tests.js @@ -92,7 +92,7 @@ QUnit.test('Create axis', function(assert) { const axesContainerGroup = renderer.g(); const gridGroup = renderer.g(); - renderer.g.reset(); + renderer.g.resetHistory(); const axis = new Axis({ renderer: renderer, @@ -134,7 +134,7 @@ QUnit.test('Create axis when axis class is undefined', function(assert) { const axesContainerGroup = renderer.g(); const gridGroup = renderer.g(); - renderer.g.reset(); + renderer.g.resetHistory(); new Axis({ renderer: renderer, @@ -184,7 +184,7 @@ QUnit.module('API', { const axesContainerGroup = renderer.g(); const gridGroup = renderer.g(); - renderer.g.reset(); + renderer.g.resetHistory(); this.axis = new Axis({ renderer: renderer, @@ -509,7 +509,7 @@ QUnit.test('set undefined types', function(assert) { }); QUnit.test('applyClipRects', function(assert) { - this.renderer.g.reset(); + this.renderer.g.resetHistory(); const renderer = this.renderer; const axis = new Axis({ renderer: renderer, @@ -821,7 +821,7 @@ QUnit.module('Labels template', { const axesContainerGroup = renderer.g(); const gridGroup = renderer.g(); - renderer.g.reset(); + renderer.g.resetHistory(); this.templateRender = sinon.spy(); this.getTemplate = sinon.spy(() => { return { @@ -883,7 +883,7 @@ QUnit.test('arguments passing to render', function(assert) { this.axis.createTicks(this.canvas); // act - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.axis.draw(); // assert @@ -1032,7 +1032,7 @@ QUnit.module('Labels Settings', { const axesContainerGroup = renderer.g(); const gridGroup = renderer.g(); - renderer.g.reset(); + renderer.g.resetHistory(); this.axis = new Axis({ renderer: renderer, @@ -1118,7 +1118,7 @@ QUnit.module('Validate', { const axesContainerGroup = renderer.g(); const gridGroup = renderer.g(); - renderer.g.reset(); + renderer.g.resetHistory(); this.incidentOccurred = sinon.stub(); this.axis = new Axis({ @@ -1226,7 +1226,7 @@ QUnit.module('Zoom', { gridGroup: gridGroup }; - renderer.g.reset(); + renderer.g.resetHistory(); this.axis = this.createAxis({}); @@ -1629,7 +1629,7 @@ QUnit.module('VisualRange', { const axesContainerGroup = renderer.g(); const gridGroup = renderer.g(); - renderer.g.reset(); + renderer.g.resetHistory(); this.incidentOccurred = sinon.stub(); this.axis = new Axis({ renderer: this.renderer, @@ -3319,7 +3319,7 @@ QUnit.test('createTicks after synchronization (zoom chart) - recalculate margins axis.setTicks({}); axis.draw(); - this.translator.stub('updateBusinessRange').reset(); + this.translator.stub('updateBusinessRange').resetHistory(); axis.createTicks({ top: 200, diff --git a/testing/tests/DevExpress.viz.core/baseWidget.tests.js b/testing/tests/DevExpress.viz.core/baseWidget.tests.js index 6d54c787d058..c4664de85fa5 100644 --- a/testing/tests/DevExpress.viz.core/baseWidget.tests.js +++ b/testing/tests/DevExpress.viz.core/baseWidget.tests.js @@ -154,8 +154,8 @@ QUnit.test('Theme manager callback', function(assert) { rtlEnabled: 'rtl-enabled-option', encodeHtml: 'encode-html-option' }); - this.renderer.lock.reset(); - this.renderer.unlock.reset(); + this.renderer.lock.resetHistory(); + this.renderer.unlock.resetHistory(); this.themeManager.setCallback.lastCall.args[0](); @@ -438,9 +438,9 @@ QUnit.module('Order of methods calls', $.extend({}, environment, { reset: function() { const test = this; $.each(test.spies, function(_, name) { - test[name].reset(); + test[name].resetHistory(); }); - this.renderer.stub('resize').reset(); + this.renderer.stub('resize').resetHistory(); }, checkResized: function(assert) { this.checkOrder(assert, [ @@ -863,7 +863,7 @@ QUnit.module('Redraw on resize', $.extend({}, environment, { createWidget: function() { const result = environment.createWidget.apply(this, arguments); - this.onApplySize.reset(); + this.onApplySize.resetHistory(); return result; } })); @@ -942,7 +942,7 @@ QUnit.test('Hide', function(assert) { QUnit.test('Show', function(assert) { // arrange this.$container.trigger('dxhiding').hide(); - this.renderStub.reset(); + this.renderStub.resetHistory(); // act this.$container.show().trigger('dxshown'); @@ -1461,7 +1461,7 @@ QUnit.test('updating', function(assert) { const trigger = this.create({ 'name-1': {} }); - this.callbackGetter.reset(); + this.callbackGetter.resetHistory(); assert.strictEqual(trigger.change('name-1'), true, 'common'); assert.strictEqual(trigger.change('name-3'), false, 'unknown'); diff --git a/testing/tests/DevExpress.viz.core/export.integration.tests.js b/testing/tests/DevExpress.viz.core/export.integration.tests.js index e9a90e6f76e8..6a802766899f 100644 --- a/testing/tests/DevExpress.viz.core/export.integration.tests.js +++ b/testing/tests/DevExpress.viz.core/export.integration.tests.js @@ -441,7 +441,7 @@ QUnit.test('Export menu disposing', function(assert) { QUnit.test('Depends on theme', function(assert) { const widget = this.createWidget(); - this.exportMenu.setOptions.reset(); + this.exportMenu.setOptions.resetHistory(); widget.option('theme', 'test-theme'); diff --git a/testing/tests/DevExpress.viz.core/export.tests.js b/testing/tests/DevExpress.viz.core/export.tests.js index 6d145cf06317..d50afafdba73 100644 --- a/testing/tests/DevExpress.viz.core/export.tests.js +++ b/testing/tests/DevExpress.viz.core/export.tests.js @@ -885,7 +885,7 @@ QUnit.test('Shift', function(assert) { // arrange const exportMenu = this.createExportMenu(); - this.renderer.g.getCall(0).returnValue.attr.reset(); + this.renderer.g.getCall(0).returnValue.attr.resetHistory(); // act exportMenu.shift(10, 20); @@ -898,7 +898,7 @@ QUnit.test('Move', function(assert) { // arrange const exportMenu = this.createExportMenu(); - this.renderer.g.getCall(0).returnValue.attr.reset(); + this.renderer.g.getCall(0).returnValue.attr.resetHistory(); // act exportMenu.move([10, 20]); @@ -942,9 +942,9 @@ QUnit.test('Set options', function(assert) { // arrange const exportMenu = this.createExportMenu(); - this.renderer.rect.reset(); - this.renderer.text.reset(); - this.renderer.path.reset(); + this.renderer.rect.resetHistory(); + this.renderer.text.resetHistory(); + this.renderer.path.resetHistory(); // act exportMenu.setOptions({ @@ -1123,7 +1123,7 @@ QUnit.test('Button hover', function(assert) { // arrange this.createExportMenu(); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); // act this.renderer.g.getCall(1).returnValue.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); @@ -1136,7 +1136,7 @@ QUnit.test('Button mousedown', function(assert) { // arrange this.createExportMenu(); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); // act this.renderer.g.getCall(1).returnValue.on.getCall(2).args[1]({ target: { 'export-element-type': 'button' } }); // assert @@ -1147,7 +1147,7 @@ QUnit.test('Button unhover', function(assert) { // arrange this.createExportMenu(); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); // act this.renderer.g.getCall(1).returnValue.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); @@ -1162,7 +1162,7 @@ QUnit.test('menuItem hover', function(assert) { this.createExportMenu(); const menuItemRect = this.renderer.rect.getCall(2).returnValue; - menuItemRect.attr.reset(); + menuItemRect.attr.resetHistory(); // act menuItemRect.on.getCall(0).args[1](); @@ -1176,7 +1176,7 @@ QUnit.test('menuItem unhover', function(assert) { this.createExportMenu(); const menuItemRect = this.renderer.rect.getCall(2).returnValue; - menuItemRect.attr.reset(); + menuItemRect.attr.resetHistory(); // act menuItemRect.on.getCall(0).args[1](); @@ -1193,7 +1193,7 @@ QUnit.test('Button hover when button is selected', function(assert) { // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); this.renderer.g.getCall(1).returnValue.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); // assert @@ -1207,7 +1207,7 @@ QUnit.test('Button unhover when button is selected', function(assert) { // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); this.renderer.g.getCall(1).returnValue.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); this.renderer.g.getCall(1).returnValue.on.getCall(1).args[1]({ target: { 'export-element-type': 'button' } }); // assert @@ -1218,8 +1218,8 @@ QUnit.test('List opening', function(assert) { // arrange this.createExportMenu(); - this.renderer.g.getCall(2).returnValue.attr.reset(); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.g.getCall(2).returnValue.attr.resetHistory(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); @@ -1258,8 +1258,8 @@ QUnit.test('List closing by menu button', function(assert) { // arrange this.createExportMenu(); - this.renderer.g.getCall(2).returnValue.attr.reset(); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.g.getCall(2).returnValue.attr.resetHistory(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); @@ -1274,11 +1274,11 @@ QUnit.test('List closing by any place', function(assert) { // arrange this.createExportMenu(); - this.renderer.g.getCall(2).returnValue.attr.reset(); + this.renderer.g.getCall(2).returnValue.attr.resetHistory(); // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); this.renderer.root.on.getCall(0).args[1]({ target: {} }); // assert @@ -1290,7 +1290,7 @@ QUnit.test('List isn\'t closing by click on list', function(assert) { // arrange this.createExportMenu(); - this.renderer.g.getCall(2).returnValue.attr.reset(); + this.renderer.g.getCall(2).returnValue.attr.resetHistory(); // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); @@ -1308,12 +1308,12 @@ QUnit.test('Exporting by click on format text', function(assert) { const exportMenu = this.createExportMenu(); exportMenu.draw(50, 50, { width: 15, height: 25 }); - this.renderer.g.getCall(2).returnValue.attr.reset(); - this.renderer.g.getCall(0).returnValue.linkAppend.reset(); + this.renderer.g.getCall(2).returnValue.attr.resetHistory(); + this.renderer.g.getCall(0).returnValue.linkAppend.resetHistory(); // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'exporting', @@ -1334,7 +1334,7 @@ QUnit.test('Open list after exporting - previously clicked item is unhovered. T5 exportMenu.draw(50, 50, { width: 15, height: 25 }); const menuItemRect = this.renderer.rect.getCall(2).returnValue; - menuItemRect.attr.reset(); + menuItemRect.attr.resetHistory(); // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); @@ -1357,12 +1357,12 @@ QUnit.test('Printing by menu - close list', function(assert) { this.createExportMenu(); - this.renderer.g.getCall(2).returnValue.attr.reset(); - this.renderer.g.getCall(0).returnValue.linkAppend.reset(); + this.renderer.g.getCall(2).returnValue.attr.resetHistory(); + this.renderer.g.getCall(0).returnValue.linkAppend.resetHistory(); // act this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'button' } }); - this.renderer.rect.getCall(1).returnValue.attr.reset(); + this.renderer.rect.getCall(1).returnValue.attr.resetHistory(); this.renderer.root.on.getCall(0).args[1]({ target: { 'export-element-type': 'printing' } }); // assert diff --git a/testing/tests/DevExpress.viz.core/legend.tests.js b/testing/tests/DevExpress.viz.core/legend.tests.js index 5ac47034499c..2cac0dd31590 100644 --- a/testing/tests/DevExpress.viz.core/legend.tests.js +++ b/testing/tests/DevExpress.viz.core/legend.tests.js @@ -17,9 +17,9 @@ const environment = { this.markerBBoxes = []; this.rootGroup = this.renderer.g(); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.renderer.text(); - this.renderer.text.reset(); + this.renderer.text.resetHistory(); this.options = getLegendOptions(); this.data = this.createData(3); @@ -1848,9 +1848,9 @@ QUnit.module('States', $.extend({}, environment, { QUnit.test('Change state - leads to redraw marker', function(assert) { const markersGroup = this.findMarkersGroup(); - markersGroup.children[0].children[0].stub('clear').reset(); - this.renderer.rect.reset(); - this.renderer.text.reset(); + markersGroup.children[0].children[0].stub('clear').resetHistory(); + this.renderer.rect.resetHistory(); + this.renderer.text.resetHistory(); this.legend.applyHover(0); @@ -1905,8 +1905,8 @@ QUnit.test('resetItem', function(assert) { }); QUnit.test('applyHover from invisible series', function(assert) { - this.renderer.rect.getCall(0).returnValue.stub('smartAttr').reset(); - this.renderer.rect.getCall(1).returnValue.stub('smartAttr').reset(); + this.renderer.rect.getCall(0).returnValue.stub('smartAttr').resetHistory(); + this.renderer.rect.getCall(1).returnValue.stub('smartAttr').resetHistory(); this.legend.applyHover(4); assert.strictEqual(this.renderer.rect.getCall(0).returnValue.stub('smartAttr').callCount, 0); @@ -1914,8 +1914,8 @@ QUnit.test('applyHover from invisible series', function(assert) { }); QUnit.test('applySelected from invisible series', function(assert) { - this.renderer.rect.getCall(0).returnValue.stub('smartAttr').reset(); - this.renderer.rect.getCall(1).returnValue.stub('smartAttr').reset(); + this.renderer.rect.getCall(0).returnValue.stub('smartAttr').resetHistory(); + this.renderer.rect.getCall(1).returnValue.stub('smartAttr').resetHistory(); this.legend.applySelected(4); assert.strictEqual(this.renderer.rect.getCall(0).returnValue.stub('smartAttr').callCount, 0); @@ -1923,8 +1923,8 @@ QUnit.test('applySelected from invisible series', function(assert) { }); QUnit.test('resetItem from invisible series', function(assert) { - this.renderer.rect.getCall(0).returnValue.stub('smartAttr').reset(); - this.renderer.rect.getCall(1).returnValue.stub('smartAttr').reset(); + this.renderer.rect.getCall(0).returnValue.stub('smartAttr').resetHistory(); + this.renderer.rect.getCall(1).returnValue.stub('smartAttr').resetHistory(); this.legend.resetItem(4); assert.strictEqual(this.renderer.rect.getCall(0).returnValue.stub('smartAttr').callCount, 0); @@ -1975,7 +1975,7 @@ QUnit.test('Erase legend on update options', function(assert) { text: 'title' }; const titleGroup = this.renderer.g.firstCall.returnValue; - titleGroup.linkRemove.reset(); + titleGroup.linkRemove.resetHistory(); this.legend.update([]); assert.deepEqual(this.renderer.g.getCall(1).returnValue.remove.lastCall.args, [], 'group is removed'); @@ -2671,7 +2671,7 @@ QUnit.test('Call template function', function(assert) { QUnit.test('Call second time when state changed', function(assert) { this.createAndDrawLegend(); - this.options.markerTemplate.reset(); + this.options.markerTemplate.resetHistory(); this.legend.applyHover(0); @@ -2706,7 +2706,7 @@ QUnit.test('Pass customized item size to hover state', function(assert) { }; this.createAndDrawLegend(); - this.options.markerTemplate.reset(); + this.options.markerTemplate.resetHistory(); this.legend.applyHover(0); @@ -2729,13 +2729,13 @@ QUnit.test('Pass customized item opacity for different states', function(assert) assert.equal(this.options.markerTemplate.lastCall.args[0].marker.state, 'normal'); assert.equal(this.options.markerTemplate.lastCall.args[0].marker.opacity, 0.3); - this.options.markerTemplate.reset(); + this.options.markerTemplate.resetHistory(); this.legend.applyHover(0); assert.equal(this.options.markerTemplate.lastCall.args[0].marker.state, 'hovered'); assert.equal(this.options.markerTemplate.lastCall.args[0].marker.opacity, 0.65); - this.options.markerTemplate.reset(); + this.options.markerTemplate.resetHistory(); this.legend.applySelected(0); assert.equal(this.options.markerTemplate.lastCall.args[0].marker.state, 'selected'); diff --git a/testing/tests/DevExpress.viz.core/loadingIndicator.integration.tests.js b/testing/tests/DevExpress.viz.core/loadingIndicator.integration.tests.js index d31687b20821..12b19fd6dcf5 100644 --- a/testing/tests/DevExpress.viz.core/loadingIndicator.integration.tests.js +++ b/testing/tests/DevExpress.viz.core/loadingIndicator.integration.tests.js @@ -113,8 +113,8 @@ QUnit.test('Hidden when option is set to the same value', function(assert) { theme: 'test-theme' }); widget.showLoadingIndicator(); - this.loadingIndicator.scheduleHiding.reset(); - this.loadingIndicator.fulfillHiding.reset(); + this.loadingIndicator.scheduleHiding.resetHistory(); + this.loadingIndicator.fulfillHiding.resetHistory(); widget.option('theme', 'test-theme'); assert.deepEqual(this.loadingIndicator.scheduleHiding.lastCall.args, [], 'schedule'); assert.deepEqual(this.loadingIndicator.fulfillHiding.lastCall.args, [], 'fulfilled'); @@ -140,7 +140,7 @@ QUnit.test('Hiding is scheduled on any option change', function(assert) { QUnit.test('Depends on theme', function(assert) { const widget = this.createWidget(); - this.loadingIndicator.setOptions.reset(); + this.loadingIndicator.setOptions.resetHistory(); widget.option('theme', 'test-theme'); @@ -185,7 +185,7 @@ QUnit.test('Show loading indicator on each loading of data', function(assert) { } }); - this.loadingIndicator.show.reset(); + this.loadingIndicator.show.resetHistory(); const N = 10; for(let i = 0; i < N; i++) { diff --git a/testing/tests/DevExpress.viz.core/loadingIndicator.tests.js b/testing/tests/DevExpress.viz.core/loadingIndicator.tests.js index f0ff3a643048..4c95cb285343 100644 --- a/testing/tests/DevExpress.viz.core/loadingIndicator.tests.js +++ b/testing/tests/DevExpress.viz.core/loadingIndicator.tests.js @@ -23,12 +23,12 @@ QUnit.module('Common', { }, reset: function() { - this.eventTrigger.reset(); - this.notify.reset(); - this.renderer.root.stub('attr').reset(); - this.rect.stub('animate').reset(); - this.group.stub('linkAppend').reset(); - this.group.stub('linkRemove').reset(); + this.eventTrigger.resetHistory(); + this.notify.resetHistory(); + this.renderer.root.stub('attr').resetHistory(); + this.rect.stub('animate').resetHistory(); + this.group.stub('linkAppend').resetHistory(); + this.group.stub('linkRemove').resetHistory(); } }); @@ -187,7 +187,7 @@ QUnit.test('Fulfill hiding canceled by \'hide\'', function(assert) { this.loadingIndicator.show(); this.loadingIndicator.scheduleHiding(); this.loadingIndicator.hide(); - this.hide.reset(); + this.hide.resetHistory(); this.loadingIndicator.fulfillHiding(); @@ -214,7 +214,7 @@ QUnit.test('Hiding is not scheduled on hide', function(assert) { }; loadingIndicator.hide(); - this.hide.reset(); + this.hide.resetHistory(); loadingIndicator.fulfillHiding(); assert.strictEqual(this.hide.lastCall, null); diff --git a/testing/tests/DevExpress.viz.core/polarAxes.tests.js b/testing/tests/DevExpress.viz.core/polarAxes.tests.js index de878739a054..3333bdb5d285 100644 --- a/testing/tests/DevExpress.viz.core/polarAxes.tests.js +++ b/testing/tests/DevExpress.viz.core/polarAxes.tests.js @@ -713,7 +713,7 @@ QUnit.test('adjust labels on updateSize', function(assert) { const axis = this.createDrawnAxis(); const texts = this.renderer.text.getCalls().map(call => { const text = call.returnValue; - text.attr.reset(); + text.attr.resetHistory(); return text; }); @@ -766,8 +766,8 @@ QUnit.test('Update grid on second draw', function(assert) { const axis = this.createDrawnAxis({ grid: { visible: true, color: 'black', width: 1, opacity: 1 }, label: { overlappingBehavior: 'ignore' } }); const grid = this.renderer.path.lastCall.returnValue; - grid.attr.reset(); - grid.rotate.reset(); + grid.attr.resetHistory(); + grid.rotate.resetHistory(); axis.draw({ left: 10, @@ -1238,7 +1238,7 @@ QUnit.test('Update grid on second draw', function(assert) { const axis = this.createDrawnAxis({ grid: { visible: true, color: 'black', width: 1, opacity: 1 }, label: { overlappingBehavior: 'ignore' } }); const grid = this.renderer.circle.lastCall.returnValue; - grid.attr.reset(); + grid.attr.resetHistory(); axis.draw({ left: 10, @@ -1263,7 +1263,7 @@ QUnit.test('Update grid on second draw. Remove grid element if its value out of const axis = this.createDrawnAxis({ grid: { visible: true, color: 'black', width: 1, opacity: 1 }, label: { overlappingBehavior: 'ignore' } }); const grid = this.renderer.circle.lastCall.returnValue; - grid.stub('remove').reset(); + grid.stub('remove').resetHistory(); axis.getTranslator().translate.withArgs(500, 0).returns(500); @@ -1294,7 +1294,7 @@ QUnit.test('Update grid on second draw. Remove grid element if its value out of width: 100 }); const grid = this.renderer.path.lastCall.returnValue; - grid.stub('remove').reset(); + grid.stub('remove').resetHistory(); axis.getTranslator().translate.withArgs(500, 0).returns(500); axis.updateSize({ left: 10, @@ -1818,7 +1818,7 @@ QUnit.test('Check bounded ticks overlapping on updateSize - remove overlapped la const text = this.renderer.text; - text.getCalls().forEach(c => c.returnValue.stub('remove').reset()); + text.getCalls().forEach(c => c.returnValue.stub('remove').resetHistory()); bBoxes = [ { x: 0, y: 10, width: 10, height: 5 }, { x: 5, y: 10, width: 10, height: 5 }, @@ -1847,7 +1847,7 @@ QUnit.test('Check bounded ticks overlapping on updateSize - do not remove overla const text = this.renderer.text; - text.getCalls().forEach(c => c.returnValue.stub('remove').reset()); + text.getCalls().forEach(c => c.returnValue.stub('remove').resetHistory()); bBoxes = [ { x: 0, y: 10, width: 10, height: 5 }, { x: 5, y: 10, width: 10, height: 5 }, @@ -2387,7 +2387,7 @@ QUnit.test('Do not apply margins two times', function(assert) { }); axis.draw(this.canvas); - this.tickGenerator.lastCall.returnValue.reset(); + this.tickGenerator.lastCall.returnValue.resetHistory(); // act axis.draw(this.canvas); diff --git a/testing/tests/DevExpress.viz.core/title.integration.tests.js b/testing/tests/DevExpress.viz.core/title.integration.tests.js index 768685d711c8..4dc116c9d5bc 100644 --- a/testing/tests/DevExpress.viz.core/title.integration.tests.js +++ b/testing/tests/DevExpress.viz.core/title.integration.tests.js @@ -49,7 +49,7 @@ QUnit.test('Options and canvas', function(assert) { QUnit.test('Depends on theme', function(assert) { const widget = this.createWidget(); - this.title.update.reset(); + this.title.update.resetHistory(); widget.option('theme', 'test-theme'); @@ -63,7 +63,7 @@ QUnit.test('title / size is changed', function(assert) { title: 'title-options' }); this.title.stub('update').returns(true); - this.title.measure.reset(); + this.title.measure.resetHistory(); widget.option({ title: 'new-title-options' }); @@ -78,7 +78,7 @@ QUnit.test('title / size is not changed', function(assert) { title: 'title-options' }); this.title.stub('update').returns(false); - this.title.measure.reset(); + this.title.measure.resetHistory(); widget.option({ title: 'new-title-options' }); diff --git a/testing/tests/DevExpress.viz.core/tooltip.integration.tests.js b/testing/tests/DevExpress.viz.core/tooltip.integration.tests.js index c4ad3a3ccfe1..5f50548c9fd9 100644 --- a/testing/tests/DevExpress.viz.core/tooltip.integration.tests.js +++ b/testing/tests/DevExpress.viz.core/tooltip.integration.tests.js @@ -51,8 +51,8 @@ QUnit.test('Options', function(assert) { QUnit.test('Depends on theme', function(assert) { const widget = this.createWidget(); - this.tooltip.update.reset(); - this.tooltip.setRendererOptions.reset(); + this.tooltip.update.resetHistory(); + this.tooltip.setRendererOptions.resetHistory(); widget.option('theme', 'test-theme'); diff --git a/testing/tests/DevExpress.viz.core/tooltip.tests.js b/testing/tests/DevExpress.viz.core/tooltip.tests.js index 5e2cff395a20..9da4ef200582 100644 --- a/testing/tests/DevExpress.viz.core/tooltip.tests.js +++ b/testing/tests/DevExpress.viz.core/tooltip.tests.js @@ -559,8 +559,8 @@ QUnit.module('Manipulation', { tooltip.update(this.options); this.resetTooltipMocks = function() { - tooltip._text.stub('css').reset(); - tooltip._renderer.stub('resize').reset(); + tooltip._text.stub('css').resetHistory(); + tooltip._renderer.stub('resize').resetHistory(); }; if(tooltip._textGroup && tooltip._textGroup.stub('getBBox')) { @@ -1567,7 +1567,7 @@ QUnit.test('\'tooltipHidden\' is not triggered on hide if tooltip is already hid this.tooltip.update(this.options); this.tooltip.show({ valueText: 'text' }, {}, {}); this.tooltip.hide(); - this.eventTrigger.reset(); + this.eventTrigger.resetHistory(); this.tooltip.hide(); @@ -1579,7 +1579,7 @@ QUnit.test('Hide.', function(assert) { this.options.customizeTooltip = null; this.tooltip.update(this.options).show({ valueText: 'some-text' }, { x: 10, y: 20 }, eventObject); this.tooltip.move(100, 200, 30); - this.eventTrigger.reset(); + this.eventTrigger.resetHistory(); this.resetTooltipMocks(); this.tooltip._wrapper.appendTo = sinon.spy(); @@ -1633,7 +1633,7 @@ QUnit.test('forceEvents. rise tooltipHidden event', function(assert) { const eventObject = { 'some-event-object': 'some-event-value' }; this.options.forceEvents = true; this.tooltip.update(this.options).show({ valueText: 'some-text' }, {}, eventObject); - this.eventTrigger.reset(); + this.eventTrigger.resetHistory(); this.tooltip._wrapper.appendTo = sinon.spy(); this.tooltip._wrapper.detach = sinon.spy(); @@ -1680,8 +1680,8 @@ QUnit.module('Movements', { tooltip.update(that.options); that.resetTooltipMocks = function() { - tooltip._text.stub('css').reset(); - tooltip._renderer.stub('resize').reset(); + tooltip._text.stub('css').resetHistory(); + tooltip._renderer.stub('resize').resetHistory(); }; this.renderer.bBoxTemplate = { x: -12, y: -5, width: 24, height: 10 }; @@ -2144,8 +2144,8 @@ QUnit.module('Movements. Out of visible borders', { tooltip.update(that.options); that.resetTooltipMocks = function() { - tooltip._text.stub('css').reset(); - tooltip._renderer.stub('resize').reset(); + tooltip._text.stub('css').resetHistory(); + tooltip._renderer.stub('resize').resetHistory(); }; that.canvas = { left: 10, top: 20, width: 800, height: 600, right: 0, bottom: 0 }; diff --git a/testing/tests/DevExpress.viz.core/xyAxes.tests.js b/testing/tests/DevExpress.viz.core/xyAxes.tests.js index da5448bb5b13..31bc3aba1a5d 100644 --- a/testing/tests/DevExpress.viz.core/xyAxes.tests.js +++ b/testing/tests/DevExpress.viz.core/xyAxes.tests.js @@ -1478,7 +1478,7 @@ QUnit.test('Do not update removed label position on update size', function(asser const removedLabel = this.renderer.text.getCall(1).returnValue; - removedLabel.attr.reset(); + removedLabel.attr.resetHistory(); // act axis.updateSize(this.canvas); @@ -1700,7 +1700,7 @@ QUnit.test('Auto mode. After first draw - rotate, after second - stagger. Reset let texts = this.renderer.text; for(i = 0; i < texts.callCount; i++) { - texts.getCall(i).returnValue.rotate.reset(); + texts.getCall(i).returnValue.rotate.resetHistory(); } markersBBoxes = [ { x: 0, y: 0, width: 10, height: 5 }, @@ -1815,7 +1815,7 @@ QUnit.test('Rotated mode with positive angle. No overlapping after second draw. let texts = this.renderer.text; for(i = 0; i < texts.callCount; i++) { - texts.getCall(i).returnValue.rotate.reset(); + texts.getCall(i).returnValue.rotate.resetHistory(); } markersBBoxes = [ { x: 0, y: 0, width: 10, height: 5 }, @@ -2607,7 +2607,7 @@ QUnit.test('Estimate draws constant lines with outside labels', function(assert) }] }); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); axis.estimateMargins(this.canvas); @@ -2670,7 +2670,7 @@ QUnit.test('Include constant line labels in bottom margin', function(assert) { }] }); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); const margins = axis.estimateMargins(this.canvas); @@ -2696,7 +2696,7 @@ QUnit.test('Include constant line labels in top margin', function(assert) { }] }); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); const margins = axis.estimateMargins(this.canvas); @@ -2731,7 +2731,7 @@ QUnit.test('Label is wider than constant line label - get label as margin', func width: 16 }]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); const margins = axis.estimateMargins(this.canvas); @@ -2767,7 +2767,7 @@ QUnit.test('Constant line label is wider than label - get constant line label as width: 44 }]; - this.renderer.g.reset(); + this.renderer.g.resetHistory(); const margins = axis.estimateMargins(this.canvas); @@ -2915,7 +2915,7 @@ QUnit.test('All margins are zero', function(assert) { this.options.multipleAxesSpacing = 5; const axis = this.createDrawnAxis(); - this.renderer.g.getCall(6).returnValue.attr.reset(); + this.renderer.g.getCall(6).returnValue.attr.resetHistory(); axis.shift({ top: 0, bottom: 0, left: 0, right: 0 }); // T548860 @@ -3042,7 +3042,7 @@ QUnit.test('Inside constant line group is not shifted', function(assert) { this.options.isHorizontal = true; const axis = this.createDrawnAxis(); const group = this.renderer.g.getCall(11).returnValue; - group.attr.reset(); + group.attr.resetHistory(); axis.shift({ top: 64, bottom: 45, left: 50, right: 76 }); @@ -3338,7 +3338,7 @@ QUnit.test('Remove groups on disposing', function(assert) { axis.createTicks(this.canvas); axis.shift({ left: -10 }); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); axis.drawScaleBreaks(); // act @@ -3362,7 +3362,7 @@ QUnit.test('T889259. Scale breaks should be into account in the translator after this.axis.createTicks(this.canvas); // second render - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.updateOptions({ breaks: [{ startValue: 300, endValue: 400 }] }); @@ -4737,7 +4737,7 @@ QUnit.test('Calculate common range from series on adjust', function(assert) { this.axis.setMarginOptions({}); this.axis.adjust(); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.createTicks(this.canvas); @@ -4771,7 +4771,7 @@ QUnit.test('Calculate common range from series on adjust. series with show zero' this.axis.setMarginOptions({}); this.axis.adjust(); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.createTicks(this.canvas); @@ -4857,7 +4857,7 @@ QUnit.test('Calculate common range from series on adjust when one series is not this.axis.setMarginOptions({}); this.axis.adjust(); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.createTicks(this.canvas); @@ -4879,7 +4879,7 @@ QUnit.test('min and are undefined in common range', function(assert) { this.axis.setMarginOptions({}); this.axis.adjust(); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.createTicks(this.canvas); @@ -4909,7 +4909,7 @@ QUnit.test('Do not adjust axis if it has min/max', function(assert) { this.axis.setMarginOptions({}); this.axis.adjust(); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.createTicks(this.canvas); @@ -4940,7 +4940,7 @@ QUnit.test('Do not adjust axis if it was zoomed', function(assert) { this.axis.visualRange(-20, 60); this.axis.adjust(); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.createTicks(this.canvas); @@ -4972,7 +4972,7 @@ QUnit.test('Adjust axis after reset zoom', function(assert) { this.axis.resetVisualRange(); this.axis.adjust(); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.createTicks(this.canvas); @@ -4999,7 +4999,7 @@ QUnit.test('Adjusting with constant lines', function(assert) { this.axis.setMarginOptions({}); this.axis.adjust(); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.createTicks(this.canvas); @@ -5017,7 +5017,7 @@ QUnit.test('Update translator business range after adjust axis', function(assert this.axis.setBusinessRange({ min: 100, max: 200 }); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.adjust(); const { min, max, minVisible, maxVisible } = this.translator.updateBusinessRange.lastCall.args[0]; @@ -5040,7 +5040,7 @@ QUnit.test('Update discrete translator business range after adjust axis', functi this.axis.setBusinessRange({ min: '100', max: '200' }); - this.translator.updateBusinessRange.reset(); + this.translator.updateBusinessRange.resetHistory(); this.axis.adjust(); const { min, max, minVisible, maxVisible } = this.translator.updateBusinessRange.lastCall.args[0]; From b21e15913c7249fa83bb6e3e777037503781b381 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:06:40 +0300 Subject: [PATCH 19/38] fix viz.core.series tests --- .../aggregation.tests.js | 4 +- .../areaSeries.tests.js | 10 +- .../barPoint.tests.js | 2 +- .../barSeries.tests.js | 6 +- .../basePoint.tests.js | 2 +- .../baseSeries.tests.js | 128 +++++++++--------- .../bubbleSeries.tests.js | 6 +- .../financialPoint.tests.js | 6 +- .../financialSeries.tests.js | 6 +- .../DevExpress.viz.core.series/label.tests.js | 10 +- .../lineSeries.tests.js | 14 +- .../piePoint.tests.js | 2 +- .../pieSeries.tests.js | 10 +- .../polarPoint.tests.js | 2 +- .../rangePoint.tests.js | 12 +- .../rangeSeries.tests.js | 6 +- .../scatterSeries.tests.js | 4 +- .../symbolPoint.tests.js | 18 +-- 18 files changed, 124 insertions(+), 124 deletions(-) diff --git a/testing/tests/DevExpress.viz.core.series/aggregation.tests.js b/testing/tests/DevExpress.viz.core.series/aggregation.tests.js index 5d39b6740240..7c8c4690c519 100644 --- a/testing/tests/DevExpress.viz.core.series/aggregation.tests.js +++ b/testing/tests/DevExpress.viz.core.series/aggregation.tests.js @@ -530,7 +530,7 @@ QUnit.test('getPointsByArg should create all points if there are not point on ar series.updateData(this.data); series.createPoints(); - customMethod.reset(); + customMethod.resetHistory(); series.getPointsByArg(100); @@ -548,7 +548,7 @@ QUnit.test('getPointsByArg should not create all points if there are not point o series.updateData(this.data); series.createPoints(); - customMethod.reset(); + customMethod.resetHistory(); series.getPointsByArg(100, true); diff --git a/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js b/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js index e5cee96b8494..f3a24937a860 100644 --- a/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js @@ -49,7 +49,7 @@ const createSeries = function(options, renderSettings) { incidentOccurred: noop }, renderSettings); - renderer.stub('g').reset(); + renderer.stub('g').resetHistory(); return new Series(renderSettings, options); }; @@ -102,8 +102,8 @@ const environmentWithSinonStubPoint = { stub.hasValue.returns(true); stub.hasCoords.returns(true); stub.isInVisibleArea.returns(true); - stub.draw.reset(); - stub.animate.reset(); + stub.draw.resetHistory(); + stub.animate.resetHistory(); stub.getCoords.returns({ x: data.argument, y: data.value }); stub.x = data.argument; stub.y = data.value; @@ -1766,7 +1766,7 @@ function setDiscreteType(series) { // act series.draw(true); - this.renderer.stub('path').lastCall.returnValue.attr.reset(); + this.renderer.stub('path').lastCall.returnValue.attr.resetHistory(); series.resetApplyingAnimation(true); @@ -1797,7 +1797,7 @@ function setDiscreteType(series) { series.resetApplyingAnimation(true); series.draw(true); - this.renderer.stub('path').lastCall.returnValue.attr.reset(); + this.renderer.stub('path').lastCall.returnValue.attr.resetHistory(); // second drawing series.draw(true); diff --git a/testing/tests/DevExpress.viz.core.series/barPoint.tests.js b/testing/tests/DevExpress.viz.core.series/barPoint.tests.js index a727dd627ee2..6c56821b4d96 100644 --- a/testing/tests/DevExpress.viz.core.series/barPoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/barPoint.tests.js @@ -1493,7 +1493,7 @@ QUnit.module('Draw label', $.extend({}, environment, { createPoint: function() { const p = createPoint(this.series, this.data, this.options); p._drawLabel(this.renderer, this.group); - p._label.draw.reset(); + p._label.draw.resetHistory(); return p; } })); diff --git a/testing/tests/DevExpress.viz.core.series/barSeries.tests.js b/testing/tests/DevExpress.viz.core.series/barSeries.tests.js index 01f4c73d10e6..f9afb8ec3527 100644 --- a/testing/tests/DevExpress.viz.core.series/barSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/barSeries.tests.js @@ -41,7 +41,7 @@ const createSeries = function(options, renderSettings) { seriesGroup: renderer.g(), }, renderSettings); - renderer.stub('g').reset(); + renderer.stub('g').resetHistory(); return new Series(renderSettings, options); }; @@ -71,8 +71,8 @@ const environment = { stub.hasValue.returns(true); stub.hasCoords.returns(true); stub.isInVisibleArea.returns(true); - stub.draw.reset(); - stub.animate.reset(); + stub.draw.resetHistory(); + stub.animate.resetHistory(); return stub; }); }, diff --git a/testing/tests/DevExpress.viz.core.series/basePoint.tests.js b/testing/tests/DevExpress.viz.core.series/basePoint.tests.js index b36e01f16645..cf8110ed4bcc 100644 --- a/testing/tests/DevExpress.viz.core.series/basePoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/basePoint.tests.js @@ -829,7 +829,7 @@ QUnit.module('Point views', { const point = createPoint(this.series, this.data, this.options); point.translate(); point.draw(this.renderer, this.groups); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); this.point = point; diff --git a/testing/tests/DevExpress.viz.core.series/baseSeries.tests.js b/testing/tests/DevExpress.viz.core.series/baseSeries.tests.js index 68ecf2b66466..18700ce4f083 100644 --- a/testing/tests/DevExpress.viz.core.series/baseSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/baseSeries.tests.js @@ -186,19 +186,19 @@ const environmentWithSinonStubPoint = { stub.hasValue.returns(true); stub.hasCoords.returns(true); stub.isInVisibleArea.returns(true); - stub.draw.reset(); - stub.update.reset(); - stub.coordsIn.reset(); - stub.applyView.reset(); - stub.setView.reset(); - stub.resetView.reset(); - stub.animate.reset(); - stub.clearVisibility.reset(); - stub.setInvisibility.reset(); - stub.hideMarker.reset(); + stub.draw.resetHistory(); + stub.update.resetHistory(); + stub.coordsIn.resetHistory(); + stub.applyView.resetHistory(); + stub.setView.resetHistory(); + stub.resetView.resetHistory(); + stub.animate.resetHistory(); + stub.clearVisibility.resetHistory(); + stub.setInvisibility.resetHistory(); + stub.hideMarker.resetHistory(); stub.visibleTopMarker = true; stub.visibleBottomMarker = true; - stub.hide.reset(); + stub.hide.resetHistory(); stub.isHovered.returns(false); stub.isSelected.returns(false); stub.coordsIn.returns(false); @@ -1264,8 +1264,8 @@ QUnit.test('Update marker group', function(assert) { series.updateData([{ arg: 1, val: 22 }, { arg: 2, val: 33 }, { arg: 3, val: 11 }, { arg: 4, val: 44 }, { arg: 5, val: 55 }, { arg: 6, val: 66 }]); series.draw(true); - series._markersGroup.stub('attr').reset(); - this.renderer.stub('g').reset(); + series._markersGroup.stub('attr').resetHistory(); + this.renderer.stub('g').resetHistory(); series.draw(true); @@ -1295,8 +1295,8 @@ QUnit.test('marker group style after updating', function(assert) { series.draw(true); - series._markersGroup.stub('attr').reset(); - this.renderer.stub('g').reset(); + series._markersGroup.stub('attr').resetHistory(); + this.renderer.stub('g').resetHistory(); const newOptions = $.extend(true, {}, appliedOptions); newOptions.point.color = 'green'; @@ -1365,11 +1365,11 @@ QUnit.test('Update marker group. Financial', function(assert) { series.draw(true); - series._markersGroup.defaultMarkersGroup.stub('attr').reset(); - series._markersGroup.reductionMarkersGroup.stub('attr').reset(); - series._markersGroup.defaultPositiveMarkersGroup.stub('attr').reset(); - series._markersGroup.reductionPositiveMarkersGroup.stub('attr').reset(); - this.renderer.stub('g').reset(); + series._markersGroup.defaultMarkersGroup.stub('attr').resetHistory(); + series._markersGroup.reductionMarkersGroup.stub('attr').resetHistory(); + series._markersGroup.defaultPositiveMarkersGroup.stub('attr').resetHistory(); + series._markersGroup.reductionPositiveMarkersGroup.stub('attr').resetHistory(); + this.renderer.stub('g').resetHistory(); series.draw(true); @@ -1398,11 +1398,11 @@ QUnit.test('marker group style after updating. Financial', function(assert) { series.draw(true); - series._markersGroup.defaultMarkersGroup.stub('attr').reset(); - series._markersGroup.reductionMarkersGroup.stub('attr').reset(); - series._markersGroup.defaultPositiveMarkersGroup.stub('attr').reset(); - series._markersGroup.reductionPositiveMarkersGroup.stub('attr').reset(); - this.renderer.stub('g').reset(); + series._markersGroup.defaultMarkersGroup.stub('attr').resetHistory(); + series._markersGroup.reductionMarkersGroup.stub('attr').resetHistory(); + series._markersGroup.defaultPositiveMarkersGroup.stub('attr').resetHistory(); + series._markersGroup.reductionPositiveMarkersGroup.stub('attr').resetHistory(); + this.renderer.stub('g').resetHistory(); const newOptions = $.extend(true, {}, appliedOptions); newOptions.color = 'green'; @@ -1454,8 +1454,8 @@ QUnit.test('Update label group', function(assert) { series.draw(false); - series._labelsGroup.stub('attr').reset(); - this.renderer.stub('g').reset(); + series._labelsGroup.stub('attr').resetHistory(); + this.renderer.stub('g').resetHistory(); series.draw(false); @@ -2282,8 +2282,8 @@ QUnit.test('setSelectionState when hover with includePointState', function(asser series.createPoints(); series.hover('includePoints'); - series.getAllPoints()[0].setView.reset(); - series.getAllPoints()[0].resetView.reset(); + series.getAllPoints()[0].setView.resetHistory(); + series.getAllPoints()[0].resetView.resetHistory(); // act series.select(); @@ -2307,8 +2307,8 @@ QUnit.test('clean hover with \'includePoints mode\' after select series', functi series.hover('includePoints'); series.select(); - series.getAllPoints()[0].setView.reset(); - series.getAllPoints()[0].resetView.reset(); + series.getAllPoints()[0].setView.resetHistory(); + series.getAllPoints()[0].resetView.resetHistory(); // act series.clearHover(); @@ -2329,8 +2329,8 @@ QUnit.test('clean selection with \'excludePoints mode\' if series is hovered', f series.hover('includePoints'); series.select(); - series.getAllPoints()[0].setView.reset(); - series.getAllPoints()[0].resetView.reset(); + series.getAllPoints()[0].setView.resetHistory(); + series.getAllPoints()[0].resetView.resetHistory(); // act series.clearSelection(); @@ -2350,8 +2350,8 @@ QUnit.test('select series when hover with allSeriesPoints', function(assert) { series.createPoints(); series.hover('allSeriesPoints'); - series.getAllPoints()[0].setView.reset(); - series.getAllPoints()[0].resetView.reset(); + series.getAllPoints()[0].setView.resetHistory(); + series.getAllPoints()[0].resetView.resetHistory(); // act series.select(); @@ -2865,8 +2865,8 @@ QUnit.test('updateHover after release series hover', function(assert) { series.updateHover(10, 20); series.clearHover(); $.each(series.getPoints(), function(i, p) { - p.setView.reset(); - p.resetView.reset(); + p.setView.resetHistory(); + p.resetView.resetHistory(); }); // act @@ -2897,7 +2897,7 @@ QUnit.test('Set hover state - update - release hover - set hover update', functi series.updateHover(10, 20); series.clearHover(); - series.getPoints()[1].setView.reset(); + series.getPoints()[1].setView.resetHistory(); series.hover(); // act @@ -2924,8 +2924,8 @@ QUnit.test('reset nearest point on select', function(assert) { series.hover(); series.updateHover(10, 20); - series.getPoints()[1].setView.reset(); - series.getPoints()[1].resetView.reset(); + series.getPoints()[1].setView.resetHistory(); + series.getPoints()[1].resetView.resetHistory(); // act series.select(); @@ -3205,8 +3205,8 @@ QUnit.test('hover selected series with excludePoints mode', function(assert) { series.createPoints(); series.select(); - series.getAllPoints()[0].setView.reset(); - series.getAllPoints()[0].resetView.reset(); + series.getAllPoints()[0].setView.resetHistory(); + series.getAllPoints()[0].resetView.resetHistory(); // act series.hover(); @@ -3261,8 +3261,8 @@ QUnit.test('hover selected series', function(assert) { const point = series.getAllPoints()[0]; series.select(); - point.setView.reset(); - point.resetView.reset(); + point.setView.resetHistory(); + point.resetView.resetHistory(); // act series.hover(); @@ -3283,8 +3283,8 @@ QUnit.test('clear selection hovered', function(assert) { series.select(); series.hover(); - point.setView.reset(); - point.resetView.reset(); + point.setView.resetHistory(); + point.resetView.resetHistory(); // act series.clearSelection(); @@ -3397,8 +3397,8 @@ QUnit.test('hover with includePoints mode selected series', function(assert) { series.select(); const point = series.getAllPoints()[0]; - point.setView.reset(); - point.resetView.reset(); + point.setView.resetHistory(); + point.resetView.resetHistory(); // act series.hover(); @@ -3420,8 +3420,8 @@ QUnit.test('Select hovered with include series mode', function(assert) { series.hover(); - point.setView.reset(); - point.resetView.reset(); + point.setView.resetHistory(); + point.resetView.resetHistory(); // act series.select(); @@ -3443,8 +3443,8 @@ QUnit.test('Clear selection when series is hovered with \'includePoints\' mode', series.hover(); series.select(); - point.setView.reset(); - point.resetView.reset(); + point.setView.resetHistory(); + point.resetView.resetHistory(); // act series.clearSelection(); @@ -3472,8 +3472,8 @@ QUnit.test('Clear hover selected series', function(assert) { series.select(); series.hover(); - point.setView.reset(); - point.resetView.reset(); + point.setView.resetHistory(); + point.resetView.resetHistory(); // act series.clearHover(); @@ -3499,8 +3499,8 @@ QUnit.test('Update hover selected series', function(assert) { series.select(); series.hover(); - point.setView.reset(); - point.resetView.reset(); + point.setView.resetHistory(); + point.resetView.resetHistory(); // act series.updateHover(5, 20); @@ -3536,7 +3536,7 @@ QUnit.test('Select point', function(assert) { QUnit.test('Select point - hovered point', function(assert) { this.series.hoverPoint(this.point); - this.point.applyView.reset(); + this.point.applyView.resetHistory(); // act this.series.selectPoint(this.point); @@ -3546,7 +3546,7 @@ QUnit.test('Select point - hovered point', function(assert) { QUnit.test('Select point - not hovered point - hovered series - not selected series', function(assert) { this.series.hover('includePoints'); - this.point.applyView.reset(); + this.point.applyView.resetHistory(); // act this.series.selectPoint(this.point); @@ -3603,7 +3603,7 @@ QUnit.test('setHoverState with selected view', function(assert) { QUnit.test('Release selected point - not hovered point - not hovered series - not selected series', function(assert) { this.series.selectPoint(this.point); this.point.isSelected.returns(true); - this.point.applyView.reset(); + this.point.applyView.resetHistory(); // act this.series.deselectPoint(this.point); @@ -3616,7 +3616,7 @@ QUnit.test('Release selected point - hovered point - not hovered series - not se this.point.isSelected.returns(true); this.series.hoverPoint(this.point); this.point.isHovered.returns(true); - this.point.applyView.reset(); + this.point.applyView.resetHistory(); // act this.series.deselectPoint(this.point); @@ -4789,7 +4789,7 @@ QUnit.test('call event pipe on clearHover', function(assert) { series.updateData([{ arg: 1, val: 1 }]); series.createPoints(); series.getAllPoints()[0].isHovered.returns(true); - eventPipe.reset(); + eventPipe.resetHistory(); // act series.clearPointHover(); // assert @@ -4938,7 +4938,7 @@ QUnit.test('Hover series in hovered state', function(assert) { const eventTrigger = sinon.spy(); const series = createSeries({}, { eventTrigger: eventTrigger }); series.hover(); - eventTrigger.reset(); + eventTrigger.resetHistory(); // act series.hover(); // assert @@ -4963,7 +4963,7 @@ QUnit.test('Call pointHover twice', function(assert) { series.createPoints(); series.getAllPoints()[0].isHovered.returns(true); - eventTrigger.reset(); + eventTrigger.resetHistory(); // act series.hoverPoint(series.getAllPoints()[0]); // assert @@ -5192,7 +5192,7 @@ QUnit.test('reset hovered series with aggregation', function(assert) { series.createPoints(); series.getPointByPos(0).isHovered.returns(true); series.hover(); - series.getPointByPos(0).resetView.reset(); + series.getPointByPos(0).resetView.resetHistory(); series.clearHover(); assert.equal(series.getPointByPos(0).resetView.callCount, 1); }); diff --git a/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js b/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js index 18653c0c81ea..2357faad61b6 100644 --- a/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js @@ -39,7 +39,7 @@ const createSeries = function(options, renderSettings) { incidentOccurred: $.noop }, renderSettings); - renderer.stub('g').reset(); + renderer.stub('g').resetHistory(); return new Series(renderSettings, options); }; @@ -69,8 +69,8 @@ const environment = { stub.argument = 1; stub.hasValue.returns(true); stub.isInVisibleArea.returns(true); - stub.draw.reset(); - stub.animate.reset(); + stub.draw.resetHistory(); + stub.animate.resetHistory(); return stub; }); }, diff --git a/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js b/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js index d2aa0f4a2cd3..b15b48de7da5 100644 --- a/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js @@ -1155,7 +1155,7 @@ QUnit.test('Update marker location', function(assert) { point.openY = 20; point.closeY = 30; point.highY = 40; - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.draw(this.renderer, this.groups); @@ -1418,7 +1418,7 @@ QUnit.test('Update marker location', function(assert) { point.openY = 30; point.closeY = 40; point.highY = 50; - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.draw(this.renderer, this.groups); @@ -1824,7 +1824,7 @@ QUnit.test('Update marker group', function(assert) { point.translate(); point.width = 10; point.draw(this.renderer, this.groups); - point.graphic.stub('append').reset(); + point.graphic.stub('append').resetHistory(); point.fullState = 1; point.applyView(); diff --git a/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js b/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js index 84fdf16dbb9f..7aa14030d9f5 100644 --- a/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js @@ -31,8 +31,8 @@ const environment = { stub.argument = 1; stub.hasValue.returns(true); stub.isInVisibleArea.returns(true); - stub.draw.reset(); - stub.animate.reset(); + stub.draw.resetHistory(); + stub.animate.resetHistory(); return stub; }); }, @@ -77,7 +77,7 @@ const createSeries = function(options, renderSettings) { incidentOccurred: $.noop }, renderSettings); - renderer.stub('g').reset(); + renderer.stub('g').resetHistory(); return new Series(renderSettings, options); }; diff --git a/testing/tests/DevExpress.viz.core.series/label.tests.js b/testing/tests/DevExpress.viz.core.series/label.tests.js index 98d0a0606cae..a0cb112eb758 100644 --- a/testing/tests/DevExpress.viz.core.series/label.tests.js +++ b/testing/tests/DevExpress.viz.core.series/label.tests.js @@ -165,7 +165,7 @@ QUnit.test('Hide', function(assert) { const label = this.createLabel(); label.show(); - label._group.stub('attr').reset(); + label._group.stub('attr').resetHistory(); // act label.hide(); @@ -178,7 +178,7 @@ QUnit.test('T561563. Show already shown label - do not correct label position', const label = this.createLabel(); label.show(); label.hide(); - label._point.correctLabelPosition.reset(); + label._point.correctLabelPosition.resetHistory(); label.show(); assert.equal(label._group.stub('attr').callCount, 3); @@ -190,7 +190,7 @@ QUnit.test('Draw(true) -> draw(false) -> show - correct label position (containe const label = this.createLabel(); label.draw(true); label.draw(false); - label._point.correctLabelPosition.reset(); + label._point.correctLabelPosition.resetHistory(); label.show(); assert.equal(label._group.stub('attr').callCount, 3); @@ -234,7 +234,7 @@ QUnit.test('Rotation angle can be reseted', function(assert) { QUnit.test('Draw() - hide label', function(assert) { const label = this.createLabel().draw(true); - label._point.correctLabelPosition.reset(); + label._point.correctLabelPosition.resetHistory(); label.draw(); @@ -972,7 +972,7 @@ QUnit.test('Set options on empty text', function(assert) { return ''; }; label.setData({ argument: 10, value: 10 }); - label._group.stub('attr').reset(); + label._group.stub('attr').resetHistory(); label.setOptions(this.options); label.show(); diff --git a/testing/tests/DevExpress.viz.core.series/lineSeries.tests.js b/testing/tests/DevExpress.viz.core.series/lineSeries.tests.js index 02190c340bac..f51824718acb 100644 --- a/testing/tests/DevExpress.viz.core.series/lineSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/lineSeries.tests.js @@ -48,7 +48,7 @@ const createSeries = function(options, renderSettings) { incidentOccurred: noop }, renderSettings); - renderer.stub('g').reset(); + renderer.stub('g').resetHistory(); return new Series(renderSettings, options); }; @@ -60,8 +60,8 @@ const environment = { this.data = [{ arg: 1, val: 10 }, { arg: 2, val: 20 }, { arg: 3, val: 30 }, { arg: 4, val: 40 }]; this.points = [[1, 10], [2, 20], [3, 30], [4, 40]]; this.areaPoints = this.points.concat([[4, 0], [3, 0], [2, 0], [1, 0]]); - this.renderer.stub('g').reset(); - this.renderer.stub('path').reset(); + this.renderer.stub('g').resetHistory(); + this.renderer.stub('path').resetHistory(); }, afterEach: restoreMockFactory }; @@ -80,8 +80,8 @@ const environmentWithSinonStubPoint = { stub.hasCoords.returns(true); stub.translated = undefined; stub.isInVisibleArea.returns(true); - stub.draw.reset(); - stub.animate.reset(); + stub.draw.resetHistory(); + stub.animate.resetHistory(); stub.index = data.index; return stub; }); @@ -902,7 +902,7 @@ function setDiscreteType(series) { QUnit.module('LineSeries. Trackers', { beforeEach: function() { environment.beforeEach.call(this); - this.renderer.stub('g').reset(); + this.renderer.stub('g').resetHistory(); }, afterEach: environment.afterEach, createSeries: function(options) { @@ -2106,7 +2106,7 @@ function setDiscreteType(series) { environment.beforeEach.call(this); this.data = [{ arg: 0, val: 10 }, { arg: 3, val: 20 }, { arg: 6, val: 10 }, { arg: 9, val: 20 }, { arg: 12, val: 10 }]; this.points = [[0, 10], [0, 10], [1.5, 20], [3, 20], [4.5, 20], [4.5, 10], [6, 10], [7.5, 10], [7.5, 20], [9, 20], [10.5, 20], [12, 10], [12, 10]]; - this.renderer.stub('g').reset(); + this.renderer.stub('g').resetHistory(); }, afterEach: environment.afterEach, createSeries: function(options) { diff --git a/testing/tests/DevExpress.viz.core.series/piePoint.tests.js b/testing/tests/DevExpress.viz.core.series/piePoint.tests.js index b65413e3640a..04627f85df21 100644 --- a/testing/tests/DevExpress.viz.core.series/piePoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/piePoint.tests.js @@ -1468,7 +1468,7 @@ QUnit.test('show after hide point', function(assert) { const point = createPoint(this.series, { argument: 'cat2', value: 10, minValue: 0 }, this.opt); point.hide(); - this.visibilityChanged.reset(); + this.visibilityChanged.resetHistory(); point.show(); assert.ok(point.isVisible()); diff --git a/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js b/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js index 65c11ef12807..91fff765418b 100644 --- a/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js @@ -43,7 +43,7 @@ const createSeries = function(options, renderSettings) { seriesGroup: renderer.g() }, renderSettings); - renderer.stub('g').reset(); + renderer.stub('g').resetHistory(); return new Series(renderSettings, options); }; @@ -60,7 +60,7 @@ const createPoint = function(series, data) { function resetStub(stub) { $.each(stub, function(_, stubFunc) { - stubFunc && stubFunc.reset && stubFunc.reset(); + stubFunc && stubFunc.reset && stubFunc.resetHistory(); }); } @@ -391,8 +391,8 @@ const checkTwoGroups = function(assert, series) { series.draw(true); $.each(series.getPoints(), function(_, p) { - p.animate.reset(); - p.draw.reset(); + p.animate.resetHistory(); + p.draw.resetHistory(); }); // Act series.draw(true); @@ -713,7 +713,7 @@ const checkTwoGroups = function(assert, series) { series.setMaxPointsCount(data.length); series.updateData(data); series.createPoints(); - series.getOptions().mainSeriesColor.reset(); + series.getOptions().mainSeriesColor.resetHistory(); series.updateData(data); series.createPoints(); diff --git a/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js b/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js index fa174831524b..58f4b742bbf0 100644 --- a/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js @@ -75,7 +75,7 @@ const environment = { function resetStub(stub) { $.each(stub, function(_, stubFunc) { - stubFunc && stubFunc.reset && stubFunc.reset(); + stubFunc && stubFunc.reset && stubFunc.resetHistory(); }); } diff --git a/testing/tests/DevExpress.viz.core.series/rangePoint.tests.js b/testing/tests/DevExpress.viz.core.series/rangePoint.tests.js index 91025bf86e76..805e03958cc0 100644 --- a/testing/tests/DevExpress.viz.core.series/rangePoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/rangePoint.tests.js @@ -1773,8 +1773,8 @@ QUnit.test('Hide marker when marker is visible', function(assert) { point.visibleBottomMarker = true; point.draw(this.renderer, this.groups); - point.graphic.topMarker.stub('attr').reset(); - point.graphic.bottomMarker.stub('attr').reset(); + point.graphic.topMarker.stub('attr').resetHistory(); + point.graphic.bottomMarker.stub('attr').resetHistory(); point.setInvisibility(); @@ -1797,8 +1797,8 @@ QUnit.test('Hide marker when marker has no visibility setting', function(assert) point.visibleBottomMarker = true; point.draw(this.renderer, this.groups); - point.graphic.topMarker.stub('attr').reset(); - point.graphic.bottomMarker.stub('attr').reset(); + point.graphic.topMarker.stub('attr').resetHistory(); + point.graphic.bottomMarker.stub('attr').resetHistory(); point.setInvisibility(); @@ -1824,8 +1824,8 @@ QUnit.test('Hide marker when marker is hidden', function(assert) { point.visibleBottomMarker = true; point.draw(this.renderer, this.groups); - point.graphic.topMarker.stub('attr').reset(); - point.graphic.bottomMarker.stub('attr').reset(); + point.graphic.topMarker.stub('attr').resetHistory(); + point.graphic.bottomMarker.stub('attr').resetHistory(); point.setInvisibility(); diff --git a/testing/tests/DevExpress.viz.core.series/rangeSeries.tests.js b/testing/tests/DevExpress.viz.core.series/rangeSeries.tests.js index 778b11764d4d..9312f03ff2a4 100644 --- a/testing/tests/DevExpress.viz.core.series/rangeSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/rangeSeries.tests.js @@ -45,7 +45,7 @@ const createSeries = function(options, renderSettings) { incidentOccurred: noop }, renderSettings); - renderer.stub('g').reset(); + renderer.stub('g').resetHistory(); return new Series(renderSettings, options); }; @@ -82,8 +82,8 @@ const environmentWithSinonStubPoint = { stub.hasValue.returns(true); stub.isInVisibleArea.returns(true); stub.hasCoords.returns(true); - stub.draw.reset(); - stub.animate.reset(); + stub.draw.resetHistory(); + stub.animate.resetHistory(); stub.getCoords .returns({ x: data.argument, y: data.value }) .withArgs(true).returns({ x: data.argument, y: data.minValue }); diff --git a/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js b/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js index 17cc067812cb..c24cdffaa5fc 100644 --- a/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js +++ b/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js @@ -46,7 +46,7 @@ const createSeries = function(options, renderSettings) { argumentAxis: new MockAxis({ renderer: renderer }) }, renderSettings); - renderer.stub('g').reset(); + renderer.stub('g').resetHistory(); return new Series(renderSettings, options); }; @@ -65,7 +65,7 @@ const mockPoints = [createPoint(), createPoint(), createPoint(), createPoint(), function resetStub(stub) { $.each(stub, function(_, stubFunc) { - stubFunc && stubFunc.reset && stubFunc.reset(); + stubFunc && stubFunc.reset && stubFunc.resetHistory(); }); } diff --git a/testing/tests/DevExpress.viz.core.series/symbolPoint.tests.js b/testing/tests/DevExpress.viz.core.series/symbolPoint.tests.js index 06d15f17e470..41f25f579c36 100644 --- a/testing/tests/DevExpress.viz.core.series/symbolPoint.tests.js +++ b/testing/tests/DevExpress.viz.core.series/symbolPoint.tests.js @@ -1966,7 +1966,7 @@ QUnit.test('Update markers style when top marker is image', function(assert) { point.translate(); point.draw(this.renderer, this.groups); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point._updateMarker(undefined, style); assert.deepEqual(point.graphic.stub('attr').lastCall.args[0], { @@ -2125,7 +2125,7 @@ QUnit.test('Clear visibility', function(assert) { point.translate(); point.draw(this.renderer, this.groups); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.clearVisibility(); @@ -2158,7 +2158,7 @@ QUnit.test('Hide marker when marker is visible', function(assert) { point.draw(this.renderer, this.groups); const labelSpy = sinon.spy(point._label, 'draw'); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.setInvisibility(); @@ -2175,7 +2175,7 @@ QUnit.test('Hide marker when marker has no visibility setting', function(assert) point.draw(this.renderer, this.groups); const labelSpy = sinon.spy(point._label, 'draw'); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.setInvisibility(); @@ -2193,7 +2193,7 @@ QUnit.test('Hide marker when marker is hidden', function(assert) { point.draw(this.renderer, this.groups); const labelSpy = sinon.spy(point._label, 'draw'); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.setInvisibility(); @@ -2209,7 +2209,7 @@ QUnit.test('Apply style for visible point (in visible area)', function(assert) { point.translate(); point.draw(this.renderer, this.groups); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.fullState = 0; point.applyView(); @@ -2226,7 +2226,7 @@ QUnit.test('Apply style for invisible point (out of visible area)', function(ass point.inVisibleArea = false; point.draw(this.renderer, this.groups); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.fullState = 0; point.applyView(); @@ -2243,7 +2243,7 @@ QUnit.test('Apply style for visible image point (in visible area)', function(ass point.translate(); point.draw(this.renderer, this.groups); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.fullState = 0; point.applyView(); @@ -2261,7 +2261,7 @@ QUnit.test('Apply style for invisible image point (out of visible area)', functi point.inVisibleArea = false; point.draw(this.renderer, this.groups); - point.graphic.stub('attr').reset(); + point.graphic.stub('attr').resetHistory(); point.fullState = 0; point.applyView(); From c65a696308f05263abc77959bfb02108501bf29c Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:07:24 +0300 Subject: [PATCH 20/38] fix viz.funnel tests --- .../DevExpress.viz.funnel/commonParts/common.js | 4 ++-- .../tests/DevExpress.viz.funnel/funnel.base.tests.js | 6 +++--- .../DevExpress.viz.funnel/funnel.label.tests.js | 12 ++++++------ .../DevExpress.viz.funnel/funnel.tooltip.tests.js | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/testing/tests/DevExpress.viz.funnel/commonParts/common.js b/testing/tests/DevExpress.viz.funnel/commonParts/common.js index 3d5729e9ffa7..5a14c02d2966 100644 --- a/testing/tests/DevExpress.viz.funnel/commonParts/common.js +++ b/testing/tests/DevExpress.viz.funnel/commonParts/common.js @@ -27,8 +27,8 @@ export const environment = { const that = this; this.renderer = new vizMocks.Renderer(); - stubAlgorithm.normalizeValues.reset(); - stubAlgorithm.getFigures.reset(); + stubAlgorithm.normalizeValues.resetHistory(); + stubAlgorithm.getFigures.resetHistory(); stubAlgorithm.normalizeValues.returns([]); stubAlgorithm.getFigures.returns([]); diff --git a/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js b/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js index 75f7bd07d8ed..5f5447b344c4 100644 --- a/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js +++ b/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js @@ -262,7 +262,7 @@ QUnit.test('Resize', function(assert) { algorithm: 'stub', dataSource: [{ value: 1 }], }); - this.itemsGroup().clear.reset(); + this.itemsGroup().clear.resetHistory(); funnel.option('size', { width: 900, height: 600 }); @@ -635,7 +635,7 @@ QUnit.test('Funnel does not fire drawn event on hover', function(assert) { onDrawn: drawn }); - drawn.reset(); + drawn.resetHistory(); funnel.getAllItems()[0].hover(true); @@ -745,7 +745,7 @@ QUnit.test('hover changed event after hover second item', function(assert) { const item = funnel.getAllItems()[0]; item.hover(true); - hoverChanged.reset(); + hoverChanged.resetHistory(); funnel.getAllItems()[1].hover(true); diff --git a/testing/tests/DevExpress.viz.funnel/funnel.label.tests.js b/testing/tests/DevExpress.viz.funnel/funnel.label.tests.js index fe3f526a1e26..0fee0362c616 100644 --- a/testing/tests/DevExpress.viz.funnel/funnel.label.tests.js +++ b/testing/tests/DevExpress.viz.funnel/funnel.label.tests.js @@ -813,7 +813,7 @@ QUnit.test('change label option', function(assert) { } }); - this.labelGroup().clear.reset(); + this.labelGroup().clear.resetHistory(); funnel.option({ label: { @@ -877,8 +877,8 @@ QUnit.test('Show hidden labels', function(assert) { }); const label = labelModule.Label.getCall(0).returnValue; - label.resetEllipsis.reset(); - label.draw.reset(); + label.resetEllipsis.resetHistory(); + label.draw.resetHistory(); funnel.option({ size: { @@ -1254,7 +1254,7 @@ QUnit.test('Redraw hidden labels on resize', function(assert) { labels.forEach((l, i) => { l.stub('isVisible').returns(i !== 1); - l.draw.reset(); + l.draw.resetHistory(); }); this.funnel.option({ @@ -1287,8 +1287,8 @@ QUnit.test('change resolveLabelOverlapping option', function(assert) { } }); - this.labelGroup().clear.reset(); - labelModule.Label.reset(); + this.labelGroup().clear.resetHistory(); + labelModule.Label.resetHistory(); funnel.option({ resolveLabelOverlapping: 'shift', diff --git a/testing/tests/DevExpress.viz.funnel/funnel.tooltip.tests.js b/testing/tests/DevExpress.viz.funnel/funnel.tooltip.tests.js index ab60c02dfbec..474f1983701d 100644 --- a/testing/tests/DevExpress.viz.funnel/funnel.tooltip.tests.js +++ b/testing/tests/DevExpress.viz.funnel/funnel.tooltip.tests.js @@ -102,7 +102,7 @@ QUnit.test('Only move tooltip if it shown on item', function(assert) { widget.getAllItems()[0].showTooltip(); - this.tooltip.show.reset(); + this.tooltip.show.resetHistory(); widget.getAllItems()[0].showTooltip([100, 100]); @@ -122,7 +122,7 @@ QUnit.test('Show tooltip on different items', function(assert) { this.tooltip.stub('formatValue').withArgs(0.5, 'percent').returns('percent-formatted'); - this.tooltip.show.reset(); + this.tooltip.show.resetHistory(); testItem.showTooltip([100, 100]); From 3ea14841e8d2f2d4e5073590d61be5a106086f5e Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:18:16 +0300 Subject: [PATCH 21/38] fix viz.gauges --- .../DevExpress.viz.gauges/barGauge_new.tests.js | 8 ++++---- .../tests/DevExpress.viz.gauges/baseGauge.tests.js | 14 +++++++------- .../DevExpress.viz.gauges/circularGauge.tests.js | 2 +- .../tests/DevExpress.viz.gauges/common.tests.js | 10 +++++----- .../DevExpress.viz.gauges/linearGauge.tests.js | 2 +- .../DevExpress.viz.gauges/rangeContainer.tests.js | 7 ++++--- 6 files changed, 22 insertions(+), 21 deletions(-) diff --git a/testing/tests/DevExpress.viz.gauges/barGauge_new.tests.js b/testing/tests/DevExpress.viz.gauges/barGauge_new.tests.js index aac4c14ed2c4..da1e3d5bf2b6 100644 --- a/testing/tests/DevExpress.viz.gauges/barGauge_new.tests.js +++ b/testing/tests/DevExpress.viz.gauges/barGauge_new.tests.js @@ -39,7 +39,7 @@ QUnit.test('palette in repeat mode', function(assert) { values: [1, 2, 3, 4], paletteExtensionMode: 'alternate' }); - this.renderer.arc.reset(); + this.renderer.arc.resetHistory(); this.widget.option('palette', ['red', 'green', 'yellow']); @@ -54,7 +54,7 @@ QUnit.test('palette in blend mode', function(assert) { values: [1, 2, 3, 4], paletteExtensionMode: 'blend' }); - this.renderer.arc.reset(); + this.renderer.arc.resetHistory(); this.widget.option('palette', ['red', 'green', 'yellow']); @@ -71,7 +71,7 @@ QUnit.test('palette extension mode can be changed', function(assert) { paletteExtensionMode: 'blend', palette: ['red', 'green', 'yellow'] }); - this.renderer.arc.reset(); + this.renderer.arc.resetHistory(); this.widget.option({ paletteExtensionMode: 'alternate' }); @@ -85,7 +85,7 @@ QUnit.test('Animation after false resizing', function(assert) { this.create({ values: [1, 2] }); this.widget.option('size', { width: 400, height: 400 }); - this.renderer.g.returnValues[5].animate.reset(); + this.renderer.g.returnValues[5].animate.resetHistory(); this.widget.values([2, 3]); diff --git a/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js b/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js index f7dd056eb1b0..cc7a4c7e9166 100644 --- a/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js @@ -113,17 +113,17 @@ const environment = { this.title = null; $.each(BASE_METHODS, function(_, name) { - BaseGauge.prototype[name].reset(); + BaseGauge.prototype[name].resetHistory(); }); $.each(ABSTRACT_METHODS, function(_, name) { - BaseGauge.prototype[name].reset(); + BaseGauge.prototype[name].resetHistory(); }); rendererModule.Renderer.resetHistory(); - themeManagerModule.ThemeManager.reset(); - factory.createTranslator.reset(); - factory.createTracker.reset(); + themeManagerModule.ThemeManager.resetHistory(); + factory.createTranslator.resetHistory(); + factory.createTracker.resetHistory(); }, createGauge: function(options) { return new BaseGauge(this.$container, options); @@ -381,8 +381,8 @@ QUnit.test('Hide loadingIndicator after beginValueChanging - endValueChanging', gauge.showLoadingIndicator(); - gauge._loadingIndicator.fulfillHiding.reset(); - gauge._loadingIndicator.scheduleHiding.reset(); + gauge._loadingIndicator.fulfillHiding.resetHistory(); + gauge._loadingIndicator.scheduleHiding.resetHistory(); gauge._beginValueChanging(); gauge._endValueChanging(); assert.equal(gauge._loadingIndicator.scheduleHiding.callCount, 1); diff --git a/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js b/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js index aac0cdcef641..3c86b938469e 100644 --- a/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js @@ -132,7 +132,7 @@ const TestPointerElement = TestElement.inherit({ afterEach: function() { this.container.remove(); this.renderer = null; - axisModule.Axis.reset(); + axisModule.Axis.resetHistory(); rendererModule.Renderer.resetHistory(); } }; diff --git a/testing/tests/DevExpress.viz.gauges/common.tests.js b/testing/tests/DevExpress.viz.gauges/common.tests.js index ca3b1558b4f7..7be0e712033c 100644 --- a/testing/tests/DevExpress.viz.gauges/common.tests.js +++ b/testing/tests/DevExpress.viz.gauges/common.tests.js @@ -20,7 +20,7 @@ const themeManagerModule = require('viz/gauges/theme_manager'); $('
').appendTo('#qunit-fixture'); -sinon.stub(rangeModule, 'Range').callFakes(function(parameters) { +sinon.stub(rangeModule, 'Range').callsFake(function(parameters) { return new stubRange(parameters); }); @@ -75,7 +75,7 @@ tooltipModule.Tooltip = function(parameters) { return new StubTooltip(parameters); }; -sinon.stub(axisModule, 'Axis').callFakes(function(parameters) { +sinon.stub(axisModule, 'Axis').callsFake(function(parameters) { return new vizMocks.Axis(parameters); }); @@ -173,15 +173,15 @@ loadingIndicatorModule.DEBUG_set_LoadingIndicator(function(parameters) { return new vizMocks.LoadingIndicator(parameters); }); -sinon.stub(rendererModule, 'Renderer').callFakes(function() { +sinon.stub(rendererModule, 'Renderer').callsFake(function() { return currentTest().renderer; }); const environment = { beforeEach: function() { vizMocks.stubIncidentOccurredCreation(); - rangeModule.Range.reset(); - axisModule.Axis.reset(); + rangeModule.Range.resetHistory(); + axisModule.Axis.resetHistory(); this.renderer = new vizMocks.Renderer(); this.container = $(createTestContainer('#test-container', { width: '800px', height: '600px' })); }, diff --git a/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js b/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js index 83efe6036c7f..19a63a306ea9 100644 --- a/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js +++ b/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js @@ -128,7 +128,7 @@ const TestPointerElement = TestElement.inherit({ }, afterEach: function() { this.container.remove(); - axisModule.Axis.reset(); + axisModule.Axis.resetHistory(); rendererModule.Renderer.resetHistory(); this.renderer = null; delete this.container; diff --git a/testing/tests/DevExpress.viz.gauges/rangeContainer.tests.js b/testing/tests/DevExpress.viz.gauges/rangeContainer.tests.js index 64747b49d14a..52b6eff7bb69 100644 --- a/testing/tests/DevExpress.viz.gauges/rangeContainer.tests.js +++ b/testing/tests/DevExpress.viz.gauges/rangeContainer.tests.js @@ -29,7 +29,7 @@ const environment = { this.container = new vizMocks.Element(); this.translator = new Translator1D(); this.themeManager = new themeManagerModule.ThemeManager({}); - sinon.stub(this.themeManager, 'createPalette').callsFake(this.themeManager.createPalette); + this.paletteCreatingSpy = sinon.spy(this.themeManager, 'createPalette'); this.rangeContainer = new TestRangeContainer({ renderer: this.renderer, container: this.container, @@ -39,6 +39,7 @@ const environment = { }, afterEach: function() { + this.paletteCreatingSpy.restore(); this.rangeContainer.dispose(); } }; @@ -471,8 +472,8 @@ QUnit.module('BaseRangeContainer - palette', $.extend({}, environment, { }); assert.strictEqual(list[list.length - 1].range.color, 'none', 'background color'); - assert.strictEqual(this.themeManager.createPalette.callCount, 1); - assert.deepEqual(this.themeManager.createPalette.firstCall.args, [palette, { type: 'indicatingSet', keepLastColorInEnd: true, extensionMode: paletteExtensionMode, count: ranges.length }]); + assert.strictEqual(this.paletteCreatingSpy.callCount, 1); + assert.deepEqual(this.paletteCreatingSpy.firstCall.args, [palette, { type: 'indicatingSet', keepLastColorInEnd: true, extensionMode: paletteExtensionMode, count: ranges.length }]); } })); From 0b36cefb2dcf1332b09586950febc9263a9ca8e5 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:19:06 +0300 Subject: [PATCH 22/38] fix viz.rangeSelector --- .../range_selector.integration.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.viz.rangeSelector/range_selector.integration.tests.js b/testing/tests/DevExpress.viz.rangeSelector/range_selector.integration.tests.js index 8c70dd572630..99ecf5452be2 100644 --- a/testing/tests/DevExpress.viz.rangeSelector/range_selector.integration.tests.js +++ b/testing/tests/DevExpress.viz.rangeSelector/range_selector.integration.tests.js @@ -431,7 +431,7 @@ QUnit.module('onValueChanged event', function(assert) { rangeSelector.option('scale.endValue', 25000); - eventHandler.reset(); + eventHandler.resetHistory(); // act rangeSelector.option('scale.endValue', 40000000); From 155eebae9be5251da10ffa2232a9be689469b7b1 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:22:53 +0300 Subject: [PATCH 23/38] fix viz.renderers --- .../Renderer.tests.js | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/testing/tests/DevExpress.viz.renderers/Renderer.tests.js b/testing/tests/DevExpress.viz.renderers/Renderer.tests.js index f3f399067564..a384b894a670 100644 --- a/testing/tests/DevExpress.viz.renderers/Renderer.tests.js +++ b/testing/tests/DevExpress.viz.renderers/Renderer.tests.js @@ -19,7 +19,7 @@ function getMockElement() { renderers.DEBUG_set_getNextDefsSvgId(function() { return 'DevExpressId'; }); QUnit.testDone(function() { - renderers.SvgElement.reset && renderers.SvgElement.reset(); + renderers.SvgElement.resetHistory && renderers.SvgElement.resetHistory(); }); // const elementsName = ['DEBUG_set_SvgElement', 'DEBUG_set_RectSvgElement', 'DEBUG_set_PathSvgElement', 'DEBUG_set_ArcSvgElement', 'DEBUG_set_TextSvgElement']; @@ -120,8 +120,8 @@ QUnit.test('setOptions', function(assert) { cssClass: 'my-super-class', animation: { enabled: false, duration: 2000, easing: 'linear' } }); - renderer.root.stub('attr').reset(); - renderer.root.stub('css').reset(); + renderer.root.stub('attr').resetHistory(); + renderer.root.stub('css').resetHistory(); // act renderer.setOptions({ @@ -208,7 +208,7 @@ QUnit.test('Resize with wrong size', function(assert) { // arrange const renderer = this.createRenderer(); - renderer.root.stub('attr').reset(); + renderer.root.stub('attr').resetHistory(); // act const result = renderer.resize(0, -10); @@ -222,7 +222,7 @@ QUnit.test('Resize with good size', function(assert) { // arrange const renderer = this.createRenderer(); - renderer.root.stub('attr').reset(); + renderer.root.stub('attr').resetHistory(); // act const result = renderer.resize(1000, 100); @@ -302,7 +302,7 @@ QUnit.module('Locking', { beforeEach: function() { this.container = document.createElement('div'); this.renderer = new Renderer({ container: this.container }); - this.renderer.root.append.reset(); + this.renderer.root.append.resetHistory(); }, afterEach: function() { @@ -467,10 +467,10 @@ QUnit.test('Remove compensation before getting markup, compensate again after', container: this.container }); this.boundingRect = { left: 123.34, top: 2.5 }; - renderer.root.stub('attr').reset(); - renderer.root.stub('css').reset(); - renderer.root.stub('markup').reset(); - renderer.root.stub('move').reset(); + renderer.root.stub('attr').resetHistory(); + renderer.root.stub('css').resetHistory(); + renderer.root.stub('markup').resetHistory(); + renderer.root.stub('move').resetHistory(); // act renderer.svg(); @@ -807,9 +807,9 @@ QUnit.test('shadowFilter with params', function(assert) { QUnit.test('shadowFilter change filter attr function (full list of params)', function(assert) { // arrange const shadow = this.renderer.shadowFilter(10, 20, 30, 40, 50, 60, 70, 'red', 0.6); - shadow.gaussianBlur.stub('attr').reset(); - shadow.offset.stub('attr').reset(); - shadow.flood.stub('attr').reset(); + shadow.gaussianBlur.stub('attr').resetHistory(); + shadow.offset.stub('attr').resetHistory(); + shadow.flood.stub('attr').resetHistory(); shadow.element.setAttribute = sinon.spy(); // act @@ -840,9 +840,9 @@ QUnit.test('shadowFilter change filter attr function (full list of params)', fun QUnit.test('shadowFilter change filter attr function (short list of params)', function(assert) { // arrange const shadow = this.renderer.shadowFilter(10, 20, 30, 40, 50, 60, 70, 'red', 0.6); - shadow.gaussianBlur.stub('attr').reset(); - shadow.offset.stub('attr').reset(); - shadow.flood.stub('attr').reset(); + shadow.gaussianBlur.stub('attr').resetHistory(); + shadow.offset.stub('attr').resetHistory(); + shadow.flood.stub('attr').resetHistory(); shadow.element.setAttribute = sinon.spy(); // act From 5147de0f2a2d95613bee2b1913165af4432f2e3a Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:24:09 +0300 Subject: [PATCH 24/38] fix viz.sankey --- testing/tests/DevExpress.viz.sankey/sankey.base.tests.js | 8 ++++---- .../DevExpress.viz.sankey/sankey.items.link.tests.js | 4 ++-- .../DevExpress.viz.sankey/sankey.items.node.tests.js | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js b/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js index 9699ce74c7e2..ee7e34773d17 100644 --- a/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js +++ b/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js @@ -60,7 +60,7 @@ QUnit.module('DataSource processing', $.extend({}, environment, { beforeEach: function() { environment.beforeEach.call(this); Object.keys(spiesLayoutBuilder).forEach(function(spyKey) { - spiesLayoutBuilder[spyKey].reset(); + spiesLayoutBuilder[spyKey].resetHistory(); }); } })); @@ -189,7 +189,7 @@ QUnit.module('Layout building', $.extend({}, environment, { beforeEach: function() { environment.beforeEach.call(this); Object.keys(spiesLayoutBuilder).forEach(function(spyKey) { - spiesLayoutBuilder[spyKey].reset(); + spiesLayoutBuilder[spyKey].resetHistory(); }); } })); @@ -417,7 +417,7 @@ QUnit.module('Returning correct layout data', $.extend({}, environment, { beforeEach: function() { environment.beforeEach.call(this); Object.keys(spiesLayoutBuilder).forEach(function(spyKey) { - spiesLayoutBuilder[spyKey].reset(); + spiesLayoutBuilder[spyKey].resetHistory(); }); } })); @@ -552,7 +552,7 @@ QUnit.test('Resize', function(assert) { const sankey = createSankey({ dataSource: [{ source: 'A', target: 'Z', weight: 1 }], }); - this.nodesGroup().clear.reset(); + this.nodesGroup().clear.resetHistory(); sankey.option('size', { width: 900, height: 600 }); diff --git a/testing/tests/DevExpress.viz.sankey/sankey.items.link.tests.js b/testing/tests/DevExpress.viz.sankey/sankey.items.link.tests.js index 77b493e2f424..8fab8142cde8 100644 --- a/testing/tests/DevExpress.viz.sankey/sankey.items.link.tests.js +++ b/testing/tests/DevExpress.viz.sankey/sankey.items.link.tests.js @@ -123,7 +123,7 @@ QUnit.test('Sankey does not fire drawn event on link hover', function(assert) { onDrawn: drawn }); - drawn.reset(); + drawn.resetHistory(); sankey.getAllLinks()[0].hover(true); @@ -248,7 +248,7 @@ QUnit.test('hover changed event after hover second item', function(assert) { const link = sankey.getAllLinks()[0]; link.hover(true); - hoverChanged.reset(); + hoverChanged.resetHistory(); sankey.getAllLinks()[1].hover(true); diff --git a/testing/tests/DevExpress.viz.sankey/sankey.items.node.tests.js b/testing/tests/DevExpress.viz.sankey/sankey.items.node.tests.js index 6c975eb14650..047454f9eebf 100644 --- a/testing/tests/DevExpress.viz.sankey/sankey.items.node.tests.js +++ b/testing/tests/DevExpress.viz.sankey/sankey.items.node.tests.js @@ -140,7 +140,7 @@ QUnit.test('Sankey does not fire drawn event on hover', function(assert) { onDrawn: drawn }); - drawn.reset(); + drawn.resetHistory(); sankey.getAllNodes()[0].hover(true); @@ -255,7 +255,7 @@ QUnit.test('hover changed event after hover second item', function(assert) { const node = sankey.getAllNodes()[0]; node.hover(true); - hoverChanged.reset(); + hoverChanged.resetHistory(); sankey.getAllNodes()[1].hover(true); From d8bac1112809d6d806b411555cbafe3b187214b0 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:24:43 +0300 Subject: [PATCH 25/38] fix viz.sparklines --- .../baseSparklineTooltipEvents.tests.js | 2 +- testing/tests/DevExpress.viz.sparklines/bullet.tests.js | 2 +- .../tests/DevExpress.viz.sparklines/sparkline.tests.js | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/testing/tests/DevExpress.viz.sparklines/baseSparklineTooltipEvents.tests.js b/testing/tests/DevExpress.viz.sparklines/baseSparklineTooltipEvents.tests.js index f86fd03ee53a..9c6c48ed38ab 100644 --- a/testing/tests/DevExpress.viz.sparklines/baseSparklineTooltipEvents.tests.js +++ b/testing/tests/DevExpress.viz.sparklines/baseSparklineTooltipEvents.tests.js @@ -118,7 +118,7 @@ QUnit.test('No events hendling after dispose', function(assert) { const tracker = sparkline._tooltipTracker; this.trigger(pointerEvents.move, tracker, 10, 15); - tooltipShown.reset(); + tooltipShown.resetHistory(); // act this.$container.remove(); diff --git a/testing/tests/DevExpress.viz.sparklines/bullet.tests.js b/testing/tests/DevExpress.viz.sparklines/bullet.tests.js index 46464135a1f9..7ce5fde8566a 100644 --- a/testing/tests/DevExpress.viz.sparklines/bullet.tests.js +++ b/testing/tests/DevExpress.viz.sparklines/bullet.tests.js @@ -28,7 +28,7 @@ QUnit.begin(function() { }); QUnit.testStart(function() { - translator2DModule.Translator2D.reset(); + translator2DModule.Translator2D.resetHistory(); }); rendererModule.Renderer = sinon.spy(function(parameters) { diff --git a/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js b/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js index 67ebdcaa411f..54659a3f7f53 100644 --- a/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js +++ b/testing/tests/DevExpress.viz.sparklines/sparkline.tests.js @@ -42,9 +42,9 @@ QUnit.begin(function() { })); QUnit.testStart(function() { - translator2DModule.Translator2D.reset(); + translator2DModule.Translator2D.resetHistory(); rendererModule.Renderer.resetHistory(); - seriesModule.Series.reset(); + seriesModule.Series.resetHistory(); }); const environment = { @@ -1886,7 +1886,7 @@ QUnit.begin(function() { }; const sparkline = this.createSparkline(options); - this.renderer.resize.reset(); + this.renderer.resize.resetHistory(); this.$container.width(300); this.$container.height(40); @@ -1909,7 +1909,7 @@ QUnit.begin(function() { dataSource: [4, 8, 6, 9, 1, 3, 5, 6, 1, 2, 5, 4] }); - this.renderer.resize.reset(); + this.renderer.resize.resetHistory(); sparkline.option('size', { width: 300, height: 100 }); From a88c5a97ecdc6f9b0af3e9161d1de3d8384b0e14 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:25:39 +0300 Subject: [PATCH 26/38] fix viz.treeMap --- .../tests/DevExpress.viz.treeMap/api.tests.js | 24 ++++----- .../commonParts/common.js | 2 +- .../DevExpress.viz.treeMap/drilldown.tests.js | 10 ++-- .../DevExpress.viz.treeMap/extra.tests.js | 2 +- .../DevExpress.viz.treeMap/hover.tests.js | 46 ++++++++--------- .../plainDataSource.tests.js | 2 +- .../DevExpress.viz.treeMap/selection.tests.js | 14 +++--- .../DevExpress.viz.treeMap/states.tests.js | 8 +-- .../DevExpress.viz.treeMap/tracker.tests.js | 2 +- .../treeMap.base.tests.js | 50 +++++++++---------- 10 files changed, 80 insertions(+), 80 deletions(-) diff --git a/testing/tests/DevExpress.viz.treeMap/api.tests.js b/testing/tests/DevExpress.viz.treeMap/api.tests.js index ada12b432609..d3b04c04e6ec 100644 --- a/testing/tests/DevExpress.viz.treeMap/api.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/api.tests.js @@ -211,7 +211,7 @@ QUnit.test('Update labels', function(assert) { value: 2, name: 'old 2' }] }); - this.renderer.text.reset(); + this.renderer.text.resetHistory(); widget.beginUpdate(); widget.getRootNode().getChild(0).label('new 1'); @@ -252,8 +252,8 @@ QUnit.test('Customize node / tile', function(assert) { value: 2 }] }); - this.tile(1).attr.reset(); - this.renderer.text.reset(); + this.tile(1).attr.resetHistory(); + this.renderer.text.resetHistory(); widget.getRootNode().getChild(1).data.name = 'Hello'; widget.getRootNode().getChild(1).customize({ @@ -282,9 +282,9 @@ QUnit.test('Customize node / group', function(assert) { }] }] }); - this.tile(3).attr.reset(); - this.tile(4).attr.reset(); - this.renderer.text.reset(); + this.tile(3).attr.resetHistory(); + this.tile(4).attr.resetHistory(); + this.renderer.text.resetHistory(); widget.getRootNode().getChild(1).data.name = 'Hello'; widget.getRootNode().getChild(1).customize({ @@ -321,8 +321,8 @@ QUnit.test('Customize / changes are accumulated', function(assert) { } } }); - this.tile(1).attr.reset(); - this.renderer.text.reset(); + this.tile(1).attr.resetHistory(); + this.renderer.text.resetHistory(); node.customize({ border: { color: 'black' }, @@ -366,7 +366,7 @@ QUnit.test('Reset customization', function(assert) { e.root.getChild(0).customize({ color: 'red' }); } }).getRootNode(); - this.tile(0).attr.reset(); + this.tile(0).attr.resetHistory(); root.getChild(0).resetCustomization(); @@ -408,7 +408,7 @@ QUnit.test('Customize - disabled labels', function(assert) { label: { visible: false } } }).getRootNode(); - this.renderer.text.reset(); + this.renderer.text.resetHistory(); root.getChild(0).customize({ label: { @@ -425,7 +425,7 @@ QUnit.test('Customize - hide label', function(assert) { value: 1, name: 'Tile 1' }] }).getRootNode(); - this.renderer.text.reset(); + this.renderer.text.resetHistory(); root.getChild(0).customize({ label: { visible: false } @@ -443,7 +443,7 @@ QUnit.test('Customize - show initially hidden label', function(assert) { label: { visible: false } } }).getRootNode(); - this.renderer.text.reset(); + this.renderer.text.resetHistory(); root.getChild(0).customize({ label: { visible: true } diff --git a/testing/tests/DevExpress.viz.treeMap/commonParts/common.js b/testing/tests/DevExpress.viz.treeMap/commonParts/common.js index 4c0350833481..55e4fe611a98 100644 --- a/testing/tests/DevExpress.viz.treeMap/commonParts/common.js +++ b/testing/tests/DevExpress.viz.treeMap/commonParts/common.js @@ -49,7 +49,7 @@ exports.environment = { const ii = this.tileCount(); for(i = 0; i < ii; ++i) { - this.tile(i).attr.reset(); + this.tile(i).attr.resetHistory(); } } }; diff --git a/testing/tests/DevExpress.viz.treeMap/drilldown.tests.js b/testing/tests/DevExpress.viz.treeMap/drilldown.tests.js index 000c5573078f..46bcf4e0c20a 100644 --- a/testing/tests/DevExpress.viz.treeMap/drilldown.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/drilldown.tests.js @@ -26,7 +26,7 @@ QUnit.test('Drilldown to node', function(assert) { }], onDrill: spy }); - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); widget.getRootNode().getChild(0).drillDown(); @@ -54,7 +54,7 @@ QUnit.test('Drilldown to sibling', function(assert) { onDrill: spy }); widget.getRootNode().getChild(0).drillDown(); - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); spy.resetHistory(); widget.getRootNode().getChild(1).drillDown(); @@ -79,7 +79,7 @@ QUnit.test('Drilldown to leaf', function(assert) { }], onDrill: spy }); - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); widget.getRootNode().getChild(1).drillDown(); @@ -105,7 +105,7 @@ QUnit.test('Reset drilldown', function(assert) { onDrill: spy }); widget.getRootNode().getChild(0).getChild(0).drillDown(); - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); spy.resetHistory(); widget.resetDrillDown(); @@ -134,7 +134,7 @@ QUnit.test('Drill up', function(assert) { onDrill: spy }); widget.getRootNode().getChild(0).getChild(0).drillDown(); - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); spy.resetHistory(); widget.drillUp(); diff --git a/testing/tests/DevExpress.viz.treeMap/extra.tests.js b/testing/tests/DevExpress.viz.treeMap/extra.tests.js index 8c565ace881a..b7e4c1598b49 100644 --- a/testing/tests/DevExpress.viz.treeMap/extra.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/extra.tests.js @@ -25,7 +25,7 @@ QUnit.test('After change options that reset nodes (e.g. maxDepth)', function(ass }); this.renderer = renderer; - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); widget.option({ maxDepth: 2 }); assert.deepEqual(this.tile(3).data.lastCall.args, args); diff --git a/testing/tests/DevExpress.viz.treeMap/hover.tests.js b/testing/tests/DevExpress.viz.treeMap/hover.tests.js index 44fa8eeb72be..068d1462c23a 100644 --- a/testing/tests/DevExpress.viz.treeMap/hover.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/hover.tests.js @@ -29,7 +29,7 @@ QUnit.test('Turn tile hover on', function(assert) { onHoverChanged: spy }).getRootNode(); const tile = this.tile(1); - tile.smartAttr.reset(); + tile.smartAttr.resetHistory(); root.getChild(1).setHover(); @@ -70,7 +70,7 @@ QUnit.test('Turn tile hover off', function(assert) { }); const tile = this.tile(1); widget.getRootNode().getChild(1).setHover(); - tile.smartAttr.reset(); + tile.smartAttr.resetHistory(); widget.on('hoverChanged', spy); widget.clearHover(); @@ -148,10 +148,10 @@ QUnit.test('Turn group hover on', function(assert) { const inner = this.tile(1); const tile1 = this.tile(2); const tile2 = this.tile(3); - outer.attr.reset(); - inner.smartAttr.reset(); - tile1.smartAttr.reset(); - tile2.smartAttr.reset(); + outer.attr.resetHistory(); + inner.smartAttr.resetHistory(); + tile1.smartAttr.resetHistory(); + tile2.smartAttr.resetHistory(); root.getChild(0).setHover(); @@ -196,10 +196,10 @@ QUnit.test('Turn group hover off', function(assert) { const tile1 = this.tile(2); const tile2 = this.tile(3); widget.getRootNode().getChild(0).setHover(); - outer.attr.reset(); - inner.smartAttr.reset(); - tile1.smartAttr.reset(); - tile2.smartAttr.reset(); + outer.attr.resetHistory(); + inner.smartAttr.resetHistory(); + tile1.smartAttr.resetHistory(); + tile2.smartAttr.resetHistory(); spy.resetHistory(); widget.clearHover(); @@ -279,10 +279,10 @@ QUnit.test('Disabled hover for group', function(assert) { const inner = this.tile(1); const tile1 = this.tile(2); const tile2 = this.tile(3); - outer.attr.reset(); - inner.smartAttr.reset(); - tile1.smartAttr.reset(); - tile2.smartAttr.reset(); + outer.attr.resetHistory(); + inner.smartAttr.resetHistory(); + tile1.smartAttr.resetHistory(); + tile2.smartAttr.resetHistory(); root.getChild(0).setHover(); @@ -311,10 +311,10 @@ QUnit.test('Turn tile hover on with disabled hover for group', function(assert) const inner = this.tile(1); const tile1 = this.tile(2); const tile2 = this.tile(3); - outer.attr.reset(); - inner.smartAttr.reset(); - tile1.smartAttr.reset(); - tile2.smartAttr.reset(); + outer.attr.resetHistory(); + inner.smartAttr.resetHistory(); + tile1.smartAttr.resetHistory(); + tile2.smartAttr.resetHistory(); root.getChild(0).getChild(0).setHover(); @@ -345,10 +345,10 @@ QUnit.test('Hover group after hover tile with disabled hover for group', functio const tile2 = this.tile(3); root.getChild(0).getChild(0).setHover(); - outer.attr.reset(); - inner.smartAttr.reset(); - tile1.smartAttr.reset(); - tile2.smartAttr.reset(); + outer.attr.resetHistory(); + inner.smartAttr.resetHistory(); + tile1.smartAttr.resetHistory(); + tile2.smartAttr.resetHistory(); root.getChild(0).setHover(); @@ -403,7 +403,7 @@ QUnit.test('Hover state is not applied until endUpdate', function(assert) { }, onHoverChanged: spy }); - this.tile(1).attr.reset(); + this.tile(1).attr.resetHistory(); widget.beginUpdate(); widget.getRootNode().getChild(1).setHover(); diff --git a/testing/tests/DevExpress.viz.treeMap/plainDataSource.tests.js b/testing/tests/DevExpress.viz.treeMap/plainDataSource.tests.js index 6287bc8352cc..934cbf6863b8 100644 --- a/testing/tests/DevExpress.viz.treeMap/plainDataSource.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/plainDataSource.tests.js @@ -88,7 +88,7 @@ QUnit.test('idField & parentField changing', function(assert) { }] }); - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); widget.option({ idField: 'id', parentField: 'parentId' }); diff --git a/testing/tests/DevExpress.viz.treeMap/selection.tests.js b/testing/tests/DevExpress.viz.treeMap/selection.tests.js index 2469914037a3..89271861915c 100644 --- a/testing/tests/DevExpress.viz.treeMap/selection.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/selection.tests.js @@ -20,7 +20,7 @@ QUnit.test('Select tile', function(assert) { } }).getRootNode(); const tile = this.tile(0); - tile.smartAttr.reset(); + tile.smartAttr.resetHistory(); root.getChild(0).select(true); @@ -51,7 +51,7 @@ QUnit.test('Unselect tile', function(assert) { const root = widget.getRootNode(); const tile = this.tile(0); root.getChild(0).select(true); - tile.smartAttr.reset(); + tile.smartAttr.resetHistory(); widget.on('selectionChanged', spy); root.getChild(0).select(false); @@ -80,8 +80,8 @@ QUnit.test('Select group', function(assert) { }).getRootNode(); const outer = this.tile(0); const inner = this.tile(1); - outer.attr.reset(); - inner.smartAttr.reset(); + outer.attr.resetHistory(); + inner.smartAttr.resetHistory(); root.getChild(0).select(true); @@ -112,8 +112,8 @@ QUnit.test('Unselect group', function(assert) { const outer = this.tile(0); const inner = this.tile(1); root.getChild(0).select(true); - outer.attr.reset(); - inner.smartAttr.reset(); + outer.attr.resetHistory(); + inner.smartAttr.resetHistory(); spy.resetHistory(); root.getChild(0).select(false); @@ -245,7 +245,7 @@ QUnit.test('Selection state is not applied until endUpdate', function(assert) { }, onSelectionChanged: spy }); - this.tile(1).attr.reset(); + this.tile(1).attr.resetHistory(); widget.beginUpdate(); widget.getRootNode().getChild(1).select(true); diff --git a/testing/tests/DevExpress.viz.treeMap/states.tests.js b/testing/tests/DevExpress.viz.treeMap/states.tests.js index 57202e01429f..c7b653f3ee6c 100644 --- a/testing/tests/DevExpress.viz.treeMap/states.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/states.tests.js @@ -25,7 +25,7 @@ QUnit.test('Hover selected tile', function(assert) { const node = this.create().getRootNode().getChild(0); const tile = this.tile(0); node.select(true); - tile.attr.reset(); + tile.attr.resetHistory(); node.setHover(); @@ -37,7 +37,7 @@ QUnit.test('Selected hovered tile', function(assert) { const node = this.create().getRootNode().getChild(0); const tile = this.tile(0); node.setHover(); - tile.attr.reset(); + tile.attr.resetHistory(); node.select(true); @@ -51,7 +51,7 @@ QUnit.test('Unhover selected tile', function(assert) { const tile = this.tile(0); node.setHover(); node.select(true); - tile.attr.reset(); + tile.attr.resetHistory(); widget.clearHover(); @@ -64,7 +64,7 @@ QUnit.test('Deselect hovered tile', function(assert) { const tile = this.tile(0); node.setHover(); node.select(true); - tile.attr.reset(); + tile.attr.resetHistory(); node.select(false); diff --git a/testing/tests/DevExpress.viz.treeMap/tracker.tests.js b/testing/tests/DevExpress.viz.treeMap/tracker.tests.js index b2e95bbd9c2d..3349058cba6f 100644 --- a/testing/tests/DevExpress.viz.treeMap/tracker.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/tracker.tests.js @@ -346,7 +346,7 @@ QUnit.test('Hovering same element several times does not cause several tooltip s } }).getRootNode(); root.getChild(1).showTooltip(); - this.tooltip.show.reset(); + this.tooltip.show.resetHistory(); this.trigger(pointerEvents.move, 2, { pageX: 200, pageY: 100 }); this.trigger(pointerEvents.move, 2, { pageX: 210, pageY: 120 }); diff --git a/testing/tests/DevExpress.viz.treeMap/treeMap.base.tests.js b/testing/tests/DevExpress.viz.treeMap/treeMap.base.tests.js index 88eb964c1eda..484582fa9244 100644 --- a/testing/tests/DevExpress.viz.treeMap/treeMap.base.tests.js +++ b/testing/tests/DevExpress.viz.treeMap/treeMap.base.tests.js @@ -487,8 +487,8 @@ QUnit.test('Max depth option changing', function(assert) { }] }); const group = this.tilesGroup(); - this.renderer.simpleRect.reset(); - group.clear.reset(); + this.renderer.simpleRect.resetHistory(); + group.clear.resetHistory(); widget.option('maxDepth', 1); @@ -524,8 +524,8 @@ QUnit.test('dataSource', function(assert) { const widget = common.createWidget({ dataSource: [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }] }); - this.tilesGroup().clear.reset(); - this.renderer.simpleRect.reset(); + this.tilesGroup().clear.resetHistory(); + this.renderer.simpleRect.resetHistory(); widget.option('dataSource', [{ value: 1 }, { value: 2 }]); @@ -543,8 +543,8 @@ QUnit.test('dataSource / async', function(assert) { const widget = common.createWidget({ dataSource: [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }] }); - this.tilesGroup().clear.reset(); - this.renderer.simpleRect.reset(); + this.tilesGroup().clear.resetHistory(); + this.renderer.simpleRect.resetHistory(); widget.option('dataSource', createDataSource(deferred.promise())); deferred.resolve([{ value: 1 }, { value: 2 }]); @@ -567,8 +567,8 @@ QUnit.test('dataSource / external reloading', function(assert) { common.createWidget({ dataSource: ds }); - this.tilesGroup().clear.reset(); - this.renderer.simpleRect.reset(); + this.tilesGroup().clear.resetHistory(); + this.renderer.simpleRect.resetHistory(); data = [{ value: 1 }, { value: 2 }, { value: 3 }]; ds.load(); @@ -585,8 +585,8 @@ QUnit.test('valueField', function(assert) { const widget = common.createWidget({ dataSource: [{ value: 1, val: 4 }, { value: 2, val: 5 }, { value: 3 }, { value: 4, val: 6 }] }); - this.tilesGroup().clear.reset(); - this.renderer.simpleRect.reset(); + this.tilesGroup().clear.resetHistory(); + this.renderer.simpleRect.resetHistory(); widget.option('valueField', 'val'); @@ -616,8 +616,8 @@ QUnit.test('childrenField', function(assert) { }, { }] }); - this.tilesGroup().clear.reset(); - this.renderer.simpleRect.reset(); + this.tilesGroup().clear.resetHistory(); + this.renderer.simpleRect.resetHistory(); widget.option('childrenField', 'items2'); @@ -763,7 +763,7 @@ QUnit.test('colorizer', function(assert) { }); let i; for(i = 0; i < 3; ++i) { - this.tile(i).attr.reset(); + this.tile(i).attr.resetHistory(); } widget.option({ colorizer: { type: 'none' } }); @@ -782,7 +782,7 @@ QUnit.test('layoutAlgorithm', function(assert) { }); let i; for(i = 0; i < 2; ++i) { - this.tile(i).attr.reset(); + this.tile(i).attr.resetHistory(); } widget.option('layoutAlgorithm', 'strip'); @@ -805,10 +805,10 @@ QUnit.test('Appearance is not applied twice when \'dataSource\' and some appeara let i; const tiles = []; for(i = 0; i < 4; ++i) { - this.tile(i).attr.reset(); + this.tile(i).attr.resetHistory(); tiles.push(this.tile(i)); } - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); widget.option({ dataSource: [{ value: 1 }, { value: 2 }, { value: 3 }], @@ -842,10 +842,10 @@ QUnit.test('Positioning is not changed twice when size and \'dataSource\' are ch let i; const tiles = []; for(i = 0; i < 4; ++i) { - this.tile(i).attr.reset(); + this.tile(i).attr.resetHistory(); tiles.push(this.tile(i)); } - this.renderer.simpleRect.reset(); + this.renderer.simpleRect.resetHistory(); widget.option({ size: { width: 900, height: 600 }, @@ -876,7 +876,7 @@ QUnit.test('Appearance is reapplied when \'theme\' is changed', function(assert) }); let i; for(i = 0; i < 3; ++i) { - this.tile(i).attr.reset(); + this.tile(i).attr.resetHistory(); } widget.option('theme', 'test-theme'); @@ -899,7 +899,7 @@ QUnit.test('Appearance is reapplied when current theme is updated', function(ass }); let i; for(i = 0; i < 3; ++i) { - this.tile(i).attr.reset(); + this.tile(i).attr.resetHistory(); } themeModule.refreshTheme(); @@ -938,7 +938,7 @@ QUnit.test('recreating labels after labelField changing', function(assert) { dataSource: [{ value: 1, name: '1' }, { value: 2, newName: '2' }] }); - this.renderer.text.reset(); + this.renderer.text.resetHistory(); widget.option('labelField', 'newName'); assert.equal(this.renderer.text.callCount, 1); @@ -954,7 +954,7 @@ QUnit.test('layoutDirection changing', function(assert) { let i; for(i = 0; i < 3; i++) { - this.tile(i).attr.reset(); + this.tile(i).attr.resetHistory(); } widget.option('layoutDirection', 'leftBottomRightTop'); @@ -1194,7 +1194,7 @@ QUnit.test('toggle visibility by \'visible\' option - 1', function(assert) { value: 2, name: 'tile 2' }] }); - this.renderer.text.reset(); + this.renderer.text.resetHistory(); widget.option({ tile: { @@ -1219,7 +1219,7 @@ QUnit.test('toggle visibility by \'visible\' option - 2', function(assert) { }] }] }); - this.renderer.text.reset(); + this.renderer.text.resetHistory(); widget.option({ group: { @@ -1248,7 +1248,7 @@ QUnit.test('ellipsis mode, change width from small to big - reapply ellipsis', f }, dataSource: [{ name: 'g', value: 1 }] }); - this.renderer.text.lastCall.returnValue.stub('setMaxSize').reset(); + this.renderer.text.lastCall.returnValue.stub('setMaxSize').resetHistory(); widget.option({ size: { From 3a7a06bf3c49eb9082e8fef1b21d930c466666f0 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:30:26 +0300 Subject: [PATCH 27/38] fix viz.treeMap --- .../controlBar.tests.js | 20 ++--- .../dxVectorMap.tests.js | 2 +- .../gestureHandler.tests.js | 8 +- .../mapLayer.collection.tests.js | 2 +- .../mapLayer.strategies.tests.js | 26 +++--- .../mapLayer.tests.js | 86 +++++++++---------- .../projection.tests.js | 14 +-- .../DevExpress.viz.vectorMap/tracker.tests.js | 4 +- 8 files changed, 81 insertions(+), 81 deletions(-) diff --git a/testing/tests/DevExpress.viz.vectorMap/controlBar.tests.js b/testing/tests/DevExpress.viz.vectorMap/controlBar.tests.js index 8939ec6c660b..7c60d4e7f350 100644 --- a/testing/tests/DevExpress.viz.vectorMap/controlBar.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/controlBar.tests.js @@ -140,9 +140,9 @@ QUnit.test('Root appending and removing on set options', function(assert) { assert.deepEqual(updateLayout.lastCall.args, [], 'layout'); function reset() { - updateLayout.reset(); - linkAppend.reset(); - linkRemove.reset(); + updateLayout.resetHistory(); + linkAppend.resetHistory(); + linkRemove.resetHistory(); } }); @@ -173,9 +173,9 @@ QUnit.test('Root appending and removing on set interaction', function(assert) { assert.deepEqual(updateLayout.lastCall.args, [], 'layout'); function reset() { - updateLayout.reset(); - linkAppend.reset(); - linkRemove.reset(); + updateLayout.resetHistory(); + linkAppend.resetHistory(); + linkRemove.resetHistory(); } }); @@ -198,9 +198,9 @@ QUnit.test('Root appending and removing on projection event', function(assert) { assert.deepEqual(updateLayout.lastCall.args, [], 'layout'); function reset() { - updateLayout.reset(); - linkAppend.reset(); - linkRemove.reset(); + updateLayout.resetHistory(); + linkAppend.resetHistory(); + linkRemove.resetHistory(); } }); @@ -343,7 +343,7 @@ QUnit.test('resize - hide', function(assert) { QUnit.test('resize - when disabled', function(assert) { this.controlBar.setInteraction({}); this.controlBar.setOptions({ enabled: false }); - this.root.attr.reset(); + this.root.attr.resetHistory(); this.controlBar.resize({}); diff --git a/testing/tests/DevExpress.viz.vectorMap/dxVectorMap.tests.js b/testing/tests/DevExpress.viz.vectorMap/dxVectorMap.tests.js index abe3baf56500..283560baa007 100644 --- a/testing/tests/DevExpress.viz.vectorMap/dxVectorMap.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/dxVectorMap.tests.js @@ -1038,7 +1038,7 @@ QUnit.test('call drawn after layer collection ready', function(assert) { this.createMap({ onDrawn: onDrawn }); - onDrawn.reset(); + onDrawn.resetHistory(); const notifyDirty = spy.lastCall.args[0].notifyDirty; const notifyReady = spy.lastCall.args[0].notifyReady; diff --git a/testing/tests/DevExpress.viz.vectorMap/gestureHandler.tests.js b/testing/tests/DevExpress.viz.vectorMap/gestureHandler.tests.js index 5ebe6d6f450c..dd603f57b718 100644 --- a/testing/tests/DevExpress.viz.vectorMap/gestureHandler.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/gestureHandler.tests.js @@ -25,7 +25,7 @@ QUnit.module('GestureHandler', { centeringEnabled: true, zoomingEnabled: true }); - this.renderer.root.stub('attr').reset(); + this.renderer.root.stub('attr').resetHistory(); }, afterEach: function() { @@ -74,7 +74,7 @@ QUnit.test('processMove', function(assert) { QUnit.test('processMove / centering is disabled', function(assert) { this.gestureHandler.setInteraction({ centeringEnabled: false, zoomingEnabled: true }); - this.renderer.root.attr.reset(); + this.renderer.root.attr.resetHistory(); this.trigger('start', { x: 10, y: 20 }); this.trigger('move', { x: 12, y: 19 }); @@ -100,8 +100,8 @@ QUnit.test('processEnd', function(assert) { QUnit.test('processEnd / centering is disabled', function(assert) { this.gestureHandler.setInteraction({ centeringEnabled: false, zoomingEnabled: true }); - this.renderer.root.attr.reset(); - this.projection.endMoveCenter.reset(); + this.renderer.root.attr.resetHistory(); + this.projection.endMoveCenter.resetHistory(); this.trigger('start', { x: 10, y: 20 }); this.trigger('end'); diff --git a/testing/tests/DevExpress.viz.vectorMap/mapLayer.collection.tests.js b/testing/tests/DevExpress.viz.vectorMap/mapLayer.collection.tests.js index 5d3883248006..f9c24adaf678 100644 --- a/testing/tests/DevExpress.viz.vectorMap/mapLayer.collection.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/mapLayer.collection.tests.js @@ -160,7 +160,7 @@ QUnit.test('Items collection should be empty after updating to empty array', fun // T660942 QUnit.test('Update hovered layer', function(assert) { this.target.setOptions([{ name: 'layer-2' }]); - this.params.tracker.reset.reset(); + this.params.tracker.reset.resetHistory(); this.target.setOptions([{ name: 'layer-1' }, { name: 'layer-2' }]); diff --git a/testing/tests/DevExpress.viz.vectorMap/mapLayer.strategies.tests.js b/testing/tests/DevExpress.viz.vectorMap/mapLayer.strategies.tests.js index e11acaf1f56c..a6472bbb2e49 100644 --- a/testing/tests/DevExpress.viz.vectorMap/mapLayer.strategies.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/mapLayer.strategies.tests.js @@ -287,8 +287,8 @@ QUnit.test('Perform grouping', function(assert) { assert.deepEqual(callback({ attribute: stub }, 'test-arg'), 'test-data', 'value callback'); assert.deepEqual(stub.lastCall.args, ['test-arg'], 'attribute'); - valuesCallback.reset(); - set.reset(); + valuesCallback.resetHistory(); + set.resetHistory(); callback = sinon.spy(); performGrouping(context, [1, 2, 3], 'test-field-2', callback, valuesCallback); @@ -305,8 +305,8 @@ QUnit.test('Perform grouping', function(assert) { defaultColor: 'default color' }], 'data is set 2'); - valuesCallback.reset(); - set.reset(); + valuesCallback.resetHistory(); + set.resetHistory(); performGrouping(context, { tag: 'test' }, 'test-field-3', 'data-field', valuesCallback); assert.strictEqual(context.grouping['test-field-3'], undefined, 'grouping 3'); @@ -315,7 +315,7 @@ QUnit.test('Perform grouping', function(assert) { }); QUnit.test('Group by color', function(assert) { - stubPerformGrouping.reset(); + stubPerformGrouping.resetHistory(); const getColor = sinon.stub(); const createDiscretePalette = sinon.stub().returns({ getColor: getColor }); const context = { @@ -342,7 +342,7 @@ QUnit.test('Group by color', function(assert) { }); QUnit.test('Group by size', function(assert) { - stubPerformGrouping.reset(); + stubPerformGrouping.resetHistory(); const context = { settings: { sizeGroups: 'test-groups', @@ -363,7 +363,7 @@ QUnit.test('Group by size', function(assert) { }); QUnit.test('Group by size with callback', function(assert) { - stubPerformGrouping.reset(); + stubPerformGrouping.resetHistory(); const context = { settings: { sizeGroups: 'test-groups', @@ -490,7 +490,7 @@ QUnit.test('Has labels group', function(assert) { }); QUnit.test('Update grouping', function(assert) { - stubGroupByColor.reset(); + stubGroupByColor.resetHistory(); areaStrategyPolygon.updateGrouping(this.context); @@ -587,7 +587,7 @@ QUnit.test('Has labels group', function(assert) { }); QUnit.test('Update grouping', function(assert) { - stubGroupByColor.reset(); + stubGroupByColor.resetHistory(); lineStrategyLineString.updateGrouping(this.context); @@ -616,8 +616,8 @@ QUnit.test('Has labels group', function(assert) { }); QUnit.test('Update grouping', function(assert) { - stubPerformGrouping.reset(); - stubGroupByColor.reset(); + stubPerformGrouping.resetHistory(); + stubGroupByColor.resetHistory(); pointDotStrategy.updateGrouping(this.context); @@ -935,8 +935,8 @@ QUnit.test('GetDefaultColor - use theme manager to get palette\'s accent color', }); QUnit.test('Update grouping', function(assert) { - stubGroupByColor.reset(); - stubGroupBySize.reset(); + stubGroupByColor.resetHistory(); + stubGroupBySize.resetHistory(); this.context.settings = { dataField: 'data-field' }; pointBubbleStrategy.updateGrouping(this.context); diff --git a/testing/tests/DevExpress.viz.vectorMap/mapLayer.tests.js b/testing/tests/DevExpress.viz.vectorMap/mapLayer.tests.js index 529ceab745da..6c53d4a603ee 100644 --- a/testing/tests/DevExpress.viz.vectorMap/mapLayer.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/mapLayer.tests.js @@ -55,7 +55,7 @@ QUnit.begin(function() { }); QUnit.testStart(function() { - stubSelectStrategy.reset(); + stubSelectStrategy.resetHistory(); StubMapLayerElement.items = []; }); @@ -259,19 +259,19 @@ QUnit.test('Set options when data is set', function(assert) { } }); this.context.grouping = { g1: 1, g2: 2 }; - this.tracker.reset.reset(); + this.tracker.reset.resetHistory(); const strategy = stubSelectStrategy.lastCall.returnValue; - stubSelectStrategy.reset(); - strategy.reset.reset(); - strategy.setup.reset(); - strategy.arrange.reset(); - strategy.updateGrouping.reset(); + stubSelectStrategy.resetHistory(); + strategy.reset.resetHistory(); + strategy.setup.resetHistory(); + strategy.arrange.resetHistory(); + strategy.updateGrouping.resetHistory(); const items = StubMapLayerElement.items; StubMapLayerElement.items = []; - this.context.root.clear.reset(); + this.context.root.clear.resetHistory(); const labelRoot = this.context.labelRoot = new vizMocks.Element(); - this.themeManager.theme.reset(); + this.themeManager.theme.resetHistory(); this.layer.setOptions({ tag: 'tag' }); @@ -297,17 +297,17 @@ QUnit.test('Set options when data is set and type is changed', function(assert) } }); - this.tracker.reset.reset(); + this.tracker.reset.resetHistory(); let strategy = stubSelectStrategy.lastCall.returnValue; - stubSelectStrategy.reset(); - strategy.reset.reset(); - strategy.setup.reset(); - strategy.arrange.reset(); - strategy.updateGrouping.reset(); + stubSelectStrategy.resetHistory(); + strategy.reset.resetHistory(); + strategy.setup.resetHistory(); + strategy.arrange.resetHistory(); + strategy.updateGrouping.resetHistory(); StubMapLayerElement.items = []; - this.context.root.clear.reset(); + this.context.root.clear.resetHistory(); const labelRoot = this.context.labelRoot = new vizMocks.Element(); - this.themeManager.theme.reset(); + this.themeManager.theme.resetHistory(); this.layer.setOptions({ tag: 'tag', type: 'test-type-2' }); @@ -332,17 +332,17 @@ QUnit.test('Set options when data is set and element type is changed', function( } }); - this.tracker.reset.reset(); + this.tracker.reset.resetHistory(); let strategy = stubSelectStrategy.lastCall.returnValue; - stubSelectStrategy.reset(); - strategy.reset.reset(); - strategy.setup.reset(); - strategy.arrange.reset(); - strategy.updateGrouping.reset(); + stubSelectStrategy.resetHistory(); + strategy.reset.resetHistory(); + strategy.setup.resetHistory(); + strategy.arrange.resetHistory(); + strategy.updateGrouping.resetHistory(); StubMapLayerElement.items = []; - this.context.root.clear.reset(); + this.context.root.clear.resetHistory(); const labelRoot = this.context.labelRoot = new vizMocks.Element(); - this.themeManager.theme.reset(); + this.themeManager.theme.resetHistory(); this.layer.setOptions({ tag: 'tag', elementType: 'test-element-type-2' }); @@ -368,19 +368,19 @@ QUnit.test('Set options with same data when data is set', function(assert) { dataSource: ds }); this.context.grouping = { g1: 1, g2: 2 }; - this.tracker.reset.reset(); + this.tracker.reset.resetHistory(); const strategy = stubSelectStrategy.lastCall.returnValue; - stubSelectStrategy.reset(); - strategy.reset.reset(); - strategy.setup.reset(); - strategy.arrange.reset(); - strategy.updateGrouping.reset(); + stubSelectStrategy.resetHistory(); + strategy.reset.resetHistory(); + strategy.setup.resetHistory(); + strategy.arrange.resetHistory(); + strategy.updateGrouping.resetHistory(); const items = StubMapLayerElement.items; StubMapLayerElement.items = []; - this.context.root.clear.reset(); + this.context.root.clear.resetHistory(); const labelRoot = this.context.labelRoot = new vizMocks.Element(); - this.themeManager.theme.reset(); + this.themeManager.theme.resetHistory(); this.layer.setOptions({ dataSource: ds }); @@ -558,10 +558,10 @@ QUnit.test('Selection restoring', function(assert) { QUnit.test('Update', function(assert) { this.layer.setOptions({ dataSource: this.data }); $.each(StubMapLayerElement.items, function(i, item) { - item.project.reset(); - item.draw.reset(); - item.transform.reset(); - item.refresh.reset(); + item.project.resetHistory(); + item.draw.resetHistory(); + item.transform.resetHistory(); + item.refresh.resetHistory(); }); this.layer.setOptions({ tag: 'option' }); @@ -593,10 +593,10 @@ QUnit.module('Methods and callbacks', { this.layer.setOptions({ dataSource: this.data }); this.items = StubMapLayerElement.items; $.each(this.items, function(_, item) { - item.project.reset(); - item.draw.reset(); - item.transform.reset(); - item.refresh.reset(); + item.project.resetHistory(); + item.draw.resetHistory(); + item.transform.resetHistory(); + item.refresh.resetHistory(); }); }, @@ -717,7 +717,7 @@ QUnit.test('Labels group', function(assert) { const context = this.context; const strategy = stubSelectStrategy.lastCall.returnValue; this.projection.stub('getTransform').returns({ tag: 'transform' }); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); strategy.hasLabelsGroup = false; this.layer.setOptions(); @@ -738,7 +738,7 @@ QUnit.test('Labels group', function(assert) { assert.deepEqual(labelGroup.linkOn.lastCall.args, [this.container, { name: 'test-layer-labels', after: 'test-layer' }], 'group is linked'); assert.deepEqual(labelGroup.linkAppend.lastCall.args, [], 'group is appended'); - this.renderer.g.reset(); + this.renderer.g.resetHistory(); this.layer.setOptions({ label: { enabled: false } }); assert.strictEqual(context.hasSeparateLabel, false, 'state - 4'); assert.strictEqual(this.renderer.g.lastCall, null, 'group is not created - 4'); diff --git a/testing/tests/DevExpress.viz.vectorMap/projection.tests.js b/testing/tests/DevExpress.viz.vectorMap/projection.tests.js index ef67bf3eff82..ce14ee35ce4e 100644 --- a/testing/tests/DevExpress.viz.vectorMap/projection.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/projection.tests.js @@ -24,8 +24,8 @@ const environment = { this.projection.setEngine(this.engine); this.projection.setCenter([20, -10]); this.projection.setZoom(2); - this.centerChanged.reset(); - this.zoomChanged.reset(); + this.centerChanged.resetHistory(); + this.zoomChanged.resetHistory(); }, afterEach: function() { @@ -127,8 +127,8 @@ QUnit.test('setEngine / center is not changed', function(assert) { this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setCenter(engine.center()); this.projection.setZoom(1); - this.centerChanged.reset(); - this.zoomChanged.reset(); + this.centerChanged.resetHistory(); + this.zoomChanged.resetHistory(); this.projection.on({ engine: onEngine, screen: onScreen, center: onCenter, zoom: onZoom }); this.projection.setEngine(engine); @@ -446,7 +446,7 @@ QUnit.test('setZoom / not changed', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setZoom(3); - this.zoomChanged.reset(); + this.zoomChanged.resetHistory(); this.projection.on({ zoom: onZoom }); this.projection.setZoom(3); @@ -461,7 +461,7 @@ QUnit.test('setZoom / out of bounds', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setMaxZoom(5); - this.zoomChanged.reset(); + this.zoomChanged.resetHistory(); this.projection.on({ zoom: onZoom }); this.projection.setZoom(10); @@ -476,7 +476,7 @@ QUnit.test('setZoom / not valid', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setZoom(3); - this.zoomChanged.reset(); + this.zoomChanged.resetHistory(); this.projection.on({ zoom: onZoom }); this.projection.setZoom('test'); diff --git a/testing/tests/DevExpress.viz.vectorMap/tracker.tests.js b/testing/tests/DevExpress.viz.vectorMap/tracker.tests.js index 4637d39d624b..adc5f749c6e8 100644 --- a/testing/tests/DevExpress.viz.vectorMap/tracker.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/tracker.tests.js @@ -503,7 +503,7 @@ QUnit.module('focus / mouse', $.extend({}, environment, { trackerModule._DEBUG_stubFocusType(StubFocus); environment.beforeEach.apply(this, arguments); - this.focus.cancel.reset(); + this.focus.cancel.resetHistory(); }, afterEach: function() { environment.afterEach.apply(this, arguments); @@ -543,7 +543,7 @@ $.each(['touch', 'MSPointer', 'pointer'], function(_, type) { beforeEach: function() { trackerModule._DEBUG_stubFocusType(StubFocus); environment.beforeEach.apply(this, arguments); - this.focus.cancel.reset(); + this.focus.cancel.resetHistory(); }, afterEach: function() { environment.afterEach.apply(this, arguments); From e69ce87725b071af0109245cc94408edef3d59ee Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 16:56:32 +0300 Subject: [PATCH 28/38] fix scrollview and tooblar tests --- .../tests/DevExpress.ui.widgets/scrollView.tests.js | 12 ++++++------ testing/tests/DevExpress.ui.widgets/toolbar.tests.js | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/testing/tests/DevExpress.ui.widgets/scrollView.tests.js b/testing/tests/DevExpress.ui.widgets/scrollView.tests.js index e95ebeefcb6f..060a894622c4 100644 --- a/testing/tests/DevExpress.ui.widgets/scrollView.tests.js +++ b/testing/tests/DevExpress.ui.widgets/scrollView.tests.js @@ -505,7 +505,7 @@ QUnit.module('actions', moduleConfig, () => { disabled: true }); - onUpdatedHandler.reset(); + onUpdatedHandler.resetHistory(); $scrollView.dxScrollView('instance').finishLoading(); pointerMock($scrollView.find('.content1')).start().down(); @@ -1240,7 +1240,7 @@ QUnit.module('api', moduleConfig, () => { useNative: false, onUpdated: onUpdatedHandler }); - onUpdatedHandler.reset(); + onUpdatedHandler.resetHistory(); $scrollView.dxScrollView('release'); @@ -1287,7 +1287,7 @@ QUnit.module('api', moduleConfig, () => { .move(0, $topPocket.height() + 1) .up(); - this.clock.tick(); + this.clock.tick(10); }); QUnit.test('release calls update for scrollbar', function(assert) { @@ -1320,7 +1320,7 @@ QUnit.module('api', moduleConfig, () => { .move(0, $container.height() - $content.height() - $topPocket.height() - 10) .up(); - this.clock.tick(); + this.clock.tick(10); }); QUnit.test('release calls moveToBound location immediately when state is released', function(assert) { @@ -1849,7 +1849,7 @@ QUnit.module('native pullDown strategy', { onUpdated: onUpdatedHandler }); - onUpdatedHandler.reset(); + onUpdatedHandler.resetHistory(); const clock = sinon.useFakeTimers(); try { @@ -2177,7 +2177,7 @@ QUnit.module('native swipeDown strategy', { onUpdated: onUpdatedHandler }); - onUpdatedHandler.reset(); + onUpdatedHandler.resetHistory(); const clock = sinon.useFakeTimers(); try { diff --git a/testing/tests/DevExpress.ui.widgets/toolbar.tests.js b/testing/tests/DevExpress.ui.widgets/toolbar.tests.js index 0223680dbcb5..524bc193ee1b 100644 --- a/testing/tests/DevExpress.ui.widgets/toolbar.tests.js +++ b/testing/tests/DevExpress.ui.widgets/toolbar.tests.js @@ -464,7 +464,7 @@ QUnit.module('Deprecated options', { QUnit.test('Warning messages not displaying if deprecated "height" option not used', function(assert) { assert.expect(1); - this.stub = sinon.stub(errors).callsFake('log', () => { + this.stub = sinon.stub(errors, 'log').callsFake(() => { assert.strictEqual(true, false, 'error.log should not be called'); }); @@ -768,8 +768,8 @@ QUnit.module('disabled state', () => { eventsEngine.trigger($button, 'dxclick'); checkClickHandlers(assert, itemClickHandler, buttonClickHandler, expectedButtonValue, expectedToolbarValue, locateInMenu); - itemClickHandler.reset(); - buttonClickHandler.reset(); + itemClickHandler.resetHistory(); + buttonClickHandler.resetHistory(); if(changeDisabledOrder) { $button.dxButton('option', 'disabled', isButtonDisabledNew); From 348245a77bdfbe630771045e365bac8c4f7f429d Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 17:05:04 +0300 Subject: [PATCH 29/38] fix ui.widgets 2 --- .../ganttParts/editDataSources.tests.js | 4 ++-- .../DevExpress.ui.widgets/ganttParts/filtering.tests.js | 2 +- testing/tests/DevExpress.ui.widgets/menu.tests.js | 8 ++++---- testing/tests/DevExpress.ui.widgets/selection.test.js | 2 +- .../DevExpress.ui.widgets/treeViewParts/checkboxes.js | 4 ++-- .../tests/DevExpress.ui.widgets/treeViewParts/events.js | 2 +- .../DevExpress.ui.widgets/treeViewParts/virtualMode.js | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/testing/tests/DevExpress.ui.widgets/ganttParts/editDataSources.tests.js b/testing/tests/DevExpress.ui.widgets/ganttParts/editDataSources.tests.js index e12e42fa7dfd..0767f301f9ae 100644 --- a/testing/tests/DevExpress.ui.widgets/ganttParts/editDataSources.tests.js +++ b/testing/tests/DevExpress.ui.widgets/ganttParts/editDataSources.tests.js @@ -350,12 +350,12 @@ QUnit.module('Edit data sources (T887281)', moduleConfig, () => { validation: { autoUpdateParentTasks: true } }; this.createInstance(options); - this.clock.tick(200); + this.clock.tick(210); const titleText = $(this.instance._treeList.getCellElement(0, 0)).text(); assert.equal(titleText, tasks[0].title, 'title cell text is right'); - this.clock.tick(200); + this.clock.tick(210); const taskText = this.$element.find(Consts.TASK_WRAPPER_SELECTOR).first().text(); assert.equal(taskText, tasks[0].title, 'Custom task text works correctly'); }); diff --git a/testing/tests/DevExpress.ui.widgets/ganttParts/filtering.tests.js b/testing/tests/DevExpress.ui.widgets/ganttParts/filtering.tests.js index 285b6220b949..f872684a5280 100644 --- a/testing/tests/DevExpress.ui.widgets/ganttParts/filtering.tests.js +++ b/testing/tests/DevExpress.ui.widgets/ganttParts/filtering.tests.js @@ -91,7 +91,7 @@ QUnit.module('Filtering', moduleConfig, () => { }; this.createInstance(options); - this.clock.tick(); + this.clock.tick(300); assert.equal(this.$element.find(Consts.TASK_SELECTOR).length, 2); this.instance._treeList.clearFilter(); this.clock.tick(300); diff --git a/testing/tests/DevExpress.ui.widgets/menu.tests.js b/testing/tests/DevExpress.ui.widgets/menu.tests.js index a977d6c34d7a..016fa845826c 100644 --- a/testing/tests/DevExpress.ui.widgets/menu.tests.js +++ b/testing/tests/DevExpress.ui.widgets/menu.tests.js @@ -1572,7 +1572,7 @@ QUnit.module('keyboard navigation', { assert.equal(itemClickHandler.callCount, 1, 'handler.callCount'); assert.equal(itemClickHandler.args[0][0].itemData.id, '1_2', 'handler.itemData'); - itemClickHandler.reset(); + itemClickHandler.resetHistory(); this.keyboard .press('down') @@ -1584,7 +1584,7 @@ QUnit.module('keyboard navigation', { assert.equal(itemClickHandler.callCount, 1, 'handler.callCount'); assert.equal(itemClickHandler.args[0][0].itemData.id, '2_2', 'handler.itemData'); - itemClickHandler.reset(); + itemClickHandler.resetHistory(); this.keyboard .press('down') @@ -2857,7 +2857,7 @@ function transferActionTest(eventName, expectedArgs, triggerFunc) { assert.ok(handler.getCall(0).args[0], argument + ' is exist in parameters'); }); - handler.reset(); + handler.resetHistory(); menu.off(eventName); triggerFunc(treeView); assert.equal(handler.callCount, 0, 'handler for \'on\' was not executed after unsubscribe'); @@ -2880,7 +2880,7 @@ function transferActionTest(eventName, expectedArgs, triggerFunc) { assert.ok(handler.getCall(0).args[0][argument], argument + ' is exist in parameters'); }); - handler.reset(); + handler.resetHistory(); menu.option(optionName, undefined); triggerFunc(treeView); assert.equal(handler.callCount, 0, 'handler for option was not executed after unsubscribe'); diff --git a/testing/tests/DevExpress.ui.widgets/selection.test.js b/testing/tests/DevExpress.ui.widgets/selection.test.js index 3d1a6ce9b8a3..6d32f58cbdcb 100644 --- a/testing/tests/DevExpress.ui.widgets/selection.test.js +++ b/testing/tests/DevExpress.ui.widgets/selection.test.js @@ -2201,7 +2201,7 @@ QUnit.module('filter length restriction', { this.dataSource.load(); - this.load.reset(); + this.load.resetHistory(); this.createDeferredSelection = function(data, options) { return createDeferredSelection(data, options, this.dataSource); diff --git a/testing/tests/DevExpress.ui.widgets/treeViewParts/checkboxes.js b/testing/tests/DevExpress.ui.widgets/treeViewParts/checkboxes.js index 01491e43ca5b..ba3c122512ec 100644 --- a/testing/tests/DevExpress.ui.widgets/treeViewParts/checkboxes.js +++ b/testing/tests/DevExpress.ui.widgets/treeViewParts/checkboxes.js @@ -309,7 +309,7 @@ QUnit.module('T988756', () => { assert.ok('no error is thrown'); assert.equal(selectAllStub.callCount, 1, 'onSelectAllValueChanged is fired only once'); - selectAllStub.reset(); + selectAllStub.resetHistory(); wrapper.instance.option('showCheckBoxesMode', 'none'); clickByItemCheckbox(wrapper, 'item1'); assert.ok('no error is thrown'); @@ -334,7 +334,7 @@ QUnit.module('T988756', () => { assert.ok('no error is thrown'); assert.equal(selectAllStub.callCount, 1, 'onSelectAllValueChanged is fired only once'); - selectAllStub.reset(); + selectAllStub.resetHistory(); wrapper.instance.option('showCheckBoxesMode', 'normal'); clickByItemCheckbox(wrapper, 'item1'); assert.ok('no error is thrown'); diff --git a/testing/tests/DevExpress.ui.widgets/treeViewParts/events.js b/testing/tests/DevExpress.ui.widgets/treeViewParts/events.js index ab5b58d14381..50f4a7a5e94e 100644 --- a/testing/tests/DevExpress.ui.widgets/treeViewParts/events.js +++ b/testing/tests/DevExpress.ui.widgets/treeViewParts/events.js @@ -945,7 +945,7 @@ QUnit.test('onItemRendered event arguments', function(assert) { node: treeView.instance.getNodes()[0] }); - onItemRenderedHandler.reset(); + onItemRenderedHandler.resetHistory(); treeView.instance.expandItem('1'); assert.strictEqual(onItemRenderedHandler.callCount, 2); diff --git a/testing/tests/DevExpress.ui.widgets/treeViewParts/virtualMode.js b/testing/tests/DevExpress.ui.widgets/treeViewParts/virtualMode.js index 9fd26ebbf944..2162ff575312 100644 --- a/testing/tests/DevExpress.ui.widgets/treeViewParts/virtualMode.js +++ b/testing/tests/DevExpress.ui.widgets/treeViewParts/virtualMode.js @@ -1466,7 +1466,7 @@ module('Loadindicator', () => { clock.tick(400); const $toggleItem = treeView.getToggleItemVisibility(treeView.getNodes().eq(0)); - contentReadyHandler.reset(); + contentReadyHandler.resetHistory(); eventsEngine.trigger($toggleItem, 'dxclick'); eventsEngine.trigger($toggleItem, 'dxclick'); From 5429a4eaec06f6c2d1a08d1a203e2af15e429d4d Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 17:26:52 +0300 Subject: [PATCH 30/38] fix dataGrid tests --- .../editing.integration.tests.js | 48 +++---- .../editing.tests.js | 136 +++++++++--------- .../editorFactory.tests.js | 8 +- 3 files changed, 96 insertions(+), 96 deletions(-) diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js index 5c1884e9b71c..7142254f4c8c 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js @@ -2136,7 +2136,7 @@ QUnit.module('Editing', baseModuleConfig, () => { this.clock.tick(10); let $firstCell = $(grid.getCellElement(0, 0)); $firstCell.trigger(pointerEvents.down).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $firstCell = $(grid.getCellElement(0, 0)); // assert @@ -2146,7 +2146,7 @@ QUnit.module('Editing', baseModuleConfig, () => { $inputElement.val(''); $inputElement.trigger('change'); headerPanel.getElement().trigger(pointerEvents.down).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); $firstCell = $(grid.getCellElement(0, 0)); // assert @@ -4191,7 +4191,7 @@ QUnit.module('API methods', baseModuleConfig, () => { repaintChangesOnly: true, columns: ['name', 'value'] }); - this.clock.tick(); + this.clock.tick(10); // act dataGrid.editCell(0, 0); @@ -4204,9 +4204,9 @@ QUnit.module('API methods', baseModuleConfig, () => { let $checkbox = $('.dx-checkbox').eq(0); $input.trigger('change'); $checkbox.trigger('dxpointerdown'); - this.clock.tick(); + this.clock.tick(10); $checkbox.trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert $checkbox = $('.dx-checkbox').eq(0); @@ -4266,9 +4266,9 @@ QUnit.module('API methods', baseModuleConfig, () => { columns: [{ dataField: 'name', showEditorAlways: true }] }); - this.clock.tick(); + this.clock.tick(10); dataGrid.editCell(0, 0); - this.clock.tick(); + this.clock.tick(10); $(':focus').on('focusout', function(e) { // emulate browser behaviour $(e.target).trigger('change'); @@ -4279,7 +4279,7 @@ QUnit.module('API methods', baseModuleConfig, () => { const $secondRowEditor = $(dataGrid.getRowElement(1)).find('.dx-texteditor-input'); $secondRowEditor.trigger('dxpointerdown'); $secondRowEditor.trigger('focus'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(dataSource[0].name, 'test', 'data is changed'); @@ -4529,13 +4529,13 @@ QUnit.module('API methods', baseModuleConfig, () => { // act dataGrid.editCell(0, 0); - this.clock.tick(); + this.clock.tick(10); triggerTabPress(dataGrid.getCellElement(0, 0)); - this.clock.tick(); + this.clock.tick(10); triggerTabPress(dataGrid.getCellElement(0, 1)); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(dataGrid.getView('rowsView').getScrollable().scrollLeft(), 400, 'Correct offset'); @@ -5030,7 +5030,7 @@ QUnit.module('API methods', baseModuleConfig, () => { // act dataGrid.editCell(0, 0); - this.clock.tick(); + this.clock.tick(10); // assert overlayTarget = dataGrid.$element().find('.dx-invalid-message').data('dxOverlay').option('position.of'); @@ -5038,12 +5038,12 @@ QUnit.module('API methods', baseModuleConfig, () => { // act dataGrid.closeEditCell(); - this.clock.tick(); + this.clock.tick(10); themes.isMaterial = function() { return true; }; dataGrid.editCell(0, 0); - this.clock.tick(); + this.clock.tick(10); // assert overlayTarget = dataGrid.$element().find('.dx-invalid-message').data('dxOverlay').option('position.of'); @@ -5246,11 +5246,11 @@ QUnit.module('API methods', baseModuleConfig, () => { } }); - this.clock.tick(); + this.clock.tick(10); // act dataGrid.editCell(5, 5); - this.clock.tick(); + this.clock.tick(10); const $cellElement = $(dataGrid.getCellElement(5, 5)); const $revertButton = $(dataGrid.element()).find('.dx-datagrid-revert-tooltip .dx-overlay-content'); @@ -5271,7 +5271,7 @@ QUnit.module('API methods', baseModuleConfig, () => { left: $validationMessage.offset().left - $cellElement.offset().left, }; dataGrid.getScrollable().scrollTo({ top: 100, left: 100 }); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual($revertButton.offset().top - $cellElement.offset().top, revertButtonDiff.top, 'top revert position relative to the cell is not changed'); @@ -6195,11 +6195,11 @@ QUnit.module('newRowPosition', baseModuleConfig, () => { } }).dxDataGrid('instance'); - this.clock.tick(300); + this.clock.tick(310); // act dataGrid.addRow(); - this.clock.tick(300); + this.clock.tick(310); // assert const visibleRows = dataGrid.getVisibleRows(); @@ -6503,12 +6503,12 @@ QUnit.module('newRowPosition', baseModuleConfig, () => { } const pageIndexToChange = newRowPosition === 'last' ? 0 : 1; const firstRowKeyOnManuallySwitchedPage = newRowPosition === 'last' ? 1 : 11; - this.clock.tick(300); + this.clock.tick(310); if(newRowPosition === 'viewportTop') { // act dataGrid.getScrollable().scrollTo({ top: 80 }); - this.clock.tick(300); + this.clock.tick(310); // assert assert.strictEqual(dataGrid.getTopVisibleRowData().id, 2, 'first visible row data after scroll'); @@ -6516,7 +6516,7 @@ QUnit.module('newRowPosition', baseModuleConfig, () => { // act dataGrid.addRow(); - this.clock.tick(300); + this.clock.tick(310); // assert @@ -6531,7 +6531,7 @@ QUnit.module('newRowPosition', baseModuleConfig, () => { // act $(dataGrid.getCellElement(newRowVisibleIndex, 1)).find('.dx-texteditor-input').val('111').trigger('change'); dataGrid.pageIndex(pageIndexToChange); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(dataGrid.pageIndex(), pageIndexToChange, 'page index is changed manually'); @@ -6539,7 +6539,7 @@ QUnit.module('newRowPosition', baseModuleConfig, () => { // act dataGrid.addRow(); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(dataGrid.pageIndex(), pageIndexToChange === 0 ? 1 : 0, 'switched to page with a new row'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/editing.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/editing.tests.js index 5dbd415dd5d7..668c87cfd231 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/editing.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/editing.tests.js @@ -557,7 +557,7 @@ QUnit.module('Editing', { // act const event = this.click(testElement.find('tbody > tr').first(), '.dx-link:contains(Edit)'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(editRowCallCount, 1); @@ -1894,14 +1894,14 @@ QUnit.module('Editing', { rowsView.render(that.gridContainer); that.gridContainer.find('tbody > tr').first().find('td').eq(2).trigger('dxclick'); // Edit - this.clock.tick(); + this.clock.tick(10); const $focusOverlay = that.gridContainer.find('.dx-datagrid-focus-overlay'); assert.equal($focusOverlay.length, 1, 'focus overlay count'); // act $($focusOverlay).trigger('dxpointerdown'); $($focusOverlay).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(getInputElements(that.gridContainer.find('tbody > tr').first()).length, 1, 'editor count'); @@ -2717,7 +2717,7 @@ QUnit.module('Editing', { startEditAction: 'dblClick' }); rowsView.render(that.gridContainer); - allowUpdating.reset(); + allowUpdating.resetHistory(); // act that.gridContainer.find('td').first().trigger('click'); @@ -5451,7 +5451,7 @@ QUnit.module('Editing with real dataController', { rowsView.render(testElement); this.editCell(0, 0); - this.clock.tick(); + this.clock.tick(10); // act assert.equal(getInputElements(testElement.find('tbody > tr').first()).length, 1); @@ -5459,7 +5459,7 @@ QUnit.module('Editing with real dataController', { testElement.find('input').first().trigger('change'); this.editCell(0, 2); - this.clock.tick(); + this.clock.tick(10); // act assert.equal(getInputElements(testElement.find('tbody > tr').first()).length, 1); @@ -5469,7 +5469,7 @@ QUnit.module('Editing with real dataController', { // act $(document).trigger('dxpointerdown'); $(document).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(getInputElements(testElement.find('tbody > tr').first()).length, 0); @@ -5698,7 +5698,7 @@ QUnit.module('Editing with real dataController', { editor.option('value', 'test2'); const $cell = that.getCellElement(0, 1); $($cell).trigger('dxclick'); - that.clock.tick(30); + that.clock.tick(40); // assert assert.equal(saveEditDataCallCount, 1, 'save edit data called once'); @@ -5735,7 +5735,7 @@ QUnit.module('Editing with real dataController', { // act editor.option('value', 'test2'); that.editCell(0, 1); - that.clock.tick(30); + that.clock.tick(40); // assert assert.strictEqual($(rowsView.getCellElement(0, 0)).find('input').val(), 'test2', 'value input'); @@ -5928,7 +5928,7 @@ QUnit.module('Editing with real dataController', { // act that.cellValue(0, 0, 'Test'); that.editCell(0, 1); - this.clock.tick(100); + this.clock.tick(110); // assert assert.ok(!this.hasEditData(), 'edit data is empty'); @@ -5974,7 +5974,7 @@ QUnit.module('Editing with real dataController', { that.editCell(0, 0); that.cellValue(0, 0, 'Test'); that.editCell(0, 1); - this.clock.tick(100); + this.clock.tick(110); // assert assert.ok(this.hasEditData(), 'edit data is not empty'); @@ -6081,7 +6081,7 @@ QUnit.module('Editing with real dataController', { rowsView.render(that.gridContainer); that.editCell(0, 0); - that.clock.tick(); + that.clock.tick(10); // assert assert.ok(that.gridContainer.find('.dx-datagrid-focus-overlay').is(':visible'), 'visible focus overlay'); @@ -6091,7 +6091,7 @@ QUnit.module('Editing with real dataController', { // assert assert.ok(!that.gridContainer.find('.dx-datagrid-focus-overlay').is(':visible'), 'not visible focus overlay'); - that.clock.tick(); + that.clock.tick(10); assert.ok(that.gridContainer.find('.dx-datagrid-focus-overlay').is(':visible'), 'visible focus overlay'); }); @@ -6362,7 +6362,7 @@ QUnit.module('Editing with real dataController', { that.columnsController.init(); that.editCell(0, 0); - that.clock.tick(); + that.clock.tick(10); // assert $cellElement = $(rowsView.element().find('tbody > tr').first().children().first()); @@ -6373,7 +6373,7 @@ QUnit.module('Editing with real dataController', { // act lookupInstance.option('value', 'test1'); - that.clock.tick(); + that.clock.tick(10); // assert $cellElement = $(rowsView.element().find('tbody > tr').first().children().first()); @@ -6403,7 +6403,7 @@ QUnit.module('Editing with real dataController', { that.columnsController.init(); that.editRow(0); - that.clock.tick(); + that.clock.tick(10); const $input1 = $(rowsView.getCellElement(0, 0)).find('.dx-texteditor-input'); let $input2 = $(rowsView.getCellElement(0, 1)).find('.dx-texteditor-input'); @@ -6415,7 +6415,7 @@ QUnit.module('Editing with real dataController', { $input2.get(0).setSelectionRange(1, 2); } $input1.trigger('change'); - that.clock.tick(); + that.clock.tick(10); // assert const $cellElement = $(rowsView.getCellElement(0, 1)); @@ -6450,7 +6450,7 @@ QUnit.module('Editing with real dataController', { that.columnsController.init(); that.editCell(0, 0); - that.clock.tick(); + that.clock.tick(10); const $input = $(rowsView.getCellElement(0, 0)).find('.dx-texteditor-input'); @@ -6462,7 +6462,7 @@ QUnit.module('Editing with real dataController', { mouse.down(); $input.trigger('change'); mouse.up(); - that.clock.tick(); + that.clock.tick(10); // assert $secondCell = $(rowsView.getCellElement(0, 1)); @@ -6862,7 +6862,7 @@ QUnit.module('Editing with real dataController', { // act that.gridContainer.find('tbody > tr').first().find('td').first().trigger('dxclick'); // Edit - that.clock.tick(); + that.clock.tick(10); // assert const $focusOverlay = that.gridContainer.find('.dx-datagrid-focus-overlay'); @@ -6897,7 +6897,7 @@ QUnit.module('Editing with real dataController', { // act that.gridContainer.find('.dx-datagrid-content-fixed tbody > tr').first().find('td').first().trigger('dxclick'); // Edit - that.clock.tick(); + that.clock.tick(10); // assert const $focusOverlay = that.gridContainer.find('.dx-datagrid-focus-overlay'); @@ -6933,7 +6933,7 @@ QUnit.module('Editing with real dataController', { // act that.gridContainer.find('tbody > tr').first().find('td').last().trigger('dxclick'); // Edit - that.clock.tick(); + that.clock.tick(10); // assert const $focusOverlay = that.gridContainer.find('.dx-datagrid-focus-overlay'); @@ -7519,7 +7519,7 @@ QUnit.module('Editing with real dataController', { // act $(that.gridContainer.find('tbody > tr').first().find('td').first().find('.dx-selectbox-container')).trigger('dxclick'); // Edit - that.clock.tick(); + that.clock.tick(10); // assert const $focusOverlay = that.gridContainer.find('.dx-datagrid-focus-overlay'); @@ -8452,7 +8452,7 @@ QUnit.module('Editing with real dataController', { $testElement.find('.dx-texteditor-input').first().val('Test11'); $testElement.find('.dx-texteditor-input').first().trigger('change'); - template.reset(); + template.resetHistory(); that.editingController.closeEditCell(); that.clock.tick(); @@ -11564,7 +11564,7 @@ QUnit.module('Editing with validation', { $($inputElement).trigger('change'); that.closeEditCell(); - that.clock.tick(); + that.clock.tick(10); $cells = $(rowsView.element().find('tbody > tr').first().find('td')); @@ -11574,7 +11574,7 @@ QUnit.module('Editing with validation', { // act $($cells.eq(1)).trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); $cells = $(rowsView.element().find('tbody > tr').first().find('td')); @@ -11595,7 +11595,7 @@ QUnit.module('Editing with validation', { $($inputElement).trigger('change'); that.closeEditCell(); - that.clock.tick(); + that.clock.tick(10); $cells = $(rowsView.element().find('tbody > tr').first().find('td')); @@ -11604,7 +11604,7 @@ QUnit.module('Editing with validation', { // act $($cells.eq(1)).trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); // assert assert.equal(getInputElements($testElement).length, 1, 'has input'); @@ -11681,7 +11681,7 @@ QUnit.module('Editing with validation', { // act $(this.getCellElement(0, 0)).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal($(this.getCellElement(0, 0)).find('.dx-overlay').length, 2, 'validation and revert tooltips are rendered'); @@ -11724,7 +11724,7 @@ QUnit.module('Editing with validation', { // act cells.eq(1).trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); // assert assert.equal(getInputElements(testElement).length, 1, 'has input'); @@ -11735,7 +11735,7 @@ QUnit.module('Editing with validation', { eventsEngine.trigger(inputElement[0], 'change'); that.closeEditCell(); - that.clock.tick(); + that.clock.tick(10); cells = $(rowsView.element()).find('.dx-data-row').last().find('td'); @@ -11745,7 +11745,7 @@ QUnit.module('Editing with validation', { // act cells.eq(1).trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); cells = $(rowsView.element()).find('.dx-data-row').last().find('td'); @@ -11798,7 +11798,7 @@ QUnit.module('Editing with validation', { // act cells.eq(1).trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); // assert assert.equal(getInputElements(testElement).length, 1, 'has input'); @@ -11809,7 +11809,7 @@ QUnit.module('Editing with validation', { eventsEngine.trigger(inputElement[0], 'change'); that.closeEditCell(); - that.clock.tick(); + that.clock.tick(10); cells = $(rowsView.element()).find('.dx-data-row').last().find('td'); @@ -11819,7 +11819,7 @@ QUnit.module('Editing with validation', { // act cells.eq(1).trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); cells = $(rowsView.element()).find('.dx-data-row').last().find('td'); @@ -11863,7 +11863,7 @@ QUnit.module('Editing with validation', { that.cellValue(0, 2, ''); that.editCell(0, 2); - that.clock.tick(); + that.clock.tick(10); // assert tooltipInstance = $testElement.find('tbody td').eq(2).find('.dx-overlay.dx-invalid-message').dxOverlay('instance'); @@ -11924,7 +11924,7 @@ QUnit.module('Editing with validation', { that.cellValue(0, 0, ''); that.editCell(0, 0); - that.clock.tick(); + that.clock.tick(10); // assert const tooltipInstance = $testElement.find('tbody td').eq(0).find('.dx-overlay.dx-invalid-message').dxOverlay('instance'); @@ -12491,7 +12491,7 @@ QUnit.module('Editing with validation', { }; this.editCell(0, 2); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal($cellWithRevertButton.index(), 1, 'cell index where the revert button is located'); @@ -12540,7 +12540,7 @@ QUnit.module('Editing with validation', { }; this.editCell(0, 2); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal($cellWithRevertButton.index(), 1, 'cell index where the revert button is located'); @@ -12615,7 +12615,7 @@ QUnit.module('Editing with validation', { const $input = getInputElements($cells).first(); $input.val(101); $($input).trigger('change'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal($('.dx-revert-button').attr('title'), 'Cancel test bla', 'hint for revert button'); @@ -12688,7 +12688,7 @@ QUnit.module('Editing with validation', { const $input = getInputElements($cells).first(); $input.val(101); $($input).trigger('change'); - this.clock.tick(); + this.clock.tick(10); $revertButton = $('.dx-revert-button'); @@ -12697,7 +12697,7 @@ QUnit.module('Editing with validation', { // act $($revertButton).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert $cells = $(this.rowsView.element().find('tbody > tr').first().find('td')); @@ -12962,7 +12962,7 @@ QUnit.module('Editing with validation', { // act $($addRowButton).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(that.gridContainer.find('.dx-row-inserted').length, 1, 'inserted row is rendered'); @@ -14253,7 +14253,7 @@ QUnit.module('Editing with validation', { // act that.editCell(1, 1); - that.clock.tick(); + that.clock.tick(10); // assert assert.strictEqual($(rowsView.getCellElement(1, 1)).find('.dx-overlay.dx-datagrid-invalid-message').length, 1, 'has invalid message'); @@ -14261,7 +14261,7 @@ QUnit.module('Editing with validation', { // act that.closeEditCell(); - that.clock.tick(); + that.clock.tick(10); // assert assert.strictEqual($(rowsView.getCellElement(1, 2)).find('.dx-overlay.dx-datagrid-invalid-message').length, 0, 'hasn\'t invalid message'); @@ -14298,7 +14298,7 @@ QUnit.module('Editing with validation', { // act that.editCell(0, 1); - that.clock.tick(); + that.clock.tick(10); // assert const overlayInstance = $(rowsView.getCellElement(0, 1)).find('.dx-overlay.dx-datagrid-invalid-message').dxOverlay('instance'); @@ -14341,11 +14341,11 @@ QUnit.module('Editing with validation', { }); rowsView.scrollTo({ x: 100 }); - that.clock.tick(); + that.clock.tick(10); // act that.editCell(0, 1); - that.clock.tick(); + that.clock.tick(10); // assert const overlayInstance = $(rowsView.getCellElement(0, 1)).find('.dx-overlay.dx-datagrid-invalid-message').dxOverlay('instance'); @@ -14396,11 +14396,11 @@ QUnit.module('Editing with validation', { ] }); - that.clock.tick(); + that.clock.tick(10); // act that.editCell(0, 1); - that.clock.tick(); + that.clock.tick(10); // assert const overlayInstance = $(rowsView.getCellElement(0, 1)).find('.dx-overlay.dx-datagrid-invalid-message').dxOverlay('instance'); @@ -17791,10 +17791,10 @@ QUnit.module('Edit Form', { this.rowsView.render($('#container')); this.editRow(0); - this.clock.tick(); + this.clock.tick(10); this.keyboardNavigationController.focus(this.getCellElement(0, 1)); - this.clock.tick(); + this.clock.tick(10); // assert const $selectBoxElement = $(this.getCellElement(0, 1)).find('.dx-selectbox').first(); @@ -17803,7 +17803,7 @@ QUnit.module('Edit Form', { // act $selectBoxElement.trigger('dxpointerdown'); $selectBoxElement.dxSelectBox('instance').option('value', 2); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.getCellElement(0, 1)).find('.dx-selectbox').hasClass('dx-state-focused'), 'second cell is focused'); @@ -17832,10 +17832,10 @@ QUnit.module('Edit Form', { this.rowsView.render($('#container')); this.editRow(0); - this.clock.tick(); + this.clock.tick(10); this.keyboardNavigationController.focus(this.getCellElement(0, 0)); - this.clock.tick(); + this.clock.tick(10); // assert const $editorElement = $(this.getCellElement(0, 0)).find('.dx-numberbox').first(); @@ -17844,7 +17844,7 @@ QUnit.module('Edit Form', { // act $editorElement.trigger('dxpointerdown'); $editorElement.dxNumberBox('instance').option('value', 2); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.getCellElement(0, 0)).find('.dx-numberbox').hasClass('dx-state-focused'), 'first editor is focused'); @@ -19589,7 +19589,7 @@ QUnit.module('Promises in callbacks and events', { that.clock.tick(500); that.saveEditData(); - that.clock.tick(); + that.clock.tick(10); visibleRows = that.getVisibleRows(); @@ -19644,7 +19644,7 @@ QUnit.module('Promises in callbacks and events', { that.clock.tick(500); that.saveEditData(); - that.clock.tick(); + that.clock.tick(10); visibleRows = that.getVisibleRows(); @@ -19753,7 +19753,7 @@ QUnit.module('Promises in callbacks and events', { assert.equal(visibleRows.length, 7); // act - that.clock.tick(500); + that.clock.tick(510); const $insertedRows = $('.dx-row-inserted'); @@ -19765,7 +19765,7 @@ QUnit.module('Promises in callbacks and events', { // act that.saveEditData(); - that.clock.tick(); + that.clock.tick(10); visibleRows = that.getVisibleRows(); @@ -19818,7 +19818,7 @@ QUnit.module('Promises in callbacks and events', { assert.equal(visibleRows.length, 7); // act - that.clock.tick(500); + that.clock.tick(510); const $insertedRow = $('.dx-row-inserted'); @@ -19829,7 +19829,7 @@ QUnit.module('Promises in callbacks and events', { // act that.saveEditData(); - that.clock.tick(); + that.clock.tick(10); visibleRows = that.getVisibleRows(); @@ -20317,14 +20317,14 @@ QUnit.module('Editing - new row position', { this.options.paging.pageIndex = 2; this.options.editing.newRowPosition = 'first'; this.setupModules(); - this.clock.tick(); + this.clock.tick(10); this.rowsView.render($testElement); this.rowsView.height(200); this.rowsView.resize(); - this.clock.tick(); + this.clock.tick(10); $(this.rowsView.getScrollable().container()).trigger('scroll'); - this.clock.tick(); + this.clock.tick(10); // assert let rows = this.getVisibleRows(); @@ -20333,11 +20333,11 @@ QUnit.module('Editing - new row position', { // act this.addRow(); - this.clock.tick(); + this.clock.tick(10); $(this.rowsView.getScrollable().container()).trigger('scroll'); - this.clock.tick(); + this.clock.tick(10); this.contentReadyCallbacks.fire(); - this.clock.tick(); + this.clock.tick(10); // assert rows = this.getVisibleRows(); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/editorFactory.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/editorFactory.tests.js index 42e451b69027..19ad6463a4b4 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/editorFactory.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/editorFactory.tests.js @@ -1449,7 +1449,7 @@ QUnit.module('Focus', { // act $testElement.find('.dx-datagrid-rowsview tbody > tr').eq(1).children().eq(1).trigger('dxpointerdown'); $testElement.find('.dx-datagrid-rowsview tbody > tr').eq(1).children().eq(1).trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); // assert $cell = $testElement.find('.dx-datagrid-rowsview tbody > tr').eq(1).children().eq(1); @@ -1460,7 +1460,7 @@ QUnit.module('Focus', { $testElement.find('.dx-datagrid-filter-row input').eq(1).trigger('focus'); $testElement.find('.dx-datagrid-filter-row input').eq(1).trigger('dxpointerdown'); $testElement.find('.dx-datagrid-filter-row input').eq(1).trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); // assert $cell = $testElement.find('.dx-datagrid-filter-row > td').eq(1); @@ -1511,7 +1511,7 @@ QUnit.module('Focus', { $cell = $testElement.find('.dx-datagrid-rowsview tbody > tr').eq(0).children().eq(0); $cell.trigger('dxpointerdown'); $cell.trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); // assert $cell = $testElement.find('.dx-datagrid-rowsview tbody > tr').eq(0).children().eq(0); @@ -1558,7 +1558,7 @@ QUnit.module('Focus', { $cell = $testElement.find('.dx-datagrid-rowsview tbody > tr').eq(0).children().eq(0); $cell.trigger('dxpointerdown'); $cell.trigger('dxclick'); - that.clock.tick(); + that.clock.tick(10); // assert $cell = $testElement.find('.dx-datagrid-rowsview tbody > tr').eq(0).children().eq(0); From 8d40f30a5f29808c453a2b380d2c8fa430761db7 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 17:27:21 +0300 Subject: [PATCH 31/38] fix appointments tests --- .../tests/DevExpress.ui.widgets.scheduler/appointments.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js b/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js index 80cbaedbe14a..0248470fc167 100644 --- a/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js +++ b/testing/tests/DevExpress.ui.widgets.scheduler/appointments.tests.js @@ -1071,7 +1071,7 @@ QUnit.module('Appointments Keyboard Navigation', moduleOptions, () => { this.clock.tick(); assert.ok(focusSpy.called, 'focus is called'); - focusSpy.reset(); + focusSpy.resetHistory(); eventsEngine.trigger = initialTrigger; }); From 4b18e917b0b11c00232620eb23834731b7129d1d Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 17:48:06 +0300 Subject: [PATCH 32/38] fix charts --- .../chart.integration.tests.js | 2 +- .../projection.tests.js | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/testing/tests/DevExpress.viz.charts/chart.integration.tests.js b/testing/tests/DevExpress.viz.charts/chart.integration.tests.js index 92ff3c1a5a8e..cf4cd05ab07c 100644 --- a/testing/tests/DevExpress.viz.charts/chart.integration.tests.js +++ b/testing/tests/DevExpress.viz.charts/chart.integration.tests.js @@ -2971,7 +2971,7 @@ QUnit.module('Option changing in onDrawn after zooming', { beforeEach: function() { this.legendShiftSpy = sinon.spy(legendModule.Legend.prototype, 'move'); this.titleShiftSpy = sinon.spy(titleModule.Title.prototype, 'move'); - this.rendererSpy = sinon.spy(rendererModule, 'Renderer', function() { + this.rendererSpy = sinon.stub(rendererModule, 'Renderer').callsFake(function() { return new vizMocks.Renderer(); }); }, diff --git a/testing/tests/DevExpress.viz.vectorMap/projection.tests.js b/testing/tests/DevExpress.viz.vectorMap/projection.tests.js index ce14ee35ce4e..7d470e98ae23 100644 --- a/testing/tests/DevExpress.viz.vectorMap/projection.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/projection.tests.js @@ -24,8 +24,8 @@ const environment = { this.projection.setEngine(this.engine); this.projection.setCenter([20, -10]); this.projection.setZoom(2); - this.centerChanged.resetHistory(); - this.zoomChanged.resetHistory(); + this.centerChanged.reset(); + this.zoomChanged.reset(); }, afterEach: function() { @@ -127,8 +127,8 @@ QUnit.test('setEngine / center is not changed', function(assert) { this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setCenter(engine.center()); this.projection.setZoom(1); - this.centerChanged.resetHistory(); - this.zoomChanged.resetHistory(); + this.centerChanged.reset(); + this.zoomChanged.reset(); this.projection.on({ engine: onEngine, screen: onScreen, center: onCenter, zoom: onZoom }); this.projection.setEngine(engine); @@ -446,7 +446,7 @@ QUnit.test('setZoom / not changed', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setZoom(3); - this.zoomChanged.resetHistory(); + this.zoomChanged.reset(); this.projection.on({ zoom: onZoom }); this.projection.setZoom(3); @@ -461,7 +461,7 @@ QUnit.test('setZoom / out of bounds', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setMaxZoom(5); - this.zoomChanged.resetHistory(); + this.zoomChanged.reset(); this.projection.on({ zoom: onZoom }); this.projection.setZoom(10); @@ -476,7 +476,7 @@ QUnit.test('setZoom / not valid', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setZoom(3); - this.zoomChanged.resetHistory(); + this.zoomChanged.reset(); this.projection.on({ zoom: onZoom }); this.projection.setZoom('test'); @@ -1214,10 +1214,10 @@ QUnit.test('creation / validation', function(assert) { QUnit.test('creation', function(assert) { const to = sinon.stub().returns([1000, 2000]); const from = sinon.stub().returns([3000, 4000]); - from.withArgs([0, 0]).returns([300, 400]); - from.withArgs([-1, 0]).returns([10, 20]); + from.withArgs([0, -0]).returns([300, 400]); + from.withArgs([-1, -0]).returns([10, 20]); from.withArgs([0, +1]).returns([30, 40]); - from.withArgs([+1, 0]).returns([50, 60]); + from.withArgs([+1, -0]).returns([50, 60]); from.withArgs([0, -1]).returns([70, 80]); const proj = projection({ From c0dc344568f4ee7802a7a4d4b0386fbaf8180f5e Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 18:39:32 +0300 Subject: [PATCH 33/38] fix more tests --- .../filtering.integration.tests.js | 28 +-- .../focus.integration.tests.js | 172 +++++++++--------- .../listParts/commonTests.js | 4 +- .../scrollableParts/scrollable.api.tests.js | 48 ++--- .../scrollable.dynamic.tests.js | 2 +- .../projection.tests.js | 14 +- 6 files changed, 135 insertions(+), 133 deletions(-) diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/filtering.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/filtering.integration.tests.js index 25f6cd165d83..9492fa72b9fc 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/filtering.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/filtering.integration.tests.js @@ -158,7 +158,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }); // act - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(onEditorPreparingCallCount, 2, 'onEditorPreparing call count'); @@ -333,7 +333,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }); - this.clock.tick(); + this.clock.tick(10); assert.ok(dataGrid); assert.equal(contentReadyCallCount, 1, 'contentReady is called once'); assert.equal(loadCallCount, 1, '1 load count on start'); @@ -644,7 +644,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }, columns: ['id', { dataField: 'name', filterValue }] }); - this.clock.tick(); + this.clock.tick(10); let visibleRows = dataGrid.getVisibleRows(); // assert @@ -653,7 +653,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act dataGrid.option('columns', ['id', { dataField: 'name', filterValue, selectedFilterOperation: '<>' }]); - this.clock.tick(); + this.clock.tick(10); visibleRows = dataGrid.getVisibleRows(); // assert @@ -677,7 +677,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }, columns: ['id', { dataField: 'name', filterValue }] }); - this.clock.tick(); + this.clock.tick(10); let visibleRows = dataGrid.getVisibleRows(); // assert @@ -693,7 +693,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act dataGrid.option('columns', ['id', { dataField: 'name', filterValue, selectedFilterOperation: '<>' }]); - this.clock.tick(); + this.clock.tick(10); visibleRows = dataGrid.getVisibleRows(); // assert @@ -717,7 +717,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }, columns: ['id', { dataField: 'name', filterValue }] }); - this.clock.tick(); + this.clock.tick(10); let visibleRows = dataGrid.getVisibleRows(); // assert @@ -725,7 +725,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act dataGrid.option('columns', ['id', { dataField: 'name', filterValue, allowFiltering: false }]); - this.clock.tick(); + this.clock.tick(10); visibleRows = dataGrid.getVisibleRows(); // assert @@ -748,7 +748,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }, columns: ['id', { dataField: 'name', filterValue }] }); - this.clock.tick(); + this.clock.tick(10); let visibleRows = dataGrid.getVisibleRows(); // assert @@ -763,7 +763,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act dataGrid.option('columns', ['id', { dataField: 'name', filterValue, allowFiltering: false }]); - this.clock.tick(); + this.clock.tick(10); visibleRows = dataGrid.getVisibleRows(); // assert @@ -849,7 +849,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }, columns: ['id', { dataField: 'name', filterValues }] }); - this.clock.tick(); + this.clock.tick(10); let visibleRows = dataGrid.getVisibleRows(); // assert @@ -858,7 +858,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act dataGrid.option('columns', ['id', { dataField: 'name', filterValues, filterType: 'exclude' }]); - this.clock.tick(); + this.clock.tick(10); visibleRows = dataGrid.getVisibleRows(); // assert @@ -882,7 +882,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }, columns: ['id', { dataField: 'name', filterValues }] }); - this.clock.tick(); + this.clock.tick(10); let visibleRows = dataGrid.getVisibleRows(); // assert @@ -898,7 +898,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { // act dataGrid.option('columns', ['id', { dataField: 'name', filterValues, filterType: 'exclude' }]); - this.clock.tick(); + this.clock.tick(10); visibleRows = dataGrid.getVisibleRows(); // assert diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/focus.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/focus.integration.tests.js index b3a26a8798f9..d0094e495141 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/focus.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/focus.integration.tests.js @@ -409,7 +409,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { } }).dxDataGrid('instance'); - this.clock.tick(300); + this.clock.tick(310); const $scrollContainer = $(dataGrid.element()).find('.dx-datagrid-rowsview .dx-scrollable-container'); $scrollContainer.trigger('scroll'); @@ -450,7 +450,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { } }).dxDataGrid('instance'); - this.clock.tick(300); + this.clock.tick(310); // assert assert.equal(dataGrid.getTopVisibleRowData().id, 150, 'Focused row is visible'); @@ -578,12 +578,12 @@ QUnit.module('Initialization', baseModuleConfig, () => { const navigationController = dataGrid.getController('keyboardNavigation'); $(dataGrid.getRowElement(0)).find('.dx-command-edit > .dx-link-edit').trigger(pointerEvents.up).click(); - this.clock.tick(); + this.clock.tick(10); navigationController._keyDownHandler({ key: 'Tab', keyName: 'tab', originalEvent: $.Event('keydown', { target: $(dataGrid.getCellElement(0, 0)) }) }); $(dataGrid.getCellElement(0, 1)).trigger(pointerEvents.up); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(dataGrid.getCellElement(0, 1)).hasClass('dx-focused')); }); @@ -962,7 +962,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { dataGrid.focus(dataGrid.getCellElement(1, 2)); const keyboardController = dataGrid.getController('keyboardNavigation'); keyboardController._keyDownHandler({ key: 'Tab', keyName: 'tab', originalEvent: $.Event('keydown', { target: $(':focus').get(0) }) }); - this.clock.tick(); + this.clock.tick(10); const $cell = $(dataGrid.element()).find('.dx-focused'); @@ -1137,7 +1137,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { ] }); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(focusedRowChangedCallCount, 1, 'focusedRowChangedCallCount'); @@ -1297,11 +1297,11 @@ QUnit.module('Initialization', baseModuleConfig, () => { columns: [{ type: 'buttons' }, 'name', 'phone'] }); - this.clock.tick(); + this.clock.tick(10); // act $(dataGrid.getRowElement(0)).find('.dx-command-edit > .dx-link-edit').trigger(pointerEvents.up).click(); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(dataGrid.getRowElement(0)).find('.dx-editor-cell').eq(0).hasClass('dx-focused'), 'first editable cell is active'); @@ -1389,7 +1389,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { } }); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(onFocusedRowChangedSpy.callCount, 1, 'onFocusedRowChanged is fired'); @@ -1460,7 +1460,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { $input.val(1); $input.trigger('change'); - this.clock.tick(); + this.clock.tick(10); // assert @@ -1641,7 +1641,7 @@ QUnit.module('Virtual row rendering', baseModuleConfig, () => { // act const scrollable = dataGrid.getScrollable(); scrollable.scrollBy(400); - this.clock.tick(); + this.clock.tick(10); const firstVisibleRowKey = dataGrid.getVisibleRows()[0].key; const scrollTop = scrollable.scrollTop(); @@ -1650,9 +1650,9 @@ QUnit.module('Virtual row rendering', baseModuleConfig, () => { const $checkBox = $cell.find('.dx-checkbox').eq(0); $checkBox.trigger('dxpointerdown'); - this.clock.tick(); + this.clock.tick(10); $checkBox.trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(dataGrid.getVisibleRows()[0].key, firstVisibleRowKey, 'first visible row key'); @@ -1839,6 +1839,7 @@ QUnit.module('View\'s focus', { // act this.focusGridCell($(this.dataGrid.$element()).find('.dx-datagrid-rowsview td').eq(4)); + this.clock.tick(10); const $focusedCell = $(this.dataGrid.$element()).find('.dx-focused'); @@ -1872,13 +1873,13 @@ QUnit.module('View\'s focus', { } } }); - this.clock.tick(); + this.clock.tick(10); // act this.dataGrid.expandRow(0); - this.clock.tick(); + this.clock.tick(10); $(detailGrid.getCellElement(0, 0)).focus(); - this.clock.tick(); + this.clock.tick(10); // assert const focusOverlay = detailRowsViewWrapper.getFocusOverlay(); @@ -1922,6 +1923,7 @@ QUnit.module('View\'s focus', { // act this.focusGridCell($(this.dataGrid.$element()).find('.dx-datagrid-rowsview td').get(4)); + this.clock.tick(10); const $focusedCell = $(this.dataGrid.$element()).find('.dx-focused'); @@ -1968,10 +1970,10 @@ QUnit.module('View\'s focus', { } }); this.dataGrid.expandRow(0); - this.clock.tick(); + this.clock.tick(10); const $dateBoxInput = $(this.dataGrid.$element()).find('.internal-grid .dx-datagrid-filter-row').find('.dx-texteditor-input').first(); $dateBoxInput.focus(); - this.clock.tick(); + this.clock.tick(10); const keyboard = keyboardMock($dateBoxInput); // act @@ -2011,18 +2013,18 @@ QUnit.module('View\'s focus', { } }); this.dataGrid.expandRow(0); - this.clock.tick(); + this.clock.tick(10); // act this.keyboardNavigationController._focusedCellPosition = { rowIndex: 0, columnIndex: 1 }; const $dateBoxInput = $(this.dataGrid.$element()).find('.internal-grid .dx-datagrid-filter-row').find('.dx-texteditor-input').first(); $dateBoxInput.focus(); - this.clock.tick(); + this.clock.tick(10); const keyboard = keyboardMock($dateBoxInput); // act keyboard.keyDown('1'); - this.clock.tick(); + this.clock.tick(10); // assert assert.deepEqual(this.keyboardNavigationController._focusedCellPosition, { rowIndex: 0, columnIndex: 1 }, 'Master grid focusedCellPosition is not changed'); @@ -2498,14 +2500,14 @@ QUnit.module('View\'s focus', { width: 120 }); - this.clock.tick(); + this.clock.tick(10); const $cell0 = $(dataGrid.getCellElement(0, 0)); $cell0.trigger(CLICK_EVENT).trigger('dxclick'); let keyboard = keyboardMock($cell0); keyboard.keyDown('right'); - this.clock.tick(); + this.clock.tick(10); const $cell1 = $(dataGrid.getCellElement(0, 2)); @@ -2517,7 +2519,7 @@ QUnit.module('View\'s focus', { keyboard = keyboardMock($cell1); keyboard.keyDown('left'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($cell0.hasClass('dx-focused'), 'cell is focused'); @@ -2569,12 +2571,12 @@ QUnit.module('View\'s focus', { { dataField: 'description', allowEditing: false } ] }); - this.clock.tick(); + this.clock.tick(10); // act let $cell = $(dataGrid.getCellElement(rowIndex, 1)); $cell.trigger(CLICK_EVENT).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); let keyboard = keyboardMock($cell); keyboard.keyDown('a'); this.clock.tick(25); // 25 because of T882996 @@ -2586,7 +2588,7 @@ QUnit.module('View\'s focus', { // act keyboard = keyboardMock($cell); keyboard.keyDown(arrowKey); - this.clock.tick(); + this.clock.tick(10); $cell = $(dataGrid.getCellElement(rowIndex, 1)); const cellValue = dataGrid.cellValue(rowIndex, 1); @@ -2799,7 +2801,7 @@ QUnit.module('View\'s focus', { $firstCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($firstCell); keyboard.keyDown('tab'); - this.clock.tick(); + this.clock.tick(10); const $secondCell = $(this.dataGrid.getCellElement(0, 1)); // assert @@ -2835,7 +2837,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); scrollable.scrollTo({ left: 0 }); @@ -2847,7 +2849,7 @@ QUnit.module('View\'s focus', { $firstCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($firstCell); keyboard.keyDown('tab'); - this.clock.tick(); + this.clock.tick(10); const $secondCell = $(this.dataGrid.getCellElement(0, 1)); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); @@ -2883,7 +2885,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); // assert @@ -2894,7 +2896,7 @@ QUnit.module('View\'s focus', { $lastCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($lastCell); keyboard.keyDown('tab', { shiftKey: true }); - this.clock.tick(); + this.clock.tick(10); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); const $penultimateCell = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 2)); @@ -2931,7 +2933,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); @@ -2943,7 +2945,7 @@ QUnit.module('View\'s focus', { $lastCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($lastCell); keyboard.keyDown('tab', { shiftKey: true }); - this.clock.tick(); + this.clock.tick(10); const $penultimateCell = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 2)); // assert @@ -2982,14 +2984,14 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); // act const $cell0_last = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 1)); $cell0_last.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($cell0_last); keyboard.keyDown('tab'); - this.clock.tick(); + this.clock.tick(10); const $cell1_first = $(this.dataGrid.getCellElement(1, 0)); // assert @@ -3029,14 +3031,14 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); // act const $cell0_last = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 1)); $cell0_last.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($cell0_last); keyboard.keyDown('tab'); - this.clock.tick(); + this.clock.tick(10); const $cell1_first = $(this.dataGrid.getCellElement(1, 0)); // assert @@ -3073,14 +3075,14 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); // act const $cell1_first = $(this.dataGrid.getCellElement(1, 0)); $cell1_first.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($cell1_first); keyboard.keyDown('tab', { shiftKey: true }); - this.clock.tick(); + this.clock.tick(10); const $cell0_last = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 1)); // assert @@ -3118,14 +3120,14 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); // act const $cell0_last = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 1)); $cell0_last.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($cell0_last); keyboard.keyDown('tab', { shiftKey: true }); - this.clock.tick(); + this.clock.tick(10); const $penultimateCell = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 2)); @@ -3161,7 +3163,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); scrollable.scrollTo({ left: this.keyboardNavigationController._getMaxHorizontalOffset() }); @@ -3174,7 +3176,7 @@ QUnit.module('View\'s focus', { $firstCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($firstCell); keyboard.keyDown('right'); - this.clock.tick(); + this.clock.tick(10); const $secondCell = $(this.dataGrid.getCellElement(0, 1)); // assert @@ -3212,7 +3214,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); scrollable.scrollTo({ left: this.keyboardNavigationController._getMaxHorizontalOffset() }); @@ -3225,7 +3227,7 @@ QUnit.module('View\'s focus', { $firstCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($firstCell); keyboard.keyDown('right'); - this.clock.tick(); + this.clock.tick(10); const $secondCell = $(this.dataGrid.getCellElement(0, 1)); // assert @@ -3261,7 +3263,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); scrollable.scrollTo({ left: 0 }); @@ -3273,7 +3275,7 @@ QUnit.module('View\'s focus', { $firstCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($firstCell); keyboard.keyDown('left'); - this.clock.tick(); + this.clock.tick(10); const $secondCell = $(this.dataGrid.getCellElement(0, 1)); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); @@ -3313,7 +3315,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); scrollable.scrollTo({ left: 0 }); @@ -3325,7 +3327,7 @@ QUnit.module('View\'s focus', { $firstCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($firstCell); keyboard.keyDown('left'); - this.clock.tick(); + this.clock.tick(10); const $secondCell = $(this.dataGrid.getCellElement(0, 1)); // assert @@ -3360,7 +3362,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); // assert @@ -3371,7 +3373,7 @@ QUnit.module('View\'s focus', { $lastCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($lastCell); keyboard.keyDown('left'); - this.clock.tick(); + this.clock.tick(10); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); const $penultimateCell = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 2)); @@ -3410,7 +3412,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); // assert @@ -3421,7 +3423,7 @@ QUnit.module('View\'s focus', { $lastCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($lastCell); keyboard.keyDown('left'); - this.clock.tick(); + this.clock.tick(10); const $penultimateCell = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 2)); // assert @@ -3457,7 +3459,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); @@ -3469,7 +3471,7 @@ QUnit.module('View\'s focus', { $lastCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($lastCell); keyboard.keyDown('right'); - this.clock.tick(); + this.clock.tick(10); const $penultimateCell = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 2)); // assert @@ -3508,7 +3510,7 @@ QUnit.module('View\'s focus', { columns[16].fixed = true; } }); - this.clock.tick(); + this.clock.tick(10); const scrollable = this.dataGrid.getScrollable(); const maxScrollOffset = this.keyboardNavigationController._getMaxHorizontalOffset(); @@ -3520,7 +3522,7 @@ QUnit.module('View\'s focus', { $lastCell.trigger(CLICK_EVENT).trigger('dxclick'); const keyboard = keyboardMock($lastCell); keyboard.keyDown('right'); - this.clock.tick(); + this.clock.tick(10); const $penultimateCell = $(this.dataGrid.getCellElement(0, this.dataGrid.getVisibleColumns().length - 2)); // assert @@ -3619,18 +3621,18 @@ QUnit.module('View\'s focus', { } } }); - this.clock.tick(); + this.clock.tick(10); // act $(this.dataGrid.element()).find('.dx-datagrid-rowsview .dx-command-expand:eq(1)').trigger(CLICK_EVENT).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual($(this.dataGrid.element()).find('.dx-datagrid-rowsview .dx-command-expand:eq(1)').attr('tabindex'), '0', 'tab index is set to the expanded button'); // act $(this.dataGrid.element()).find('.myclass .dx-link-edit:eq(0)').trigger('dxpointerdown').trigger('click'); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual($(this.dataGrid.element()).find('.dx-datagrid-rowsview .dx-command-expand:eq(1)').attr('tabindex'), '0', 'tab index is set to the expanded button'); @@ -3741,19 +3743,19 @@ QUnit.module('View\'s focus', { } ], }); - this.clock.tick(); + this.clock.tick(10); for(let i = 0; i < 2; i++) { for(let j = 0; j < 2; j++) { // act $(this.dataGrid.getCellElement(i, j)).trigger('dxpointerdown'); - this.clock.tick(); + this.clock.tick(10); $(this.dataGrid.getCellElement(i, j)).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); if(i === 0 && j === 0) { $(this.dataGrid.getCellElement(i, j)).find('.dx-texteditor-input').val('').trigger('change'); - this.clock.tick(); + this.clock.tick(10); } // assert @@ -3791,10 +3793,10 @@ QUnit.module('View\'s focus', { } ], }); - this.clock.tick(); + this.clock.tick(10); $(this.dataGrid.element()).find('.dx-datagrid-addrow-button').trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(this.dataGrid.getVisibleRows()[0].isNewRow, 'the first new row'); @@ -3809,9 +3811,9 @@ QUnit.module('View\'s focus', { // act $(this.dataGrid.getCellElement(i, j)).trigger('dxpointerdown'); - this.clock.tick(); + this.clock.tick(10); $(this.dataGrid.getCellElement(i, j)).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.dataGrid.getCellElement(0, 0)).hasClass('dx-datagrid-invalid'), `the first cell is rendered as invalid when the {${i}, ${j}} cell is clicked`); @@ -4010,18 +4012,18 @@ QUnit.module('API methods', baseModuleConfig, () => { const navigationController = dataGrid.getController('keyboardNavigation'); // act - this.clock.tick(); + this.clock.tick(10); dataGrid.getScrollable().scrollTo({ left: 0, top: 1500 }); - this.clock.tick(); + this.clock.tick(10); const rowData = dataGrid.getTopVisibleRowData(); dataGrid.editCell(dataGrid.getRowIndexByKey(rowData) + 1, 0); - this.clock.tick(); + this.clock.tick(10); $(dataGrid.$element()).find('.dx-textbox').dxTextBox('instance').option('value', 'Test'); navigationController._keyDownHandler({ key: 'Tab', keyName: 'tab', originalEvent: $.Event('keydown', { target: $(dataGrid.$element()).find('input').get(0) }) }); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(Math.floor(rowData.index / 20), 2, 'scroll position is on third page'); @@ -4058,17 +4060,17 @@ QUnit.module('API methods', baseModuleConfig, () => { const navigationController = dataGrid.getController('keyboardNavigation'); // act - this.clock.tick(); + this.clock.tick(10); dataGrid.getScrollable().scrollTo({ x: 0, y: 10000 }); - this.clock.tick(); + this.clock.tick(10); const rowData = dataGrid.getTopVisibleRowData(); dataGrid.editCell(dataGrid.getRowIndexByKey(array[198]), 0); - this.clock.tick(); + this.clock.tick(10); $(dataGrid.$element()).find('.dx-textbox').dxTextBox('instance').option('value', 'Test'); navigationController._keyDownHandler({ key: 'Tab', keyName: 'tab', originalEvent: $.Event('keydown', { target: $(dataGrid.$element()).find('input').get(0) }) }); - this.clock.tick(); + this.clock.tick(10); // assert assert.roughEqual(dataGrid.getTopVisibleRowData().index, rowData.index, 1.01, 'scroll position is not changed'); @@ -4098,11 +4100,11 @@ QUnit.module('API methods', baseModuleConfig, () => { }, columns: ['id', { dataField: 'value', allowEditing: true }] }); - this.clock.tick(); + this.clock.tick(10); // act $('.dx-checkbox').eq(0).trigger('dxclick'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal($('.dx-checkbox').eq(0).attr('aria-checked'), 'true', 'first checkbox is checked'); @@ -4302,7 +4304,7 @@ QUnit.module('API methods', baseModuleConfig, () => { // act dataGrid.editRow(0); - this.clock.tick(); + this.clock.tick(10); const editor = $(dataGrid.$element()).find('.dx-form .dx-texteditor').first().dxTextBox('instance'); const $input = $(editor.$element().find('.dx-texteditor-input')); @@ -4312,7 +4314,7 @@ QUnit.module('API methods', baseModuleConfig, () => { triggerTabPress($input); $($input).trigger('change'); $(dataGrid.$element()).find('.dx-form .dx-texteditor-input').eq(1).focus(); - this.clock.tick(); + this.clock.tick(10); // assert const $secondEditor = $(dataGrid.$element()).find('.dx-form .dx-texteditor').eq(1); @@ -4410,7 +4412,7 @@ QUnit.module('API methods', baseModuleConfig, () => { // act dataGrid.editRow(0); - this.clock.tick(); + this.clock.tick(10); dataGrid.focus(dataGrid.getCellElement(0, 1)); // assert @@ -4420,7 +4422,7 @@ QUnit.module('API methods', baseModuleConfig, () => { // act $('.dx-link-cancel').trigger('dxpointerdown').trigger('click'); - this.clock.tick(); + this.clock.tick(10); // assert const $commandCell = $(dataGrid.getCellElement(0, 1)); @@ -4538,7 +4540,7 @@ QUnit.module('Column Resizing', baseModuleConfig, () => { const $columnsSeparator = $dataGrid.find('.dx-datagrid-columns-separator'); dataGrid.focus(dataGrid.getCellElement(0, 0)); - this.clock.tick(); + this.clock.tick(10); // assert const $overlay = $dataGrid.find('.dx-datagrid-focus-overlay'); @@ -4555,7 +4557,7 @@ QUnit.module('Column Resizing', baseModuleConfig, () => { // act resizeController._isResizing = false; $dataGrid.trigger($.Event('dxclick')); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($overlay.length, 'overlay is rendered'); diff --git a/testing/tests/DevExpress.ui.widgets/listParts/commonTests.js b/testing/tests/DevExpress.ui.widgets/listParts/commonTests.js index e0018c6105d6..c4ef34261813 100644 --- a/testing/tests/DevExpress.ui.widgets/listParts/commonTests.js +++ b/testing/tests/DevExpress.ui.widgets/listParts/commonTests.js @@ -1765,7 +1765,7 @@ QUnit.module('selection', moduleSetup, () => { } }); - clock.tick(0); + clock.tick(10); }); QUnit.test('selection should not be removed after second click if selectionMode is single', function(assert) { @@ -2032,7 +2032,7 @@ QUnit.module('dataSource integration', moduleSetup, () => { pageLoadMode: 'scrollBottom' }); - this.clock.tick(300); + this.clock.tick(310); assert.equal($.trim($list.find('.dx-list-item').text()), '012'); }); diff --git a/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.api.tests.js b/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.api.tests.js index 89e5e254d513..9c700cd4e3ec 100644 --- a/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.api.tests.js +++ b/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.api.tests.js @@ -1263,22 +1263,22 @@ class ScrollableTestHelper { helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: true, reachedBottom: false, reachedLeft: undefined, reachedRight: undefined }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: undefined, reachedRight: undefined }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: 25 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: undefined, reachedRight: undefined }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: maxOffset.vertical - 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: undefined, reachedRight: undefined }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: maxOffset.vertical }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: true, reachedLeft: undefined, reachedRight: undefined }); @@ -1291,22 +1291,22 @@ class ScrollableTestHelper { helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: true, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ left: 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ left: 25 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ left: maxOffset.horizontal - 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ left: maxOffset.horizontal }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: false, reachedRight: true }); @@ -1319,22 +1319,22 @@ class ScrollableTestHelper { helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: true, reachedBottom: false, reachedLeft: true, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: 1, left: 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: 25, left: 25 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: maxOffset.vertical - 1, left: maxOffset.horizontal - 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: maxOffset.vertical, left: maxOffset.horizontal }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: true, reachedLeft: false, reachedRight: true }); @@ -1347,22 +1347,22 @@ class ScrollableTestHelper { helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: true, reachedBottom: false, reachedLeft: undefined, reachedRight: undefined }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: undefined, reachedRight: undefined }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: 25 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: undefined, reachedRight: undefined }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: maxOffset.vertical - 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: undefined, reachedRight: undefined }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: maxOffset.vertical }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: true, reachedLeft: undefined, reachedRight: undefined }); @@ -1375,22 +1375,22 @@ class ScrollableTestHelper { helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: false, reachedRight: true }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ left: maxOffset.horizontal - 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ left: 25 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ left: 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ left: 0 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: undefined, reachedBottom: undefined, reachedLeft: true, reachedRight: false }); @@ -1403,22 +1403,22 @@ class ScrollableTestHelper { helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: true, reachedBottom: false, reachedLeft: false, reachedRight: true }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: 1, left: maxOffset.horizontal - 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: 25, left: 25 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: maxOffset.vertical - 1, left: 1 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: false, reachedLeft: false, reachedRight: false }); - helper.onScrollHandler.reset(); + helper.onScrollHandler.resetHistory(); helper.scrollable.scrollTo({ top: maxOffset.vertical, left: 0 }); helper.$container.trigger('scroll'); helper.checkScrollEvent({ reachedTop: false, reachedBottom: true, reachedLeft: true, reachedRight: false }); diff --git a/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js b/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js index 58ddbd07bf2a..f5ee5e31e687 100644 --- a/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js +++ b/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js @@ -557,7 +557,7 @@ QUnit.test('velocity calculated correctly when content height less than containe onUpdated: updateHandler }); - updateHandler.reset(); + updateHandler.resetHistory(); resizeCallbacks.fire(); diff --git a/testing/tests/DevExpress.viz.vectorMap/projection.tests.js b/testing/tests/DevExpress.viz.vectorMap/projection.tests.js index 7d470e98ae23..e9955faf2bf5 100644 --- a/testing/tests/DevExpress.viz.vectorMap/projection.tests.js +++ b/testing/tests/DevExpress.viz.vectorMap/projection.tests.js @@ -24,8 +24,8 @@ const environment = { this.projection.setEngine(this.engine); this.projection.setCenter([20, -10]); this.projection.setZoom(2); - this.centerChanged.reset(); - this.zoomChanged.reset(); + this.centerChanged.resetHistory(); + this.zoomChanged.resetHistory(); }, afterEach: function() { @@ -127,8 +127,8 @@ QUnit.test('setEngine / center is not changed', function(assert) { this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setCenter(engine.center()); this.projection.setZoom(1); - this.centerChanged.reset(); - this.zoomChanged.reset(); + this.centerChanged.resetHistory(); + this.zoomChanged.resetHistory(); this.projection.on({ engine: onEngine, screen: onScreen, center: onCenter, zoom: onZoom }); this.projection.setEngine(engine); @@ -446,7 +446,7 @@ QUnit.test('setZoom / not changed', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setZoom(3); - this.zoomChanged.reset(); + this.zoomChanged.resetHistory(); this.projection.on({ zoom: onZoom }); this.projection.setZoom(3); @@ -461,7 +461,7 @@ QUnit.test('setZoom / out of bounds', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setMaxZoom(5); - this.zoomChanged.reset(); + this.zoomChanged.resetHistory(); this.projection.on({ zoom: onZoom }); this.projection.setZoom(10); @@ -476,7 +476,7 @@ QUnit.test('setZoom / not valid', function(assert) { const onZoom = sinon.spy(); this.projection.setSize({ left: 200, top: 100, width: 800, height: 700 }); this.projection.setZoom(3); - this.zoomChanged.reset(); + this.zoomChanged.resetHistory(); this.projection.on({ zoom: onZoom }); this.projection.setZoom('test'); From a809ea49d3405a804d77b0e5548b0f367448787d Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 20:05:10 +0300 Subject: [PATCH 34/38] fix scrollable test --- .../scrollableParts/scrollable.dynamic.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js b/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js index f5ee5e31e687..732df3032d35 100644 --- a/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js +++ b/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js @@ -221,7 +221,7 @@ QUnit.test('scrollbar is hidden on stop', function(assert) { .move(0, -10) .up(); - this.clock.tick(); + this.clock.tick(10); const $scroll = $scrollable.find('.dx-scrollable-scroll'); assert.ok($scroll.hasClass('dx-state-invisible'), 'scroll was hidden'); From a18a27c6795acf2f4263256e0453aefd95a74eed Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 20:22:25 +0300 Subject: [PATCH 35/38] fix htmlEditor tests --- .../htmlEditorParts/valueRendering.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.ui.widgets.editors/htmlEditorParts/valueRendering.tests.js b/testing/tests/DevExpress.ui.widgets.editors/htmlEditorParts/valueRendering.tests.js index 796ba18a267a..8239fef58f00 100644 --- a/testing/tests/DevExpress.ui.widgets.editors/htmlEditorParts/valueRendering.tests.js +++ b/testing/tests/DevExpress.ui.widgets.editors/htmlEditorParts/valueRendering.tests.js @@ -180,7 +180,7 @@ export default function() { }); } - this.clock.tick(); + this.clock.tick(10); assert.equal(instance.option('value'), '

Hi!

Test

'); assert.equal(markup, '

Hi!

Test

'); From 1ca952622984c4c54c30cf8e229bc8f5c6aa3510 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 20:24:01 +0300 Subject: [PATCH 36/38] try to fix scrollable --- .../scrollableParts/scrollable.dynamic.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js b/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js index 732df3032d35..52ae8730d919 100644 --- a/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js +++ b/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.dynamic.tests.js @@ -303,7 +303,7 @@ QUnit.test('bounce up', function(assert) { .move(0, 100) .up(); - this.clock.tick(); + this.clock.tick(10); }); QUnit.test('stop bounce on click', function(assert) { From baa95468bacb24d44bd79d87b4f5377a0863b6e6 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 20:43:43 +0300 Subject: [PATCH 37/38] fix more grid --- .../focus.tests.js | 50 ++++++------ .../grouping.integration.tests.js | 10 +-- .../keyboardNavigation.accessibility.tests.js | 22 ++--- .../keyboardNavigation.customization.tests.js | 80 +++++++++---------- .../keyboardNavigation.keyboardKeys.tests.js | 54 ++++++------- ...eyboardNavigation.realControllers.tests.js | 32 ++++---- .../keyboardNavigation.rowsView.tests.js | 4 +- .../scrolling.integration.tests.js | 4 +- .../stateStoring.integration.tests.js | 4 +- .../virtualScrolling.integration.tests.js | 16 ++-- 10 files changed, 138 insertions(+), 138 deletions(-) diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js index 6f6300c9a5f3..a19ef16b5522 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js @@ -467,7 +467,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); const rowsView = this.gridView.getView('rowsView'); @@ -475,7 +475,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { assert.equal(this.option('focusedRowIndex'), undefined, 'FocusedRowIndex is undefined'); // act $('#container [tabindex="0"]').first().trigger('focus').trigger('focusin'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(that.option('focusedRowIndex'), 0, 'focusedRowIndex'); assert.strictEqual(rowsView.getRow(0).attr('tabindex'), undefined, 'Row 0 tabindex'); @@ -532,7 +532,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); const rowsView = this.gridView.getView('rowsView'); @@ -540,7 +540,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { assert.equal(this.option('focusedRowIndex'), undefined, 'FocusedRowIndex is undefined'); // act $('.dx-datagrid-rowsview [tabindex="0"]').first().trigger('focus').trigger('focusin'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(that.option('focusedRowIndex'), 0, 'focusedRowIndex'); assert.strictEqual(rowsView.getRow(0).attr('tabindex'), undefined, 'Row 0 tabindex'); @@ -1181,7 +1181,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.setupModule(); this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); const rowsView = this.gridView.getView('rowsView'); const keyboardController = this.getController('keyboardNavigation'); @@ -1192,7 +1192,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { assert.equal(this.option('focusedColumnIndex'), 1, 'FocusedColumnIndex'); // act keyboardController._leftRightKeysHandler({ key: 'ArrowRight', keyName: 'rightArrow' }); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(keyboardController.getVisibleRowIndex(), 1, 'Focused row index'); assert.equal(keyboardController.getVisibleColumnIndex(), 0, 'Focused column index'); @@ -1235,7 +1235,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.setupModule(); this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); const rowsView = this.gridView.getView('rowsView'); const keyboardController = this.getController('keyboardNavigation'); @@ -1247,7 +1247,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { // act keyboardController._leftRightKeysHandler({ key: 'ArrowRight', keyName: 'rightArrow' }); keyboardController._upDownKeysHandler({ key: 'ArrowDown', keyName: 'downArrow' }); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(keyboardController.getVisibleRowIndex(), 3, 'Focused row index'); assert.equal(keyboardController.getVisibleColumnIndex(), 0, 'Focused column index'); @@ -2247,12 +2247,12 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.setupModule(); this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); const keyboardController = this.getController('keyboardNavigation'); keyboardController._focusedView = this.getView('rowsView'); keyboardController.focus(null); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(focusedCellChangingCount, 1, 'onFocusedCellChanging fires count'); @@ -2825,11 +2825,11 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.setupModule(); this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); // act this.addRow(); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(focusedCellChangedCount, 0, 'onFocusedCellChanged fires count'); @@ -3117,7 +3117,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.setupModule(); this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); const rowsView = this.gridView.getView('rowsView'); const keyboardController = this.getController('keyboardNavigation'); @@ -3125,7 +3125,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { // act $(this.getCellElement(4, 1)).trigger(CLICK_EVENT); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.getController('keyboardNavigation').getVisibleColumnIndex(), 1, 'Focused column index'); assert.equal(focusedColumnChangingCount, 1, 'onFocusedCellChanging fires count'); @@ -3558,7 +3558,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.addRow(); this.addRow(); $(this.getRowElement(0)).find('.dx-texteditor-input').trigger(pointerEvents.up).click(); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.getRowElement(0)).find('.dx-texteditor-input').is(':focus'), 'input is focused'); @@ -3648,11 +3648,11 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.setupModule(); this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); // act $(this.getCellElement(0, 0)).trigger(CLICK_EVENT); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(focusedCellChangingCount, 1, 'onFocusedCellChanging fires count'); @@ -4067,7 +4067,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.setupModule(); this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); const rowsView = this.gridView.getView('rowsView'); rowsView.height(70); @@ -4081,14 +4081,14 @@ QUnit.module('Focused row', getModuleConfig(true), () => { // act scrollTo(this, { y: 1000 }); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.pageIndex(), 5, 'pageIndex'); // act this.addRow(); - this.clock.tick(); + this.clock.tick(10); // assert const newRowIndex = rowsView.getTopVisibleItemIndex(); @@ -4098,7 +4098,7 @@ QUnit.module('Focused row', getModuleConfig(true), () => { // act onFocusedRowChangedSpy.resetHistory(); $(this.getRowElement(newRowIndex)).find('.dx-texteditor-input').trigger(pointerEvents.down).click(); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(onFocusedRowChangedSpy.callCount, 0, 'onFocusedRowChanged event is not called for a new row'); @@ -5574,11 +5574,11 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); // act this.gridView.component.editRow(1); - this.clock.tick(); + this.clock.tick(10); const rowsView = this.gridView.getView('rowsView'); @@ -5607,13 +5607,13 @@ QUnit.module('Focused row', getModuleConfig(true), () => { this.gridView.render($('#container')); - this.clock.tick(); + this.clock.tick(10); // act this.editCell(1, 1); const rowsView = this.gridView.getView('rowsView'); $(rowsView.getRow(1).find('td').eq(1)).trigger(pointerEvents.up).click(); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(rowsView.getRow(1).hasClass('dx-row-focused'), 'Row 1 is focused'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/grouping.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/grouping.integration.tests.js index 8d7a9d0c28a4..c55144eea0a9 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/grouping.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/grouping.integration.tests.js @@ -720,7 +720,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { }, }).dxDataGrid('instance'); - this.clock.tick(); + this.clock.tick(10); const cell0_0 = $(dataGrid.getCellElement(0, 0)).get(0); const cell1_1 = $(dataGrid.getCellElement(1, 1)).get(0); @@ -729,7 +729,7 @@ QUnit.module('Initialization', baseModuleConfig, () => { dataGrid.getDataSource().store().push([ { type: 'update', key: 1, data: { Count: 100 } } ]); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual($(dataGrid.getCellElement(0, 0)).get(0), cell0_0, 'expand cell in the first row is not re-rendered'); @@ -999,12 +999,12 @@ QUnit.module('API methods', baseModuleConfig, () => { dataSource: [{ field1: 'test1', field2: 'test2' }, { field1: 'test3', field2: 'test4' }] }); - this.clock.tick(0); - calculateCellValue.reset(); + this.clock.tick(10); + calculateCellValue.resetHistory(); // act dataGrid.state(null); - this.clock.tick(0); + this.clock.tick(10); // assert assert.deepEqual(calculateCellValue.getCall(0).args[0], { field1: 'test1', field2: 'test2' }, 'calculateCellValue - first call arguments'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.accessibility.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.accessibility.tests.js index a3465f22f3e7..c529520abaaf 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.accessibility.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.accessibility.tests.js @@ -120,14 +120,14 @@ QUnit.module('Keyboard navigation accessibility', { // act this.focusCell(1, 1); this.triggerKeyDown('ArrowRight'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(this.columnsController.getColumns()[2].type, 'buttons', 'Column type'); assert.ok($(this.getCellElement(1, 2)).hasClass('dx-focused'), 'cell focused'); this.triggerKeyDown('tab', false, false, $(this.getCellElement(1, 2))); - this.clock.tick(); + this.clock.tick(10); }); testInDesktop('Focus command elements if row editing', function(assert) { @@ -150,10 +150,10 @@ QUnit.module('Keyboard navigation accessibility', { // act this.editRow(1); - this.clock.tick(); + this.clock.tick(10); $(this.getCellElement(1, 1)).focus().trigger('dxclick'); this.triggerKeyDown('tab', false, false, $(this.getCellElement(1, 1))); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(':focus').hasClass('dx-link'), 'focused element'); @@ -235,18 +235,18 @@ QUnit.module('Keyboard navigation accessibility', { // act this.editCell(1, 1); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('tab', false, false, $(this.getCellElement(1, 1))); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.getCellElement(1, 3)).hasClass('dx-focused'), 'cell focused'); // act this.editCell(1, 4); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('tab', false, false, $(this.getCellElement(1, 4))); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.getCellElement(2, 0)).hasClass('dx-focused'), 'cell focused'); @@ -267,16 +267,16 @@ QUnit.module('Keyboard navigation accessibility', { this.editCell(1, 1); this.clock.tick(); this.triggerKeyDown('tab', false, false, $(this.getCellElement(1, 1))); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.getCellElement(1, 3)).hasClass('dx-focused'), 'cell focused'); // act this.editCell(1, 4); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('tab', false, false, $(this.getCellElement(1, 4))); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.getCellElement(2, 0)).hasClass('dx-focused'), 'cell focused'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.customization.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.customization.tests.js index 40b8717716a4..542d03a3b282 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.customization.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.customization.tests.js @@ -225,7 +225,7 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -233,7 +233,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -260,11 +260,11 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 1, 'row is editing'); @@ -272,7 +272,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter', undefined, true); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -299,7 +299,7 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -307,7 +307,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -335,7 +335,7 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -343,7 +343,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -370,11 +370,11 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -382,7 +382,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter', undefined, true); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -410,11 +410,11 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -422,7 +422,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter', undefined, true); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -449,7 +449,7 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -457,7 +457,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -487,7 +487,7 @@ QUnit.module('Customize keyboard navigation', { this.renderGridView(); - this.clock.tick(); + this.clock.tick(10); // act this.focusFirstCell(); this.triggerKeyDown('enter'); @@ -503,7 +503,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(changedSpy.callCount, 2, 'changed count'); @@ -529,11 +529,11 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 1, 'row is editing'); @@ -541,7 +541,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter', undefined, true); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -568,7 +568,7 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -576,7 +576,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -603,11 +603,11 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -615,7 +615,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter', undefined, true); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -648,7 +648,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -678,7 +678,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -711,7 +711,7 @@ QUnit.module('Customize keyboard navigation', { const $input = $('.dx-row .dx-texteditor-input').eq(0); $input.val('Test'); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -744,7 +744,7 @@ QUnit.module('Customize keyboard navigation', { const $input = $('.dx-row .dx-texteditor-input').eq(0); $input.val('Test'); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), -1, 'row is editing'); @@ -765,7 +765,7 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('F2'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -776,7 +776,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('F2'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -799,7 +799,7 @@ QUnit.module('Customize keyboard navigation', { // act this.focusFirstCell(); this.triggerKeyDown('F2'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); @@ -810,7 +810,7 @@ QUnit.module('Customize keyboard navigation', { // act this.triggerKeyDown('F2'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'row is editing'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.keyboardKeys.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.keyboardKeys.tests.js index 38a9f168a7f3..bb12f2e6b87a 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.keyboardKeys.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.keyboardKeys.tests.js @@ -1418,14 +1418,14 @@ QUnit.module('Keyboard keys', { // act this.focusCell(0, 0); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); const $focusedEditor = testElement.find('.test .dx-texteditor.dx-state-focused input'); assert.equal($focusedEditor.length, 1, 'focused editor in edit from exists'); const e = $.Event('keydown', { key: 'Enter' }); $($focusedEditor).trigger(e); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(testElement.find('.test .dx-texteditor.dx-state-focused').length === 0); @@ -1477,7 +1477,7 @@ QUnit.module('Keyboard keys', { this.focusCell(0, 0); this.triggerKeyDown('enter'); - this.clock.tick(); + this.clock.tick(10); const $focusedEditor = testElement.find('.test .dx-texteditor.dx-state-focused input'); @@ -1485,7 +1485,7 @@ QUnit.module('Keyboard keys', { const e = $.Event('keydown', { key: 'Escape' }); $($focusedEditor).trigger(e); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(testElement.find('.test .dx-texteditor.dx-state-focused').length === 0); @@ -1829,7 +1829,7 @@ QUnit.module('Keyboard keys', { const event = $.Event('change'); $($input).trigger(event); - this.clock.tick(); + this.clock.tick(10); // assert assert.strictEqual(event.isDefaultPrevented(), false, 'default is not prevented'); @@ -1861,7 +1861,7 @@ QUnit.module('Keyboard keys', { this.focusFirstCell(); this.triggerKeyDown('downArrow'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal($('td[tabIndex]').attr('tabIndex'), 0, 'tabIndex of cell'); @@ -1879,7 +1879,7 @@ QUnit.module('Keyboard keys', { // act const e = $.Event('keydown', { key: 'F8' }); $($container.find('.dx-datagrid-rowsview')).trigger(e); - this.clock.tick(); + this.clock.tick(10); // assert @@ -1937,7 +1937,7 @@ QUnit.module('Keyboard keys', { this.gridView.render($container); this.addRow(); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.getVisibleRows().length, 1, 'row is added'); @@ -2225,7 +2225,7 @@ QUnit.module('Keyboard keys', { const $groupRow = $('#container').find('.dx-group-row'); $groupRow.focus(); - this.clock.tick(); + this.clock.tick(10); assert.ok($groupRow.hasClass('dx-focused'), 'group row is focused'); assert.ok($('#container .dx-datagrid-focus-overlay:visible').length, 'focus overlay is visible'); @@ -2265,7 +2265,7 @@ QUnit.module('Keyboard keys', { const $groupRows = $('#container').find('.dx-group-row'); $groupRows.eq(0).focus(); - this.clock.tick(); + this.clock.tick(10); // act this.triggerKeyDown('tab', false, false, $groupRows.eq(0)); @@ -2486,7 +2486,7 @@ QUnit.module('Keyboard keys', { this.gridView.update(); this.editCell(1, 1); - this.clock.tick(); + this.clock.tick(10); assert.ok($('#container .dx-datagrid-focus-overlay:visible').length, 'focus overlay is visible'); @@ -2498,7 +2498,7 @@ QUnit.module('Keyboard keys', { // act this.keyboardNavigationController._isNeedFocus = false; const isPreventDefaultCalled = this.triggerKeyDown('tab', false, false, $lastCell).preventDefault; - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(!isPreventDefaultCalled, 'preventDefault is not called'); @@ -2535,7 +2535,7 @@ QUnit.module('Keyboard keys', { this.gridView.update(); this.editCell(1, 1); - this.clock.tick(); + this.clock.tick(10); assert.ok($('#container .dx-datagrid-focus-overlay:visible').length, 'focus overlay is visible'); @@ -2544,7 +2544,7 @@ QUnit.module('Keyboard keys', { const $lastCell = this.rowsView.element().find('.dx-row').filter(':visible').last().find('td').eq(1); const isPreventDefaultCalled = this.triggerKeyDown('tab', false, false, $lastCell).preventDefault; - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(!isPreventDefaultCalled, 'preventDefault is not called'); @@ -2586,7 +2586,7 @@ QUnit.module('Keyboard keys', { this.gridView.update(); this.addRow(); - this.clock.tick(); + this.clock.tick(10); assert.ok($('#container .dx-datagrid-focus-overlay:visible').length, 'focus overlay is visible'); @@ -2594,7 +2594,7 @@ QUnit.module('Keyboard keys', { // act this.triggerKeyDown('tab', false, false, $firstCell); - this.clock.tick(); + this.clock.tick(10); // assert assert.roughEqual($('#container .dx-datagrid-focus-overlay').outerWidth(), $('#container td').eq(1).outerWidth(), 1.01, 'focus overlay is not visible'); @@ -2792,7 +2792,7 @@ QUnit.module('Keyboard keys', { .focus() .trigger(CLICK_EVENT); let isPreventDefaultCalled = this.triggerKeyDown('tab', false, true, $cell).preventDefault; - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(isPreventDefaultCalled, 'preventDefault is called'); @@ -2801,7 +2801,7 @@ QUnit.module('Keyboard keys', { // act isPreventDefaultCalled = this.triggerKeyDown('tab', false, true, $(':focus')).preventDefault; - this.clock.tick(); + this.clock.tick(10); // assert assert.ok(!isPreventDefaultCalled, 'preventDefault is not called'); @@ -2810,7 +2810,7 @@ QUnit.module('Keyboard keys', { // act const $link1 = $('.link1').first().focus().trigger(pointerEvents.up); isPreventDefaultCalled = this.triggerKeyDown('tab', false, true, $link1).preventDefault; - this.clock.tick(); + this.clock.tick(10); // assert $cell = $(this.rowsView.getCellElement(0, 0)); @@ -3884,12 +3884,12 @@ QUnit.module('Keyboard keys', { // act this.triggerKeyDown('pageDown'); $scrollContainer.trigger('scroll'); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('downArrow'); // navigation to the visible row this.triggerKeyDown('downArrow'); // navigation to the invisible row $scrollContainer.trigger('scroll'); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($('.dx-datagrid-focus-overlay').is(':visible'), 'focus overlay is visible'); @@ -3969,16 +3969,16 @@ QUnit.module('Keyboard keys', { that.rowsView.resize(); this.focusCell(0, 0); // focus the first cell of the first data row - that.clock.tick(); + that.clock.tick(10); // act this.triggerKeyDown('upArrow'); $(that.rowsView.getScrollable().container()).trigger('scroll'); - that.clock.tick(); + that.clock.tick(10); // act this.triggerKeyDown('upArrow'); - that.clock.tick(); + that.clock.tick(10); // assert assert.ok($('.dx-datagrid-focus-overlay').is(':visible'), 'focus overlay is visible'); @@ -4047,7 +4047,7 @@ QUnit.module('Keyboard keys', { const $firstGroupRow = $(this.getRowElement(0)); $firstGroupRow.focus(); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($firstGroupRow.hasClass('dx-focused'), 'the first group row is marked as focused'); @@ -4089,7 +4089,7 @@ QUnit.module('Keyboard keys', { const $firstGroupRow = $(this.getRowElement(0)); $firstGroupRow.focus(); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($firstGroupRow.hasClass('dx-focused'), 'the first group row is marked as focused'); @@ -4097,7 +4097,7 @@ QUnit.module('Keyboard keys', { // act this.triggerKeyDown('downArrow', false, false, $firstGroupRow.get(0)); - this.clock.tick(); + this.clock.tick(10); const $secondGroupRow = $(this.getRowElement(1)); // assert diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.realControllers.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.realControllers.tests.js index 04d2cecc50d9..31f9a0a7f0b8 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.realControllers.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.realControllers.tests.js @@ -100,9 +100,9 @@ QUnit.module('Real DataController and ColumnsController', { // act $expandCell.trigger(CLICK_EVENT); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('rightArrow'); - this.clock.tick(); + this.clock.tick(10); // assert assert.deepEqual(keyboardController._focusedCellPosition, { rowIndex: 0, columnIndex: 1 }, 'focusedCellPosition is a first column'); @@ -132,7 +132,7 @@ QUnit.module('Real DataController and ColumnsController', { this.gridView.render($('#container')); this.editingController.addRow(); - this.clock.tick(); + this.clock.tick(10); const $newRow = $('#container').find('.dx-data-row').first(); assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'edit row index'); @@ -141,7 +141,7 @@ QUnit.module('Real DataController and ColumnsController', { // act this.triggerKeyDown('tab', false, false, $('#container').find('input')); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'edit row index'); @@ -162,7 +162,7 @@ QUnit.module('Real DataController and ColumnsController', { this.gridView.render($('#container')); this.editingController.addRow(); - this.clock.tick(); + this.clock.tick(10); const $newRow = $('#container').find('.dx-data-row').first(); @@ -172,7 +172,7 @@ QUnit.module('Real DataController and ColumnsController', { // act this.triggerKeyDown('tab', false, false, $('#container').find('input')); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(this.editingController._getVisibleEditRowIndex(), 0, 'edit row index'); @@ -290,10 +290,10 @@ QUnit.module('Real DataController and ColumnsController', { // act this.editRow(1); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('tab', false, false, $(':focus')); - this.clock.tick(); + this.clock.tick(10); assert.deepEqual(navigationController._focusedCellPosition, { rowIndex: 1, columnIndex: 1 }); const cell = dataGridWrapper.rowsView.getDataRow(1).getCell(1); @@ -557,16 +557,16 @@ QUnit.module('Real DataController and ColumnsController', { // act this.gridView.render($('#container')); $(this.getCellElement(1, 1)).trigger(CLICK_EVENT); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('upArrow', false, false, $(':focus')); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($(this.getCellElement(0, 1)).hasClass('dx-focused'), 'Cell has focus overlay'); // act this.editCell(0, 1); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(editingStartFiresCount, 1, 'onEditingStart fires count'); @@ -754,10 +754,10 @@ QUnit.module('Real DataController and ColumnsController', { // act this.editCell(0, 1); - this.clock.tick(); + this.clock.tick(10); this.triggerKeyDown('enter', false, false, $(this.rowsView.element().find('.dx-data-row:nth-child(1) td:nth-child(2)'))); this.gridView.component.editorFactoryController._$focusedElement = undefined; - this.clock.tick(); + this.clock.tick(10); const $cell = $(this.rowsView.element().find('.dx-data-row:nth-child(1) td:nth-child(2)')); @@ -1553,18 +1553,18 @@ QUnit.module('Real DataController and ColumnsController', { this.setupModule(); this.gridView.render($container); - this.clock.tick(); + this.clock.tick(10); let $commandCell = $(this.getCellElement(0, 0)); $commandCell.focus(); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($commandCell.is(':focus'), 'command cell is focused'); assert.equal($commandCell.find('.dx-datagrid-group-closed').length, 1, 'cell is rendered as collapsed'); this.triggerKeyDown('enter', false, false, $commandCell); - this.clock.tick(); + this.clock.tick(10); $commandCell = $(this.getCellElement(0, 0)); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.rowsView.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.rowsView.tests.js index 5cbe7982f744..6d4522ac7456 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.rowsView.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/keyboardNavigation.rowsView.tests.js @@ -158,12 +158,12 @@ QUnit.module('Rows view', { const testElement = $('#container'); rowsView.render(testElement); - this.clock.tick(); + this.clock.tick(10); // act const $focusable = testElement.find('[tabIndex]').first(); $focusable.focus(); - this.clock.tick(); + this.clock.tick(10); // assert assert.ok($focusable.is('td'), 'focusable is cell'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/scrolling.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/scrolling.integration.tests.js index 36ce84c99ba2..eefd1dcafae8 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/scrolling.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/scrolling.integration.tests.js @@ -424,7 +424,7 @@ QUnit.module('Scrolling', baseModuleConfig, () => { // act dataGrid.navigateToRow('Zeb'); - this.clock.tick(); + this.clock.tick(10); const rowsView = dataGrid.getView('rowsView'); @@ -1020,7 +1020,7 @@ QUnit.module('Scrolling', baseModuleConfig, () => { // act dataGrid.focus($(dataGrid.getCellElement(0, 2))); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(dataGrid.getView('rowsView').getScrollable().scrollLeft(), 400, 'Correct offset'); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/stateStoring.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/stateStoring.integration.tests.js index a4496e1033a1..fade63a8bd45 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/stateStoring.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/stateStoring.integration.tests.js @@ -230,11 +230,11 @@ QUnit.module('State storing', baseModuleConfig, () => { }); // act - this.clock.tick(0); + this.clock.tick(10); // act dataGrid.state({}); - this.clock.tick(0); + this.clock.tick(10); // assert const $firstCell = $($(dataGrid.$element()).find('.dx-data-row').eq(0).children().eq(0)); diff --git a/testing/tests/DevExpress.ui.widgets.dataGrid/virtualScrolling.integration.tests.js b/testing/tests/DevExpress.ui.widgets.dataGrid/virtualScrolling.integration.tests.js index 6ce7fb318faa..e19bee0003e5 100644 --- a/testing/tests/DevExpress.ui.widgets.dataGrid/virtualScrolling.integration.tests.js +++ b/testing/tests/DevExpress.ui.widgets.dataGrid/virtualScrolling.integration.tests.js @@ -105,7 +105,7 @@ QUnit.module('Virtual Scrolling', baseModuleConfig, () => { dataSource: [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }, { id: 7 }, { id: 8 }, { id: 9 }, { id: 10 }] }); - this.clock.tick(); + this.clock.tick(10); // assert const scrollTop = dataGrid.getScrollable().scrollTop(); @@ -419,7 +419,7 @@ QUnit.module('Virtual Scrolling', baseModuleConfig, () => { // act dataGrid.navigateToRow('Zeb'); - this.clock.tick(); + this.clock.tick(10); // assert assert.equal(dataGrid.pageIndex(), 2, 'Page index'); @@ -1841,7 +1841,7 @@ QUnit.module('Virtual Scrolling', baseModuleConfig, () => { } }); - this.clock.tick(300); + this.clock.tick(310); // act dataGrid.getScrollable().scrollTo(2500); @@ -1850,7 +1850,7 @@ QUnit.module('Virtual Scrolling', baseModuleConfig, () => { assert.equal(dataGrid.getVisibleRows()[0].data.id, 1, 'first visible row is correct'); // act - this.clock.tick(300); + this.clock.tick(310); // assert assert.equal(dataGrid.getVisibleRows()[0].data.id, 51, 'first visible row is correct'); @@ -4531,7 +4531,7 @@ QUnit.module('Virtual Scrolling', baseModuleConfig, () => { } }); - this.clock.tick(300); + this.clock.tick(310); let $virtualRowElement = $(dataGrid.element()).find('.dx-virtual-row'); // assert @@ -4547,7 +4547,7 @@ QUnit.module('Virtual Scrolling', baseModuleConfig, () => { assert.ok(dataGridWrapper.rowsView.isElementIntersectViewport($virtualRowElement), 'virtual row is rendered inside viewport after scrolling to bottom'); // act - this.clock.tick(300); + this.clock.tick(310); $virtualRowElement = $(dataGrid.element()).find('.dx-virtual-row'); // assert @@ -4565,7 +4565,7 @@ QUnit.module('Virtual Scrolling', baseModuleConfig, () => { assert.notOk(dataGridWrapper.rowsView.isElementIntersectViewport($($virtualRowElement.get(1))), 'bottom virtual row is rendered outside viewport after scrolling to top'); // act - this.clock.tick(300); + this.clock.tick(310); $virtualRowElement = $(dataGrid.element()).find('.dx-virtual-row'); // assert @@ -4598,7 +4598,7 @@ QUnit.module('Virtual Scrolling', baseModuleConfig, () => { } }); - this.clock.tick(300); + this.clock.tick(310); let $virtualRowElement = $(dataGrid.element()).find('.dx-virtual-row'); // assert From 6172e2fb81ab48cff807170c9a0a725812af9692 Mon Sep 17 00:00:00 2001 From: ksercs Date: Wed, 15 Dec 2021 21:42:29 +0300 Subject: [PATCH 38/38] try to check if default ms offset helps to get rid of unstability --- testing/helpers/sinon.js | 9 +++++++++ testing/runner/Views/Main/RunSuite.cshtml | 1 + 2 files changed, 10 insertions(+) create mode 100644 testing/helpers/sinon.js diff --git a/testing/helpers/sinon.js b/testing/helpers/sinon.js new file mode 100644 index 000000000000..4d4d8599eacf --- /dev/null +++ b/testing/helpers/sinon.js @@ -0,0 +1,9 @@ + +(function() { + const originalSinonTick = sinon.tick; + + sinon.tick = (ms) => { + ms = ms ?? 10; + originalSinonTick(ms); + }; +})(); diff --git a/testing/runner/Views/Main/RunSuite.cshtml b/testing/runner/Views/Main/RunSuite.cshtml index b1b6c1ceaa4b..e80a85924d20 100644 --- a/testing/runner/Views/Main/RunSuite.cshtml +++ b/testing/runner/Views/Main/RunSuite.cshtml @@ -134,6 +134,7 @@ +