testcafe 1.13.0 → 1.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +88 -10
- package/LICENSE +21 -21
- package/README.md +52 -48
- package/bin/testcafe-with-v8-flag-filter.js +0 -0
- package/lib/api/exportable-lib/index.js +50 -50
- package/lib/api/request-hooks/assert-type.js +7 -7
- package/lib/api/request-hooks/hook-method-names.js +11 -0
- package/lib/api/request-hooks/hook.js +33 -39
- package/lib/api/request-hooks/interfaces.js +3 -3
- package/lib/api/request-hooks/request-logger.js +113 -111
- package/lib/api/request-hooks/request-mock/create-request-mock.js +12 -0
- package/lib/api/request-hooks/request-mock/index.js +46 -0
- package/lib/api/request-hooks/request-mock.js +47 -48
- package/lib/api/structure/base-unit.js +11 -11
- package/lib/api/structure/fixture.js +75 -75
- package/lib/api/structure/interfaces.js +2 -2
- package/lib/api/structure/test-file.js +31 -31
- package/lib/api/structure/test-timeout.js +9 -9
- package/lib/api/structure/test.js +85 -85
- package/lib/api/structure/testing-unit.js +89 -89
- package/lib/api/structure/unit-type.js +9 -9
- package/lib/api/test-controller/assertion.js +88 -88
- package/lib/api/test-controller/execution-context.js +82 -82
- package/lib/api/test-controller/index.js +359 -319
- package/lib/api/test-controller/proxy.js +28 -28
- package/lib/api/test-page-url.js +60 -60
- package/lib/api/test-run-tracker.js +68 -68
- package/lib/api/wrap-test-function.js +49 -49
- package/lib/assertions/executor.js +74 -74
- package/lib/assertions/get-fn.js +46 -46
- package/lib/assertions/type.js +20 -20
- package/lib/assets/content-types.js +9 -9
- package/lib/assets/injectables.js +18 -18
- package/lib/browser/connection/command.js +10 -10
- package/lib/browser/connection/error-hints.js +9 -9
- package/lib/browser/connection/gateway.js +159 -159
- package/lib/browser/connection/get-hints.js +33 -33
- package/lib/browser/connection/heartbeat-status.js +8 -8
- package/lib/browser/connection/index.js +328 -328
- package/lib/browser/connection/remotes-queue.js +46 -46
- package/lib/browser/connection/service-routes.js +12 -12
- package/lib/browser/connection/status.js +12 -12
- package/lib/browser/interfaces.js +2 -2
- package/lib/browser/provider/built-in/dedicated/base.js +80 -80
- package/lib/browser/provider/built-in/dedicated/chrome/browser-client.js +204 -204
- package/lib/browser/provider/built-in/dedicated/chrome/build-chrome-args.js +17 -17
- package/lib/browser/provider/built-in/dedicated/chrome/config.js +110 -110
- package/lib/browser/provider/built-in/dedicated/chrome/create-temp-profile.js +45 -45
- package/lib/browser/provider/built-in/dedicated/chrome/elapsed-upperbounds.js +15 -15
- package/lib/browser/provider/built-in/dedicated/chrome/index.js +102 -102
- package/lib/browser/provider/built-in/dedicated/chrome/interfaces.js +2 -2
- package/lib/browser/provider/built-in/dedicated/chrome/local-chrome.js +24 -24
- package/lib/browser/provider/built-in/dedicated/chrome/runtime-info.js +29 -29
- package/lib/browser/provider/built-in/dedicated/edge/index.js +10 -10
- package/lib/browser/provider/built-in/dedicated/edge/runtime-info.js +29 -29
- package/lib/browser/provider/built-in/dedicated/firefox/config.js +33 -33
- package/lib/browser/provider/built-in/dedicated/firefox/create-temp-profile.js +78 -78
- package/lib/browser/provider/built-in/dedicated/firefox/index.js +73 -73
- package/lib/browser/provider/built-in/dedicated/firefox/local-firefox.js +36 -36
- package/lib/browser/provider/built-in/dedicated/firefox/marionette-client/commands.js +13 -13
- package/lib/browser/provider/built-in/dedicated/firefox/marionette-client/index.js +200 -200
- package/lib/browser/provider/built-in/dedicated/firefox/runtime-info.js +17 -17
- package/lib/browser/provider/built-in/index.js +21 -21
- package/lib/browser/provider/built-in/locally-installed.js +30 -30
- package/lib/browser/provider/built-in/path.js +47 -47
- package/lib/browser/provider/built-in/remote.js +58 -58
- package/lib/browser/provider/index.js +303 -303
- package/lib/browser/provider/parse-provider-name.js +16 -16
- package/lib/browser/provider/plugin-host.js +121 -121
- package/lib/browser/provider/pool.js +115 -115
- package/lib/browser/provider/utils/argument-parsing.js +74 -74
- package/lib/browser/provider/utils/browser-starter.js +34 -34
- package/lib/browser/provider/utils/client-functions.js +24 -24
- package/lib/browser/provider/utils/get-maximized-headless-window-size.js +9 -9
- package/lib/cli/argument-parser.js +284 -279
- package/lib/cli/authentication-helper.js +35 -35
- package/lib/cli/cli.js +134 -134
- package/lib/cli/correct-browsers-and-sources.js +40 -40
- package/lib/cli/index.js +19 -19
- package/lib/cli/log.js +43 -43
- package/lib/cli/remotes-wizard.js +36 -36
- package/lib/cli/termination-handler.js +38 -38
- package/lib/client/automation/index.js +144 -46
- package/lib/client/automation/index.min.js +1 -1
- package/lib/client/browser/idle-page/index.html.mustache +35 -35
- package/lib/client/browser/idle-page/logo.svg +86 -86
- package/lib/client/browser/service-worker.js +4 -6
- package/lib/client/core/index.js +19 -13
- package/lib/client/core/index.min.js +1 -1
- package/lib/client/driver/index.js +1807 -451
- package/lib/client/driver/index.min.js +1 -1
- package/lib/client/driver/internal-properties.js +9 -9
- package/lib/client/test-run/iframe.js.mustache +17 -17
- package/lib/client/test-run/index.js.mustache +51 -51
- package/lib/client/ui/index.js +14 -12
- package/lib/client/ui/index.min.js +1 -1
- package/lib/client/ui/sprite.svg +42 -42
- package/lib/client-functions/builder-symbol.js +4 -4
- package/lib/client-functions/client-function-builder.js +156 -135
- package/lib/client-functions/replicator.js +61 -61
- package/lib/client-functions/return-single-prop-mode.js +8 -8
- package/lib/client-functions/selector-api-execution-mode.js +22 -0
- package/lib/client-functions/selectors/add-api.js +646 -588
- package/lib/client-functions/selectors/create-snapshot-methods.js +13 -13
- package/lib/client-functions/selectors/prepare-api-args.js +20 -20
- package/lib/client-functions/selectors/selector-attribute-filter.js +22 -22
- package/lib/client-functions/selectors/selector-builder.js +154 -150
- package/lib/client-functions/selectors/selector-text-filter.js +43 -43
- package/lib/client-functions/selectors/snapshot-properties.js +48 -48
- package/lib/client-functions/types.js +18 -18
- package/lib/compiler/babel/format-babel-produced-code.js +10 -10
- package/lib/compiler/babel/get-base-babel-options.js +11 -11
- package/lib/compiler/babel/load-libs.js +64 -62
- package/lib/compiler/babel/preset-stage-2.js +19 -19
- package/lib/compiler/compile-client-function.js +73 -73
- package/lib/compiler/compilers.js +33 -33
- package/lib/compiler/index.js +92 -92
- package/lib/compiler/interfaces.js +2 -2
- package/lib/compiler/test-file/api-based.js +146 -146
- package/lib/compiler/test-file/base.js +36 -36
- package/lib/compiler/test-file/exportble-lib-path.js +5 -5
- package/lib/compiler/test-file/formats/coffeescript/compiler.js +38 -38
- package/lib/compiler/test-file/formats/coffeescript/get-test-list.js +29 -29
- package/lib/compiler/test-file/formats/es-next/compiler.js +43 -43
- package/lib/compiler/test-file/formats/es-next/get-test-list.js +166 -166
- package/lib/compiler/test-file/formats/es-next/is-flow-code.js +7 -7
- package/lib/compiler/test-file/formats/raw.js +85 -85
- package/lib/compiler/test-file/formats/typescript/compiler.js +135 -135
- package/lib/compiler/test-file/formats/typescript/get-test-list.js +185 -185
- package/lib/compiler/test-file/test-file-parser-base.js +214 -214
- package/lib/configuration/configuration-base.js +165 -165
- package/lib/configuration/constants.js +9 -9
- package/lib/configuration/customizable-compilers.js +7 -7
- package/lib/configuration/default-values.js +51 -51
- package/lib/configuration/interfaces.js +3 -3
- package/lib/configuration/option-names.js +53 -53
- package/lib/configuration/option-source.js +9 -9
- package/lib/configuration/option.js +14 -14
- package/lib/configuration/quarantine-option-names.js +10 -0
- package/lib/configuration/run-option-names.js +26 -26
- package/lib/configuration/screenshot-option-names.js +10 -10
- package/lib/configuration/testcafe-configuration.js +164 -165
- package/lib/configuration/types.js +2 -2
- package/lib/configuration/typescript-configuration.js +62 -62
- package/lib/custom-client-scripts/assert-type.js +7 -7
- package/lib/custom-client-scripts/client-script-init.js +3 -3
- package/lib/custom-client-scripts/client-script.js +107 -108
- package/lib/custom-client-scripts/get-code.js +11 -11
- package/lib/custom-client-scripts/get-url.js +6 -6
- package/lib/custom-client-scripts/load.js +15 -15
- package/lib/custom-client-scripts/problematic-scripts.js +2 -2
- package/lib/custom-client-scripts/routing.js +36 -36
- package/lib/custom-client-scripts/utils.js +60 -60
- package/lib/embedding-utils.js +83 -83
- package/lib/errors/create-stack-filter.js +18 -18
- package/lib/errors/error-list.js +26 -26
- package/lib/errors/get-callsite.js +31 -31
- package/lib/errors/internal-modules-prefix.js +8 -8
- package/lib/errors/is-internal-stack-frame.js +46 -46
- package/lib/errors/process-test-fn-error.js +37 -37
- package/lib/errors/runtime/index.js +123 -123
- package/lib/errors/runtime/templates.js +116 -114
- package/lib/errors/runtime/type-assertions.js +112 -112
- package/lib/errors/stack-cleaning-hook.js +64 -64
- package/lib/errors/test-run/formattable-adapter.js +59 -59
- package/lib/errors/test-run/index.js +302 -302
- package/lib/errors/test-run/render-error-template.js +31 -31
- package/lib/errors/test-run/templates.js +93 -95
- package/lib/errors/test-run/utils.js +90 -85
- package/lib/errors/types.js +157 -155
- package/lib/index.js +81 -81
- package/lib/live/bootstrapper.js +44 -44
- package/lib/live/controller.js +107 -107
- package/lib/live/file-watcher/index.js +67 -67
- package/lib/live/file-watcher/modules-graph.js +58 -58
- package/lib/live/keyboard-observer.js +76 -76
- package/lib/live/logger/index.js +64 -64
- package/lib/live/test-run-controller.js +96 -96
- package/lib/live/test-run-state.js +6 -6
- package/lib/live/test-run.js +56 -56
- package/lib/live/test-runner.js +168 -168
- package/lib/load-assets.js +29 -29
- package/lib/notifications/add-rendered-warning.js +16 -16
- package/lib/notifications/debug-logger.js +78 -78
- package/lib/notifications/deprecated.js +24 -24
- package/lib/notifications/information-message.js +12 -12
- package/lib/notifications/warning-log.js +32 -31
- package/lib/notifications/warning-message.js +48 -48
- package/lib/reporter/command/command-formatter.js +120 -109
- package/lib/reporter/command/format-command.js +8 -8
- package/lib/reporter/command/interfaces.js +2 -2
- package/lib/reporter/index.js +319 -314
- package/lib/reporter/interfaces.js +2 -2
- package/lib/reporter/plugin-host.js +136 -137
- package/lib/reporter/plugin-methods.js +12 -12
- package/lib/role/index.js +74 -74
- package/lib/role/marker-symbol.js +7 -7
- package/lib/role/phase.js +9 -9
- package/lib/runner/bootstrapper.js +272 -272
- package/lib/runner/browser-job-result.js +9 -9
- package/lib/runner/browser-job.js +153 -123
- package/lib/runner/browser-set.js +114 -114
- package/lib/runner/fixture-hook-controller.js +85 -85
- package/lib/runner/index.js +450 -442
- package/lib/runner/interfaces.js +3 -3
- package/lib/runner/reporter-stream-controller.js +28 -28
- package/lib/runner/task/index.js +152 -133
- package/lib/runner/task/phase.js +9 -9
- package/lib/runner/test-run-controller.js +166 -185
- package/lib/runner/tested-app.js +73 -72
- package/lib/screenshots/capturer.js +141 -141
- package/lib/screenshots/constants.js +11 -11
- package/lib/screenshots/crop.js +111 -111
- package/lib/screenshots/default-extension.js +4 -4
- package/lib/screenshots/index.js +67 -67
- package/lib/screenshots/utils.js +39 -39
- package/lib/services/compiler/host.js +190 -106
- package/lib/services/compiler/io.js +9 -9
- package/lib/services/compiler/protocol.js +17 -16
- package/lib/services/compiler/service.js +225 -106
- package/lib/services/compiler/test-run-proxy.js +111 -73
- package/lib/services/interfaces.js +3 -0
- package/lib/services/process-title.js +8 -8
- package/lib/services/serialization/prepare-options.js +17 -17
- package/lib/services/serialization/replicator/create-replicator.js +27 -0
- package/lib/services/serialization/replicator/custom-error-transform.js +28 -0
- package/lib/services/serialization/test-structure.js +93 -77
- package/lib/services/utils/ipc/interfaces.js +30 -30
- package/lib/services/utils/ipc/io.js +108 -108
- package/lib/services/utils/ipc/message.js +76 -73
- package/lib/services/utils/ipc/packet.js +55 -55
- package/lib/services/utils/ipc/proxy.js +110 -118
- package/lib/services/utils/ipc/transport.js +64 -64
- package/lib/shared/errors/index.js +382 -382
- package/lib/shared/node-modules-folder-name.js +4 -4
- package/lib/test-run/bookmark.js +90 -90
- package/lib/test-run/browser-console-messages.js +73 -73
- package/lib/test-run/browser-manipulation-queue.js +92 -92
- package/lib/test-run/client-messages.js +9 -9
- package/lib/test-run/commands/actions.js +486 -425
- package/lib/test-run/commands/assertion.js +45 -45
- package/lib/test-run/commands/base.js +14 -14
- package/lib/test-run/commands/browser-manipulation.js +95 -95
- package/lib/test-run/commands/from-object.js +82 -82
- package/lib/test-run/commands/observation.js +61 -61
- package/lib/test-run/commands/options.js +231 -215
- package/lib/test-run/commands/service.js +54 -48
- package/lib/test-run/commands/type.js +65 -60
- package/lib/test-run/commands/utils.js +87 -87
- package/lib/test-run/commands/validations/argument.js +90 -90
- package/lib/test-run/commands/validations/factories.js +47 -47
- package/lib/test-run/commands/validations/initializers.js +44 -44
- package/lib/test-run/debug-log.js +32 -32
- package/lib/test-run/execute-js-expression.js +74 -74
- package/lib/test-run/index.js +823 -752
- package/lib/test-run/marker-symbol.js +7 -7
- package/lib/test-run/observed-callsites-storage.js +17 -17
- package/lib/test-run/phase.js +16 -16
- package/lib/test-run/session-controller.js +104 -104
- package/lib/testcafe.js +119 -114
- package/lib/utils/assignable.js +39 -39
- package/lib/utils/async-event-emitter.js +28 -28
- package/lib/utils/async-queue.js +14 -14
- package/lib/utils/browser-connection-timeouts.js +19 -19
- package/lib/utils/callsite.js +17 -17
- package/lib/utils/check-file-path.js +31 -31
- package/lib/utils/check-url.js +51 -51
- package/lib/utils/convert-to-best-fit-type.js +16 -16
- package/lib/utils/correct-file-path.js +21 -21
- package/lib/utils/define-lazy-property.js +13 -13
- package/lib/utils/delay.js +6 -6
- package/lib/utils/delegated-api.js +44 -44
- package/lib/utils/detect-display.js +6 -6
- package/lib/utils/detect-ffmpeg.js +44 -44
- package/lib/utils/diff/colors.js +29 -29
- package/lib/utils/diff/index.js +53 -53
- package/lib/utils/diff/util.js +24 -22
- package/lib/utils/diff.js +29 -29
- package/lib/utils/escape-user-agent.js +10 -10
- package/lib/utils/flag-list.js +17 -17
- package/lib/utils/get-any-key.js +8 -8
- package/lib/utils/get-browser.js +8 -8
- package/lib/utils/get-common-path.js +34 -34
- package/lib/utils/get-filter-fn.js +40 -40
- package/lib/utils/get-options/base.js +36 -36
- package/lib/utils/get-options/compiler.js +33 -33
- package/lib/utils/get-options/grep.js +15 -15
- package/lib/utils/get-options/index.js +21 -19
- package/lib/utils/get-options/meta.js +22 -22
- package/lib/utils/get-options/quarantine.js +92 -0
- package/lib/utils/get-options/screenshot.js +17 -17
- package/lib/utils/get-options/ssl.js +45 -45
- package/lib/utils/get-options/video.js +10 -10
- package/lib/utils/get-viewport-width.js +18 -18
- package/lib/utils/guard-time-execution.js +10 -10
- package/lib/utils/handle-errors.js +74 -74
- package/lib/utils/handle-tag-args.js +8 -8
- package/lib/utils/http.js +30 -30
- package/lib/utils/is-localhost.js +11 -11
- package/lib/utils/is-password-input.js +11 -0
- package/lib/utils/is-repl.js +12 -0
- package/lib/utils/is-window-in-iframe.js +6 -6
- package/lib/utils/limit-number.js +10 -10
- package/lib/utils/make-reg-exp.js +7 -7
- package/lib/utils/moment-loader.js +20 -20
- package/lib/utils/parse-file-list.js +71 -71
- package/lib/utils/parse-user-agent.js +55 -55
- package/lib/utils/path-pattern.js +114 -114
- package/lib/utils/prepare-reporters.js +30 -30
- package/lib/utils/prerender-callsite.js +18 -18
- package/lib/utils/process.js +119 -119
- package/lib/utils/promisified-functions.js +46 -46
- package/lib/utils/re-executable-promise.js +39 -39
- package/lib/utils/render-callsite-sync.js +29 -29
- package/lib/utils/render-template.js +10 -10
- package/lib/utils/reporter.js +30 -30
- package/lib/utils/resolve-path-relatively-cwd.js +7 -7
- package/lib/utils/string.js +105 -105
- package/lib/utils/temp-directory/cleanup-process/commands.js +7 -7
- package/lib/utils/temp-directory/cleanup-process/index.js +143 -143
- package/lib/utils/temp-directory/cleanup-process/worker.js +58 -58
- package/lib/utils/temp-directory/index.js +87 -87
- package/lib/utils/temp-directory/lockfile.js +56 -56
- package/lib/utils/thennable.js +7 -7
- package/lib/utils/timer.js +15 -15
- package/lib/utils/to-posix-path.js +8 -8
- package/lib/utils/types.js +2 -2
- package/lib/video-recorder/interfaces.js +2 -2
- package/lib/video-recorder/process.js +126 -126
- package/lib/video-recorder/recorder.js +136 -136
- package/lib/video-recorder/test-run-video-recorder.js +69 -69
- package/lib/video-recorder/videos.js +37 -37
- package/package.json +7 -7
- package/ts-defs/index.d.ts +109 -17
- package/ts-defs/selectors.d.ts +95 -7
- package/ts-defs/testcafe-scripts.d.ts +96 -8
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const log_1 = __importDefault(require("./log"));
|
|
9
|
-
const promisify_event_1 = __importDefault(require("promisify-event"));
|
|
10
|
-
const dedent_1 = __importDefault(require("dedent"));
|
|
11
|
-
async function default_1(testCafe, remoteCount, showQRCode) {
|
|
12
|
-
const connectionPromises = [];
|
|
13
|
-
if (remoteCount) {
|
|
14
|
-
log_1.default.hideSpinner();
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const log_1 = __importDefault(require("./log"));
|
|
9
|
+
const promisify_event_1 = __importDefault(require("promisify-event"));
|
|
10
|
+
const dedent_1 = __importDefault(require("dedent"));
|
|
11
|
+
async function default_1(testCafe, remoteCount, showQRCode) {
|
|
12
|
+
const connectionPromises = [];
|
|
13
|
+
if (remoteCount) {
|
|
14
|
+
log_1.default.hideSpinner();
|
|
15
15
|
const description = dedent_1.default(`
|
|
16
16
|
Connecting ${remoteCount} remote browser(s)...
|
|
17
17
|
Navigate to the following URL from each remote browser.
|
|
18
|
-
`);
|
|
19
|
-
log_1.default.write(description);
|
|
20
|
-
if (showQRCode)
|
|
21
|
-
log_1.default.write('You can either enter the URL or scan the QR-code.');
|
|
22
|
-
const connectionUrl = testCafe.browserConnectionGateway.connectUrl;
|
|
23
|
-
log_1.default.write(`Connect URL: ${chalk_1.default.underline.blue(connectionUrl)}`);
|
|
24
|
-
if (showQRCode)
|
|
25
|
-
qrcode_terminal_1.default.generate(connectionUrl);
|
|
26
|
-
for (let i = 0; i < remoteCount; i++) {
|
|
27
|
-
connectionPromises.push(testCafe
|
|
28
|
-
.createBrowserConnection()
|
|
29
|
-
.then((bc) => promisify_event_1.default(bc, 'ready').then(() => bc))
|
|
30
|
-
.then((bc) => {
|
|
31
|
-
log_1.default.write(`${chalk_1.default.green('CONNECTED')} ${bc.userAgent}`);
|
|
32
|
-
return bc;
|
|
33
|
-
}));
|
|
34
|
-
}
|
|
35
|
-
log_1.default.showSpinner();
|
|
36
|
-
}
|
|
37
|
-
return await Promise.all(connectionPromises);
|
|
38
|
-
}
|
|
39
|
-
exports.default = default_1;
|
|
18
|
+
`);
|
|
19
|
+
log_1.default.write(description);
|
|
20
|
+
if (showQRCode)
|
|
21
|
+
log_1.default.write('You can either enter the URL or scan the QR-code.');
|
|
22
|
+
const connectionUrl = testCafe.browserConnectionGateway.connectUrl;
|
|
23
|
+
log_1.default.write(`Connect URL: ${chalk_1.default.underline.blue(connectionUrl)}`);
|
|
24
|
+
if (showQRCode)
|
|
25
|
+
qrcode_terminal_1.default.generate(connectionUrl);
|
|
26
|
+
for (let i = 0; i < remoteCount; i++) {
|
|
27
|
+
connectionPromises.push(testCafe
|
|
28
|
+
.createBrowserConnection()
|
|
29
|
+
.then((bc) => promisify_event_1.default(bc, 'ready').then(() => bc))
|
|
30
|
+
.then((bc) => {
|
|
31
|
+
log_1.default.write(`${chalk_1.default.green('CONNECTED')} ${bc.userAgent}`);
|
|
32
|
+
return bc;
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
log_1.default.showSpinner();
|
|
36
|
+
}
|
|
37
|
+
return await Promise.all(connectionPromises);
|
|
38
|
+
}
|
|
39
|
+
exports.default = default_1;
|
|
40
40
|
module.exports = exports.default;
|
|
41
41
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3Rlcy13aXphcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3JlbW90ZXMtd2l6YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0VBQXFDO0FBQ3JDLGtEQUEwQjtBQUMxQixnREFBd0I7QUFDeEIsc0VBQTZDO0FBQzdDLG9EQUE0QjtBQVViLEtBQUssb0JBQVcsUUFBa0IsRUFBRSxXQUFtQixFQUFFLFVBQW1CO0lBQ3ZGLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBRTlCLElBQUksV0FBVyxFQUFFO1FBQ2IsYUFBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWxCLE1BQU0sV0FBVyxHQUFHLGdCQUFNLENBQUM7eUJBQ1YsV0FBVzs7U0FFM0IsQ0FBQyxDQUFDO1FBRUgsYUFBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2QixJQUFJLFVBQVU7WUFDVixhQUFHLENBQUMsS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFFbkUsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQztRQUVuRSxhQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixlQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFakUsSUFBSSxVQUFVO1lBQ1YseUJBQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUTtpQkFDM0IsdUJBQXVCLEVBQUU7aUJBQ3pCLElBQUksQ0FBQyxDQUFDLEVBQXFCLEVBQUUsRUFBRSxDQUFDLHlCQUFjLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDM0UsSUFBSSxDQUFDLENBQUMsRUFBcUIsRUFBRSxFQUFFO2dCQUM1QixhQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsZUFBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFFekQsT0FBTyxFQUFFLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ0w7UUFFRCxhQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDckI7SUFFRCxPQUFPLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUF2Q0QsNEJBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHFyY29kZSBmcm9tICdxcmNvZGUtdGVybWluYWwnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2cnO1xuaW1wb3J0IHByb21pc2lmeUV2ZW50IGZyb20gJ3Byb21pc2lmeS1ldmVudCc7XG5pbXBvcnQgZGVkZW50IGZyb20gJ2RlZGVudCc7XG5cbmltcG9ydCBCcm93c2VyQ29ubmVjdGlvbiBmcm9tICcuLi9icm93c2VyL2Nvbm5lY3Rpb24nO1xuaW1wb3J0IEJyb3dzZXJDb25uZWN0aW9uR2F0ZXdheSBmcm9tICcuLi9icm93c2VyL2Nvbm5lY3Rpb24vZ2F0ZXdheSc7XG5cbmludGVyZmFjZSBUZXN0Q2FmZSB7XG4gICAgYnJvd3NlckNvbm5lY3Rpb25HYXRld2F5OiBCcm93c2VyQ29ubmVjdGlvbkdhdGV3YXk7XG4gICAgY3JlYXRlQnJvd3NlckNvbm5lY3Rpb24oKTogUHJvbWlzZTxCcm93c2VyQ29ubmVjdGlvbj47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uICh0ZXN0Q2FmZTogVGVzdENhZmUsIHJlbW90ZUNvdW50OiBudW1iZXIsIHNob3dRUkNvZGU6IGJvb2xlYW4pOiBQcm9taXNlPEJyb3dzZXJDb25uZWN0aW9uW10+IHtcbiAgICBjb25zdCBjb25uZWN0aW9uUHJvbWlzZXMgPSBbXTtcblxuICAgIGlmIChyZW1vdGVDb3VudCkge1xuICAgICAgICBsb2cuaGlkZVNwaW5uZXIoKTtcblxuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGRlZGVudChgXG4gICAgICAgICAgICBDb25uZWN0aW5nICR7cmVtb3RlQ291bnR9IHJlbW90ZSBicm93c2VyKHMpLi4uXG4gICAgICAgICAgICBOYXZpZ2F0ZSB0byB0aGUgZm9sbG93aW5nIFVSTCBmcm9tIGVhY2ggcmVtb3RlIGJyb3dzZXIuXG4gICAgICAgIGApO1xuXG4gICAgICAgIGxvZy53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgICAgICAgaWYgKHNob3dRUkNvZGUpXG4gICAgICAgICAgICBsb2cud3JpdGUoJ1lvdSBjYW4gZWl0aGVyIGVudGVyIHRoZSBVUkwgb3Igc2NhbiB0aGUgUVItY29kZS4nKTtcblxuICAgICAgICBjb25zdCBjb25uZWN0aW9uVXJsID0gdGVzdENhZmUuYnJvd3NlckNvbm5lY3Rpb25HYXRld2F5LmNvbm5lY3RVcmw7XG5cbiAgICAgICAgbG9nLndyaXRlKGBDb25uZWN0IFVSTDogJHtjaGFsay51bmRlcmxpbmUuYmx1ZShjb25uZWN0aW9uVXJsKX1gKTtcblxuICAgICAgICBpZiAoc2hvd1FSQ29kZSlcbiAgICAgICAgICAgIHFyY29kZS5nZW5lcmF0ZShjb25uZWN0aW9uVXJsKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlbW90ZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgIGNvbm5lY3Rpb25Qcm9taXNlcy5wdXNoKHRlc3RDYWZlXG4gICAgICAgICAgICAgICAgLmNyZWF0ZUJyb3dzZXJDb25uZWN0aW9uKClcbiAgICAgICAgICAgICAgICAudGhlbigoYmM6IEJyb3dzZXJDb25uZWN0aW9uKSA9PiBwcm9taXNpZnlFdmVudChiYywgJ3JlYWR5JykudGhlbigoKSA9PiBiYykpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGJjOiBCcm93c2VyQ29ubmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsb2cud3JpdGUoYCR7Y2hhbGsuZ3JlZW4oJ0NPTk5FQ1RFRCcpfSAke2JjLnVzZXJBZ2VudH1gKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYmM7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBsb2cuc2hvd1NwaW5uZXIoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoY29ubmVjdGlvblByb21pc2VzKTtcbn1cbiJdfQ==
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const events_1 = __importDefault(require("events"));
|
|
7
|
-
const TERMINATION_TYPES = {
|
|
8
|
-
sigint: 'sigint',
|
|
9
|
-
sigbreak: 'sigbreak',
|
|
10
|
-
shutdown: 'shutdown'
|
|
11
|
-
};
|
|
12
|
-
const TERMINATION_LEVEL_INCREASED_EVENT = 'termination-level-increased';
|
|
13
|
-
class TerminationHandler extends events_1.default {
|
|
14
|
-
constructor() {
|
|
15
|
-
super();
|
|
16
|
-
this.handledSignalsCount = {
|
|
17
|
-
[TERMINATION_TYPES.sigint]: 0,
|
|
18
|
-
[TERMINATION_TYPES.sigbreak]: 0,
|
|
19
|
-
[TERMINATION_TYPES.shutdown]: 0
|
|
20
|
-
};
|
|
21
|
-
this.terminationLevel = 0;
|
|
22
|
-
this._setupHandlers();
|
|
23
|
-
}
|
|
24
|
-
_exitEventHandler(terminationType) {
|
|
25
|
-
this.handledSignalsCount[terminationType]++;
|
|
26
|
-
if (this.handledSignalsCount[terminationType] > this.terminationLevel) {
|
|
27
|
-
this.terminationLevel = this.handledSignalsCount[terminationType];
|
|
28
|
-
this.emit(TERMINATION_LEVEL_INCREASED_EVENT, this.terminationLevel);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
_setupHandlers() {
|
|
32
|
-
process.on('SIGINT', () => this._exitEventHandler(TERMINATION_TYPES.sigint));
|
|
33
|
-
process.on('SIGBREAK', () => this._exitEventHandler(TERMINATION_TYPES.sigbreak));
|
|
34
|
-
process.on('message', message => message === 'shutdown' && this._exitEventHandler(TERMINATION_TYPES.shutdown));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.default = TerminationHandler;
|
|
38
|
-
TerminationHandler.TERMINATION_LEVEL_INCREASED_EVENT = TERMINATION_LEVEL_INCREASED_EVENT;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const events_1 = __importDefault(require("events"));
|
|
7
|
+
const TERMINATION_TYPES = {
|
|
8
|
+
sigint: 'sigint',
|
|
9
|
+
sigbreak: 'sigbreak',
|
|
10
|
+
shutdown: 'shutdown'
|
|
11
|
+
};
|
|
12
|
+
const TERMINATION_LEVEL_INCREASED_EVENT = 'termination-level-increased';
|
|
13
|
+
class TerminationHandler extends events_1.default {
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
this.handledSignalsCount = {
|
|
17
|
+
[TERMINATION_TYPES.sigint]: 0,
|
|
18
|
+
[TERMINATION_TYPES.sigbreak]: 0,
|
|
19
|
+
[TERMINATION_TYPES.shutdown]: 0
|
|
20
|
+
};
|
|
21
|
+
this.terminationLevel = 0;
|
|
22
|
+
this._setupHandlers();
|
|
23
|
+
}
|
|
24
|
+
_exitEventHandler(terminationType) {
|
|
25
|
+
this.handledSignalsCount[terminationType]++;
|
|
26
|
+
if (this.handledSignalsCount[terminationType] > this.terminationLevel) {
|
|
27
|
+
this.terminationLevel = this.handledSignalsCount[terminationType];
|
|
28
|
+
this.emit(TERMINATION_LEVEL_INCREASED_EVENT, this.terminationLevel);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
_setupHandlers() {
|
|
32
|
+
process.on('SIGINT', () => this._exitEventHandler(TERMINATION_TYPES.sigint));
|
|
33
|
+
process.on('SIGBREAK', () => this._exitEventHandler(TERMINATION_TYPES.sigbreak));
|
|
34
|
+
process.on('message', message => message === 'shutdown' && this._exitEventHandler(TERMINATION_TYPES.shutdown));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.default = TerminationHandler;
|
|
38
|
+
TerminationHandler.TERMINATION_LEVEL_INCREASED_EVENT = TERMINATION_LEVEL_INCREASED_EVENT;
|
|
39
39
|
module.exports = exports.default;
|
|
40
40
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYXRpb24taGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvdGVybWluYXRpb24taGFuZGxlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUFrQztBQUdsQyxNQUFNLGlCQUFpQixHQUFHO0lBQ3RCLE1BQU0sRUFBSSxRQUFRO0lBQ2xCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFFBQVEsRUFBRSxVQUFVO0NBQ3ZCLENBQUM7QUFFRixNQUFNLGlDQUFpQyxHQUFHLDZCQUE2QixDQUFDO0FBRXhFLE1BQXFCLGtCQUFtQixTQUFRLGdCQUFZO0lBQ3hEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsbUJBQW1CLEdBQUc7WUFDdkIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBSSxDQUFDO1lBQy9CLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMvQixDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDbEMsQ0FBQztRQUVGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxlQUFlO1FBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBRTVDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRWxFLElBQUksQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRWpGLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNuSCxDQUFDO0NBQ0o7QUEvQkQscUNBK0JDO0FBRUQsa0JBQWtCLENBQUMsaUNBQWlDLEdBQUcsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gJ2V2ZW50cyc7XG5cblxuY29uc3QgVEVSTUlOQVRJT05fVFlQRVMgPSB7XG4gICAgc2lnaW50OiAgICdzaWdpbnQnLFxuICAgIHNpZ2JyZWFrOiAnc2lnYnJlYWsnLFxuICAgIHNodXRkb3duOiAnc2h1dGRvd24nXG59O1xuXG5jb25zdCBURVJNSU5BVElPTl9MRVZFTF9JTkNSRUFTRURfRVZFTlQgPSAndGVybWluYXRpb24tbGV2ZWwtaW5jcmVhc2VkJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVybWluYXRpb25IYW5kbGVyIGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcbiAgICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5oYW5kbGVkU2lnbmFsc0NvdW50ID0ge1xuICAgICAgICAgICAgW1RFUk1JTkFUSU9OX1RZUEVTLnNpZ2ludF06ICAgMCxcbiAgICAgICAgICAgIFtURVJNSU5BVElPTl9UWVBFUy5zaWdicmVha106IDAsXG4gICAgICAgICAgICBbVEVSTUlOQVRJT05fVFlQRVMuc2h1dGRvd25dOiAwXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy50ZXJtaW5hdGlvbkxldmVsID0gMDtcblxuICAgICAgICB0aGlzLl9zZXR1cEhhbmRsZXJzKCk7XG4gICAgfVxuXG4gICAgX2V4aXRFdmVudEhhbmRsZXIgKHRlcm1pbmF0aW9uVHlwZSkge1xuICAgICAgICB0aGlzLmhhbmRsZWRTaWduYWxzQ291bnRbdGVybWluYXRpb25UeXBlXSsrO1xuXG4gICAgICAgIGlmICh0aGlzLmhhbmRsZWRTaWduYWxzQ291bnRbdGVybWluYXRpb25UeXBlXSA+IHRoaXMudGVybWluYXRpb25MZXZlbCkge1xuICAgICAgICAgICAgdGhpcy50ZXJtaW5hdGlvbkxldmVsID0gdGhpcy5oYW5kbGVkU2lnbmFsc0NvdW50W3Rlcm1pbmF0aW9uVHlwZV07XG5cbiAgICAgICAgICAgIHRoaXMuZW1pdChURVJNSU5BVElPTl9MRVZFTF9JTkNSRUFTRURfRVZFTlQsIHRoaXMudGVybWluYXRpb25MZXZlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfc2V0dXBIYW5kbGVycyAoKSB7XG4gICAgICAgIHByb2Nlc3Mub24oJ1NJR0lOVCcsICgpID0+IHRoaXMuX2V4aXRFdmVudEhhbmRsZXIoVEVSTUlOQVRJT05fVFlQRVMuc2lnaW50KSk7XG4gICAgICAgIHByb2Nlc3Mub24oJ1NJR0JSRUFLJywgKCkgPT4gdGhpcy5fZXhpdEV2ZW50SGFuZGxlcihURVJNSU5BVElPTl9UWVBFUy5zaWdicmVhaykpO1xuXG4gICAgICAgIHByb2Nlc3Mub24oJ21lc3NhZ2UnLCBtZXNzYWdlID0+IG1lc3NhZ2UgPT09ICdzaHV0ZG93bicgJiYgdGhpcy5fZXhpdEV2ZW50SGFuZGxlcihURVJNSU5BVElPTl9UWVBFUy5zaHV0ZG93bikpO1xuICAgIH1cbn1cblxuVGVybWluYXRpb25IYW5kbGVyLlRFUk1JTkFUSU9OX0xFVkVMX0lOQ1JFQVNFRF9FVkVOVCA9IFRFUk1JTkFUSU9OX0xFVkVMX0lOQ1JFQVNFRF9FVkVOVDtcbiJdfQ==
|
|
@@ -1,16 +1,92 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
window['%hammerhead%'].utils.removeInjectedScript();
|
|
2
|
+
|
|
3
|
+
// NOTE: We should have the capability to initialize scripts with different contexts.
|
|
4
|
+
// This is required for iframes without the src attribute because Hammerhead does not
|
|
5
|
+
// inject scripts into such iframes. So, we wrap all scripts in initialization functions.
|
|
6
|
+
(function () {
|
|
7
|
+
function initTestCafeAutomation(window, isIFrameWithoutSrc) {
|
|
8
|
+
var document = window.document;
|
|
9
|
+
|
|
8
10
|
(function (hammerhead, testCafeCore, Promise$f, testCafeUI) {
|
|
9
11
|
var hammerhead__default = 'default' in hammerhead ? hammerhead['default'] : hammerhead;
|
|
10
12
|
var testCafeCore__default = 'default' in testCafeCore ? testCafeCore['default'] : testCafeCore;
|
|
11
13
|
Promise$f = Promise$f && Object.prototype.hasOwnProperty.call(Promise$f, 'default') ? Promise$f['default'] : Promise$f;
|
|
12
14
|
testCafeUI = testCafeUI && Object.prototype.hasOwnProperty.call(testCafeUI, 'default') ? testCafeUI['default'] : testCafeUI;
|
|
13
15
|
|
|
16
|
+
var nativeMethods = hammerhead__default.nativeMethods;
|
|
17
|
+
var MOUSE_EVENT_NAME_RE = /^((mouse\w+)|((dbl)?click)|(contextmenu))$/;
|
|
18
|
+
var DRAG_EVENT_NAME_RE = /^((drag\w*)|(drop))$/;
|
|
19
|
+
var KEY_EVENT_NAME_RE = /^key\w+$/;
|
|
20
|
+
var INPUT_EVENT_NAME_RE = /^(before)?input$/;
|
|
21
|
+
var FOCUS_EVENT_NAME_RE = /^(blur|(focus(in|out)?))$/;
|
|
22
|
+
var POINTER_EVENT_NAME_RE = /^pointer\w+/;
|
|
23
|
+
var DEFAULT_MOUSE_EVENT_DETAIL_PROP_VALUE = {
|
|
24
|
+
click: 1,
|
|
25
|
+
dblclick: 2,
|
|
26
|
+
mousedown: 1,
|
|
27
|
+
mouseup: 1
|
|
28
|
+
};
|
|
29
|
+
// NOTE: default e.buttons for left button pressed
|
|
30
|
+
var DEFAULT_BUTTONS_PARAMETER = 1;
|
|
31
|
+
var EVENT_CTORS = {
|
|
32
|
+
MouseEvent: 'MouseEvent',
|
|
33
|
+
PointerEvent: 'PointerEvent',
|
|
34
|
+
KeyboardEvent: 'KeyboardEvent',
|
|
35
|
+
InputEvent: 'InputEvent',
|
|
36
|
+
FocusEvent: 'FocusEvent'
|
|
37
|
+
};
|
|
38
|
+
var DispatchEventAutomation = /** @class */ (function () {
|
|
39
|
+
function DispatchEventAutomation(element, eventName, options) {
|
|
40
|
+
this.element = element;
|
|
41
|
+
this.eventName = eventName;
|
|
42
|
+
this.options = options;
|
|
43
|
+
}
|
|
44
|
+
DispatchEventAutomation.prototype.run = function () {
|
|
45
|
+
var _a = this.options, bubbles = _a.bubbles, cancelable = _a.cancelable, detail = _a.detail, view = _a.view, buttons = _a.buttons;
|
|
46
|
+
bubbles = bubbles !== false;
|
|
47
|
+
cancelable = cancelable !== false;
|
|
48
|
+
detail = detail || DEFAULT_MOUSE_EVENT_DETAIL_PROP_VALUE[this.eventName];
|
|
49
|
+
view = window;
|
|
50
|
+
buttons = buttons === void 0 ? DEFAULT_BUTTONS_PARAMETER : buttons;
|
|
51
|
+
// eslint-disable-next-line no-restricted-globals
|
|
52
|
+
Object.assign(this.options, { bubbles: bubbles, cancelable: cancelable, detail: detail, view: view, buttons: buttons });
|
|
53
|
+
var Ctor = DispatchEventAutomation._getEventCtorByEventType(this.eventName, this.options.eventConstructor);
|
|
54
|
+
if (Ctor) {
|
|
55
|
+
var event_1 = new Ctor(this.eventName, this.options);
|
|
56
|
+
this.element.dispatchEvent(event_1);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
DispatchEventAutomation._getEventCtorByEventType = function (eventName, eventConstructor) {
|
|
60
|
+
if (eventConstructor && typeof DispatchEventAutomation._getEventCtorFromWindow(eventConstructor) === 'function') {
|
|
61
|
+
var Ctor = DispatchEventAutomation._getEventCtorFromNativeMethods(eventConstructor);
|
|
62
|
+
if (Ctor && typeof Ctor === 'function')
|
|
63
|
+
return Ctor;
|
|
64
|
+
}
|
|
65
|
+
if (MOUSE_EVENT_NAME_RE.test(eventName))
|
|
66
|
+
return DispatchEventAutomation._getEventCtorFromNativeMethods(EVENT_CTORS.MouseEvent);
|
|
67
|
+
if (DRAG_EVENT_NAME_RE.test(eventName))
|
|
68
|
+
return DispatchEventAutomation._getEventCtorFromNativeMethods(EVENT_CTORS.MouseEvent);
|
|
69
|
+
if (POINTER_EVENT_NAME_RE.test(eventName))
|
|
70
|
+
return DispatchEventAutomation._getEventCtorFromNativeMethods(EVENT_CTORS.PointerEvent);
|
|
71
|
+
if (KEY_EVENT_NAME_RE.test(eventName))
|
|
72
|
+
return DispatchEventAutomation._getEventCtorFromNativeMethods(EVENT_CTORS.KeyboardEvent);
|
|
73
|
+
if (INPUT_EVENT_NAME_RE.test(eventName))
|
|
74
|
+
return DispatchEventAutomation._getEventCtorFromNativeMethods(EVENT_CTORS.InputEvent);
|
|
75
|
+
if (FOCUS_EVENT_NAME_RE.test(eventName))
|
|
76
|
+
return DispatchEventAutomation._getEventCtorFromNativeMethods(EVENT_CTORS.FocusEvent);
|
|
77
|
+
return DispatchEventAutomation._getEventCtorFromNativeMethods('CustomEvent');
|
|
78
|
+
};
|
|
79
|
+
DispatchEventAutomation._getEventCtorFromNativeMethods = function (eventCtor) {
|
|
80
|
+
var ctor = nativeMethods['Window' + eventCtor] || DispatchEventAutomation._getEventCtorFromWindow(eventCtor);
|
|
81
|
+
return ctor;
|
|
82
|
+
};
|
|
83
|
+
DispatchEventAutomation._getEventCtorFromWindow = function (eventCtor) {
|
|
84
|
+
// @ts-ignore
|
|
85
|
+
return window[eventCtor];
|
|
86
|
+
};
|
|
87
|
+
return DispatchEventAutomation;
|
|
88
|
+
}());
|
|
89
|
+
|
|
14
90
|
function isIframeWindow(window) {
|
|
15
91
|
return window.top !== window;
|
|
16
92
|
}
|
|
@@ -421,7 +497,7 @@
|
|
|
421
497
|
|
|
422
498
|
var browserUtils$1 = hammerhead__default.utils.browser;
|
|
423
499
|
var Promise$1 = hammerhead__default.Promise;
|
|
424
|
-
var nativeMethods = hammerhead__default.nativeMethods;
|
|
500
|
+
var nativeMethods$1 = hammerhead__default.nativeMethods;
|
|
425
501
|
var positionUtils = testCafeCore__default.positionUtils;
|
|
426
502
|
var domUtils$1 = testCafeCore__default.domUtils;
|
|
427
503
|
function getElementFromPoint(x, y, underTopShadowUIElement) {
|
|
@@ -440,7 +516,7 @@
|
|
|
440
516
|
function findElementOrNonEmptyChildFromPoint(x, y, element) {
|
|
441
517
|
var topElement = positionUtils.getElementFromPoint(x, y);
|
|
442
518
|
var isNonEmptyChild = domUtils$1.containsElement(element, topElement) &&
|
|
443
|
-
nativeMethods.nodeTextContentGetter.call(topElement).length;
|
|
519
|
+
nativeMethods$1.nodeTextContentGetter.call(topElement).length;
|
|
444
520
|
if (topElement && topElement === element || isNonEmptyChild)
|
|
445
521
|
return topElement;
|
|
446
522
|
return null;
|
|
@@ -464,9 +540,9 @@
|
|
|
464
540
|
domUtils$1.getParents(expectedElement, 'a').length;
|
|
465
541
|
var isTopElementChildOfLink = isLinkOrChildExpected &&
|
|
466
542
|
domUtils$1.containsElement(expectedElement, topElement) &&
|
|
467
|
-
nativeMethods.nodeTextContentGetter.call(topElement).length;
|
|
543
|
+
nativeMethods$1.nodeTextContentGetter.call(topElement).length;
|
|
468
544
|
var shouldSearchForMultilineLink = isLinkOrChildExpected && !isTopElementChildOfLink &&
|
|
469
|
-
nativeMethods.nodeTextContentGetter.call(expectedElement).length;
|
|
545
|
+
nativeMethods$1.nodeTextContentGetter.call(expectedElement).length;
|
|
470
546
|
if (!shouldSearchForMultilineLink)
|
|
471
547
|
return topElement;
|
|
472
548
|
var linkRect = expectedElement.getBoundingClientRect();
|
|
@@ -1334,13 +1410,15 @@
|
|
|
1334
1410
|
var _this = _super.call(this) || this;
|
|
1335
1411
|
_this.replace = false;
|
|
1336
1412
|
_this.paste = false;
|
|
1413
|
+
_this.confidential = void 0;
|
|
1337
1414
|
_this._assignFrom(obj, validate);
|
|
1338
1415
|
return _this;
|
|
1339
1416
|
}
|
|
1340
1417
|
TypeOptions.prototype._getAssignableProperties = function () {
|
|
1341
1418
|
return _super.prototype._getAssignableProperties.call(this).concat([
|
|
1342
1419
|
{ name: 'replace', type: booleanOption },
|
|
1343
|
-
{ name: 'paste', type: booleanOption }
|
|
1420
|
+
{ name: 'paste', type: booleanOption },
|
|
1421
|
+
{ name: 'confidential', type: booleanOption }
|
|
1344
1422
|
]);
|
|
1345
1423
|
};
|
|
1346
1424
|
return TypeOptions;
|
|
@@ -1396,7 +1474,23 @@
|
|
|
1396
1474
|
];
|
|
1397
1475
|
};
|
|
1398
1476
|
return AssertionOptions;
|
|
1399
|
-
}(Assignable));
|
|
1477
|
+
}(Assignable));
|
|
1478
|
+
// Press
|
|
1479
|
+
var PressOptions = /** @class */ (function (_super) {
|
|
1480
|
+
__extends(PressOptions, _super);
|
|
1481
|
+
function PressOptions(obj, validate) {
|
|
1482
|
+
var _this = _super.call(this) || this;
|
|
1483
|
+
_this.confidential = void 0;
|
|
1484
|
+
_this._assignFrom(obj, validate);
|
|
1485
|
+
return _this;
|
|
1486
|
+
}
|
|
1487
|
+
PressOptions.prototype._getAssignableProperties = function () {
|
|
1488
|
+
return _super.prototype._getAssignableProperties.call(this).concat([
|
|
1489
|
+
{ name: 'confidential', type: booleanOption }
|
|
1490
|
+
]);
|
|
1491
|
+
};
|
|
1492
|
+
return PressOptions;
|
|
1493
|
+
}(ActionOptions));
|
|
1400
1494
|
|
|
1401
1495
|
function getPointsDistance(start, end) {
|
|
1402
1496
|
return Math.sqrt(Math.pow(end.x - start.x, 2) + Math.pow(end.y - start.y, 2));
|
|
@@ -1436,9 +1530,9 @@
|
|
|
1436
1530
|
}
|
|
1437
1531
|
|
|
1438
1532
|
var Promise$2 = hammerhead__default.Promise;
|
|
1439
|
-
var nativeMethods$
|
|
1533
|
+
var nativeMethods$2 = hammerhead__default.nativeMethods;
|
|
1440
1534
|
function nextTick () {
|
|
1441
|
-
return new Promise$2(function (resolve) { return nativeMethods$
|
|
1535
|
+
return new Promise$2(function (resolve) { return nativeMethods$2.setTimeout.call(window, resolve, 0); });
|
|
1442
1536
|
}
|
|
1443
1537
|
|
|
1444
1538
|
var DragAndDropState = /** @class */ (function () {
|
|
@@ -1506,7 +1600,7 @@
|
|
|
1506
1600
|
|
|
1507
1601
|
var eventSimulator = hammerhead__default.eventSandbox.eventSimulator;
|
|
1508
1602
|
var extend = hammerhead__default.utils.extend;
|
|
1509
|
-
var nativeMethods$
|
|
1603
|
+
var nativeMethods$3 = hammerhead__default.nativeMethods;
|
|
1510
1604
|
var MoveBehaviour = /** @class */ (function () {
|
|
1511
1605
|
function MoveBehaviour() {
|
|
1512
1606
|
}
|
|
@@ -1515,7 +1609,7 @@
|
|
|
1515
1609
|
var currentParent = prevElement;
|
|
1516
1610
|
while (currentParent && currentParent !== commonAncestor) {
|
|
1517
1611
|
eventSimulator.mouseleave(currentParent, extend({ relatedTarget: currentElement }, options));
|
|
1518
|
-
currentParent = nativeMethods$
|
|
1612
|
+
currentParent = nativeMethods$3.nodeParentNodeGetter.call(currentParent);
|
|
1519
1613
|
}
|
|
1520
1614
|
};
|
|
1521
1615
|
MoveBehaviour.enterElement = function (currentElement, prevElement, commonAncestor, options) {
|
|
@@ -1654,7 +1748,7 @@
|
|
|
1654
1748
|
};
|
|
1655
1749
|
|
|
1656
1750
|
var Promise$3 = hammerhead__default.Promise;
|
|
1657
|
-
var nativeMethods$
|
|
1751
|
+
var nativeMethods$4 = hammerhead__default.nativeMethods;
|
|
1658
1752
|
var featureDetection = hammerhead__default.utils.featureDetection;
|
|
1659
1753
|
var htmlUtils = hammerhead__default.utils.html;
|
|
1660
1754
|
var urlUtils = hammerhead__default.utils.url;
|
|
@@ -1687,7 +1781,7 @@
|
|
|
1687
1781
|
while (parentNode) {
|
|
1688
1782
|
if (parentNode.draggable)
|
|
1689
1783
|
return parentNode;
|
|
1690
|
-
parentNode = nativeMethods$
|
|
1784
|
+
parentNode = nativeMethods$4.nodeParentNodeGetter.call(parentNode);
|
|
1691
1785
|
}
|
|
1692
1786
|
return null;
|
|
1693
1787
|
}
|
|
@@ -1882,7 +1976,7 @@
|
|
|
1882
1976
|
this.y = this.endPoint.y;
|
|
1883
1977
|
}
|
|
1884
1978
|
else if (!this.startTime) {
|
|
1885
|
-
this.startTime = nativeMethods$
|
|
1979
|
+
this.startTime = nativeMethods$4.dateNow();
|
|
1886
1980
|
this.endTime = this.startTime + this.movingTime;
|
|
1887
1981
|
// NOTE: the mousemove event can't be simulated at the point where the cursor
|
|
1888
1982
|
// was located at the start. Therefore, we add a minimal distance 1 px.
|
|
@@ -1890,7 +1984,7 @@
|
|
|
1890
1984
|
this.y += this.distanceY > 0 ? 1 : -1;
|
|
1891
1985
|
}
|
|
1892
1986
|
else {
|
|
1893
|
-
var currentTime = Math.min(nativeMethods$
|
|
1987
|
+
var currentTime = Math.min(nativeMethods$4.dateNow(), this.endTime);
|
|
1894
1988
|
var progress = (currentTime - this.startTime) / (this.endTime - this.startTime);
|
|
1895
1989
|
this.x = Math.floor(this.startPoint.x + this.distanceX * progress);
|
|
1896
1990
|
this.y = Math.floor(this.startPoint.y + this.distanceY * progress);
|
|
@@ -1987,7 +2081,7 @@
|
|
|
1987
2081
|
var srcAttr = isLink ? 'href' : 'src';
|
|
1988
2082
|
var parsedUrl = urlUtils.parseProxyUrl(_this.dragElement[srcAttr]);
|
|
1989
2083
|
var src = parsedUrl ? parsedUrl.destUrl : _this.dragElement[srcAttr];
|
|
1990
|
-
var outerHTML = htmlUtils.cleanUpHtml(nativeMethods$
|
|
2084
|
+
var outerHTML = htmlUtils.cleanUpHtml(nativeMethods$4.elementOuterHTMLGetter.call(_this.dragElement));
|
|
1991
2085
|
_this.dragAndDropState.dataTransfer.setData('text/plain', src);
|
|
1992
2086
|
_this.dragAndDropState.dataTransfer.setData('text/uri-list', src);
|
|
1993
2087
|
_this.dragAndDropState.dataTransfer.setData('text/html', outerHTML);
|
|
@@ -2141,13 +2235,16 @@
|
|
|
2141
2235
|
throw new Error(ERROR_TYPES.elementIsInvisibleError);
|
|
2142
2236
|
if (useStrictElementCheck && (!state.isTarget || state.inMoving))
|
|
2143
2237
|
throw new Error(ERROR_TYPES.foundElementIsNotTarget);
|
|
2238
|
+
return state;
|
|
2144
2239
|
};
|
|
2145
|
-
VisibleElementAutomation.prototype._ensureElement = function (useStrictElementCheck, skipCheckAfterMoving) {
|
|
2240
|
+
VisibleElementAutomation.prototype._ensureElement = function (useStrictElementCheck, skipCheckAfterMoving, skipMoving) {
|
|
2146
2241
|
var _this = this;
|
|
2147
2242
|
return this
|
|
2148
2243
|
._wrapAction(function () { return _this._scrollToElement(); })
|
|
2149
2244
|
.then(function (state) { return VisibleElementAutomation._checkElementState(state, useStrictElementCheck); })
|
|
2150
|
-
.then(function () {
|
|
2245
|
+
.then(function (state) {
|
|
2246
|
+
return skipMoving ? state : _this._wrapAction(function () { return _this._moveToElement(); });
|
|
2247
|
+
})
|
|
2151
2248
|
.then(function (state) {
|
|
2152
2249
|
if (!skipCheckAfterMoving)
|
|
2153
2250
|
VisibleElementAutomation._checkElementState(state, useStrictElementCheck);
|
|
@@ -2182,7 +2279,7 @@
|
|
|
2182
2279
|
}
|
|
2183
2280
|
|
|
2184
2281
|
var Promise$5 = hammerhead__default.Promise;
|
|
2185
|
-
var nativeMethods$
|
|
2282
|
+
var nativeMethods$5 = hammerhead__default.nativeMethods;
|
|
2186
2283
|
var browserUtils$3 = hammerhead__default.utils.browser;
|
|
2187
2284
|
var focusBlurSandbox = hammerhead__default.eventSandbox.focusBlur;
|
|
2188
2285
|
var contentEditable = testCafeCore__default.contentEditable;
|
|
@@ -2257,7 +2354,7 @@
|
|
|
2257
2354
|
preventScrolling = false;
|
|
2258
2355
|
if (!isElementFocusable && !isContentEditable) {
|
|
2259
2356
|
curDocument = domUtils$3.findDocument(elementForFocus);
|
|
2260
|
-
curActiveElement = nativeMethods$
|
|
2357
|
+
curActiveElement = nativeMethods$5.documentActiveElementGetter.call(curDocument);
|
|
2261
2358
|
isActiveElementBody = domUtils$3.isBodyElement(curActiveElement);
|
|
2262
2359
|
focusableParent = domUtils$3.isBodyElement(elementForFocus) ?
|
|
2263
2360
|
elementForFocus : domUtils$3.getFocusableParent(elementForFocus);
|
|
@@ -2629,7 +2726,7 @@
|
|
|
2629
2726
|
var featureDetection$2 = hammerhead__default.utils.featureDetection;
|
|
2630
2727
|
var eventSimulator$6 = hammerhead__default.eventSandbox.eventSimulator;
|
|
2631
2728
|
var focusBlurSandbox$1 = hammerhead__default.eventSandbox.focusBlur;
|
|
2632
|
-
var nativeMethods$
|
|
2729
|
+
var nativeMethods$6 = hammerhead__default.nativeMethods;
|
|
2633
2730
|
var domUtils$6 = testCafeCore__default.domUtils;
|
|
2634
2731
|
var styleUtils$3 = testCafeCore__default.styleUtils;
|
|
2635
2732
|
var delay$1 = testCafeCore__default.delay;
|
|
@@ -2653,7 +2750,7 @@
|
|
|
2653
2750
|
var selectedIndex = this.parentSelect.selectedIndex;
|
|
2654
2751
|
this.childIndex = isOption ? domUtils$6.getElementIndexInParent(this.parentSelect, this.element) :
|
|
2655
2752
|
domUtils$6.getElementIndexInParent(this.parentSelect, this.element);
|
|
2656
|
-
var parent_1 = nativeMethods$
|
|
2753
|
+
var parent_1 = nativeMethods$6.nodeParentNodeGetter.call(this.element);
|
|
2657
2754
|
var parentOptGroup = domUtils$6.isOptionGroupElement(parent_1) ? parent_1 : null;
|
|
2658
2755
|
var isDisabled = this.element.disabled || parentOptGroup && parentOptGroup.disabled;
|
|
2659
2756
|
this.clickCausesChange = isOption && !isDisabled && this.childIndex !== selectedIndex;
|
|
@@ -3042,7 +3139,7 @@
|
|
|
3042
3139
|
var eventSandbox = hammerhead__default.sandbox.event;
|
|
3043
3140
|
var eventSimulator$9 = hammerhead__default.eventSandbox.eventSimulator;
|
|
3044
3141
|
var listeners$2 = hammerhead__default.eventSandbox.listeners;
|
|
3045
|
-
var nativeMethods$
|
|
3142
|
+
var nativeMethods$7 = hammerhead__default.nativeMethods;
|
|
3046
3143
|
var domUtils$7 = testCafeCore__default.domUtils;
|
|
3047
3144
|
var contentEditable$1 = testCafeCore__default.contentEditable;
|
|
3048
3145
|
var textSelection$1 = testCafeCore__default.textSelection;
|
|
@@ -3062,7 +3159,7 @@
|
|
|
3062
3159
|
}
|
|
3063
3160
|
function _updateSelectionAfterDeletionContent(element, selection) {
|
|
3064
3161
|
var startNode = selection.startPos.node;
|
|
3065
|
-
var startParent = nativeMethods$
|
|
3162
|
+
var startParent = nativeMethods$7.nodeParentNodeGetter.call(startNode);
|
|
3066
3163
|
var hasStartParent = startParent && startNode.parentElement;
|
|
3067
3164
|
var browserRequiresSelectionUpdating = browserUtils$8.isChrome && browserUtils$8.version < 58 || browserUtils$8.isSafari;
|
|
3068
3165
|
if (browserRequiresSelectionUpdating || !hasStartParent || !domUtils$7.isElementContainsNode(element, startNode)) {
|
|
@@ -3081,11 +3178,11 @@
|
|
|
3081
3178
|
var nodeForTyping = document.createTextNode(text);
|
|
3082
3179
|
var textLength = text.length;
|
|
3083
3180
|
var selectPosition = { node: nodeForTyping, offset: textLength };
|
|
3084
|
-
var parent = nativeMethods$
|
|
3181
|
+
var parent = nativeMethods$7.nodeParentNodeGetter.call(elementNode);
|
|
3085
3182
|
if (domUtils$7.getTagName(elementNode) === 'br')
|
|
3086
3183
|
parent.insertBefore(nodeForTyping, elementNode);
|
|
3087
3184
|
else if (offset > 0) {
|
|
3088
|
-
var childNodes = nativeMethods$
|
|
3185
|
+
var childNodes = nativeMethods$7.nodeChildNodesGetter.call(elementNode);
|
|
3089
3186
|
elementNode.insertBefore(nodeForTyping, childNodes[offset]);
|
|
3090
3187
|
}
|
|
3091
3188
|
else
|
|
@@ -3274,7 +3371,7 @@
|
|
|
3274
3371
|
return key.length === 1 && (key >= 'a' && key <= 'z' || key >= 'A' && key <= 'Z');
|
|
3275
3372
|
}
|
|
3276
3373
|
|
|
3277
|
-
var nativeMethods$
|
|
3374
|
+
var nativeMethods$8 = hammerhead__default.nativeMethods;
|
|
3278
3375
|
var browserUtils$9 = hammerhead__default.utils.browser;
|
|
3279
3376
|
var focusBlurSandbox$3 = hammerhead__default.eventSandbox.focusBlur;
|
|
3280
3377
|
var Promise$9 = hammerhead__default.Promise;
|
|
@@ -3322,9 +3419,9 @@
|
|
|
3322
3419
|
var activeElement = getActiveElement(doc);
|
|
3323
3420
|
var activeElementInIframe = null;
|
|
3324
3421
|
if (activeElement && testCafeCore.domUtils.isIframeElement(activeElement) &&
|
|
3325
|
-
nativeMethods$
|
|
3422
|
+
nativeMethods$8.contentDocumentGetter.call(activeElement)) {
|
|
3326
3423
|
try {
|
|
3327
|
-
activeElementInIframe = getDeepActiveElement(nativeMethods$
|
|
3424
|
+
activeElementInIframe = getDeepActiveElement(nativeMethods$8.contentDocumentGetter.call(activeElement));
|
|
3328
3425
|
}
|
|
3329
3426
|
catch (e) { // eslint-disable-line no-empty
|
|
3330
3427
|
}
|
|
@@ -4091,7 +4188,7 @@
|
|
|
4091
4188
|
var Promise$b = hammerhead__default.Promise;
|
|
4092
4189
|
var browserUtils$c = hammerhead__default.utils.browser;
|
|
4093
4190
|
var messageSandbox$4 = hammerhead__default.eventSandbox.message;
|
|
4094
|
-
var nativeMethods$
|
|
4191
|
+
var nativeMethods$9 = hammerhead__default.nativeMethods;
|
|
4095
4192
|
var PRESS_REQUEST_CMD = 'automation|press|request';
|
|
4096
4193
|
var PRESS_RESPONSE_CMD = 'automation|press|response';
|
|
4097
4194
|
// Setup cross-iframe interaction
|
|
@@ -4207,13 +4304,13 @@
|
|
|
4207
4304
|
var _this = this;
|
|
4208
4305
|
var activeElement = testCafeCore.domUtils.getActiveElement();
|
|
4209
4306
|
var activeElementIsIframe = testCafeCore.domUtils.isIframeElement(activeElement);
|
|
4210
|
-
if (!isIframeWindow(window) && activeElementIsIframe && nativeMethods$
|
|
4307
|
+
if (!isIframeWindow(window) && activeElementIsIframe && nativeMethods$9.contentWindowGetter.call(activeElement)) {
|
|
4211
4308
|
var msg = {
|
|
4212
4309
|
cmd: PRESS_REQUEST_CMD,
|
|
4213
4310
|
keyCombinations: this.keyCombinations,
|
|
4214
4311
|
options: this.options
|
|
4215
4312
|
};
|
|
4216
|
-
return testCafeCore.sendRequestToFrame(msg, PRESS_RESPONSE_CMD, nativeMethods$
|
|
4313
|
+
return testCafeCore.sendRequestToFrame(msg, PRESS_RESPONSE_CMD, nativeMethods$9.contentWindowGetter.call(activeElement));
|
|
4217
4314
|
}
|
|
4218
4315
|
return testCafeCore.promiseUtils.each(this.keyCombinations, function (combination) {
|
|
4219
4316
|
return _this
|
|
@@ -5047,6 +5144,7 @@
|
|
|
5047
5144
|
}
|
|
5048
5145
|
|
|
5049
5146
|
var exports$1 = {};
|
|
5147
|
+
exports$1.DispatchEvent = DispatchEventAutomation;
|
|
5050
5148
|
exports$1.Scroll = ScrollAutomation;
|
|
5051
5149
|
exports$1.Click = ClickAutomation;
|
|
5052
5150
|
exports$1.SelectChildClick = SelectChildClickAutomation;
|
|
@@ -5072,15 +5170,15 @@
|
|
|
5072
5170
|
exports$1.SHORTCUT_TYPE = SHORTCUT_TYPE;
|
|
5073
5171
|
exports$1.getSelectionCoordinatesByPosition = getSelectionCoordinatesByPosition;
|
|
5074
5172
|
exports$1.getElementFromPoint = fromPoint;
|
|
5075
|
-
var nativeMethods$
|
|
5173
|
+
var nativeMethods$a = hammerhead__default.nativeMethods;
|
|
5076
5174
|
var evalIframeScript = hammerhead__default.EVENTS.evalIframeScript;
|
|
5077
|
-
nativeMethods$
|
|
5175
|
+
nativeMethods$a.objectDefineProperty(window, '%testCafeAutomation%', { configurable: true, value: exports$1 });
|
|
5078
5176
|
// eslint-disable-next-line no-undef
|
|
5079
|
-
hammerhead__default.on(evalIframeScript, function (e) { return initTestCafeAutomation(nativeMethods$
|
|
5177
|
+
hammerhead__default.on(evalIframeScript, function (e) { return initTestCafeAutomation(nativeMethods$a.contentWindowGetter.call(e.iframe), true); });
|
|
5080
5178
|
|
|
5081
5179
|
}(window['%hammerhead%'], window['%testCafeCore%'], window['%hammerhead%'].Promise, window['%testCafeUI%']));
|
|
5082
|
-
|
|
5083
|
-
}
|
|
5084
|
-
|
|
5085
|
-
initTestCafeAutomation(window);
|
|
5086
|
-
})();
|
|
5180
|
+
|
|
5181
|
+
}
|
|
5182
|
+
|
|
5183
|
+
initTestCafeAutomation(window);
|
|
5184
|
+
})();
|