testcafe 1.14.1 → 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 +6 -0
- package/LICENSE +21 -21
- package/bin/testcafe-with-v8-flag-filter.js +0 -0
- package/lib/api/exportable-lib/index.js +49 -49
- package/lib/api/request-hooks/assert-type.js +7 -7
- package/lib/api/request-hooks/hook-method-names.js +9 -9
- package/lib/api/request-hooks/hook.js +32 -32
- package/lib/api/request-hooks/interfaces.js +2 -2
- package/lib/api/request-hooks/request-logger.js +112 -112
- package/lib/api/request-hooks/request-mock/create-request-mock.js +10 -10
- package/lib/api/request-hooks/request-mock/index.js +44 -44
- package/lib/api/request-hooks/request-mock.js +46 -46
- 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 +358 -358
- 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 -284
- 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 +34 -16
- 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/core/index.js +14 -14
- package/lib/client/driver/index.js +46 -16
- 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 -14
- 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 +155 -155
- 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 +20 -20
- package/lib/client-functions/selectors/add-api.js +645 -645
- 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 +153 -153
- 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 +63 -63
- 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 +42 -42
- 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 +2 -2
- 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 +8 -8
- package/lib/configuration/run-option-names.js +26 -26
- package/lib/configuration/screenshot-option-names.js +10 -10
- package/lib/configuration/testcafe-configuration.js +163 -163
- 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 +2 -2
- package/lib/custom-client-scripts/client-script.js +106 -106
- 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 +45 -45
- package/lib/errors/process-test-fn-error.js +37 -37
- package/lib/errors/runtime/index.js +123 -123
- package/lib/errors/runtime/templates.js +115 -115
- 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 +301 -301
- package/lib/errors/test-run/render-error-template.js +31 -31
- package/lib/errors/test-run/templates.js +91 -91
- package/lib/errors/test-run/utils.js +89 -89
- package/lib/errors/types.js +156 -156
- package/lib/index.js +81 -81
- package/lib/live/bootstrapper.js +43 -43
- 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 +167 -167
- 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 +9 -9
- package/lib/notifications/warning-log.js +31 -31
- package/lib/notifications/warning-message.js +47 -47
- 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 +135 -135
- 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 +271 -271
- package/lib/runner/browser-job-result.js +9 -9
- package/lib/runner/browser-job.js +152 -152
- package/lib/runner/browser-set.js +114 -114
- package/lib/runner/fixture-hook-controller.js +85 -85
- package/lib/runner/index.js +449 -449
- package/lib/runner/interfaces.js +2 -2
- package/lib/runner/reporter-stream-controller.js +27 -27
- package/lib/runner/task/index.js +151 -151
- package/lib/runner/task/phase.js +9 -9
- package/lib/runner/test-run-controller.js +165 -165
- package/lib/runner/tested-app.js +72 -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 -190
- package/lib/services/compiler/io.js +9 -9
- package/lib/services/compiler/protocol.js +17 -16
- package/lib/services/compiler/service.js +225 -212
- package/lib/services/compiler/test-run-proxy.js +111 -111
- package/lib/services/interfaces.js +2 -2
- 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 +25 -25
- package/lib/services/serialization/replicator/custom-error-transform.js +26 -26
- package/lib/services/serialization/test-structure.js +92 -92
- 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 +75 -75
- package/lib/services/utils/ipc/packet.js +55 -55
- package/lib/services/utils/ipc/proxy.js +109 -109
- 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 -483
- 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 -64
- 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 -799
- 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 +118 -118
- 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 +52 -52
- package/lib/utils/diff/util.js +23 -23
- 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 +20 -20
- package/lib/utils/get-options/meta.js +22 -22
- package/lib/utils/get-options/quarantine.js +91 -91
- 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 +17 -17
- 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 +10 -10
- 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 +9 -9
- 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 +2 -2
- package/ts-defs/index.d.ts +25 -14
- package/ts-defs/selectors.d.ts +16 -5
- package/ts-defs/testcafe-scripts.d.ts +17 -6
package/lib/live/test-runner.js
CHANGED
|
@@ -1,169 +1,169 @@
|
|
|
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 lodash_1 = require("lodash");
|
|
7
|
-
const test_run_controller_1 = __importDefault(require("./test-run-controller"));
|
|
8
|
-
const controller_1 = __importDefault(require("./controller"));
|
|
9
|
-
const runner_1 = __importDefault(require("../runner"));
|
|
10
|
-
const bootstrapper_1 = __importDefault(require("./bootstrapper"));
|
|
11
|
-
const parse_file_list_1 = __importDefault(require("../utils/parse-file-list"));
|
|
12
|
-
const runtime_1 = require("../errors/runtime");
|
|
13
|
-
const types_1 = require("../errors/types");
|
|
14
|
-
class LiveModeRunner extends runner_1.default {
|
|
15
|
-
constructor({ proxy, browserConnectionGateway, configuration }) {
|
|
16
|
-
super({ proxy, browserConnectionGateway, configuration });
|
|
17
|
-
this.stopping = false;
|
|
18
|
-
this.runnerTaskPromise = null;
|
|
19
|
-
this.stopInfiniteWaiting = lodash_1.noop;
|
|
20
|
-
this.rejectInfiniteWaiting = lodash_1.noop;
|
|
21
|
-
this.assets = null;
|
|
22
|
-
this.testRunController = new test_run_controller_1.default();
|
|
23
|
-
this.controller = this._createController();
|
|
24
|
-
this.embeddingOptions({
|
|
25
|
-
TestRunCtor: this.testRunController.TestRunCtor,
|
|
26
|
-
assets: []
|
|
27
|
-
});
|
|
28
|
-
this.controller = this._createController();
|
|
29
|
-
this.configurationCache = null;
|
|
30
|
-
}
|
|
31
|
-
runTests(isFirstRun = false) {
|
|
32
|
-
let runError = null;
|
|
33
|
-
return this._finishPreviousTestRuns()
|
|
34
|
-
.then(() => {
|
|
35
|
-
return this._validateRunnableConfiguration(isFirstRun);
|
|
36
|
-
})
|
|
37
|
-
.then(() => {
|
|
38
|
-
const expectedTestCount = this.configurationCache.tests.length;
|
|
39
|
-
this.testRunController.setExpectedTestCount(expectedTestCount);
|
|
40
|
-
})
|
|
41
|
-
.then(() => {
|
|
42
|
-
this.runnerTaskPromise = super.run(this.opts);
|
|
43
|
-
return this.runnerTaskPromise;
|
|
44
|
-
})
|
|
45
|
-
.catch(err => {
|
|
46
|
-
this.setBootstrappingError(null);
|
|
47
|
-
runError = err;
|
|
48
|
-
})
|
|
49
|
-
.then(() => {
|
|
50
|
-
this.runnerTaskPromise = null;
|
|
51
|
-
this.controller.onTestRunDone(runError);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
_validateRunOptions() {
|
|
55
|
-
return super._validateRunOptions()
|
|
56
|
-
.catch(err => {
|
|
57
|
-
this.rejectInfiniteWaiting(err);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
_createRunnableConfiguration() {
|
|
61
|
-
if (this.configurationCache)
|
|
62
|
-
return Promise.resolve(this.configurationCache);
|
|
63
|
-
return super._createRunnableConfiguration()
|
|
64
|
-
.then(configuration => {
|
|
65
|
-
this.configurationCache = configuration;
|
|
66
|
-
return configuration;
|
|
67
|
-
})
|
|
68
|
-
.catch(err => {
|
|
69
|
-
this.rejectInfiniteWaiting(err);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
setBootstrappingError(err) {
|
|
73
|
-
this.bootstrappingError = err;
|
|
74
|
-
}
|
|
75
|
-
run(options) {
|
|
76
|
-
this.configurationCache = null;
|
|
77
|
-
if (this._running)
|
|
78
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.cannotRunLiveModeRunnerMultipleTimes);
|
|
79
|
-
this._running = this._waitUntilExit()
|
|
80
|
-
.then(() => {
|
|
81
|
-
return this._dispose();
|
|
82
|
-
})
|
|
83
|
-
.then(() => {
|
|
84
|
-
delete this._running;
|
|
85
|
-
});
|
|
86
|
-
this.opts = Object.assign({}, this.opts, options);
|
|
87
|
-
this._setBootstrapperOptions();
|
|
88
|
-
const fileListPromise = parse_file_list_1.default(this.bootstrapper.sources, process.cwd());
|
|
89
|
-
fileListPromise
|
|
90
|
-
.then(files => {
|
|
91
|
-
return this.controller.init(files);
|
|
92
|
-
})
|
|
93
|
-
.then(() => this._createRunnableConfiguration())
|
|
94
|
-
.then(() => this.runTests(true));
|
|
95
|
-
return this._running;
|
|
96
|
-
}
|
|
97
|
-
suspend() {
|
|
98
|
-
if (!this.runnerTaskPromise)
|
|
99
|
-
return Promise.resolve();
|
|
100
|
-
this.stopping = true;
|
|
101
|
-
this.testRunController.stop();
|
|
102
|
-
this.runnerTaskPromise.cancel();
|
|
103
|
-
return this.testRunController.allTestsCompletePromise
|
|
104
|
-
.then(() => {
|
|
105
|
-
this.stopping = false;
|
|
106
|
-
this.controller.onTestRunDone();
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
stop() {
|
|
110
|
-
return super.stop()
|
|
111
|
-
.then(() => {
|
|
112
|
-
return this.controller.exit();
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
exit() {
|
|
116
|
-
if (this.runnerTaskPromise)
|
|
117
|
-
this.runnerTaskPromise.cancel();
|
|
118
|
-
return Promise.resolve()
|
|
119
|
-
.then(() => this.stopInfiniteWaiting())
|
|
120
|
-
.then(() => this._running);
|
|
121
|
-
}
|
|
122
|
-
async _finishPreviousTestRuns() {
|
|
123
|
-
if (!this.configurationCache.tests)
|
|
124
|
-
return;
|
|
125
|
-
this.testRunController.run();
|
|
126
|
-
}
|
|
127
|
-
_validateRunnableConfiguration(isFirstRun) {
|
|
128
|
-
if (isFirstRun) {
|
|
129
|
-
if (this.bootstrappingError)
|
|
130
|
-
return Promise.reject(this.bootstrappingError);
|
|
131
|
-
return Promise.resolve();
|
|
132
|
-
}
|
|
133
|
-
return this.bootstrapper._getTests()
|
|
134
|
-
.then(tests => {
|
|
135
|
-
this.configurationCache.tests = tests;
|
|
136
|
-
return this.bootstrappingError ? Promise.reject(this.bootstrappingError) : Promise.resolve();
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
_createTask(tests, browserConnectionGroups, proxy, opts) {
|
|
140
|
-
opts.live = true;
|
|
141
|
-
return super._createTask(tests, browserConnectionGroups, proxy, opts, this.warningLog);
|
|
142
|
-
}
|
|
143
|
-
_createBootstrapper(browserConnectionGateway) {
|
|
144
|
-
return new bootstrapper_1.default(this, browserConnectionGateway);
|
|
145
|
-
}
|
|
146
|
-
_createController() {
|
|
147
|
-
return new controller_1.default(this);
|
|
148
|
-
}
|
|
149
|
-
_waitUntilExit() {
|
|
150
|
-
return new Promise((resolve, reject) => {
|
|
151
|
-
this.stopInfiniteWaiting = resolve;
|
|
152
|
-
this.rejectInfiniteWaiting = reject;
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
_disposeAssets(browserSet, reporters, testedApp) {
|
|
156
|
-
this.assets = { browserSet, reporters, testedApp };
|
|
157
|
-
return Promise.resolve();
|
|
158
|
-
}
|
|
159
|
-
_dispose() {
|
|
160
|
-
this.controller.dispose();
|
|
161
|
-
if (!this.assets)
|
|
162
|
-
return Promise.resolve();
|
|
163
|
-
const { browserSet, reporters, testedApp } = this.assets;
|
|
164
|
-
return super._disposeAssets(browserSet, reporters, testedApp);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
exports.default = LiveModeRunner;
|
|
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 lodash_1 = require("lodash");
|
|
7
|
+
const test_run_controller_1 = __importDefault(require("./test-run-controller"));
|
|
8
|
+
const controller_1 = __importDefault(require("./controller"));
|
|
9
|
+
const runner_1 = __importDefault(require("../runner"));
|
|
10
|
+
const bootstrapper_1 = __importDefault(require("./bootstrapper"));
|
|
11
|
+
const parse_file_list_1 = __importDefault(require("../utils/parse-file-list"));
|
|
12
|
+
const runtime_1 = require("../errors/runtime");
|
|
13
|
+
const types_1 = require("../errors/types");
|
|
14
|
+
class LiveModeRunner extends runner_1.default {
|
|
15
|
+
constructor({ proxy, browserConnectionGateway, configuration }) {
|
|
16
|
+
super({ proxy, browserConnectionGateway, configuration });
|
|
17
|
+
this.stopping = false;
|
|
18
|
+
this.runnerTaskPromise = null;
|
|
19
|
+
this.stopInfiniteWaiting = lodash_1.noop;
|
|
20
|
+
this.rejectInfiniteWaiting = lodash_1.noop;
|
|
21
|
+
this.assets = null;
|
|
22
|
+
this.testRunController = new test_run_controller_1.default();
|
|
23
|
+
this.controller = this._createController();
|
|
24
|
+
this.embeddingOptions({
|
|
25
|
+
TestRunCtor: this.testRunController.TestRunCtor,
|
|
26
|
+
assets: []
|
|
27
|
+
});
|
|
28
|
+
this.controller = this._createController();
|
|
29
|
+
this.configurationCache = null;
|
|
30
|
+
}
|
|
31
|
+
runTests(isFirstRun = false) {
|
|
32
|
+
let runError = null;
|
|
33
|
+
return this._finishPreviousTestRuns()
|
|
34
|
+
.then(() => {
|
|
35
|
+
return this._validateRunnableConfiguration(isFirstRun);
|
|
36
|
+
})
|
|
37
|
+
.then(() => {
|
|
38
|
+
const expectedTestCount = this.configurationCache.tests.length;
|
|
39
|
+
this.testRunController.setExpectedTestCount(expectedTestCount);
|
|
40
|
+
})
|
|
41
|
+
.then(() => {
|
|
42
|
+
this.runnerTaskPromise = super.run(this.opts);
|
|
43
|
+
return this.runnerTaskPromise;
|
|
44
|
+
})
|
|
45
|
+
.catch(err => {
|
|
46
|
+
this.setBootstrappingError(null);
|
|
47
|
+
runError = err;
|
|
48
|
+
})
|
|
49
|
+
.then(() => {
|
|
50
|
+
this.runnerTaskPromise = null;
|
|
51
|
+
this.controller.onTestRunDone(runError);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
_validateRunOptions() {
|
|
55
|
+
return super._validateRunOptions()
|
|
56
|
+
.catch(err => {
|
|
57
|
+
this.rejectInfiniteWaiting(err);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
_createRunnableConfiguration() {
|
|
61
|
+
if (this.configurationCache)
|
|
62
|
+
return Promise.resolve(this.configurationCache);
|
|
63
|
+
return super._createRunnableConfiguration()
|
|
64
|
+
.then(configuration => {
|
|
65
|
+
this.configurationCache = configuration;
|
|
66
|
+
return configuration;
|
|
67
|
+
})
|
|
68
|
+
.catch(err => {
|
|
69
|
+
this.rejectInfiniteWaiting(err);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
setBootstrappingError(err) {
|
|
73
|
+
this.bootstrappingError = err;
|
|
74
|
+
}
|
|
75
|
+
run(options) {
|
|
76
|
+
this.configurationCache = null;
|
|
77
|
+
if (this._running)
|
|
78
|
+
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.cannotRunLiveModeRunnerMultipleTimes);
|
|
79
|
+
this._running = this._waitUntilExit()
|
|
80
|
+
.then(() => {
|
|
81
|
+
return this._dispose();
|
|
82
|
+
})
|
|
83
|
+
.then(() => {
|
|
84
|
+
delete this._running;
|
|
85
|
+
});
|
|
86
|
+
this.opts = Object.assign({}, this.opts, options);
|
|
87
|
+
this._setBootstrapperOptions();
|
|
88
|
+
const fileListPromise = parse_file_list_1.default(this.bootstrapper.sources, process.cwd());
|
|
89
|
+
fileListPromise
|
|
90
|
+
.then(files => {
|
|
91
|
+
return this.controller.init(files);
|
|
92
|
+
})
|
|
93
|
+
.then(() => this._createRunnableConfiguration())
|
|
94
|
+
.then(() => this.runTests(true));
|
|
95
|
+
return this._running;
|
|
96
|
+
}
|
|
97
|
+
suspend() {
|
|
98
|
+
if (!this.runnerTaskPromise)
|
|
99
|
+
return Promise.resolve();
|
|
100
|
+
this.stopping = true;
|
|
101
|
+
this.testRunController.stop();
|
|
102
|
+
this.runnerTaskPromise.cancel();
|
|
103
|
+
return this.testRunController.allTestsCompletePromise
|
|
104
|
+
.then(() => {
|
|
105
|
+
this.stopping = false;
|
|
106
|
+
this.controller.onTestRunDone();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
stop() {
|
|
110
|
+
return super.stop()
|
|
111
|
+
.then(() => {
|
|
112
|
+
return this.controller.exit();
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
exit() {
|
|
116
|
+
if (this.runnerTaskPromise)
|
|
117
|
+
this.runnerTaskPromise.cancel();
|
|
118
|
+
return Promise.resolve()
|
|
119
|
+
.then(() => this.stopInfiniteWaiting())
|
|
120
|
+
.then(() => this._running);
|
|
121
|
+
}
|
|
122
|
+
async _finishPreviousTestRuns() {
|
|
123
|
+
if (!this.configurationCache.tests)
|
|
124
|
+
return;
|
|
125
|
+
this.testRunController.run();
|
|
126
|
+
}
|
|
127
|
+
_validateRunnableConfiguration(isFirstRun) {
|
|
128
|
+
if (isFirstRun) {
|
|
129
|
+
if (this.bootstrappingError)
|
|
130
|
+
return Promise.reject(this.bootstrappingError);
|
|
131
|
+
return Promise.resolve();
|
|
132
|
+
}
|
|
133
|
+
return this.bootstrapper._getTests()
|
|
134
|
+
.then(tests => {
|
|
135
|
+
this.configurationCache.tests = tests;
|
|
136
|
+
return this.bootstrappingError ? Promise.reject(this.bootstrappingError) : Promise.resolve();
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
_createTask(tests, browserConnectionGroups, proxy, opts) {
|
|
140
|
+
opts.live = true;
|
|
141
|
+
return super._createTask(tests, browserConnectionGroups, proxy, opts, this.warningLog);
|
|
142
|
+
}
|
|
143
|
+
_createBootstrapper(browserConnectionGateway) {
|
|
144
|
+
return new bootstrapper_1.default(this, browserConnectionGateway);
|
|
145
|
+
}
|
|
146
|
+
_createController() {
|
|
147
|
+
return new controller_1.default(this);
|
|
148
|
+
}
|
|
149
|
+
_waitUntilExit() {
|
|
150
|
+
return new Promise((resolve, reject) => {
|
|
151
|
+
this.stopInfiniteWaiting = resolve;
|
|
152
|
+
this.rejectInfiniteWaiting = reject;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
_disposeAssets(browserSet, reporters, testedApp) {
|
|
156
|
+
this.assets = { browserSet, reporters, testedApp };
|
|
157
|
+
return Promise.resolve();
|
|
158
|
+
}
|
|
159
|
+
_dispose() {
|
|
160
|
+
this.controller.dispose();
|
|
161
|
+
if (!this.assets)
|
|
162
|
+
return Promise.resolve();
|
|
163
|
+
const { browserSet, reporters, testedApp } = this.assets;
|
|
164
|
+
return super._disposeAssets(browserSet, reporters, testedApp);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
exports.default = LiveModeRunner;
|
|
168
168
|
module.exports = exports.default;
|
|
169
169
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1ydW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl2ZS90ZXN0LXJ1bm5lci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUE4QjtBQUM5QixnRkFBOEQ7QUFDOUQsOERBQThDO0FBQzlDLHVEQUErQjtBQUMvQixrRUFBa0Q7QUFDbEQsK0VBQXFEO0FBQ3JELCtDQUFpRDtBQUNqRCwyQ0FBaUQ7QUFFakQsTUFBTSxjQUFlLFNBQVEsZ0JBQU07SUFDL0IsWUFBYSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxhQUFhLEVBQUU7UUFDM0QsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLFFBQVEsR0FBZ0IsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBTyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLG1CQUFtQixHQUFLLGFBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsYUFBSSxDQUFDO1FBRWxDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBRW5CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLDZCQUF5QixFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBVSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUdsRCxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDbEIsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXO1lBQy9DLE1BQU0sRUFBTyxFQUFFO1NBQ2xCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQVcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUSxDQUFFLFVBQVUsR0FBRyxLQUFLO1FBQ3hC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LFVBQVUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxtQkFBbUIsQ0FBRSx3QkFBd0I7UUFDekMsT0FBTyxJQUFJLHNCQUFvQixDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksb0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxtQkFBbUIsR0FBSyxPQUFPLENBQUM7WUFDckMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBRW5ELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDWixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU3QixNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXpELE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDSjtBQUVELGtCQUFlLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vb3AgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IExpdmVNb2RlVGVzdFJ1bkNvbnRyb2xsZXIgZnJvbSAnLi90ZXN0LXJ1bi1jb250cm9sbGVyJztcbmltcG9ydCBMaXZlTW9kZUNvbnRyb2xsZXIgZnJvbSAnLi9jb250cm9sbGVyJztcbmltcG9ydCBSdW5uZXIgZnJvbSAnLi4vcnVubmVyJztcbmltcG9ydCBMaXZlTW9kZUJvb3RzdHJhcHBlciBmcm9tICcuL2Jvb3RzdHJhcHBlcic7XG5pbXBvcnQgcGFyc2VGaWxlTGlzdCBmcm9tICcuLi91dGlscy9wYXJzZS1maWxlLWxpc3QnO1xuaW1wb3J0IHsgR2VuZXJhbEVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuXG5jbGFzcyBMaXZlTW9kZVJ1bm5lciBleHRlbmRzIFJ1bm5lciB7XG4gICAgY29uc3RydWN0b3IgKHsgcHJveHksIGJyb3dzZXJDb25uZWN0aW9uR2F0ZXdheSwgY29uZmlndXJhdGlvbiB9KSB7XG4gICAgICAgIHN1cGVyKHsgcHJveHksIGJyb3dzZXJDb25uZWN0aW9uR2F0ZXdheSwgY29uZmlndXJhdGlvbiB9KTtcblxuICAgICAgICB0aGlzLnN0b3BwaW5nICAgICAgICAgICAgICA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJ1bm5lclRhc2tQcm9taXNlICAgICA9IG51bGw7XG4gICAgICAgIHRoaXMuc3RvcEluZmluaXRlV2FpdGluZyAgID0gbm9vcDtcbiAgICAgICAgdGhpcy5yZWplY3RJbmZpbml0ZVdhaXRpbmcgPSBub29wO1xuXG4gICAgICAgIHRoaXMuYXNzZXRzID0gbnVsbDtcblxuICAgICAgICB0aGlzLnRlc3RSdW5Db250cm9sbGVyID0gbmV3IExpdmVNb2RlVGVzdFJ1bkNvbnRyb2xsZXIoKTtcbiAgICAgICAgdGhpcy5jb250cm9sbGVyICAgICAgICA9IHRoaXMuX2NyZWF0ZUNvbnRyb2xsZXIoKTtcblxuXG4gICAgICAgIHRoaXMuZW1iZWRkaW5nT3B0aW9ucyh7XG4gICAgICAgICAgICBUZXN0UnVuQ3RvcjogdGhpcy50ZXN0UnVuQ29udHJvbGxlci5UZXN0UnVuQ3RvcixcbiAgICAgICAgICAgIGFzc2V0czogICAgICBbXVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250cm9sbGVyICAgICAgICAgPSB0aGlzLl9jcmVhdGVDb250cm9sbGVyKCk7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbkNhY2hlID0gbnVsbDtcbiAgICB9XG5cbiAgICBydW5UZXN0cyAoaXNGaXJzdFJ1biA9IGZhbHNlKSB7XG4gICAgICAgIGxldCBydW5FcnJvciA9IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbmlzaFByZXZpb3VzVGVzdFJ1bnMoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0ZVJ1bm5hYmxlQ29uZmlndXJhdGlvbihpc0ZpcnN0UnVuKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWRUZXN0Q291bnQgPSB0aGlzLmNvbmZpZ3VyYXRpb25DYWNoZS50ZXN0cy5sZW5ndGg7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRlc3RSdW5Db250cm9sbGVyLnNldEV4cGVjdGVkVGVzdENvdW50KGV4cGVjdGVkVGVzdENvdW50KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ydW5uZXJUYXNrUHJvbWlzZSA9IHN1cGVyLnJ1bih0aGlzLm9wdHMpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucnVubmVyVGFza1Byb21pc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRCb290c3RyYXBwaW5nRXJyb3IobnVsbCk7XG5cbiAgICAgICAgICAgICAgICBydW5FcnJvciA9IGVycjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ydW5uZXJUYXNrUHJvbWlzZSA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIub25UZXN0UnVuRG9uZShydW5FcnJvcik7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBfdmFsaWRhdGVSdW5PcHRpb25zICgpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLl92YWxpZGF0ZVJ1bk9wdGlvbnMoKVxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWplY3RJbmZpbml0ZVdhaXRpbmcoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9jcmVhdGVSdW5uYWJsZUNvbmZpZ3VyYXRpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uQ2FjaGUpXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuY29uZmlndXJhdGlvbkNhY2hlKTtcblxuICAgICAgICByZXR1cm4gc3VwZXIuX2NyZWF0ZVJ1bm5hYmxlQ29uZmlndXJhdGlvbigpXG4gICAgICAgICAgICAudGhlbihjb25maWd1cmF0aW9uID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25DYWNoZSA9IGNvbmZpZ3VyYXRpb247XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlamVjdEluZmluaXRlV2FpdGluZyhlcnIpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0Qm9vdHN0cmFwcGluZ0Vycm9yIChlcnIpIHtcbiAgICAgICAgdGhpcy5ib290c3RyYXBwaW5nRXJyb3IgPSBlcnI7XG4gICAgfVxuXG4gICAgcnVuIChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbkNhY2hlID0gbnVsbDtcblxuICAgICAgICBpZiAodGhpcy5fcnVubmluZylcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMuY2Fubm90UnVuTGl2ZU1vZGVSdW5uZXJNdWx0aXBsZVRpbWVzKTtcblxuICAgICAgICB0aGlzLl9ydW5uaW5nID0gdGhpcy5fd2FpdFVudGlsRXhpdCgpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3J1bm5pbmc7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9wdHMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm9wdHMsIG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuX3NldEJvb3RzdHJhcHBlck9wdGlvbnMoKTtcblxuICAgICAgICBjb25zdCBmaWxlTGlzdFByb21pc2UgPSBwYXJzZUZpbGVMaXN0KHRoaXMuYm9vdHN0cmFwcGVyLnNvdXJjZXMsIHByb2Nlc3MuY3dkKCkpO1xuXG4gICAgICAgIGZpbGVMaXN0UHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oZmlsZXMgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuaW5pdChmaWxlcyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fY3JlYXRlUnVubmFibGVDb25maWd1cmF0aW9uKCkpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLnJ1blRlc3RzKHRydWUpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fcnVubmluZztcbiAgICB9XG5cbiAgICBzdXNwZW5kICgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJ1bm5lclRhc2tQcm9taXNlKVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXG4gICAgICAgIHRoaXMuc3RvcHBpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnRlc3RSdW5Db250cm9sbGVyLnN0b3AoKTtcbiAgICAgICAgdGhpcy5ydW5uZXJUYXNrUHJvbWlzZS5jYW5jZWwoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy50ZXN0UnVuQ29udHJvbGxlci5hbGxUZXN0c0NvbXBsZXRlUHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcHBpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbGxlci5vblRlc3RSdW5Eb25lKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdG9wICgpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLnN0b3AoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuZXhpdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZXhpdCAoKSB7XG4gICAgICAgIGlmICh0aGlzLnJ1bm5lclRhc2tQcm9taXNlKVxuICAgICAgICAgICAgdGhpcy5ydW5uZXJUYXNrUHJvbWlzZS5jYW5jZWwoKTtcblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuc3RvcEluZmluaXRlV2FpdGluZygpKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fcnVubmluZyk7XG4gICAgfVxuXG4gICAgYXN5bmMgX2ZpbmlzaFByZXZpb3VzVGVzdFJ1bnMgKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbkNhY2hlLnRlc3RzKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy50ZXN0UnVuQ29udHJvbGxlci5ydW4oKTtcbiAgICB9XG5cbiAgICBfdmFsaWRhdGVSdW5uYWJsZUNvbmZpZ3VyYXRpb24gKGlzRmlyc3RSdW4pIHtcbiAgICAgICAgaWYgKGlzRmlyc3RSdW4pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmJvb3RzdHJhcHBpbmdFcnJvcilcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QodGhpcy5ib290c3RyYXBwaW5nRXJyb3IpO1xuXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5ib290c3RyYXBwZXIuX2dldFRlc3RzKClcbiAgICAgICAgICAgIC50aGVuKHRlc3RzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25DYWNoZS50ZXN0cyA9IHRlc3RzO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYm9vdHN0cmFwcGluZ0Vycm9yID8gUHJvbWlzZS5yZWplY3QodGhpcy5ib290c3RyYXBwaW5nRXJyb3IpIDogUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBfY3JlYXRlVGFzayAodGVzdHMsIGJyb3dzZXJDb25uZWN0aW9uR3JvdXBzLCBwcm94eSwgb3B0cykge1xuICAgICAgICBvcHRzLmxpdmUgPSB0cnVlO1xuXG4gICAgICAgIHJldHVybiBzdXBlci5fY3JlYXRlVGFzayh0ZXN0cywgYnJvd3NlckNvbm5lY3Rpb25Hcm91cHMsIHByb3h5LCBvcHRzLCB0aGlzLndhcm5pbmdMb2cpO1xuICAgIH1cblxuICAgIF9jcmVhdGVCb290c3RyYXBwZXIgKGJyb3dzZXJDb25uZWN0aW9uR2F0ZXdheSkge1xuICAgICAgICByZXR1cm4gbmV3IExpdmVNb2RlQm9vdHN0cmFwcGVyKHRoaXMsIGJyb3dzZXJDb25uZWN0aW9uR2F0ZXdheSk7XG4gICAgfVxuXG4gICAgX2NyZWF0ZUNvbnRyb2xsZXIgKCkge1xuICAgICAgICByZXR1cm4gbmV3IExpdmVNb2RlQ29udHJvbGxlcih0aGlzKTtcbiAgICB9XG5cbiAgICBfd2FpdFVudGlsRXhpdCAoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0b3BJbmZpbml0ZVdhaXRpbmcgICA9IHJlc29sdmU7XG4gICAgICAgICAgICB0aGlzLnJlamVjdEluZmluaXRlV2FpdGluZyA9IHJlamVjdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2Rpc3Bvc2VBc3NldHMgKGJyb3dzZXJTZXQsIHJlcG9ydGVycywgdGVzdGVkQXBwKSB7XG4gICAgICAgIHRoaXMuYXNzZXRzID0geyBicm93c2VyU2V0LCByZXBvcnRlcnMsIHRlc3RlZEFwcCB9O1xuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBfZGlzcG9zZSAoKSB7XG4gICAgICAgIHRoaXMuY29udHJvbGxlci5kaXNwb3NlKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmFzc2V0cylcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblxuICAgICAgICBjb25zdCB7IGJyb3dzZXJTZXQsIHJlcG9ydGVycywgdGVzdGVkQXBwIH0gPSB0aGlzLmFzc2V0cztcblxuICAgICAgICByZXR1cm4gc3VwZXIuX2Rpc3Bvc2VBc3NldHMoYnJvd3NlclNldCwgcmVwb3J0ZXJzLCB0ZXN0ZWRBcHApO1xuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTGl2ZU1vZGVSdW5uZXI7XG4iXX0=
|
package/lib/load-assets.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const read_file_relative_1 = require("read-file-relative");
|
|
4
|
-
const ASSETS_CACHE = {};
|
|
5
|
-
function loadAsset(filename, asBuffer) {
|
|
6
|
-
if (!ASSETS_CACHE[filename])
|
|
7
|
-
ASSETS_CACHE[filename] = read_file_relative_1.readSync(filename, asBuffer);
|
|
8
|
-
return ASSETS_CACHE[filename];
|
|
9
|
-
}
|
|
10
|
-
function default_1(developmentMode) {
|
|
11
|
-
const scriptNameSuffix = developmentMode ? 'js' : 'min.js';
|
|
12
|
-
return {
|
|
13
|
-
favIcon: loadAsset('./client/ui/favicon.ico', true),
|
|
14
|
-
coreScript: loadAsset(`./client/core/index.${scriptNameSuffix}`),
|
|
15
|
-
driverScript: loadAsset(`./client/driver/index.${scriptNameSuffix}`),
|
|
16
|
-
uiScript: loadAsset(`./client/ui/index.${scriptNameSuffix}`),
|
|
17
|
-
uiStyle: loadAsset('./client/ui/styles.css'),
|
|
18
|
-
uiSprite: loadAsset('./client/ui/sprite.png', true),
|
|
19
|
-
uiSpriteSvg: loadAsset('./client/ui/sprite.svg', true),
|
|
20
|
-
idlePageScript: loadAsset('./client/browser/idle-page/index.js'),
|
|
21
|
-
idlePageStyle: loadAsset('./client/browser/idle-page/styles.css'),
|
|
22
|
-
idlePageLogo: loadAsset('./client/browser/idle-page/logo.svg', true),
|
|
23
|
-
serviceWorkerScript: loadAsset('./client/browser/service-worker.js'),
|
|
24
|
-
automationScript: loadAsset(`./client/automation/index.${scriptNameSuffix}`),
|
|
25
|
-
// NOTE: Load the legacy client script lazily to reduce startup time
|
|
26
|
-
legacyRunnerScript: require('testcafe-legacy-api').CLIENT_RUNNER_SCRIPT
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
exports.default = default_1;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const read_file_relative_1 = require("read-file-relative");
|
|
4
|
+
const ASSETS_CACHE = {};
|
|
5
|
+
function loadAsset(filename, asBuffer) {
|
|
6
|
+
if (!ASSETS_CACHE[filename])
|
|
7
|
+
ASSETS_CACHE[filename] = read_file_relative_1.readSync(filename, asBuffer);
|
|
8
|
+
return ASSETS_CACHE[filename];
|
|
9
|
+
}
|
|
10
|
+
function default_1(developmentMode) {
|
|
11
|
+
const scriptNameSuffix = developmentMode ? 'js' : 'min.js';
|
|
12
|
+
return {
|
|
13
|
+
favIcon: loadAsset('./client/ui/favicon.ico', true),
|
|
14
|
+
coreScript: loadAsset(`./client/core/index.${scriptNameSuffix}`),
|
|
15
|
+
driverScript: loadAsset(`./client/driver/index.${scriptNameSuffix}`),
|
|
16
|
+
uiScript: loadAsset(`./client/ui/index.${scriptNameSuffix}`),
|
|
17
|
+
uiStyle: loadAsset('./client/ui/styles.css'),
|
|
18
|
+
uiSprite: loadAsset('./client/ui/sprite.png', true),
|
|
19
|
+
uiSpriteSvg: loadAsset('./client/ui/sprite.svg', true),
|
|
20
|
+
idlePageScript: loadAsset('./client/browser/idle-page/index.js'),
|
|
21
|
+
idlePageStyle: loadAsset('./client/browser/idle-page/styles.css'),
|
|
22
|
+
idlePageLogo: loadAsset('./client/browser/idle-page/logo.svg', true),
|
|
23
|
+
serviceWorkerScript: loadAsset('./client/browser/service-worker.js'),
|
|
24
|
+
automationScript: loadAsset(`./client/automation/index.${scriptNameSuffix}`),
|
|
25
|
+
// NOTE: Load the legacy client script lazily to reduce startup time
|
|
26
|
+
legacyRunnerScript: require('testcafe-legacy-api').CLIENT_RUNNER_SCRIPT
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
exports.default = default_1;
|
|
30
30
|
module.exports = exports.default;
|
|
31
31
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbG9hZC1hc3NldHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyREFBc0Q7QUFHdEQsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBRXhCLFNBQVMsU0FBUyxDQUFFLFFBQVEsRUFBRSxRQUFRO0lBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyw2QkFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV0RCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsbUJBQXlCLGVBQWU7SUFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRTNELE9BQU87UUFDSCxPQUFPLEVBQU8sU0FBUyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQztRQUN4RCxVQUFVLEVBQUksU0FBUyxDQUFDLHVCQUF1QixnQkFBZ0IsRUFBRSxDQUFDO1FBQ2xFLFlBQVksRUFBRSxTQUFTLENBQUMseUJBQXlCLGdCQUFnQixFQUFFLENBQUM7UUFDcEUsUUFBUSxFQUFNLFNBQVMsQ0FBQyxxQkFBcUIsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoRSxPQUFPLEVBQU8sU0FBUyxDQUFDLHdCQUF3QixDQUFDO1FBQ2pELFFBQVEsRUFBTSxTQUFTLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDO1FBQ3ZELFdBQVcsRUFBRyxTQUFTLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDO1FBRXZELGNBQWMsRUFBRSxTQUFTLENBQUMscUNBQXFDLENBQUM7UUFDaEUsYUFBYSxFQUFHLFNBQVMsQ0FBQyx1Q0FBdUMsQ0FBQztRQUNsRSxZQUFZLEVBQUksU0FBUyxDQUFDLHFDQUFxQyxFQUFFLElBQUksQ0FBQztRQUV0RSxtQkFBbUIsRUFBRSxTQUFTLENBQUMsb0NBQW9DLENBQUM7UUFFcEUsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLDZCQUE2QixnQkFBZ0IsRUFBRSxDQUFDO1FBRTVFLG9FQUFvRTtRQUNwRSxrQkFBa0IsRUFBRSxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxvQkFBb0I7S0FDMUUsQ0FBQztBQUNOLENBQUM7QUF2QkQsNEJBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZFN5bmMgYXMgcmVhZCB9IGZyb20gJ3JlYWQtZmlsZS1yZWxhdGl2ZSc7XG5cblxuY29uc3QgQVNTRVRTX0NBQ0hFID0ge307XG5cbmZ1bmN0aW9uIGxvYWRBc3NldCAoZmlsZW5hbWUsIGFzQnVmZmVyKSB7XG4gICAgaWYgKCFBU1NFVFNfQ0FDSEVbZmlsZW5hbWVdKVxuICAgICAgICBBU1NFVFNfQ0FDSEVbZmlsZW5hbWVdID0gcmVhZChmaWxlbmFtZSwgYXNCdWZmZXIpO1xuXG4gICAgcmV0dXJuIEFTU0VUU19DQUNIRVtmaWxlbmFtZV07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChkZXZlbG9wbWVudE1vZGUpIHtcbiAgICBjb25zdCBzY3JpcHROYW1lU3VmZml4ID0gZGV2ZWxvcG1lbnRNb2RlID8gJ2pzJyA6ICdtaW4uanMnO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmF2SWNvbjogICAgICBsb2FkQXNzZXQoJy4vY2xpZW50L3VpL2Zhdmljb24uaWNvJywgdHJ1ZSksXG4gICAgICAgIGNvcmVTY3JpcHQ6ICAgbG9hZEFzc2V0KGAuL2NsaWVudC9jb3JlL2luZGV4LiR7c2NyaXB0TmFtZVN1ZmZpeH1gKSxcbiAgICAgICAgZHJpdmVyU2NyaXB0OiBsb2FkQXNzZXQoYC4vY2xpZW50L2RyaXZlci9pbmRleC4ke3NjcmlwdE5hbWVTdWZmaXh9YCksXG4gICAgICAgIHVpU2NyaXB0OiAgICAgbG9hZEFzc2V0KGAuL2NsaWVudC91aS9pbmRleC4ke3NjcmlwdE5hbWVTdWZmaXh9YCksXG4gICAgICAgIHVpU3R5bGU6ICAgICAgbG9hZEFzc2V0KCcuL2NsaWVudC91aS9zdHlsZXMuY3NzJyksXG4gICAgICAgIHVpU3ByaXRlOiAgICAgbG9hZEFzc2V0KCcuL2NsaWVudC91aS9zcHJpdGUucG5nJywgdHJ1ZSksXG4gICAgICAgIHVpU3ByaXRlU3ZnOiAgbG9hZEFzc2V0KCcuL2NsaWVudC91aS9zcHJpdGUuc3ZnJywgdHJ1ZSksXG5cbiAgICAgICAgaWRsZVBhZ2VTY3JpcHQ6IGxvYWRBc3NldCgnLi9jbGllbnQvYnJvd3Nlci9pZGxlLXBhZ2UvaW5kZXguanMnKSxcbiAgICAgICAgaWRsZVBhZ2VTdHlsZTogIGxvYWRBc3NldCgnLi9jbGllbnQvYnJvd3Nlci9pZGxlLXBhZ2Uvc3R5bGVzLmNzcycpLFxuICAgICAgICBpZGxlUGFnZUxvZ286ICAgbG9hZEFzc2V0KCcuL2NsaWVudC9icm93c2VyL2lkbGUtcGFnZS9sb2dvLnN2ZycsIHRydWUpLFxuXG4gICAgICAgIHNlcnZpY2VXb3JrZXJTY3JpcHQ6IGxvYWRBc3NldCgnLi9jbGllbnQvYnJvd3Nlci9zZXJ2aWNlLXdvcmtlci5qcycpLFxuXG4gICAgICAgIGF1dG9tYXRpb25TY3JpcHQ6IGxvYWRBc3NldChgLi9jbGllbnQvYXV0b21hdGlvbi9pbmRleC4ke3NjcmlwdE5hbWVTdWZmaXh9YCksXG5cbiAgICAgICAgLy8gTk9URTogTG9hZCB0aGUgbGVnYWN5IGNsaWVudCBzY3JpcHQgbGF6aWx5IHRvIHJlZHVjZSBzdGFydHVwIHRpbWVcbiAgICAgICAgbGVnYWN5UnVubmVyU2NyaXB0OiByZXF1aXJlKCd0ZXN0Y2FmZS1sZWdhY3ktYXBpJykuQ0xJRU5UX1JVTk5FUl9TQ1JJUFRcbiAgICB9O1xufVxuIl19
|
|
@@ -1,18 +1,18 @@
|
|
|
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 render_callsite_sync_1 = __importDefault(require("../utils/render-callsite-sync"));
|
|
7
|
-
const create_stack_filter_1 = __importDefault(require("../errors/create-stack-filter"));
|
|
8
|
-
const callsite_record_1 = require("callsite-record");
|
|
9
|
-
function addWarning(warningLog, message, callsite = void 0) {
|
|
10
|
-
const renderedCallsite = render_callsite_sync_1.default(callsite, {
|
|
11
|
-
renderer: callsite_record_1.renderers.noColor,
|
|
12
|
-
stackFilter: create_stack_filter_1.default(Error.stackTraceLimit)
|
|
13
|
-
});
|
|
14
|
-
warningLog.addWarning(message + `\n\n${renderedCallsite}`);
|
|
15
|
-
}
|
|
16
|
-
exports.default = addWarning;
|
|
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 render_callsite_sync_1 = __importDefault(require("../utils/render-callsite-sync"));
|
|
7
|
+
const create_stack_filter_1 = __importDefault(require("../errors/create-stack-filter"));
|
|
8
|
+
const callsite_record_1 = require("callsite-record");
|
|
9
|
+
function addWarning(warningLog, message, callsite = void 0) {
|
|
10
|
+
const renderedCallsite = render_callsite_sync_1.default(callsite, {
|
|
11
|
+
renderer: callsite_record_1.renderers.noColor,
|
|
12
|
+
stackFilter: create_stack_filter_1.default(Error.stackTraceLimit)
|
|
13
|
+
});
|
|
14
|
+
warningLog.addWarning(message + `\n\n${renderedCallsite}`);
|
|
15
|
+
}
|
|
16
|
+
exports.default = addWarning;
|
|
17
17
|
module.exports = exports.default;
|
|
18
18
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlbmRlcmVkLXdhcm5pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90aWZpY2F0aW9ucy9hZGQtcmVuZGVyZWQtd2FybmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlGQUErRDtBQUMvRCx3RkFBOEQ7QUFDOUQscURBQTRDO0FBRzVDLFNBQXdCLFVBQVUsQ0FBRSxVQUFzQixFQUFFLE9BQWUsRUFBRSxXQUFnQixLQUFLLENBQUM7SUFDL0YsTUFBTSxnQkFBZ0IsR0FBRyw4QkFBa0IsQ0FBQyxRQUFRLEVBQUU7UUFDbEQsUUFBUSxFQUFLLDJCQUFTLENBQUMsT0FBTztRQUM5QixXQUFXLEVBQUUsNkJBQWlCLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztLQUN4RCxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxPQUFPLGdCQUFnQixFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBUEQsNkJBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcmVuZGVyQ2FsbHNpdGVTeW5jIGZyb20gJy4uL3V0aWxzL3JlbmRlci1jYWxsc2l0ZS1zeW5jJztcbmltcG9ydCBjcmVhdGVTdGFja0ZpbHRlciBmcm9tICcuLi9lcnJvcnMvY3JlYXRlLXN0YWNrLWZpbHRlcic7XG5pbXBvcnQgeyByZW5kZXJlcnMgfSBmcm9tICdjYWxsc2l0ZS1yZWNvcmQnO1xuaW1wb3J0IFdhcm5pbmdMb2cgZnJvbSAnLi93YXJuaW5nLWxvZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZFdhcm5pbmcgKHdhcm5pbmdMb2c6IFdhcm5pbmdMb2csIG1lc3NhZ2U6IHN0cmluZywgY2FsbHNpdGU6IGFueSA9IHZvaWQgMCk6IHZvaWQge1xuICAgIGNvbnN0IHJlbmRlcmVkQ2FsbHNpdGUgPSByZW5kZXJDYWxsc2l0ZVN5bmMoY2FsbHNpdGUsIHtcbiAgICAgICAgcmVuZGVyZXI6ICAgIHJlbmRlcmVycy5ub0NvbG9yLFxuICAgICAgICBzdGFja0ZpbHRlcjogY3JlYXRlU3RhY2tGaWx0ZXIoRXJyb3Iuc3RhY2tUcmFjZUxpbWl0KVxuICAgIH0pO1xuXG4gICAgd2FybmluZ0xvZy5hZGRXYXJuaW5nKG1lc3NhZ2UgKyBgXFxuXFxuJHtyZW5kZXJlZENhbGxzaXRlfWApO1xufVxuIl19
|
|
@@ -1,80 +1,80 @@
|
|
|
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 chalk_1 = __importDefault(require("chalk"));
|
|
7
|
-
const lodash_1 = require("lodash");
|
|
8
|
-
const log_update_async_hook_1 = __importDefault(require("log-update-async-hook"));
|
|
9
|
-
const render_callsite_sync_1 = __importDefault(require("../utils/render-callsite-sync"));
|
|
10
|
-
const create_stack_filter_1 = __importDefault(require("../errors/create-stack-filter"));
|
|
11
|
-
exports.default = {
|
|
12
|
-
messages: [],
|
|
13
|
-
debugLogging: false,
|
|
14
|
-
streamsOverridden: false,
|
|
15
|
-
_overrideStream(stream) {
|
|
16
|
-
const initialWrite = stream.write;
|
|
17
|
-
stream.write = (chunk, encoding, cb) => {
|
|
18
|
-
if (this.debugLogging)
|
|
19
|
-
initialWrite.call(stream, chunk, encoding, cb);
|
|
20
|
-
else {
|
|
21
|
-
this.debugLogging = true;
|
|
22
|
-
log_update_async_hook_1.default.clear();
|
|
23
|
-
log_update_async_hook_1.default.done();
|
|
24
|
-
initialWrite.call(stream, chunk, encoding, cb);
|
|
25
|
-
setTimeout(() => this._showAllBreakpoints(), 0);
|
|
26
|
-
this.debugLogging = false;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
},
|
|
30
|
-
_overrideStreams() {
|
|
31
|
-
this._overrideStream(process.stdout);
|
|
32
|
-
this._overrideStream(process.stderr);
|
|
33
|
-
this.streamsOverridden = true;
|
|
34
|
-
},
|
|
35
|
-
_getMessageAsString() {
|
|
36
|
-
let string = '';
|
|
37
|
-
for (const message of this.messages)
|
|
38
|
-
string += message.frame;
|
|
39
|
-
return string;
|
|
40
|
-
},
|
|
41
|
-
_showAllBreakpoints() {
|
|
42
|
-
if (!this.messages.length)
|
|
43
|
-
return;
|
|
44
|
-
this.debugLogging = true;
|
|
45
|
-
log_update_async_hook_1.default(this._getMessageAsString());
|
|
46
|
-
this.debugLogging = false;
|
|
47
|
-
},
|
|
48
|
-
showBreakpoint(testRunId, userAgent, callsite, testError) {
|
|
49
|
-
if (!this.streamsOverridden)
|
|
50
|
-
this._overrideStreams();
|
|
51
|
-
const callsiteStr = render_callsite_sync_1.default(callsite, {
|
|
52
|
-
frameSize: 1,
|
|
53
|
-
stackFilter: create_stack_filter_1.default(Error.stackTraceLimit),
|
|
54
|
-
stack: false
|
|
55
|
-
});
|
|
56
|
-
const frame = `\n` +
|
|
57
|
-
`----\n` +
|
|
58
|
-
`${userAgent}\n` +
|
|
59
|
-
chalk_1.default.yellow(testError ? 'DEBUGGER PAUSE ON FAILED TEST:' : 'DEBUGGER PAUSE:') +
|
|
60
|
-
`${testError ? `\n${testError}` : ''}` +
|
|
61
|
-
`${!testError && callsiteStr ? `\n${callsiteStr}` : ''}` +
|
|
62
|
-
'\n' +
|
|
63
|
-
`----\n`;
|
|
64
|
-
const message = { testRunId, frame };
|
|
65
|
-
const index = lodash_1.findIndex(this.messages, { testRunId });
|
|
66
|
-
if (index === -1)
|
|
67
|
-
this.messages.push(message);
|
|
68
|
-
else
|
|
69
|
-
this.messages[index] = message;
|
|
70
|
-
this._showAllBreakpoints();
|
|
71
|
-
},
|
|
72
|
-
hideBreakpoint(testRunId) {
|
|
73
|
-
const index = lodash_1.findIndex(this.messages, { testRunId });
|
|
74
|
-
if (index !== -1)
|
|
75
|
-
this.messages.splice(index, 1);
|
|
76
|
-
this._showAllBreakpoints();
|
|
77
|
-
}
|
|
78
|
-
};
|
|
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 chalk_1 = __importDefault(require("chalk"));
|
|
7
|
+
const lodash_1 = require("lodash");
|
|
8
|
+
const log_update_async_hook_1 = __importDefault(require("log-update-async-hook"));
|
|
9
|
+
const render_callsite_sync_1 = __importDefault(require("../utils/render-callsite-sync"));
|
|
10
|
+
const create_stack_filter_1 = __importDefault(require("../errors/create-stack-filter"));
|
|
11
|
+
exports.default = {
|
|
12
|
+
messages: [],
|
|
13
|
+
debugLogging: false,
|
|
14
|
+
streamsOverridden: false,
|
|
15
|
+
_overrideStream(stream) {
|
|
16
|
+
const initialWrite = stream.write;
|
|
17
|
+
stream.write = (chunk, encoding, cb) => {
|
|
18
|
+
if (this.debugLogging)
|
|
19
|
+
initialWrite.call(stream, chunk, encoding, cb);
|
|
20
|
+
else {
|
|
21
|
+
this.debugLogging = true;
|
|
22
|
+
log_update_async_hook_1.default.clear();
|
|
23
|
+
log_update_async_hook_1.default.done();
|
|
24
|
+
initialWrite.call(stream, chunk, encoding, cb);
|
|
25
|
+
setTimeout(() => this._showAllBreakpoints(), 0);
|
|
26
|
+
this.debugLogging = false;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
_overrideStreams() {
|
|
31
|
+
this._overrideStream(process.stdout);
|
|
32
|
+
this._overrideStream(process.stderr);
|
|
33
|
+
this.streamsOverridden = true;
|
|
34
|
+
},
|
|
35
|
+
_getMessageAsString() {
|
|
36
|
+
let string = '';
|
|
37
|
+
for (const message of this.messages)
|
|
38
|
+
string += message.frame;
|
|
39
|
+
return string;
|
|
40
|
+
},
|
|
41
|
+
_showAllBreakpoints() {
|
|
42
|
+
if (!this.messages.length)
|
|
43
|
+
return;
|
|
44
|
+
this.debugLogging = true;
|
|
45
|
+
log_update_async_hook_1.default(this._getMessageAsString());
|
|
46
|
+
this.debugLogging = false;
|
|
47
|
+
},
|
|
48
|
+
showBreakpoint(testRunId, userAgent, callsite, testError) {
|
|
49
|
+
if (!this.streamsOverridden)
|
|
50
|
+
this._overrideStreams();
|
|
51
|
+
const callsiteStr = render_callsite_sync_1.default(callsite, {
|
|
52
|
+
frameSize: 1,
|
|
53
|
+
stackFilter: create_stack_filter_1.default(Error.stackTraceLimit),
|
|
54
|
+
stack: false
|
|
55
|
+
});
|
|
56
|
+
const frame = `\n` +
|
|
57
|
+
`----\n` +
|
|
58
|
+
`${userAgent}\n` +
|
|
59
|
+
chalk_1.default.yellow(testError ? 'DEBUGGER PAUSE ON FAILED TEST:' : 'DEBUGGER PAUSE:') +
|
|
60
|
+
`${testError ? `\n${testError}` : ''}` +
|
|
61
|
+
`${!testError && callsiteStr ? `\n${callsiteStr}` : ''}` +
|
|
62
|
+
'\n' +
|
|
63
|
+
`----\n`;
|
|
64
|
+
const message = { testRunId, frame };
|
|
65
|
+
const index = lodash_1.findIndex(this.messages, { testRunId });
|
|
66
|
+
if (index === -1)
|
|
67
|
+
this.messages.push(message);
|
|
68
|
+
else
|
|
69
|
+
this.messages[index] = message;
|
|
70
|
+
this._showAllBreakpoints();
|
|
71
|
+
},
|
|
72
|
+
hideBreakpoint(testRunId) {
|
|
73
|
+
const index = lodash_1.findIndex(this.messages, { testRunId });
|
|
74
|
+
if (index !== -1)
|
|
75
|
+
this.messages.splice(index, 1);
|
|
76
|
+
this._showAllBreakpoints();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
79
|
module.exports = exports.default;
|
|
80
80
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25vdGlmaWNhdGlvbnMvZGVidWctbG9nZ2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLG1DQUFtQztBQUNuQyxrRkFBOEM7QUFDOUMseUZBQStEO0FBQy9ELHdGQUE4RDtBQUU5RCxrQkFBZTtJQUNYLFFBQVEsRUFBRSxFQUFFO0lBRVosWUFBWSxFQUFFLEtBQUs7SUFFbkIsaUJBQWlCLEVBQUUsS0FBSztJQUV4QixlQUFlLENBQUUsTUFBTTtRQUNuQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRWxDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ25DLElBQUksSUFBSSxDQUFDLFlBQVk7Z0JBQ2pCLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQzlDO2dCQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUV6QiwrQkFBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsQiwrQkFBUyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUVqQixZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUUvQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRWhELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2FBQzdCO1FBQ0wsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUVoQixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQy9CLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ3JCLE9BQU87UUFFWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QiwrQkFBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWMsQ0FBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTVCLE1BQU0sV0FBVyxHQUFHLDhCQUFrQixDQUFDLFFBQVEsRUFBRTtZQUM3QyxTQUFTLEVBQUksQ0FBQztZQUNkLFdBQVcsRUFBRSw2QkFBaUIsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO1lBQ3JELEtBQUssRUFBUSxLQUFLO1NBQ3JCLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxHQUFHLElBQUk7WUFDSixRQUFRO1lBQ1IsR0FBRyxTQUFTLElBQUk7WUFDaEIsZUFBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5RSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RDLEdBQUcsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEQsSUFBSTtZQUNKLFFBQVEsQ0FBQztRQUV2QixNQUFNLE9BQU8sR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBSyxrQkFBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztZQUU1QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUVuQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYyxDQUFFLFNBQVM7UUFDckIsTUFBTSxLQUFLLEdBQUcsa0JBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV0RCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgZmluZEluZGV4IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBsb2dVcGRhdGUgZnJvbSAnbG9nLXVwZGF0ZS1hc3luYy1ob29rJztcbmltcG9ydCByZW5kZXJDYWxsc2l0ZVN5bmMgZnJvbSAnLi4vdXRpbHMvcmVuZGVyLWNhbGxzaXRlLXN5bmMnO1xuaW1wb3J0IGNyZWF0ZVN0YWNrRmlsdGVyIGZyb20gJy4uL2Vycm9ycy9jcmVhdGUtc3RhY2stZmlsdGVyJztcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIG1lc3NhZ2VzOiBbXSxcblxuICAgIGRlYnVnTG9nZ2luZzogZmFsc2UsXG5cbiAgICBzdHJlYW1zT3ZlcnJpZGRlbjogZmFsc2UsXG5cbiAgICBfb3ZlcnJpZGVTdHJlYW0gKHN0cmVhbSkge1xuICAgICAgICBjb25zdCBpbml0aWFsV3JpdGUgPSBzdHJlYW0ud3JpdGU7XG5cbiAgICAgICAgc3RyZWFtLndyaXRlID0gKGNodW5rLCBlbmNvZGluZywgY2IpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRlYnVnTG9nZ2luZylcbiAgICAgICAgICAgICAgICBpbml0aWFsV3JpdGUuY2FsbChzdHJlYW0sIGNodW5rLCBlbmNvZGluZywgY2IpO1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dpbmcgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgbG9nVXBkYXRlLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgbG9nVXBkYXRlLmRvbmUoKTtcblxuICAgICAgICAgICAgICAgIGluaXRpYWxXcml0ZS5jYWxsKHN0cmVhbSwgY2h1bmssIGVuY29kaW5nLCBjYik7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3Nob3dBbGxCcmVha3BvaW50cygpLCAwKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZGVidWdMb2dnaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIF9vdmVycmlkZVN0cmVhbXMgKCkge1xuICAgICAgICB0aGlzLl9vdmVycmlkZVN0cmVhbShwcm9jZXNzLnN0ZG91dCk7XG4gICAgICAgIHRoaXMuX292ZXJyaWRlU3RyZWFtKHByb2Nlc3Muc3RkZXJyKTtcblxuICAgICAgICB0aGlzLnN0cmVhbXNPdmVycmlkZGVuID0gdHJ1ZTtcbiAgICB9LFxuXG4gICAgX2dldE1lc3NhZ2VBc1N0cmluZyAoKSB7XG4gICAgICAgIGxldCBzdHJpbmcgPSAnJztcblxuICAgICAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgdGhpcy5tZXNzYWdlcylcbiAgICAgICAgICAgIHN0cmluZyArPSBtZXNzYWdlLmZyYW1lO1xuXG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgfSxcblxuICAgIF9zaG93QWxsQnJlYWtwb2ludHMgKCkge1xuICAgICAgICBpZiAoIXRoaXMubWVzc2FnZXMubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuZGVidWdMb2dnaW5nID0gdHJ1ZTtcbiAgICAgICAgbG9nVXBkYXRlKHRoaXMuX2dldE1lc3NhZ2VBc1N0cmluZygpKTtcbiAgICAgICAgdGhpcy5kZWJ1Z0xvZ2dpbmcgPSBmYWxzZTtcbiAgICB9LFxuXG4gICAgc2hvd0JyZWFrcG9pbnQgKHRlc3RSdW5JZCwgdXNlckFnZW50LCBjYWxsc2l0ZSwgdGVzdEVycm9yKSB7XG4gICAgICAgIGlmICghdGhpcy5zdHJlYW1zT3ZlcnJpZGRlbilcbiAgICAgICAgICAgIHRoaXMuX292ZXJyaWRlU3RyZWFtcygpO1xuXG4gICAgICAgIGNvbnN0IGNhbGxzaXRlU3RyID0gcmVuZGVyQ2FsbHNpdGVTeW5jKGNhbGxzaXRlLCB7XG4gICAgICAgICAgICBmcmFtZVNpemU6ICAgMSxcbiAgICAgICAgICAgIHN0YWNrRmlsdGVyOiBjcmVhdGVTdGFja0ZpbHRlcihFcnJvci5zdGFja1RyYWNlTGltaXQpLFxuICAgICAgICAgICAgc3RhY2s6ICAgICAgIGZhbHNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGZyYW1lID0gYFxcbmAgK1xuICAgICAgICAgICAgICAgICAgICAgIGAtLS0tXFxuYCArXG4gICAgICAgICAgICAgICAgICAgICAgYCR7dXNlckFnZW50fVxcbmAgK1xuICAgICAgICAgICAgICAgICAgICAgIGNoYWxrLnllbGxvdyh0ZXN0RXJyb3IgPyAnREVCVUdHRVIgUEFVU0UgT04gRkFJTEVEIFRFU1Q6JyA6ICdERUJVR0dFUiBQQVVTRTonKSArXG4gICAgICAgICAgICAgICAgICAgICAgYCR7dGVzdEVycm9yID8gYFxcbiR7dGVzdEVycm9yfWAgOiAnJ31gICtcbiAgICAgICAgICAgICAgICAgICAgICBgJHshdGVzdEVycm9yICYmIGNhbGxzaXRlU3RyID8gYFxcbiR7Y2FsbHNpdGVTdHJ9YCA6ICcnfWAgK1xuICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICBgLS0tLVxcbmA7XG5cbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IHsgdGVzdFJ1bklkLCBmcmFtZSB9O1xuICAgICAgICBjb25zdCBpbmRleCAgID0gZmluZEluZGV4KHRoaXMubWVzc2FnZXMsIHsgdGVzdFJ1bklkIH0pO1xuXG4gICAgICAgIGlmIChpbmRleCA9PT0gLTEpXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNbaW5kZXhdID0gbWVzc2FnZTtcblxuICAgICAgICB0aGlzLl9zaG93QWxsQnJlYWtwb2ludHMoKTtcbiAgICB9LFxuXG4gICAgaGlkZUJyZWFrcG9pbnQgKHRlc3RSdW5JZCkge1xuICAgICAgICBjb25zdCBpbmRleCA9IGZpbmRJbmRleCh0aGlzLm1lc3NhZ2VzLCB7IHRlc3RSdW5JZCB9KTtcblxuICAgICAgICBpZiAoaW5kZXggIT09IC0xKVxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIHRoaXMuX3Nob3dBbGxCcmVha3BvaW50cygpO1xuICAgIH1cbn07XG4iXX0=
|