testcafe 1.16.0-rc.1 → 1.16.1
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 +70 -0
- package/LICENSE +21 -21
- package/lib/api/exportable-lib/index.js +13 -2
- package/lib/api/request-hooks/request-mock/index.js +3 -4
- package/lib/api/structure/test-file.js +4 -3
- package/lib/api/structure/test.js +15 -8
- package/lib/api/test-controller/assertion.js +37 -41
- package/lib/api/test-controller/index.js +96 -100
- package/lib/assertions/executor.js +1 -1
- package/lib/assertions/get-fn.js +1 -1
- package/lib/browser/connection/index.js +10 -5
- package/lib/browser/provider/built-in/dedicated/base.js +3 -3
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/barriers/emitters/client-request.js +46 -0
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/barriers/emitters/script-execution.js +39 -0
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/barriers/page-unload-barrier.js +39 -0
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/client-function-executor.js +51 -15
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/index.js +48 -11
- package/lib/browser/provider/built-in/dedicated/chrome/index.js +3 -3
- package/lib/browser/provider/index.js +5 -5
- package/lib/cli/argument-parser.js +2 -1
- package/lib/cli/cli.js +4 -2
- package/lib/client/automation/index.js +25 -27
- package/lib/client/automation/index.min.js +1 -1
- package/lib/client/browser/idle-page/index.html.mustache +35 -35
- package/lib/client/core/index.js +449 -269
- package/lib/client/core/index.min.js +1 -1
- package/lib/client/driver/index.js +107 -178
- package/lib/client/driver/index.min.js +1 -1
- package/lib/client/driver/internal-properties.js +1 -2
- package/lib/client/proxyless/index.js +71 -17
- 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-functions/client-function-builder.js +3 -3
- package/lib/compiler/babel/load-libs.js +8 -5
- package/lib/compiler/test-file/add-export-api.js +26 -0
- package/lib/compiler/test-file/api-based.js +18 -10
- package/lib/compiler/test-file/formats/es-next/compiler.js +4 -4
- package/lib/compiler/test-file/formats/raw.js +5 -4
- package/lib/compiler/test-file/test-file-temp-variable-name.js +6 -0
- package/lib/configuration/configuration-base.js +17 -16
- package/lib/configuration/default-values.js +3 -2
- package/lib/configuration/option-names.js +2 -1
- package/lib/configuration/run-option-names.js +2 -1
- package/lib/configuration/testcafe-configuration.js +11 -6
- package/lib/configuration/typescript-configuration.js +4 -4
- package/lib/errors/runtime/index.js +5 -4
- package/lib/errors/test-run/formattable-adapter.js +4 -3
- package/lib/live/test-run.js +5 -5
- package/lib/notifications/add-rendered-warning.js +4 -3
- package/lib/notifications/warning-log.js +16 -2
- package/lib/reporter/command/command-formatter.js +3 -3
- package/lib/reporter/command/format-command.js +1 -1
- package/lib/reporter/index.js +193 -113
- package/lib/reporter/interfaces.js +1 -1
- package/lib/reporter/plugin-host.js +5 -1
- package/lib/reporter/plugin-methods.js +2 -1
- package/lib/runner/bootstrapper.js +13 -40
- package/lib/runner/browser-job.js +4 -8
- package/lib/runner/fixture-hook-controller.js +1 -1
- package/lib/runner/index.js +31 -19
- package/lib/runner/interfaces.js +1 -1
- package/lib/runner/reporter-stream-controller.js +4 -4
- package/lib/runner/task/index.js +10 -14
- package/lib/runner/test-run-controller.js +7 -5
- package/lib/runner/tested-app.js +5 -4
- package/lib/services/compiler/host.js +20 -15
- package/lib/services/compiler/interfaces.js +1 -1
- package/lib/services/compiler/protocol.js +1 -1
- package/lib/services/compiler/service.js +10 -9
- package/lib/services/compiler/test-run-proxy.js +10 -19
- package/lib/services/interfaces.js +1 -1
- package/lib/services/serialization/replicator/create-replicator.js +3 -1
- package/lib/services/serialization/replicator/interfaces.js +1 -1
- package/lib/services/serialization/replicator/transforms/callsite-record-transform.js +3 -4
- package/lib/services/serialization/replicator/transforms/command-base-trasform/assertion-command-constructors.js +28 -0
- package/lib/services/serialization/replicator/transforms/command-base-trasform/command-constructors.js +7 -3
- package/lib/services/serialization/replicator/transforms/command-base-trasform/index.js +8 -6
- package/lib/services/serialization/replicator/transforms/raw-command-callsite-record-transform.js +22 -0
- package/lib/services/serialization/test-structure.js +1 -1
- package/lib/shared/adapter/index.js +17 -0
- package/lib/shared/barriers/request.js +79 -0
- package/lib/shared/barriers/script-execution.js +73 -0
- package/lib/shared/errors/index.js +10 -11
- package/lib/shared/utils/delay.js +10 -0
- package/lib/shared/utils/event-emitter.js +52 -0
- package/lib/test-run/bookmark.js +1 -1
- package/lib/test-run/commands/actions.js +78 -39
- package/lib/test-run/commands/assertion.js +71 -5
- package/lib/test-run/commands/base.js +10 -3
- package/lib/test-run/commands/browser-manipulation.js +14 -6
- package/lib/test-run/commands/from-object.js +3 -3
- package/lib/test-run/commands/observation.js +12 -6
- package/lib/test-run/commands/utils.js +6 -2
- package/lib/test-run/execute-js-expression/constants.js +4 -2
- package/lib/test-run/index.js +59 -49
- package/lib/utils/get-filter-fn.js +3 -1
- package/lib/utils/get-options/get-assertion-timeout.js +1 -1
- package/lib/utils/get-renderes.js +11 -0
- package/lib/utils/message-bus.js +14 -0
- package/lib/utils/prerender-callsite.js +6 -5
- package/lib/utils/raw-command-callsite-record.js +70 -0
- package/lib/utils/render-callsite-sync.js +4 -3
- package/package.json +6 -4
- package/ts-defs/index.d.ts +13 -13
- package/ts-defs/selectors.d.ts +4 -4
- package/ts-defs/testcafe-scripts.d.ts +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,75 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.16.1 (2021-10-05)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* Incorrect handling of the beforeInput Firefox event ([#6504](https://github.com/DevExpress/testcafe/issues/6504))
|
|
8
|
+
* Incorrect handling of page styles leads to test failure in Safari 15 ([#6546](https://github.com/DevExpress/testcafe/issues/6546))
|
|
9
|
+
* Incorrect stylesheet filtering procedure leads to client-side errors in IE11 ([#6439](https://github.com/DevExpress/testcafe/issues/6439))
|
|
10
|
+
|
|
11
|
+
## v1.16.0 (2021-09-08)
|
|
12
|
+
|
|
13
|
+
### Enhancements
|
|
14
|
+
|
|
15
|
+
#### Support for JavaScript configuration files
|
|
16
|
+
|
|
17
|
+
You can now store TestCafe settings in a `js` file. Configuration properties in JavaScript files can reference JavaScript methods, functions and variables, which makes it easy to create dynamic configuration files.
|
|
18
|
+
|
|
19
|
+
Just `export` the JSON name/value pairs in the file:
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
module.exports = {
|
|
23
|
+
skipJsErrors: true,
|
|
24
|
+
hostname: "localhost",
|
|
25
|
+
// other settings
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
#### Support for custom user variables in the configuration file
|
|
30
|
+
|
|
31
|
+
TestCafe v1.16.0 and later supports configuration files with variable declarations. Users can reference variables from a configuration file in the tests that utilize that configuration file. To enable access to configuration file variables, import the `userVariables` object from the `testcafe` module at the beginning of the test script.
|
|
32
|
+
|
|
33
|
+
This capability can come in handy if there's a single piece of data you want to use in multiple tests — for example, the website's URL. That way, if your website moves to a new domain name, you don't have to change your tests one by one.
|
|
34
|
+
|
|
35
|
+
If you previously used environment variables to achieve the same goal, you might prefer the new method — it significantly simplifies the setup process, and allows you to commit the data to a version control system.
|
|
36
|
+
|
|
37
|
+
Define your custom variables with the `userVariables` JSON object:
|
|
38
|
+
|
|
39
|
+
```JSON
|
|
40
|
+
{
|
|
41
|
+
"userVariables": {
|
|
42
|
+
"url": "http://devexpress.github.io/testcafe/example",
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Reference this variable in your test:
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
import { userVariables } from 'testcafe';
|
|
51
|
+
|
|
52
|
+
fixture `Test user variables`
|
|
53
|
+
.page(userVariables.url);
|
|
54
|
+
|
|
55
|
+
test('Type text', async t => {
|
|
56
|
+
await t
|
|
57
|
+
.typeText('#developer-name', 'John Smith')
|
|
58
|
+
.click('#submit-button');
|
|
59
|
+
});
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
#### Other enhancements
|
|
63
|
+
|
|
64
|
+
* New option that disables thumbnail generation for test screenshots ([PR by @taki-fw](https://github.com/DevExpress/testcafe/pull/6078)).
|
|
65
|
+
* New `embedding-utils` API method that retrieves information about skipped tests ([PR by @flora8984461](https://github.com/DevExpress/testcafe/pull/6398)).
|
|
66
|
+
* The `Runner.filter` function supports asynchronous arguments ([PR by @eignatyev](https://github.com/DevExpress/testcafe/pull/6371)).
|
|
67
|
+
* You can import the `test` and `fixture` objects directly from the `testcafe` module ([PR #6338](https://github.com/DevExpress/testcafe/pull/6338)).
|
|
68
|
+
|
|
69
|
+
### Bug Fixes
|
|
70
|
+
|
|
71
|
+
* TestCafe does not keep track of file changes in live mode ([#6481](https://github.com/DevExpress/testcafe/issues/6481)).
|
|
72
|
+
|
|
3
73
|
## v1.15.3 (2021-08-19)
|
|
4
74
|
|
|
5
75
|
### Bug Fixes
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
The MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (C) 2012-2021 Developer Express Inc.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
THE SOFTWARE.
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (C) 2012-2021 Developer Express Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const test_file_temp_variable_name_1 = __importDefault(require("../../compiler/test-file/test-file-temp-variable-name"));
|
|
3
7
|
const lazyRequire = require('import-lazy')(require);
|
|
4
8
|
const ClientFunctionBuilder = lazyRequire('../../client-functions/client-function-builder');
|
|
5
9
|
const SelectorBuilder = lazyRequire('../../client-functions/selectors/selector-builder');
|
|
@@ -7,6 +11,7 @@ const role = lazyRequire('../../role');
|
|
|
7
11
|
const createRequestLogger = lazyRequire('../request-hooks/request-logger');
|
|
8
12
|
const createRequestMock = lazyRequire('../request-hooks/request-mock/create-request-mock');
|
|
9
13
|
const userVariables = lazyRequire('../user-variables');
|
|
14
|
+
const addExportAPI = lazyRequire('../../compiler/test-file/add-export-api');
|
|
10
15
|
// NOTE: We can't use lazy require for RequestHook, because it will break base class detection for inherited classes
|
|
11
16
|
let RequestHook = null;
|
|
12
17
|
// NOTE: We can't use lazy require for testControllerProxy, because it will break test controller detection
|
|
@@ -31,7 +36,7 @@ function Selector(fn, options) {
|
|
|
31
36
|
Object.defineProperty(Role, 'anonymous', {
|
|
32
37
|
get: () => role.createAnonymousRole,
|
|
33
38
|
});
|
|
34
|
-
|
|
39
|
+
const exportableLib = {
|
|
35
40
|
Role,
|
|
36
41
|
ClientFunction,
|
|
37
42
|
Selector,
|
|
@@ -51,5 +56,11 @@ exports.default = {
|
|
|
51
56
|
return userVariables.value;
|
|
52
57
|
},
|
|
53
58
|
};
|
|
59
|
+
const tempTestFile = global[test_file_temp_variable_name_1.default];
|
|
60
|
+
if (tempTestFile) {
|
|
61
|
+
addExportAPI(tempTestFile, exportableLib, true);
|
|
62
|
+
delete global[test_file_temp_variable_name_1.default];
|
|
63
|
+
}
|
|
64
|
+
exports.default = exportableLib;
|
|
54
65
|
module.exports = exports.default;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2V4cG9ydGFibGUtbGliL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUhBQWlHO0FBRWpHLE1BQU0sV0FBVyxHQUFhLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxNQUFNLHFCQUFxQixHQUFHLFdBQVcsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sZUFBZSxHQUFTLFdBQVcsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0FBQy9GLE1BQU0sSUFBSSxHQUFvQixXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDeEQsTUFBTSxtQkFBbUIsR0FBSyxXQUFXLENBQUMsaUNBQWlDLENBQUMsQ0FBQztBQUM3RSxNQUFNLGlCQUFpQixHQUFPLFdBQVcsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0FBQy9GLE1BQU0sYUFBYSxHQUFXLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQy9ELE1BQU0sWUFBWSxHQUFZLFdBQVcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBRXJGLG9IQUFvSDtBQUNwSCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFFdkIsMkdBQTJHO0FBQzNHLElBQUksbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBRS9CLFNBQVMsSUFBSSxDQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTztJQUNwQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBUyxXQUFXO0lBQ2hCLE9BQU8saUJBQWlCLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUUscUJBQXFCLEVBQUUsVUFBVTtJQUNyRCxPQUFPLG1CQUFtQixDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBRSxFQUFFLEVBQUUsT0FBTztJQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRTVGLE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBRSxFQUFFLEVBQUUsT0FBTztJQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFaEYsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtJQUNyQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtDQUN0QyxDQUFDLENBQUM7QUFFSCxNQUFNLGFBQWEsR0FBRztJQUNsQixJQUFJO0lBRUosY0FBYztJQUVkLFFBQVE7SUFFUixhQUFhO0lBRWIsV0FBVztJQUVYLElBQUksV0FBVztRQUNYLElBQUksQ0FBQyxXQUFXO1lBQ1osV0FBVyxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRW5ELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDRCxJQUFJLENBQUMsbUJBQW1CO1lBQ3BCLG1CQUFtQixHQUFHLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTlELE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0NBQ0osQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxzQ0FBNEIsQ0FBQyxDQUFDO0FBRTFELElBQUksWUFBWSxFQUFFO0lBQ2QsWUFBWSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFaEQsT0FBTyxNQUFNLENBQUMsc0NBQTRCLENBQUMsQ0FBQztDQUMvQztBQUVELGtCQUFlLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBURVNUX0ZJTEVfVEVNUF9WQVJJQUJMRV9OQU1FIGZyb20gJy4uLy4uL2NvbXBpbGVyL3Rlc3QtZmlsZS90ZXN0LWZpbGUtdGVtcC12YXJpYWJsZS1uYW1lJztcblxuY29uc3QgbGF6eVJlcXVpcmUgICAgICAgICAgID0gcmVxdWlyZSgnaW1wb3J0LWxhenknKShyZXF1aXJlKTtcbmNvbnN0IENsaWVudEZ1bmN0aW9uQnVpbGRlciA9IGxhenlSZXF1aXJlKCcuLi8uLi9jbGllbnQtZnVuY3Rpb25zL2NsaWVudC1mdW5jdGlvbi1idWlsZGVyJyk7XG5jb25zdCBTZWxlY3RvckJ1aWxkZXIgICAgICAgPSBsYXp5UmVxdWlyZSgnLi4vLi4vY2xpZW50LWZ1bmN0aW9ucy9zZWxlY3RvcnMvc2VsZWN0b3ItYnVpbGRlcicpO1xuY29uc3Qgcm9sZSAgICAgICAgICAgICAgICAgID0gbGF6eVJlcXVpcmUoJy4uLy4uL3JvbGUnKTtcbmNvbnN0IGNyZWF0ZVJlcXVlc3RMb2dnZXIgICA9IGxhenlSZXF1aXJlKCcuLi9yZXF1ZXN0LWhvb2tzL3JlcXVlc3QtbG9nZ2VyJyk7XG5jb25zdCBjcmVhdGVSZXF1ZXN0TW9jayAgICAgPSBsYXp5UmVxdWlyZSgnLi4vcmVxdWVzdC1ob29rcy9yZXF1ZXN0LW1vY2svY3JlYXRlLXJlcXVlc3QtbW9jaycpO1xuY29uc3QgdXNlclZhcmlhYmxlcyAgICAgICAgID0gbGF6eVJlcXVpcmUoJy4uL3VzZXItdmFyaWFibGVzJyk7XG5jb25zdCBhZGRFeHBvcnRBUEkgICAgICAgICAgPSBsYXp5UmVxdWlyZSgnLi4vLi4vY29tcGlsZXIvdGVzdC1maWxlL2FkZC1leHBvcnQtYXBpJyk7XG5cbi8vIE5PVEU6IFdlIGNhbid0IHVzZSBsYXp5IHJlcXVpcmUgZm9yIFJlcXVlc3RIb29rLCBiZWNhdXNlIGl0IHdpbGwgYnJlYWsgYmFzZSBjbGFzcyBkZXRlY3Rpb24gZm9yIGluaGVyaXRlZCBjbGFzc2VzXG5sZXQgUmVxdWVzdEhvb2sgPSBudWxsO1xuXG4vLyBOT1RFOiBXZSBjYW4ndCB1c2UgbGF6eSByZXF1aXJlIGZvciB0ZXN0Q29udHJvbGxlclByb3h5LCBiZWNhdXNlIGl0IHdpbGwgYnJlYWsgdGVzdCBjb250cm9sbGVyIGRldGVjdGlvblxubGV0IHRlc3RDb250cm9sbGVyUHJveHkgPSBudWxsO1xuXG5mdW5jdGlvbiBSb2xlIChsb2dpblVybCwgaW5pdEZuLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHJvbGUuY3JlYXRlUm9sZShsb2dpblVybCwgaW5pdEZuLCBvcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gUmVxdWVzdE1vY2sgKCkge1xuICAgIHJldHVybiBjcmVhdGVSZXF1ZXN0TW9jaygpO1xufVxuXG5mdW5jdGlvbiBSZXF1ZXN0TG9nZ2VyIChyZXF1ZXN0RmlsdGVyUnVsZUluaXQsIGxvZ09wdGlvbnMpIHtcbiAgICByZXR1cm4gY3JlYXRlUmVxdWVzdExvZ2dlcihyZXF1ZXN0RmlsdGVyUnVsZUluaXQsIGxvZ09wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBDbGllbnRGdW5jdGlvbiAoZm4sIG9wdGlvbnMpIHtcbiAgICBjb25zdCBidWlsZGVyID0gbmV3IENsaWVudEZ1bmN0aW9uQnVpbGRlcihmbiwgb3B0aW9ucywgeyBpbnN0YW50aWF0aW9uOiAnQ2xpZW50RnVuY3Rpb24nIH0pO1xuXG4gICAgcmV0dXJuIGJ1aWxkZXIuZ2V0RnVuY3Rpb24oKTtcbn1cblxuZnVuY3Rpb24gU2VsZWN0b3IgKGZuLCBvcHRpb25zKSB7XG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBTZWxlY3RvckJ1aWxkZXIoZm4sIG9wdGlvbnMsIHsgaW5zdGFudGlhdGlvbjogJ1NlbGVjdG9yJyB9KTtcblxuICAgIHJldHVybiBidWlsZGVyLmdldEZ1bmN0aW9uKCk7XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSb2xlLCAnYW5vbnltb3VzJywge1xuICAgIGdldDogKCkgPT4gcm9sZS5jcmVhdGVBbm9ueW1vdXNSb2xlLFxufSk7XG5cbmNvbnN0IGV4cG9ydGFibGVMaWIgPSB7XG4gICAgUm9sZSxcblxuICAgIENsaWVudEZ1bmN0aW9uLFxuXG4gICAgU2VsZWN0b3IsXG5cbiAgICBSZXF1ZXN0TG9nZ2VyLFxuXG4gICAgUmVxdWVzdE1vY2ssXG5cbiAgICBnZXQgUmVxdWVzdEhvb2sgKCkge1xuICAgICAgICBpZiAoIVJlcXVlc3RIb29rKVxuICAgICAgICAgICAgUmVxdWVzdEhvb2sgPSByZXF1aXJlKCcuLi9yZXF1ZXN0LWhvb2tzL2hvb2snKTtcblxuICAgICAgICByZXR1cm4gUmVxdWVzdEhvb2s7XG4gICAgfSxcblxuICAgIGdldCB0ICgpIHtcbiAgICAgICAgaWYgKCF0ZXN0Q29udHJvbGxlclByb3h5KVxuICAgICAgICAgICAgdGVzdENvbnRyb2xsZXJQcm94eSA9IHJlcXVpcmUoJy4uL3Rlc3QtY29udHJvbGxlci9wcm94eScpO1xuXG4gICAgICAgIHJldHVybiB0ZXN0Q29udHJvbGxlclByb3h5O1xuICAgIH0sXG5cbiAgICBnZXQgdXNlclZhcmlhYmxlcyAoKSB7XG4gICAgICAgIHJldHVybiB1c2VyVmFyaWFibGVzLnZhbHVlO1xuICAgIH0sXG59O1xuXG5jb25zdCB0ZW1wVGVzdEZpbGUgPSBnbG9iYWxbVEVTVF9GSUxFX1RFTVBfVkFSSUFCTEVfTkFNRV07XG5cbmlmICh0ZW1wVGVzdEZpbGUpIHtcbiAgICBhZGRFeHBvcnRBUEkodGVtcFRlc3RGaWxlLCBleHBvcnRhYmxlTGliLCB0cnVlKTtcblxuICAgIGRlbGV0ZSBnbG9iYWxbVEVTVF9GSUxFX1RFTVBfVkFSSUFCTEVfTkFNRV07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGV4cG9ydGFibGVMaWI7XG5cbiJdfQ==
|
|
@@ -19,9 +19,8 @@ class RequestMock extends hook_1.default {
|
|
|
19
19
|
await event.setMock(mock);
|
|
20
20
|
}
|
|
21
21
|
async onResponse(event) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
(_a = this._warningLog) === null || _a === void 0 ? void 0 : _a.addWarning(warning_message_1.default.requestMockCORSValidationFailed, RequestMock.name, event.requestFilterRule);
|
|
22
|
+
if (event.isSameOriginPolicyFailed && this._warningLog)
|
|
23
|
+
this._warningLog.addWarning(warning_message_1.default.requestMockCORSValidationFailed, RequestMock.name, event.requestFilterRule);
|
|
25
24
|
}
|
|
26
25
|
// API
|
|
27
26
|
onRequestTo(requestFilterRuleInit) {
|
|
@@ -43,4 +42,4 @@ class RequestMock extends hook_1.default {
|
|
|
43
42
|
}
|
|
44
43
|
exports.default = RequestMock;
|
|
45
44
|
module.exports = exports.default;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3JlcXVlc3QtaG9va3MvcmVxdWVzdC1tb2NrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbURBQWtDO0FBRWxDLDZEQU02QjtBQUU3QixxREFBbUQ7QUFDbkQsaURBQXVEO0FBQ3ZELDZGQUFxRTtBQUdyRSxNQUFxQixXQUFZLFNBQVEsY0FBVztJQUloRDtRQUNJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVWLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBMkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBRSxLQUFtQjtRQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFpQixDQUFDO1FBRXhFLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBRSxLQUFvQjtRQUN6QyxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsV0FBVztZQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyx5QkFBZSxDQUFDLCtCQUErQixFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEksQ0FBQztJQUVELE1BQU07SUFDQyxXQUFXLENBQUUscUJBQTRDO1FBQzVELElBQUksSUFBSSxDQUFDLDZCQUE2QjtZQUNsQyxNQUFNLElBQUksa0JBQVEsQ0FBQyxhQUFhLEVBQUUsc0JBQWMsQ0FBQyw0QkFBNEIsRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLDZIQUE2SCxDQUFDLENBQUM7UUFFcE8sSUFBSSxDQUFDLDZCQUE2QixHQUFHLHFCQUFxQixDQUFDO1FBRTNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxPQUFPLENBQUUsSUFBdUIsRUFBRSxVQUFtQixFQUFFLE9BQWdCO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCO1lBQ25DLE1BQU0sSUFBSSxrQkFBUSxDQUFDLFNBQVMsRUFBRSxzQkFBYyxDQUFDLDRCQUE0QixFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsbUpBQW1KLENBQUMsQ0FBQztRQUV0UCxNQUFNLElBQUksR0FBRyxJQUFJLGtDQUFZLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBRyxJQUFJLHVDQUFpQixDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDO1FBRTFDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQTlDRCw4QkE4Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVxdWVzdEhvb2sgZnJvbSAnLi4vaG9vayc7XG5cbmltcG9ydCB7XG4gICAgUmVzcG9uc2VNb2NrLFxuICAgIFJlcXVlc3RFdmVudCxcbiAgICBSZXNwb25zZUV2ZW50LFxuICAgIFJlcXVlc3RGaWx0ZXJSdWxlSW5pdCxcbiAgICBSZXF1ZXN0RmlsdGVyUnVsZSxcbn0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5cbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IFdBUk5JTkdfTUVTU0FHRSBmcm9tICcuLi8uLi8uLi9ub3RpZmljYXRpb25zL3dhcm5pbmctbWVzc2FnZSc7XG5cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVxdWVzdE1vY2sgZXh0ZW5kcyBSZXF1ZXN0SG9vayB7XG4gICAgcHJpdmF0ZSBfcGVuZGluZ1JlcXVlc3RGaWx0ZXJSdWxlSW5pdDogbnVsbCB8IFJlcXVlc3RGaWx0ZXJSdWxlSW5pdDtcbiAgICBwdWJsaWMgbW9ja3M6IE1hcDxzdHJpbmcsIFJlc3BvbnNlTW9jaz47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKCkge1xuICAgICAgICBzdXBlcihbXSk7XG5cbiAgICAgICAgdGhpcy5fcGVuZGluZ1JlcXVlc3RGaWx0ZXJSdWxlSW5pdCA9IG51bGw7XG4gICAgICAgIHRoaXMubW9ja3MgICAgICAgICAgICAgICAgICAgICAgICAgPSBuZXcgTWFwKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG9uUmVxdWVzdCAoZXZlbnQ6IFJlcXVlc3RFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBtb2NrID0gdGhpcy5tb2Nrcy5nZXQoZXZlbnQucmVxdWVzdEZpbHRlclJ1bGUuaWQpIGFzIFJlc3BvbnNlTW9jaztcblxuICAgICAgICBhd2FpdCBldmVudC5zZXRNb2NrKG1vY2spO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBvblJlc3BvbnNlIChldmVudDogUmVzcG9uc2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoZXZlbnQuaXNTYW1lT3JpZ2luUG9saWN5RmFpbGVkICYmIHRoaXMuX3dhcm5pbmdMb2cpXG4gICAgICAgICAgICB0aGlzLl93YXJuaW5nTG9nLmFkZFdhcm5pbmcoV0FSTklOR19NRVNTQUdFLnJlcXVlc3RNb2NrQ09SU1ZhbGlkYXRpb25GYWlsZWQsIFJlcXVlc3RNb2NrLm5hbWUsIGV2ZW50LnJlcXVlc3RGaWx0ZXJSdWxlKTtcbiAgICB9XG5cbiAgICAvLyBBUElcbiAgICBwdWJsaWMgb25SZXF1ZXN0VG8gKHJlcXVlc3RGaWx0ZXJSdWxlSW5pdDogUmVxdWVzdEZpbHRlclJ1bGVJbml0KTogUmVxdWVzdE1vY2sge1xuICAgICAgICBpZiAodGhpcy5fcGVuZGluZ1JlcXVlc3RGaWx0ZXJSdWxlSW5pdClcbiAgICAgICAgICAgIHRocm93IG5ldyBBUElFcnJvcignb25SZXF1ZXN0VG8nLCBSVU5USU1FX0VSUk9SUy5yZXF1ZXN0SG9va0NvbmZpZ3VyZUFQSUVycm9yLCBSZXF1ZXN0TW9jay5uYW1lLCBcIlRoZSAncmVzcG9uZCcgbWV0aG9kIHdhcyBub3QgY2FsbGVkIGFmdGVyICdvblJlcXVlc3RUbycuIFlvdSBtdXN0IGNhbGwgdGhlICdyZXNwb25kJyBtZXRob2QgdG8gcHJvdmlkZSB0aGUgbW9ja2VkIHJlc3BvbnNlLlwiKTtcblxuICAgICAgICB0aGlzLl9wZW5kaW5nUmVxdWVzdEZpbHRlclJ1bGVJbml0ID0gcmVxdWVzdEZpbHRlclJ1bGVJbml0O1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNwb25kIChib2R5OiBzdHJpbmcgfCBGdW5jdGlvbiwgc3RhdHVzQ29kZT86IG51bWJlciwgaGVhZGVycz86IG9iamVjdCk6IFJlcXVlc3RNb2NrIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wZW5kaW5nUmVxdWVzdEZpbHRlclJ1bGVJbml0KVxuICAgICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdyZXNwb25kJywgUlVOVElNRV9FUlJPUlMucmVxdWVzdEhvb2tDb25maWd1cmVBUElFcnJvciwgUmVxdWVzdE1vY2submFtZSwgXCJUaGUgJ29uUmVxdWVzdFRvJyBtZXRob2Qgd2FzIG5vdCBjYWxsZWQgYmVmb3JlICdyZXNwb25kJy4gWW91IG11c3QgY2FsbCB0aGUgJ29uUmVxdWVzdFRvJyBtZXRob2QgdG8gcHJvdmlkZSB0aGUgVVJMIHJlcXVlc3RzIHRvIHdoaWNoIGFyZSBtb2NrZWQuXCIpO1xuXG4gICAgICAgIGNvbnN0IG1vY2sgPSBuZXcgUmVzcG9uc2VNb2NrKGJvZHksIHN0YXR1c0NvZGUsIGhlYWRlcnMpO1xuICAgICAgICBjb25zdCBydWxlID0gbmV3IFJlcXVlc3RGaWx0ZXJSdWxlKHRoaXMuX3BlbmRpbmdSZXF1ZXN0RmlsdGVyUnVsZUluaXQpO1xuXG4gICAgICAgIHRoaXMuX3JlcXVlc3RGaWx0ZXJSdWxlcy5wdXNoKHJ1bGUpO1xuICAgICAgICB0aGlzLm1vY2tzLnNldChydWxlLmlkLCBtb2NrKTtcblxuICAgICAgICB0aGlzLl9wZW5kaW5nUmVxdWVzdEZpbHRlclJ1bGVJbml0ID0gbnVsbDtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG4iXX0=
|
|
@@ -20,14 +20,15 @@ class TestFile extends base_unit_1.default {
|
|
|
20
20
|
//@ts-ignore
|
|
21
21
|
test[prop] = test[prop] || test.fixture[prop];
|
|
22
22
|
});
|
|
23
|
+
const testFixture = test.fixture;
|
|
23
24
|
if (test.disablePageReloads === void 0)
|
|
24
|
-
test.disablePageReloads =
|
|
25
|
+
test.disablePageReloads = testFixture.disablePageReloads;
|
|
25
26
|
if (!test.disablePageCaching)
|
|
26
|
-
test.disablePageCaching =
|
|
27
|
+
test.disablePageCaching = testFixture.disablePageCaching;
|
|
27
28
|
});
|
|
28
29
|
return this.collectedTests;
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
exports.default = TestFile;
|
|
32
33
|
module.exports = exports.default;
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9zdHJ1Y3R1cmUvdGVzdC1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNERBQW1DO0FBQ25DLDREQUFtQztBQUluQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUVoRixNQUFxQixRQUFTLFNBQVEsbUJBQVE7SUFLMUMsWUFBb0IsUUFBZ0I7UUFDaEMsS0FBSyxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLFFBQVEsR0FBUyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQix3QkFBd0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3BDLDREQUE0RDtnQkFDNUQsWUFBWTtnQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBa0IsQ0FBQztZQUU1QyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxLQUFLLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUM7WUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0I7Z0JBQ3hCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztDQUNKO0FBaENELDJCQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlVW5pdCBmcm9tICcuL2Jhc2UtdW5pdCc7XG5pbXBvcnQgVW5pdFR5cGUgZnJvbSAnLi91bml0LXR5cGUnO1xuaW1wb3J0IEZpeHR1cmUgZnJvbSAnLi9maXh0dXJlJztcbmltcG9ydCBUZXN0IGZyb20gJy4vdGVzdCc7XG5cbmNvbnN0IEJPUlJPV0VEX1RFU1RfUFJPUEVSVElFUyA9IFsnc2tpcCcsICdvbmx5JywgJ3BhZ2VVcmwnLCAnYXV0aENyZWRlbnRpYWxzJ107XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRlc3RGaWxlIGV4dGVuZHMgQmFzZVVuaXQge1xuICAgIHB1YmxpYyBmaWxlbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyBjdXJyZW50Rml4dHVyZTogRml4dHVyZSB8IG51bGw7XG4gICAgcHVibGljIGNvbGxlY3RlZFRlc3RzOiBUZXN0W107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKGZpbGVuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoVW5pdFR5cGUudGVzdEZpbGUpO1xuXG4gICAgICAgIHRoaXMuZmlsZW5hbWUgICAgICAgPSBmaWxlbmFtZTtcbiAgICAgICAgdGhpcy5jdXJyZW50Rml4dHVyZSA9IG51bGw7XG4gICAgICAgIHRoaXMuY29sbGVjdGVkVGVzdHMgPSBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VGVzdHMgKCk6IFRlc3RbXSB7XG4gICAgICAgIHRoaXMuY29sbGVjdGVkVGVzdHMuZm9yRWFjaCh0ZXN0ID0+IHtcbiAgICAgICAgICAgIEJPUlJPV0VEX1RFU1RfUFJPUEVSVElFUy5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFRPRE86IGFkZCBpbmRleCBzaWduYXR1cmUgdG8gdGhlIFRlc3QgYW5kIEZpeHR1cmUgY2xhc3Nlc1xuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHRlc3RbcHJvcF0gPSB0ZXN0W3Byb3BdIHx8IHRlc3QuZml4dHVyZVtwcm9wXTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCB0ZXN0Rml4dHVyZSA9IHRlc3QuZml4dHVyZSBhcyBGaXh0dXJlO1xuXG4gICAgICAgICAgICBpZiAodGVzdC5kaXNhYmxlUGFnZVJlbG9hZHMgPT09IHZvaWQgMClcbiAgICAgICAgICAgICAgICB0ZXN0LmRpc2FibGVQYWdlUmVsb2FkcyA9IHRlc3RGaXh0dXJlLmRpc2FibGVQYWdlUmVsb2FkcztcblxuICAgICAgICAgICAgaWYgKCF0ZXN0LmRpc2FibGVQYWdlQ2FjaGluZylcbiAgICAgICAgICAgICAgICB0ZXN0LmRpc2FibGVQYWdlQ2FjaGluZyA9IHRlc3RGaXh0dXJlLmRpc2FibGVQYWdlQ2FjaGluZztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGVjdGVkVGVzdHM7XG4gICAgfVxufVxuIl19
|
|
@@ -16,23 +16,30 @@ const option_names_1 = __importDefault(require("../../configuration/option-names
|
|
|
16
16
|
const testcafe_hammerhead_1 = require("testcafe-hammerhead");
|
|
17
17
|
const test_timeout_1 = __importDefault(require("./test-timeout"));
|
|
18
18
|
class Test extends testing_unit_1.default {
|
|
19
|
-
constructor(testFile) {
|
|
19
|
+
constructor(testFile, isCompilerServiceMode = false) {
|
|
20
20
|
// NOTE: 'fixture' directive can be missing
|
|
21
21
|
const fixture = testFile.currentFixture;
|
|
22
|
-
const pageUrl = fixture
|
|
22
|
+
const pageUrl = (fixture === null || fixture === void 0 ? void 0 : fixture.pageUrl) || testcafe_hammerhead_1.SPECIAL_BLANK_PAGE;
|
|
23
23
|
super(testFile, unit_type_1.default.test, pageUrl);
|
|
24
|
-
this.fixture =
|
|
24
|
+
this.fixture = null;
|
|
25
25
|
this.fn = null;
|
|
26
26
|
this.beforeFn = null;
|
|
27
27
|
this.afterFn = null;
|
|
28
28
|
this.timeouts = null;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.clientScripts = this.fixture.clientScripts.slice();
|
|
32
|
-
}
|
|
29
|
+
this._isCompilerService = isCompilerServiceMode;
|
|
30
|
+
this._initFixture(testFile);
|
|
33
31
|
return this.apiOrigin;
|
|
34
32
|
}
|
|
33
|
+
_initFixture(testFile) {
|
|
34
|
+
this.fixture = testFile.currentFixture;
|
|
35
|
+
if (!this.fixture)
|
|
36
|
+
return;
|
|
37
|
+
this.requestHooks = this.fixture.requestHooks.slice();
|
|
38
|
+
this.clientScripts = this.fixture.clientScripts.slice();
|
|
39
|
+
}
|
|
35
40
|
_add(name, fn) {
|
|
41
|
+
if (this._isCompilerService && !this.fixture)
|
|
42
|
+
this._initFixture(this.testFile);
|
|
36
43
|
type_assertions_1.assertType(type_assertions_1.is.string, 'apiOrigin', 'The test name', name);
|
|
37
44
|
type_assertions_1.assertType(type_assertions_1.is.function, 'apiOrigin', 'The test body', fn);
|
|
38
45
|
type_assertions_1.assertType(type_assertions_1.is.nonNullObject, 'apiOrigin', `The fixture of '${name}' test`, this.fixture);
|
|
@@ -84,4 +91,4 @@ class Test extends testing_unit_1.default {
|
|
|
84
91
|
exports.default = Test;
|
|
85
92
|
testing_unit_1.default.makeAPIListForChildClass(Test);
|
|
86
93
|
module.exports = exports.default;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvc3RydWN0dXJlL3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBdUQ7QUFDdkQsa0VBQXlDO0FBQ3pDLDREQUFtQztBQUNuQywwRUFBc0U7QUFDdEUsK0VBQXFEO0FBQ3JELCtFQUFpRTtBQUNqRSwwRkFBNkU7QUFDN0UsOENBQW9EO0FBQ3BELGtEQUFnRDtBQUNoRCxvRkFBNEQ7QUFLNUQsNkRBQXlEO0FBRXpELGtFQUF5QztBQUV6QyxNQUFxQixJQUFLLFNBQVEsc0JBQVc7SUFPekMsWUFBb0IsUUFBa0I7UUFDbEMsMkNBQTJDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUF5QixDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLHdDQUFrQixDQUFDO1FBRWpFLEtBQUssQ0FBQyxRQUFRLEVBQUUsbUJBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE9BQU8sR0FBSSxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLEVBQUUsR0FBUyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBSSxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFckIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNEO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBNEIsQ0FBQztJQUM3QyxD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QUM7UUFFbkUsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBVyxDQUFDO2FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUM7YUFDdEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2YsNEJBQVUsQ0FBQyxvQkFBRSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQTZCLENBQUMsQ0FBQyxDQUFDO1FBQ3RILENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7Q0FDSjtBQW5HRCx1QkFtR0M7QUFFRCxzQkFBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmxhdHRlbkRlZXAgYXMgZmxhdHRlbiwgdW5pb24gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFRlc3RpbmdVbml0IGZyb20gJy4vdGVzdGluZy11bml0JztcbmltcG9ydCBVbml0VHlwZSBmcm9tICcuL3VuaXQtdHlwZSc7XG5pbXBvcnQgeyBhc3NlcnRUeXBlLCBpcyB9IGZyb20gJy4uLy4uL2Vycm9ycy9ydW50aW1lL3R5cGUtYXNzZXJ0aW9ucyc7XG5pbXBvcnQgd3JhcFRlc3RGdW5jdGlvbiBmcm9tICcuLi93cmFwLXRlc3QtZnVuY3Rpb24nO1xuaW1wb3J0IGFzc2VydFJlcXVlc3RIb29rVHlwZSBmcm9tICcuLi9yZXF1ZXN0LWhvb2tzL2Fzc2VydC10eXBlJztcbmltcG9ydCBhc3NlcnRDbGllbnRTY3JpcHRUeXBlIGZyb20gJy4uLy4uL2N1c3RvbS1jbGllbnQtc2NyaXB0cy9hc3NlcnQtdHlwZSc7XG5pbXBvcnQgeyBSVU5USU1FX0VSUk9SUyB9IGZyb20gJy4uLy4uL2Vycm9ycy90eXBlcyc7XG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9ydW50aW1lJztcbmltcG9ydCBPUFRJT05fTkFNRVMgZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9vcHRpb24tbmFtZXMnO1xuaW1wb3J0IFRlc3RGaWxlIGZyb20gJy4vdGVzdC1maWxlJztcbmltcG9ydCBGaXh0dXJlIGZyb20gJy4vZml4dHVyZSc7XG5pbXBvcnQgUmVxdWVzdEhvb2sgZnJvbSAnLi4vcmVxdWVzdC1ob29rcy9ob29rJztcbmltcG9ydCBDbGllbnRTY3JpcHRJbml0IGZyb20gJy4uLy4uL2N1c3RvbS1jbGllbnQtc2NyaXB0cy9jbGllbnQtc2NyaXB0LWluaXQnO1xuaW1wb3J0IHsgU1BFQ0lBTF9CTEFOS19QQUdFIH0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5pbXBvcnQgeyBUZXN0VGltZW91dHMgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IFRlc3RUaW1lb3V0IGZyb20gJy4vdGVzdC10aW1lb3V0JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVzdCBleHRlbmRzIFRlc3RpbmdVbml0IHtcbiAgICBwdWJsaWMgZml4dHVyZTogRml4dHVyZTtcbiAgICBwdWJsaWMgZm46IEZ1bmN0aW9uIHwgbnVsbDtcbiAgICBwdWJsaWMgYmVmb3JlRm46IEZ1bmN0aW9uIHwgbnVsbDtcbiAgICBwdWJsaWMgYWZ0ZXJGbjogRnVuY3Rpb24gfCBudWxsO1xuICAgIHB1YmxpYyB0aW1lb3V0czogVGVzdFRpbWVvdXRzIHwgbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAodGVzdEZpbGU6IFRlc3RGaWxlKSB7XG4gICAgICAgIC8vIE5PVEU6ICdmaXh0dXJlJyBkaXJlY3RpdmUgY2FuIGJlIG1pc3NpbmdcbiAgICAgICAgY29uc3QgZml4dHVyZSA9IHRlc3RGaWxlLmN1cnJlbnRGaXh0dXJlIGFzIEZpeHR1cmU7XG4gICAgICAgIGNvbnN0IHBhZ2VVcmwgPSBmaXh0dXJlICYmIGZpeHR1cmUucGFnZVVybCB8fCBTUEVDSUFMX0JMQU5LX1BBR0U7XG5cbiAgICAgICAgc3VwZXIodGVzdEZpbGUsIFVuaXRUeXBlLnRlc3QsIHBhZ2VVcmwpO1xuXG4gICAgICAgIHRoaXMuZml4dHVyZSAgPSBmaXh0dXJlO1xuICAgICAgICB0aGlzLmZuICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5iZWZvcmVGbiA9IG51bGw7XG4gICAgICAgIHRoaXMuYWZ0ZXJGbiAgPSBudWxsO1xuICAgICAgICB0aGlzLnRpbWVvdXRzID0gbnVsbDtcblxuICAgICAgICBpZiAodGhpcy5maXh0dXJlKSB7XG4gICAgICAgICAgICB0aGlzLnJlcXVlc3RIb29rcyAgPSB0aGlzLmZpeHR1cmUucmVxdWVzdEhvb2tzLnNsaWNlKCk7XG4gICAgICAgICAgICB0aGlzLmNsaWVudFNjcmlwdHMgPSB0aGlzLmZpeHR1cmUuY2xpZW50U2NyaXB0cy5zbGljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luIGFzIHVua25vd24gYXMgVGVzdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2FkZCAobmFtZTogc3RyaW5nLCBmbjogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XG4gICAgICAgIGFzc2VydFR5cGUoaXMuc3RyaW5nLCAnYXBpT3JpZ2luJywgJ1RoZSB0ZXN0IG5hbWUnLCBuYW1lKTtcbiAgICAgICAgYXNzZXJ0VHlwZShpcy5mdW5jdGlvbiwgJ2FwaU9yaWdpbicsICdUaGUgdGVzdCBib2R5JywgZm4pO1xuICAgICAgICBhc3NlcnRUeXBlKGlzLm5vbk51bGxPYmplY3QsICdhcGlPcmlnaW4nLCBgVGhlIGZpeHR1cmUgb2YgJyR7bmFtZX0nIHRlc3RgLCB0aGlzLmZpeHR1cmUpO1xuXG4gICAgICAgIHRoaXMubmFtZSAgICAgICAgICA9IG5hbWU7XG4gICAgICAgIHRoaXMuZm4gICAgICAgICAgICA9IHdyYXBUZXN0RnVuY3Rpb24oZm4pO1xuXG4gICAgICAgIGlmICghdGhpcy50ZXN0RmlsZS5jb2xsZWN0ZWRUZXN0cy5pbmNsdWRlcyh0aGlzKSlcbiAgICAgICAgICAgIHRoaXMudGVzdEZpbGUuY29sbGVjdGVkVGVzdHMucHVzaCh0aGlzKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYmVmb3JlJCAoZm46IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xuICAgICAgICBhc3NlcnRUeXBlKGlzLmZ1bmN0aW9uLCAnYmVmb3JlJywgJ1RoZSB0ZXN0LmJlZm9yZSBob29rJywgZm4pO1xuXG4gICAgICAgIHRoaXMuYmVmb3JlRm4gPSB3cmFwVGVzdEZ1bmN0aW9uKGZuKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWZ0ZXIkIChmbjogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XG4gICAgICAgIGFzc2VydFR5cGUoaXMuZnVuY3Rpb24sICdhZnRlcicsICdUaGUgdGVzdC5hZnRlciBob29rJywgZm4pO1xuXG4gICAgICAgIHRoaXMuYWZ0ZXJGbiA9IHdyYXBUZXN0RnVuY3Rpb24oZm4pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXF1ZXN0SG9va3MkICguLi5ob29rczogUmVxdWVzdEhvb2tbXSk6IEZ1bmN0aW9uIHtcbiAgICAgICAgaWYgKHRoaXMuYXBpTWV0aG9kV2FzQ2FsbGVkLnJlcXVlc3RIb29rcylcbiAgICAgICAgICAgIHRocm93IG5ldyBBUElFcnJvcihPUFRJT05fTkFNRVMucmVxdWVzdEhvb2tzLCBSVU5USU1FX0VSUk9SUy5tdWx0aXBsZUFQSU1ldGhvZENhbGxGb3JiaWRkZW4sIE9QVElPTl9OQU1FUy5yZXF1ZXN0SG9va3MpO1xuXG4gICAgICAgIGhvb2tzID0gZmxhdHRlbihob29rcyk7XG5cbiAgICAgICAgYXNzZXJ0UmVxdWVzdEhvb2tUeXBlKGhvb2tzKTtcblxuICAgICAgICB0aGlzLnJlcXVlc3RIb29rcyAgICAgICAgICAgICAgICAgICAgPSB1bmlvbih0aGlzLnJlcXVlc3RIb29rcywgaG9va3MpO1xuICAgICAgICB0aGlzLmFwaU1ldGhvZFdhc0NhbGxlZC5yZXF1ZXN0SG9va3MgPSB0cnVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jbGllbnRTY3JpcHRzJCAoLi4uc2NyaXB0czogQ2xpZW50U2NyaXB0SW5pdFtdKTogRnVuY3Rpb24ge1xuICAgICAgICBpZiAodGhpcy5hcGlNZXRob2RXYXNDYWxsZWQuY2xpZW50U2NyaXB0cylcbiAgICAgICAgICAgIHRocm93IG5ldyBBUElFcnJvcihPUFRJT05fTkFNRVMuY2xpZW50U2NyaXB0cywgUlVOVElNRV9FUlJPUlMubXVsdGlwbGVBUElNZXRob2RDYWxsRm9yYmlkZGVuLCBPUFRJT05fTkFNRVMuY2xpZW50U2NyaXB0cyk7XG5cbiAgICAgICAgc2NyaXB0cyA9IGZsYXR0ZW4oc2NyaXB0cyk7XG5cbiAgICAgICAgYXNzZXJ0Q2xpZW50U2NyaXB0VHlwZShzY3JpcHRzKTtcblxuICAgICAgICB0aGlzLmNsaWVudFNjcmlwdHMgICAgICAgICAgICAgICAgICAgID0gdW5pb24odGhpcy5jbGllbnRTY3JpcHRzLCBzY3JpcHRzKTtcbiAgICAgICAgdGhpcy5hcGlNZXRob2RXYXNDYWxsZWQuY2xpZW50U2NyaXB0cyA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RpbWVvdXRzJCAodGltZW91dHM6IFRlc3RUaW1lb3V0cyk6IEZ1bmN0aW9uIHtcbiAgICAgICAgYXNzZXJ0VHlwZShpcy50ZXN0VGltZW91dHMsICd0aW1lb3V0cycsICd0ZXN0LnRpbWVvdXRzJywgdGltZW91dHMpO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKFRlc3RUaW1lb3V0KVxuICAgICAgICAgICAgLmZpbHRlcih0aW1lb3V0ID0+IHRpbWVvdXQgaW4gdGltZW91dHMpXG4gICAgICAgICAgICAuZm9yRWFjaCh0aW1lb3V0ID0+IHtcbiAgICAgICAgICAgICAgICBhc3NlcnRUeXBlKGlzLm5vbk5lZ2F0aXZlTnVtYmVyLCAndGltZW91dHMnLCBgdGVzdC50aW1lb3V0cy4ke3RpbWVvdXR9YCwgdGltZW91dHNbdGltZW91dCBhcyBrZXlvZiBUZXN0VGltZW91dHNdKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGltZW91dHMgPSB0aW1lb3V0cztcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxufVxuXG5UZXN0aW5nVW5pdC5tYWtlQVBJTGlzdEZvckNoaWxkQ2xhc3MoVGVzdCk7XG4iXX0=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvc3RydWN0dXJlL3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBdUQ7QUFDdkQsa0VBQXlDO0FBQ3pDLDREQUFtQztBQUNuQywwRUFBc0U7QUFDdEUsK0VBQXFEO0FBQ3JELCtFQUFpRTtBQUNqRSwwRkFBNkU7QUFDN0UsOENBQW9EO0FBQ3BELGtEQUFnRDtBQUNoRCxvRkFBNEQ7QUFLNUQsNkRBQXlEO0FBRXpELGtFQUF5QztBQUd6QyxNQUFxQixJQUFLLFNBQVEsc0JBQVc7SUFRekMsWUFBb0IsUUFBa0IsRUFBRSxxQkFBcUIsR0FBRyxLQUFLO1FBQ2pFLDJDQUEyQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsY0FBeUIsQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPLEtBQUksd0NBQWtCLENBQUM7UUFFdkQsS0FBSyxDQUFDLFFBQVEsRUFBRSxtQkFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsT0FBTyxHQUFJLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsRUFBRSxHQUFTLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFJLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUVyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcscUJBQXFCLENBQUM7UUFFaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QixPQUFPLElBQUksQ0FBQyxTQUE0QixDQUFDO0lBQzdDLENBQUM7SUFFTyxZQUFZLENBQUUsUUFBa0I7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENB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Q0FBQyxPQUFPLENBQUMsQ0FBQztRQUUzQixxQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsYUFBYSxHQUFzQixjQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUU3QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVPLFVBQVUsQ0FBRSxRQUFzQjtRQUN0Qyw0QkFBVSxDQUFDLG9CQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFbkUsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBVyxDQUFDO2FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUM7YUFDdEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2YsNEJBQVUsQ0FBQyxvQkFBRSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQTZCLENBQUMsQ0FBQyxDQUFDO1FBQ3RILENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7Q0FDSjtBQWhIRCx1QkFnSEM7QUFFRCxzQkFBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmxhdHRlbkRlZXAgYXMgZmxhdHRlbiwgdW5pb24gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFRlc3RpbmdVbml0IGZyb20gJy4vdGVzdGluZy11bml0JztcbmltcG9ydCBVbml0VHlwZSBmcm9tICcuL3VuaXQtdHlwZSc7XG5pbXBvcnQgeyBhc3NlcnRUeXBlLCBpcyB9IGZyb20gJy4uLy4uL2Vycm9ycy9ydW50aW1lL3R5cGUtYXNzZXJ0aW9ucyc7XG5pbXBvcnQgd3JhcFRlc3RGdW5jdGlvbiBmcm9tICcuLi93cmFwLXRlc3QtZnVuY3Rpb24nO1xuaW1wb3J0IGFzc2VydFJlcXVlc3RIb29rVHlwZSBmcm9tICcuLi9yZXF1ZXN0LWhvb2tzL2Fzc2VydC10eXBlJztcbmltcG9ydCBhc3NlcnRDbGllbnRTY3JpcHRUeXBlIGZyb20gJy4uLy4uL2N1c3RvbS1jbGllbnQtc2NyaXB0cy9hc3NlcnQtdHlwZSc7XG5pbXBvcnQgeyBSVU5USU1FX0VSUk9SUyB9IGZyb20gJy4uLy4uL2Vycm9ycy90eXBlcyc7XG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9ydW50aW1lJztcbmltcG9ydCBPUFRJT05fTkFNRVMgZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9vcHRpb24tbmFtZXMnO1xuaW1wb3J0IFRlc3RGaWxlIGZyb20gJy4vdGVzdC1maWxlJztcbmltcG9ydCBGaXh0dXJlIGZyb20gJy4vZml4dHVyZSc7XG5pbXBvcnQgUmVxdWVzdEhvb2sgZnJvbSAnLi4vcmVxdWVzdC1ob29rcy9ob29rJztcbmltcG9ydCBDbGllbnRTY3JpcHRJbml0IGZyb20gJy4uLy4uL2N1c3RvbS1jbGllbnQtc2NyaXB0cy9jbGllbnQtc2NyaXB0LWluaXQnO1xuaW1wb3J0IHsgU1BFQ0lBTF9CTEFOS19QQUdFIH0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5pbXBvcnQgeyBUZXN0VGltZW91dHMgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IFRlc3RUaW1lb3V0IGZyb20gJy4vdGVzdC10aW1lb3V0JztcblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXN0IGV4dGVuZHMgVGVzdGluZ1VuaXQge1xuICAgIHB1YmxpYyBmaXh0dXJlOiBGaXh0dXJlIHwgbnVsbDtcbiAgICBwdWJsaWMgZm46IEZ1bmN0aW9uIHwgbnVsbDtcbiAgICBwdWJsaWMgYmVmb3JlRm46IEZ1bmN0aW9uIHwgbnVsbDtcbiAgICBwdWJsaWMgYWZ0ZXJGbjogRnVuY3Rpb24gfCBudWxsO1xuICAgIHB1YmxpYyB0aW1lb3V0czogVGVzdFRpbWVvdXRzIHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pc0NvbXBpbGVyU2VydmljZTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAodGVzdEZpbGU6IFRlc3RGaWxlLCBpc0NvbXBpbGVyU2VydmljZU1vZGUgPSBmYWxzZSkge1xuICAgICAgICAvLyBOT1RFOiAnZml4dHVyZScgZGlyZWN0aXZlIGNhbiBiZSBtaXNzaW5nXG4gICAgICAgIGNvbnN0IGZpeHR1cmUgPSB0ZXN0RmlsZS5jdXJyZW50Rml4dHVyZSBhcyBGaXh0dXJlO1xuICAgICAgICBjb25zdCBwYWdlVXJsID0gZml4dHVyZT8ucGFnZVVybCB8fCBTUEVDSUFMX0JMQU5LX1BBR0U7XG5cbiAgICAgICAgc3VwZXIodGVzdEZpbGUsIFVuaXRUeXBlLnRlc3QsIHBhZ2VVcmwpO1xuXG4gICAgICAgIHRoaXMuZml4dHVyZSAgPSBudWxsO1xuICAgICAgICB0aGlzLmZuICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5iZWZvcmVGbiA9IG51bGw7XG4gICAgICAgIHRoaXMuYWZ0ZXJGbiAgPSBudWxsO1xuICAgICAgICB0aGlzLnRpbWVvdXRzID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9pc0NvbXBpbGVyU2VydmljZSA9IGlzQ29tcGlsZXJTZXJ2aWNlTW9kZTtcblxuICAgICAgICB0aGlzLl9pbml0Rml4dHVyZSh0ZXN0RmlsZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luIGFzIHVua25vd24gYXMgVGVzdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pbml0Rml4dHVyZSAodGVzdEZpbGU6IFRlc3RGaWxlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZml4dHVyZSA9IHRlc3RGaWxlLmN1cnJlbnRGaXh0dXJlO1xuXG4gICAgICAgIGlmICghdGhpcy5maXh0dXJlKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMucmVxdWVzdEhvb2tzICA9IHRoaXMuZml4dHVyZS5yZXF1ZXN0SG9va3Muc2xpY2UoKTtcbiAgICAgICAgdGhpcy5jbGllbnRTY3JpcHRzID0gdGhpcy5maXh0dXJlLmNsaWVudFNjcmlwdHMuc2xpY2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2FkZCAobmFtZTogc3RyaW5nLCBmbjogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XG4gICAgICAgIGlmICh0aGlzLl9pc0NvbXBpbGVyU2VydmljZSAmJiAhdGhpcy5maXh0dXJlKVxuICAgICAgICAgICAgdGhpcy5faW5pdEZpeHR1cmUodGhpcy50ZXN0RmlsZSk7XG5cbiAgICAgICAgYXNzZXJ0VHlwZShpcy5zdHJpbmcsICdhcGlPcmlnaW4nLCAnVGhlIHRlc3QgbmFtZScsIG5hbWUpO1xuICAgICAgICBhc3NlcnRUeXBlKGlzLmZ1bmN0aW9uLCAnYXBpT3JpZ2luJywgJ1RoZSB0ZXN0IGJvZHknLCBmbik7XG4gICAgICAgIGFzc2VydFR5cGUoaXMubm9uTnVsbE9iamVjdCwgJ2FwaU9yaWdpbicsIGBUaGUgZml4dHVyZSBvZiAnJHtuYW1lfScgdGVzdGAsIHRoaXMuZml4dHVyZSk7XG5cbiAgICAgICAgdGhpcy5uYW1lICAgICAgICAgID0gbmFtZTtcbiAgICAgICAgdGhpcy5mbiAgICAgICAgICAgID0gd3JhcFRlc3RGdW5jdGlvbihmbik7XG5cbiAgICAgICAgaWYgKCF0aGlzLnRlc3RGaWxlLmNvbGxlY3RlZFRlc3RzLmluY2x1ZGVzKHRoaXMpKVxuICAgICAgICAgICAgdGhpcy50ZXN0RmlsZS5jb2xsZWN0ZWRUZXN0cy5wdXNoKHRoaXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9iZWZvcmUkIChmbjogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XG4gICAgICAgIGFzc2VydFR5cGUoaXMuZnVuY3Rpb24sICdiZWZvcmUnLCAnVGhlIHRlc3QuYmVmb3JlIGhvb2snLCBmbik7XG5cbiAgICAgICAgdGhpcy5iZWZvcmVGbiA9IHdyYXBUZXN0RnVuY3Rpb24oZm4pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hZnRlciQgKGZuOiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcbiAgICAgICAgYXNzZXJ0VHlwZShpcy5mdW5jdGlvbiwgJ2FmdGVyJywgJ1RoZSB0ZXN0LmFmdGVyIGhvb2snLCBmbik7XG5cbiAgICAgICAgdGhpcy5hZnRlckZuID0gd3JhcFRlc3RGdW5jdGlvbihmbik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlcXVlc3RIb29rcyQgKC4uLmhvb2tzOiBSZXF1ZXN0SG9va1tdKTogRnVuY3Rpb24ge1xuICAgICAgICBpZiAodGhpcy5hcGlNZXRob2RXYXNDYWxsZWQucmVxdWVzdEhvb2tzKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKE9QVElPTl9OQU1FUy5yZXF1ZXN0SG9va3MsIFJVTlRJTUVfRVJST1JTLm11bHRpcGxlQVBJTWV0aG9kQ2FsbEZvcmJpZGRlbiwgT1BUSU9OX05BTUVTLnJlcXVlc3RIb29rcyk7XG5cbiAgICAgICAgaG9va3MgPSBmbGF0dGVuKGhvb2tzKTtcblxuICAgICAgICBhc3NlcnRSZXF1ZXN0SG9va1R5cGUoaG9va3MpO1xuXG4gICAgICAgIHRoaXMucmVxdWVzdEhvb2tzICAgICAgICAgICAgICAgICAgICA9IHVuaW9uKHRoaXMucmVxdWVzdEhvb2tzLCBob29rcyk7XG4gICAgICAgIHRoaXMuYXBpTWV0aG9kV2FzQ2FsbGVkLnJlcXVlc3RIb29rcyA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpT3JpZ2luO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NsaWVudFNjcmlwdHMkICguLi5zY3JpcHRzOiBDbGllbnRTY3JpcHRJbml0W10pOiBGdW5jdGlvbiB7XG4gICAgICAgIGlmICh0aGlzLmFwaU1ldGhvZFdhc0NhbGxlZC5jbGllbnRTY3JpcHRzKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKE9QVElPTl9OQU1FUy5jbGllbnRTY3JpcHRzLCBSVU5USU1FX0VSUk9SUy5tdWx0aXBsZUFQSU1ldGhvZENhbGxGb3JiaWRkZW4sIE9QVElPTl9OQU1FUy5jbGllbnRTY3JpcHRzKTtcblxuICAgICAgICBzY3JpcHRzID0gZmxhdHRlbihzY3JpcHRzKTtcblxuICAgICAgICBhc3NlcnRDbGllbnRTY3JpcHRUeXBlKHNjcmlwdHMpO1xuXG4gICAgICAgIHRoaXMuY2xpZW50U2NyaXB0cyAgICAgICAgICAgICAgICAgICAgPSB1bmlvbih0aGlzLmNsaWVudFNjcmlwdHMsIHNjcmlwdHMpO1xuICAgICAgICB0aGlzLmFwaU1ldGhvZFdhc0NhbGxlZC5jbGllbnRTY3JpcHRzID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hcGlPcmlnaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdGltZW91dHMkICh0aW1lb3V0czogVGVzdFRpbWVvdXRzKTogRnVuY3Rpb24ge1xuICAgICAgICBhc3NlcnRUeXBlKGlzLnRlc3RUaW1lb3V0cywgJ3RpbWVvdXRzJywgJ3Rlc3QudGltZW91dHMnLCB0aW1lb3V0cyk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoVGVzdFRpbWVvdXQpXG4gICAgICAgICAgICAuZmlsdGVyKHRpbWVvdXQgPT4gdGltZW91dCBpbiB0aW1lb3V0cylcbiAgICAgICAgICAgIC5mb3JFYWNoKHRpbWVvdXQgPT4ge1xuICAgICAgICAgICAgICAgIGFzc2VydFR5cGUoaXMubm9uTmVnYXRpdmVOdW1iZXIsICd0aW1lb3V0cycsIGB0ZXN0LnRpbWVvdXRzLiR7dGltZW91dH1gLCB0aW1lb3V0c1t0aW1lb3V0IGFzIGtleW9mIFRlc3RUaW1lb3V0c10pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50aW1lb3V0cyA9IHRpbWVvdXRzO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaU9yaWdpbjtcbiAgICB9XG59XG5cblRlc3RpbmdVbml0Lm1ha2VBUElMaXN0Rm9yQ2hpbGRDbGFzcyhUZXN0KTtcbiJdfQ==
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const assertion_1 =
|
|
7
|
-
const type_1 = __importDefault(require("../../assertions/type"));
|
|
3
|
+
const assertion_1 = require("../../test-run/commands/assertion");
|
|
8
4
|
const test_run_1 = require("../../errors/test-run");
|
|
9
5
|
class Assertion {
|
|
10
6
|
constructor(actual, testController, callsite) {
|
|
@@ -15,7 +11,7 @@ class Assertion {
|
|
|
15
11
|
then() {
|
|
16
12
|
throw new test_run_1.AssertionWithoutMethodCallError(this._callsite);
|
|
17
13
|
}
|
|
18
|
-
_enqueueAssertion(
|
|
14
|
+
_enqueueAssertion(command, assertionArgs) {
|
|
19
15
|
let options = assertionArgs.opts || {};
|
|
20
16
|
let message = assertionArgs.message;
|
|
21
17
|
// NOTE: Assertion options should be specified after the 'message' parameter.
|
|
@@ -26,8 +22,8 @@ class Assertion {
|
|
|
26
22
|
options = assertionArgs.message;
|
|
27
23
|
message = void 0;
|
|
28
24
|
}
|
|
29
|
-
return this._testController._enqueueCommand(
|
|
30
|
-
assertionType:
|
|
25
|
+
return this._testController._enqueueCommand(command, {
|
|
26
|
+
assertionType: command.methodName,
|
|
31
27
|
actual: this._actual,
|
|
32
28
|
expected: assertionArgs.expected,
|
|
33
29
|
expected2: assertionArgs.expected2,
|
|
@@ -35,56 +31,56 @@ class Assertion {
|
|
|
35
31
|
options: { timeout: options.timeout, allowUnawaitedPromise: options.allowUnawaitedPromise },
|
|
36
32
|
});
|
|
37
33
|
}
|
|
38
|
-
|
|
39
|
-
return this._enqueueAssertion(
|
|
34
|
+
[assertion_1.EqlAssertionCommand.methodName](expected, message, opts) {
|
|
35
|
+
return this._enqueueAssertion(assertion_1.EqlAssertionCommand, { expected, message, opts });
|
|
40
36
|
}
|
|
41
|
-
|
|
42
|
-
return this._enqueueAssertion(
|
|
37
|
+
[assertion_1.NotEqlAssertionCommand.methodName](expected, message, opts) {
|
|
38
|
+
return this._enqueueAssertion(assertion_1.NotEqlAssertionCommand, { expected, message, opts });
|
|
43
39
|
}
|
|
44
|
-
|
|
45
|
-
return this._enqueueAssertion(
|
|
40
|
+
[assertion_1.OkAssertionCommand.methodName](message, opts) {
|
|
41
|
+
return this._enqueueAssertion(assertion_1.OkAssertionCommand, { message, opts });
|
|
46
42
|
}
|
|
47
|
-
|
|
48
|
-
return this._enqueueAssertion(
|
|
43
|
+
[assertion_1.NotOkAssertionCommand.methodName](message, opts) {
|
|
44
|
+
return this._enqueueAssertion(assertion_1.NotOkAssertionCommand, { message, opts });
|
|
49
45
|
}
|
|
50
|
-
|
|
51
|
-
return this._enqueueAssertion(
|
|
46
|
+
[assertion_1.ContainsAssertionCommand.methodName](expected, message, opts) {
|
|
47
|
+
return this._enqueueAssertion(assertion_1.ContainsAssertionCommand, { expected, message, opts });
|
|
52
48
|
}
|
|
53
|
-
|
|
54
|
-
return this._enqueueAssertion(
|
|
49
|
+
[assertion_1.NotContainsAssertionCommand.methodName](expected, message, opts) {
|
|
50
|
+
return this._enqueueAssertion(assertion_1.NotContainsAssertionCommand, { expected, message, opts });
|
|
55
51
|
}
|
|
56
|
-
|
|
57
|
-
return this._enqueueAssertion(
|
|
52
|
+
[assertion_1.TypeOfAssertionCommand.methodName](expected, message, opts) {
|
|
53
|
+
return this._enqueueAssertion(assertion_1.TypeOfAssertionCommand, { expected, message, opts });
|
|
58
54
|
}
|
|
59
|
-
|
|
60
|
-
return this._enqueueAssertion(
|
|
55
|
+
[assertion_1.NotTypeOfAssertionCommand.methodName](expected, message, opts) {
|
|
56
|
+
return this._enqueueAssertion(assertion_1.NotTypeOfAssertionCommand, { expected, message, opts });
|
|
61
57
|
}
|
|
62
|
-
|
|
63
|
-
return this._enqueueAssertion(
|
|
58
|
+
[assertion_1.GtAssertionCommand.methodName](expected, message, opts) {
|
|
59
|
+
return this._enqueueAssertion(assertion_1.GtAssertionCommand, { expected, message, opts });
|
|
64
60
|
}
|
|
65
|
-
|
|
66
|
-
return this._enqueueAssertion(
|
|
61
|
+
[assertion_1.GteAssertionCommand.methodName](expected, message, opts) {
|
|
62
|
+
return this._enqueueAssertion(assertion_1.GteAssertionCommand, { expected, message, opts });
|
|
67
63
|
}
|
|
68
|
-
|
|
69
|
-
return this._enqueueAssertion(
|
|
64
|
+
[assertion_1.LtAssertionCommand.methodName](expected, message, opts) {
|
|
65
|
+
return this._enqueueAssertion(assertion_1.LtAssertionCommand, { expected, message, opts });
|
|
70
66
|
}
|
|
71
|
-
|
|
72
|
-
return this._enqueueAssertion(
|
|
67
|
+
[assertion_1.LteAssertionCommand.methodName](expected, message, opts) {
|
|
68
|
+
return this._enqueueAssertion(assertion_1.LteAssertionCommand, { expected, message, opts });
|
|
73
69
|
}
|
|
74
|
-
|
|
70
|
+
[assertion_1.WithinAssertionCommand.methodName](start, finish, message, opts) {
|
|
75
71
|
// NOTE: `within` is not available in Chai `assert` interface.
|
|
76
|
-
return this._enqueueAssertion(
|
|
72
|
+
return this._enqueueAssertion(assertion_1.WithinAssertionCommand, { expected: start, expected2: finish, message, opts });
|
|
77
73
|
}
|
|
78
|
-
|
|
79
|
-
return this._enqueueAssertion(
|
|
74
|
+
[assertion_1.NotWithinAssertionCommand.methodName](start, finish, message, opts) {
|
|
75
|
+
return this._enqueueAssertion(assertion_1.NotWithinAssertionCommand, { expected: start, expected2: finish, message, opts });
|
|
80
76
|
}
|
|
81
|
-
|
|
82
|
-
return this._enqueueAssertion(
|
|
77
|
+
[assertion_1.MatchAssertionCommand.methodName](expected, message, opts) {
|
|
78
|
+
return this._enqueueAssertion(assertion_1.MatchAssertionCommand, { expected, message, opts });
|
|
83
79
|
}
|
|
84
|
-
|
|
85
|
-
return this._enqueueAssertion(
|
|
80
|
+
[assertion_1.NotMatchAssertionCommand.methodName](expected, message, opts) {
|
|
81
|
+
return this._enqueueAssertion(assertion_1.NotMatchAssertionCommand, { expected, message, opts });
|
|
86
82
|
}
|
|
87
83
|
}
|
|
88
84
|
exports.default = Assertion;
|
|
89
85
|
module.exports = exports.default;
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90ZXN0LWNvbnRyb2xsZXIvYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0ZBQWlFO0FBQ2pFLGlFQUFtRDtBQUNuRCxvREFBd0U7QUFZeEUsTUFBcUIsU0FBUztJQUsxQixZQUFvQixNQUFlLEVBQUUsY0FBOEIsRUFBRSxRQUF3QjtRQUN6RixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFXLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFTLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRU0sSUFBSTtRQUNQLE1BQU0sSUFBSSwwQ0FBK0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGlCQUFpQixDQUFFLGFBQXFCLEVBQUUsYUFBNEI7UUFDMUUsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUVwQyw2RUFBNkU7UUFDN0UsaUVBQWlFO1FBQ2pFLDRHQUE0RztRQUM1RyxrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUEyQixDQUFDO1lBQ3BELE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztTQUNwQjtRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLG1CQUFnQixFQUFFO1lBQ3pFLGFBQWEsRUFBRSxhQUFhO1lBQzVCLE1BQU0sRUFBUyxJQUFJLENBQUMsT0FBTztZQUMzQixRQUFRLEVBQU8sYUFBYSxDQUFDLFFBQVE7WUFDckMsU0FBUyxFQUFNLGFBQWEsQ0FBQyxTQUFTO1lBQ3RDLE9BQU8sRUFBUSxPQUFPO1lBQ3RCLE9BQU8sRUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtTQUNwRyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sR0FBRyxDQUFFLFFBQWlCLEVBQUUsT0FBZSxFQUFFLElBQXNCO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLE1BQU0sQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNyRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTSxFQUFFLENBQUUsT0FBZSxFQUFFLElBQXNCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sS0FBSyxDQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLFFBQVEsQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUN2RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxXQUFXLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDMUUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRU0sTUFBTSxDQUFFLFFBQWlCLEVBQUUsT0FBZSxFQUFFLElBQXNCO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVNLFNBQVMsQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUN4RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTSxFQUFFLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDakUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRU0sR0FBRyxDQUFFLFFBQWlCLEVBQUUsT0FBZSxFQUFFLElBQXNCO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLEVBQUUsQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNqRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTSxHQUFHLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDbEUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU0sTUFBTSxDQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsT0FBZSxFQUFFLElBQXNCO1FBQ2pGLDhEQUE4RDtRQUM5RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFTSxTQUFTLENBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDcEYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRU0sS0FBSyxDQUFFLFFBQWlCLEVBQUUsT0FBZSxFQUFFLElBQXNCO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVNLFFBQVEsQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUN2RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7Q0FDSjtBQXRHRCw0QkFzR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXNzZXJ0aW9uQ29tbWFuZCBmcm9tICcuLi8uLi90ZXN0LXJ1bi9jb21tYW5kcy9hc3NlcnRpb24nO1xuaW1wb3J0IEFTU0VSVElPTl9UWVBFIGZyb20gJy4uLy4uL2Fzc2VydGlvbnMvdHlwZSc7XG5pbXBvcnQgeyBBc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3Rlc3QtcnVuJztcbmltcG9ydCBUZXN0Q29udHJvbGxlciBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IENhbGxzaXRlUmVjb3JkIH0gZnJvbSAnY2FsbHNpdGUtcmVjb3JkJztcbmltcG9ydCB7IEFzc2VydGlvbk9wdGlvbnMgfSBmcm9tICcuLi8uLi90ZXN0LXJ1bi9jb21tYW5kcy9vcHRpb25zJztcblxuaW50ZXJmYWNlIEFzc2VydGlvbkFyZ3Mge1xuICAgIG9wdHM6IEFzc2VydGlvbk9wdGlvbnM7XG4gICAgbWVzc2FnZT86IHN0cmluZyB8IEFzc2VydGlvbk9wdGlvbnM7XG4gICAgZXhwZWN0ZWQ/OiB1bmtub3duO1xuICAgIGV4cGVjdGVkMj86IHVua25vd247XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFzc2VydGlvbiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGVzdENvbnRyb2xsZXI6IFRlc3RDb250cm9sbGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FjdHVhbDogdW5rbm93bjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYWxsc2l0ZTogQ2FsbHNpdGVSZWNvcmQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKGFjdHVhbDogdW5rbm93biwgdGVzdENvbnRyb2xsZXI6IFRlc3RDb250cm9sbGVyLCBjYWxsc2l0ZTogQ2FsbHNpdGVSZWNvcmQpIHtcbiAgICAgICAgdGhpcy5fdGVzdENvbnRyb2xsZXIgPSB0ZXN0Q29udHJvbGxlcjtcbiAgICAgICAgdGhpcy5fYWN0dWFsICAgICAgICAgPSBhY3R1YWw7XG4gICAgICAgIHRoaXMuX2NhbGxzaXRlICAgICAgID0gY2FsbHNpdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHRoZW4gKCk6IG5ldmVyIHtcbiAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbldpdGhvdXRNZXRob2RDYWxsRXJyb3IodGhpcy5fY2FsbHNpdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2VucXVldWVBc3NlcnRpb24gKGFwaU1ldGhvZE5hbWU6IHN0cmluZywgYXNzZXJ0aW9uQXJnczogQXNzZXJ0aW9uQXJncyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICBsZXQgb3B0aW9ucyA9IGFzc2VydGlvbkFyZ3Mub3B0cyB8fCB7fTtcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSBhc3NlcnRpb25BcmdzLm1lc3NhZ2U7XG5cbiAgICAgICAgLy8gTk9URTogQXNzZXJ0aW9uIG9wdGlvbnMgc2hvdWxkIGJlIHNwZWNpZmllZCBhZnRlciB0aGUgJ21lc3NhZ2UnIHBhcmFtZXRlci5cbiAgICAgICAgLy8gYXdhaXQgdC5leHBlY3QoNDIpLmVxbCg0MywgJ3dyb25nIHZhbHVlJywgeyB0aW1lb3V0OiAxMDAwMCB9KTtcbiAgICAgICAgLy8gSW4gY2FzZSBvZiBlbXB0eSBhc3NlcnRpb24gbWVzc2FnZSB3ZSBhbGxvd2luZyB0byBzcGVjaWZ5IGFzc2VydGlvbiBvcHRpb24gaW4gcGxhY2Ugb2YgYXNzZXJ0aW9uIG1lc3NhZ2UuXG4gICAgICAgIC8vIGF3YWl0IHQuZXhwZWN0KDQyKS5lcWwoNDMsIHsgdGltZW91dDogMTAwMDAgfSk7XG4gICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBhc3NlcnRpb25BcmdzLm1lc3NhZ2UgYXMgQXNzZXJ0aW9uT3B0aW9ucztcbiAgICAgICAgICAgIG1lc3NhZ2UgPSB2b2lkIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fdGVzdENvbnRyb2xsZXIuX2VucXVldWVDb21tYW5kKGFwaU1ldGhvZE5hbWUsIEFzc2VydGlvbkNvbW1hbmQsIHtcbiAgICAgICAgICAgIGFzc2VydGlvblR5cGU6IGFwaU1ldGhvZE5hbWUsXG4gICAgICAgICAgICBhY3R1YWw6ICAgICAgICB0aGlzLl9hY3R1YWwsXG4gICAgICAgICAgICBleHBlY3RlZDogICAgICBhc3NlcnRpb25BcmdzLmV4cGVjdGVkLFxuICAgICAgICAgICAgZXhwZWN0ZWQyOiAgICAgYXNzZXJ0aW9uQXJncy5leHBlY3RlZDIsXG4gICAgICAgICAgICBtZXNzYWdlOiAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgb3B0aW9uczogICAgICAgeyB0aW1lb3V0OiBvcHRpb25zLnRpbWVvdXQsIGFsbG93VW5hd2FpdGVkUHJvbWlzZTogb3B0aW9ucy5hbGxvd1VuYXdhaXRlZFByb21pc2UgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGVxbCAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihBU1NFUlRJT05fVFlQRS5lcWwsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5vdEVxbCAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihBU1NFUlRJT05fVFlQRS5ub3RFcWwsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9rIChtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oQVNTRVJUSU9OX1RZUEUub2ssIHsgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90T2sgKG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihBU1NFUlRJT05fVFlQRS5ub3RPaywgeyBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb250YWlucyAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihBU1NFUlRJT05fVFlQRS5jb250YWlucywgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90Q29udGFpbnMgKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oQVNTRVJUSU9OX1RZUEUubm90Q29udGFpbnMsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHR5cGVPZiAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihBU1NFUlRJT05fVFlQRS50eXBlT2YsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5vdFR5cGVPZiAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihBU1NFUlRJT05fVFlQRS5ub3RUeXBlT2YsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGd0IChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEFTU0VSVElPTl9UWVBFLmd0LCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBndGUgKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oQVNTRVJUSU9OX1RZUEUuZ3RlLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBsdCAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihBU1NFUlRJT05fVFlQRS5sdCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbHRlIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEFTU0VSVElPTl9UWVBFLmx0ZSwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aGluIChzdGFydDogbnVtYmVyLCBmaW5pc2g6IG51bWJlciwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIC8vIE5PVEU6IGB3aXRoaW5gIGlzIG5vdCBhdmFpbGFibGUgaW4gQ2hhaSBgYXNzZXJ0YCBpbnRlcmZhY2UuXG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEFTU0VSVElPTl9UWVBFLndpdGhpbiwgeyBleHBlY3RlZDogc3RhcnQsIGV4cGVjdGVkMjogZmluaXNoLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RXaXRoaW4gKHN0YXJ0OiBudW1iZXIsIGZpbmlzaDogbnVtYmVyLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oQVNTRVJUSU9OX1RZUEUubm90V2l0aGluLCB7IGV4cGVjdGVkOiBzdGFydCwgZXhwZWN0ZWQyOiBmaW5pc2gsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG1hdGNoIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEFTU0VSVElPTl9UWVBFLm1hdGNoLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RNYXRjaCAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihBU1NFUlRJT05fVFlQRS5ub3RNYXRjaCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG59XG4iXX0=
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90ZXN0LWNvbnRyb2xsZXIvYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUVBa0IyQztBQUMzQyxvREFBd0U7QUFZeEUsTUFBcUIsU0FBUztJQUsxQixZQUFvQixNQUFlLEVBQUUsY0FBOEIsRUFBRSxRQUF3QjtRQUN6RixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFXLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFTLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRU0sSUFBSTtRQUNQLE1BQU0sSUFBSSwwQ0FBK0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGlCQUFpQixDQUFFLE9BQWdDLEVBQUUsYUFBNEI7UUFDckYsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUVwQyw2RUFBNkU7UUFDN0UsaUVBQWlFO1FBQ2pFLDRHQUE0RztRQUM1RyxrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUEyQixDQUFDO1lBQ3BELE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztTQUNwQjtRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ2pELGFBQWEsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUNqQyxNQUFNLEVBQVMsSUFBSSxDQUFDLE9BQU87WUFDM0IsUUFBUSxFQUFPLGFBQWEsQ0FBQyxRQUFRO1lBQ3JDLFNBQVMsRUFBTSxhQUFhLENBQUMsU0FBUztZQUN0QyxPQUFPLEVBQVEsT0FBTztZQUN0QixPQUFPLEVBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUMscUJBQXFCLEVBQUU7U0FDcEcsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLENBQUMsK0JBQW1CLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDL0YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0JBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVNLENBQUMsa0NBQXNCLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDbEcsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0NBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLENBQUMsOEJBQWtCLENBQUMsVUFBVSxDQUFDLENBQUUsT0FBZSxFQUFFLElBQXNCO1FBQzNFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLDhCQUFrQixFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLENBQUMsaUNBQXFCLENBQUMsVUFBVSxDQUFDLENBQUUsT0FBZSxFQUFFLElBQXNCO1FBQzlFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlDQUFxQixFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLENBQUMsb0NBQXdCLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDcEcsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0NBQXdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVNLENBQUMsdUNBQTJCLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDdkcsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUNBQTJCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLENBQUMsa0NBQXNCLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDbEcsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0NBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLENBQUMscUNBQXlCLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDckcsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUNBQXlCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVNLENBQUMsOEJBQWtCLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDOUYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsOEJBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLENBQUMsK0JBQW1CLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDL0YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0JBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVNLENBQUMsOEJBQWtCLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDOUYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsOEJBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLENBQUMsK0JBQW1CLENBQUMsVUFBVSxDQUFDLENBQUUsUUFBaUIsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDL0YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0JBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVNLENBQUMsa0NBQXNCLENBQUMsVUFBVSxDQUFDLENBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxPQUFlLEVBQUUsSUFBc0I7UUFDOUcsOERBQThEO1FBQzlELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtDQUFzQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFTSxDQUFDLHFDQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsT0FBZSxFQUFFLElBQXNCO1FBQ2pILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFDQUF5QixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFTSxDQUFDLGlDQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFFLFFBQWlCLEVBQUUsT0FBZSxFQUFFLElBQXNCO1FBQ2pHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlDQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTSxDQUFDLG9DQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFFLFFBQWlCLEVBQUUsT0FBZSxFQUFFLElBQXNCO1FBQ3BHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9DQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Q0FDSjtBQXRHRCw0QkFzR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFzc2VydGlvbkNvbW1hbmQsXG4gICAgQ29udGFpbnNBc3NlcnRpb25Db21tYW5kLFxuICAgIEVxbEFzc2VydGlvbkNvbW1hbmQsXG4gICAgR3RBc3NlcnRpb25Db21tYW5kLFxuICAgIEd0ZUFzc2VydGlvbkNvbW1hbmQsXG4gICAgTHRBc3NlcnRpb25Db21tYW5kLFxuICAgIEx0ZUFzc2VydGlvbkNvbW1hbmQsXG4gICAgTWF0Y2hBc3NlcnRpb25Db21tYW5kLFxuICAgIE5vdENvbnRhaW5zQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBOb3RFcWxBc3NlcnRpb25Db21tYW5kLFxuICAgIE5vdE1hdGNoQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBOb3RPa0Fzc2VydGlvbkNvbW1hbmQsXG4gICAgTm90VHlwZU9mQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBOb3RXaXRoaW5Bc3NlcnRpb25Db21tYW5kLFxuICAgIE9rQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBUeXBlT2ZBc3NlcnRpb25Db21tYW5kLFxuICAgIFdpdGhpbkFzc2VydGlvbkNvbW1hbmQsXG59IGZyb20gJy4uLy4uL3Rlc3QtcnVuL2NvbW1hbmRzL2Fzc2VydGlvbic7XG5pbXBvcnQgeyBBc3NlcnRpb25XaXRob3V0TWV0aG9kQ2FsbEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3Rlc3QtcnVuJztcbmltcG9ydCBUZXN0Q29udHJvbGxlciBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IENhbGxzaXRlUmVjb3JkIH0gZnJvbSAnY2FsbHNpdGUtcmVjb3JkJztcbmltcG9ydCB7IEFzc2VydGlvbk9wdGlvbnMgfSBmcm9tICcuLi8uLi90ZXN0LXJ1bi9jb21tYW5kcy9vcHRpb25zJztcblxuaW50ZXJmYWNlIEFzc2VydGlvbkFyZ3Mge1xuICAgIG9wdHM6IEFzc2VydGlvbk9wdGlvbnM7XG4gICAgbWVzc2FnZT86IHN0cmluZyB8IEFzc2VydGlvbk9wdGlvbnM7XG4gICAgZXhwZWN0ZWQ/OiB1bmtub3duO1xuICAgIGV4cGVjdGVkMj86IHVua25vd247XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFzc2VydGlvbiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGVzdENvbnRyb2xsZXI6IFRlc3RDb250cm9sbGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FjdHVhbDogdW5rbm93bjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYWxsc2l0ZTogQ2FsbHNpdGVSZWNvcmQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKGFjdHVhbDogdW5rbm93biwgdGVzdENvbnRyb2xsZXI6IFRlc3RDb250cm9sbGVyLCBjYWxsc2l0ZTogQ2FsbHNpdGVSZWNvcmQpIHtcbiAgICAgICAgdGhpcy5fdGVzdENvbnRyb2xsZXIgPSB0ZXN0Q29udHJvbGxlcjtcbiAgICAgICAgdGhpcy5fYWN0dWFsICAgICAgICAgPSBhY3R1YWw7XG4gICAgICAgIHRoaXMuX2NhbGxzaXRlICAgICAgID0gY2FsbHNpdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHRoZW4gKCk6IG5ldmVyIHtcbiAgICAgICAgdGhyb3cgbmV3IEFzc2VydGlvbldpdGhvdXRNZXRob2RDYWxsRXJyb3IodGhpcy5fY2FsbHNpdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2VucXVldWVBc3NlcnRpb24gKGNvbW1hbmQ6IHR5cGVvZiBBc3NlcnRpb25Db21tYW5kLCBhc3NlcnRpb25BcmdzOiBBc3NlcnRpb25BcmdzKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIGxldCBvcHRpb25zID0gYXNzZXJ0aW9uQXJncy5vcHRzIHx8IHt9O1xuICAgICAgICBsZXQgbWVzc2FnZSA9IGFzc2VydGlvbkFyZ3MubWVzc2FnZTtcblxuICAgICAgICAvLyBOT1RFOiBBc3NlcnRpb24gb3B0aW9ucyBzaG91bGQgYmUgc3BlY2lmaWVkIGFmdGVyIHRoZSAnbWVzc2FnZScgcGFyYW1ldGVyLlxuICAgICAgICAvLyBhd2FpdCB0LmV4cGVjdCg0MikuZXFsKDQzLCAnd3JvbmcgdmFsdWUnLCB7IHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgICAgICAvLyBJbiBjYXNlIG9mIGVtcHR5IGFzc2VydGlvbiBtZXNzYWdlIHdlIGFsbG93aW5nIHRvIHNwZWNpZnkgYXNzZXJ0aW9uIG9wdGlvbiBpbiBwbGFjZSBvZiBhc3NlcnRpb24gbWVzc2FnZS5cbiAgICAgICAgLy8gYXdhaXQgdC5leHBlY3QoNDIpLmVxbCg0MywgeyB0aW1lb3V0OiAxMDAwMCB9KTtcbiAgICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgb3B0aW9ucyA9IGFzc2VydGlvbkFyZ3MubWVzc2FnZSBhcyBBc3NlcnRpb25PcHRpb25zO1xuICAgICAgICAgICAgbWVzc2FnZSA9IHZvaWQgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl90ZXN0Q29udHJvbGxlci5fZW5xdWV1ZUNvbW1hbmQoY29tbWFuZCwge1xuICAgICAgICAgICAgYXNzZXJ0aW9uVHlwZTogY29tbWFuZC5tZXRob2ROYW1lLFxuICAgICAgICAgICAgYWN0dWFsOiAgICAgICAgdGhpcy5fYWN0dWFsLFxuICAgICAgICAgICAgZXhwZWN0ZWQ6ICAgICAgYXNzZXJ0aW9uQXJncy5leHBlY3RlZCxcbiAgICAgICAgICAgIGV4cGVjdGVkMjogICAgIGFzc2VydGlvbkFyZ3MuZXhwZWN0ZWQyLFxuICAgICAgICAgICAgbWVzc2FnZTogICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIG9wdGlvbnM6ICAgICAgIHsgdGltZW91dDogb3B0aW9ucy50aW1lb3V0LCBhbGxvd1VuYXdhaXRlZFByb21pc2U6IG9wdGlvbnMuYWxsb3dVbmF3YWl0ZWRQcm9taXNlIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbRXFsQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihFcWxBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTm90RXFsQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihOb3RFcWxBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbT2tBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oT2tBc3NlcnRpb25Db21tYW5kLCB7IG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtOb3RPa0Fzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihOb3RPa0Fzc2VydGlvbkNvbW1hbmQsIHsgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW0NvbnRhaW5zQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihDb250YWluc0Fzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtOb3RDb250YWluc0Fzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTm90Q29udGFpbnNBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbVHlwZU9mQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihUeXBlT2ZBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTm90VHlwZU9mQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihOb3RUeXBlT2ZBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbR3RBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEd0QXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW0d0ZUFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oR3RlQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW0x0QXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihMdEFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtMdGVBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEx0ZUFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtXaXRoaW5Bc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChzdGFydDogbnVtYmVyLCBmaW5pc2g6IG51bWJlciwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIC8vIE5PVEU6IGB3aXRoaW5gIGlzIG5vdCBhdmFpbGFibGUgaW4gQ2hhaSBgYXNzZXJ0YCBpbnRlcmZhY2UuXG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKFdpdGhpbkFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQ6IHN0YXJ0LCBleHBlY3RlZDI6IGZpbmlzaCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW05vdFdpdGhpbkFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKHN0YXJ0OiBudW1iZXIsIGZpbmlzaDogbnVtYmVyLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTm90V2l0aGluQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZDogc3RhcnQsIGV4cGVjdGVkMjogZmluaXNoLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTWF0Y2hBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKE1hdGNoQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW05vdE1hdGNoQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihOb3RNYXRjaEFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxufVxuIl19
|