@appium/base-driver 8.5.7 → 8.7.0
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/build/lib/basedriver/capabilities.js +2 -2
- package/build/lib/basedriver/commands/execute.d.ts +11 -0
- package/build/lib/basedriver/commands/execute.d.ts.map +1 -0
- package/build/lib/basedriver/commands/execute.js +62 -0
- package/build/lib/basedriver/commands/index.d.ts +1 -1
- package/build/lib/basedriver/commands/index.d.ts.map +1 -1
- package/build/lib/basedriver/commands/index.js +5 -2
- package/build/lib/basedriver/commands/log.js +2 -4
- package/build/lib/basedriver/core.d.ts +11 -0
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +6 -1
- package/build/lib/basedriver/helpers.js +2 -2
- package/build/lib/express/server.d.ts +70 -7
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +19 -16
- package/build/lib/express/websocket.d.ts +12 -30
- package/build/lib/express/websocket.d.ts.map +1 -1
- package/build/lib/express/websocket.js +6 -4
- package/build/lib/index.d.ts +12 -180
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +107 -80
- package/build/lib/jsonwp-proxy/protocol-converter.js +2 -4
- package/build/lib/jsonwp-proxy/proxy.js +3 -7
- package/build/lib/protocol/index.d.ts +3 -1
- package/build/lib/protocol/index.js +13 -1
- package/build/lib/protocol/protocol.d.ts +8 -4
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +7 -7
- package/build/lib/protocol/routes.js +2 -6
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/basedriver/commands/execute.js +65 -0
- package/lib/basedriver/commands/index.js +3 -1
- package/lib/basedriver/core.js +15 -0
- package/lib/express/server.js +126 -36
- package/lib/express/websocket.js +13 -11
- package/lib/index.js +19 -61
- package/lib/protocol/index.js +4 -0
- package/lib/protocol/protocol.js +10 -3
- package/package.json +17 -15
- package/build/test/basedriver/README.md +0 -5
- package/build/test/basedriver/driver-e2e-tests.js +0 -413
- package/build/test/basedriver/driver-tests.js +0 -572
- package/build/test/basedriver/index.js +0 -26
- package/build/test/e2e/basedriver/driver.e2e.spec.js +0 -15
- package/build/test/e2e/basedriver/helpers.e2e.spec.js +0 -192
- package/build/test/e2e/basedriver/websockets.e2e.spec.js +0 -87
- package/build/test/e2e/express/server.e2e.spec.js +0 -159
- package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +0 -59
- package/build/test/e2e/protocol/fake-driver.js +0 -163
- package/build/test/e2e/protocol/helpers.js +0 -25
- package/build/test/e2e/protocol/protocol.e2e.spec.js +0 -1186
- package/build/test/helpers.js +0 -55
- package/build/test/unit/basedriver/capabilities.spec.js +0 -672
- package/build/test/unit/basedriver/capability.spec.js +0 -353
- package/build/test/unit/basedriver/commands/event.spec.js +0 -110
- package/build/test/unit/basedriver/commands/log.spec.js +0 -92
- package/build/test/unit/basedriver/device-settings.spec.js +0 -97
- package/build/test/unit/basedriver/driver.spec.js +0 -15
- package/build/test/unit/basedriver/helpers.spec.js +0 -151
- package/build/test/unit/basedriver/timeout.spec.js +0 -135
- package/build/test/unit/express/server.spec.js +0 -155
- package/build/test/unit/express/static.spec.js +0 -26
- package/build/test/unit/jsonwp-proxy/mock-request.js +0 -91
- package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +0 -171
- package/build/test/unit/jsonwp-proxy/proxy.spec.js +0 -292
- package/build/test/unit/jsonwp-proxy/url.spec.js +0 -165
- package/build/test/unit/jsonwp-status/status.spec.js +0 -34
- package/build/test/unit/protocol/errors.spec.js +0 -390
- package/build/test/unit/protocol/routes.spec.js +0 -80
- package/build/test/unit/protocol/validator.spec.js +0 -149
- package/test/basedriver/README.md +0 -5
- package/test/basedriver/driver-e2e-tests.js +0 -386
- package/test/basedriver/driver-tests.js +0 -624
- package/test/basedriver/index.js +0 -6
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _support = require("@appium/support");
|
|
8
|
-
|
|
9
|
-
var _sinon = _interopRequireDefault(require("sinon"));
|
|
10
|
-
|
|
11
|
-
var _deviceSettings = require("../../../lib/basedriver/device-settings");
|
|
12
|
-
|
|
13
|
-
var _errors = require("../../../lib/protocol/errors");
|
|
14
|
-
|
|
15
|
-
const {
|
|
16
|
-
expect
|
|
17
|
-
} = chai;
|
|
18
|
-
describe('DeviceSettings', function () {
|
|
19
|
-
let sandbox;
|
|
20
|
-
beforeEach(function () {
|
|
21
|
-
sandbox = _sinon.default.createSandbox();
|
|
22
|
-
});
|
|
23
|
-
afterEach(function () {
|
|
24
|
-
sandbox.restore();
|
|
25
|
-
});
|
|
26
|
-
describe('constructor', function () {
|
|
27
|
-
describe('when no parameteres are provided to the constructor', function () {
|
|
28
|
-
it('should not throw', function () {
|
|
29
|
-
expect(() => new _deviceSettings.DeviceSettings()).not.to.throw();
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
describe('instance method', function () {
|
|
34
|
-
describe('getSettings()', function () {
|
|
35
|
-
it('should return a clone of the internal settings object', function () {
|
|
36
|
-
const settings = {
|
|
37
|
-
foo: 'bar',
|
|
38
|
-
bar: 'foo'
|
|
39
|
-
};
|
|
40
|
-
const deviceSettings = new _deviceSettings.DeviceSettings(settings);
|
|
41
|
-
expect(deviceSettings.getSettings()).to.eql(settings);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
describe('update()', function () {
|
|
45
|
-
describe('when no parameters are provided', function () {
|
|
46
|
-
it('should reject with an InvalidArgumentError', async function () {
|
|
47
|
-
const deviceSettings = new _deviceSettings.DeviceSettings();
|
|
48
|
-
await expect(deviceSettings.update()).to.be.rejectedWith(_errors.InvalidArgumentError, /with valid JSON/i);
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe('when a non-plain-object `newSettings` param is provided', function () {
|
|
52
|
-
it('should reject with an InvalidArgumentError', async function () {
|
|
53
|
-
const deviceSettings = new _deviceSettings.DeviceSettings();
|
|
54
|
-
await expect(deviceSettings.update(null)).to.be.rejectedWith(_errors.InvalidArgumentError, /with valid JSON/i);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
describe('when the size of the `newSettings` param exceeds `MAX_SETTINGS_SIZE`', function () {
|
|
58
|
-
beforeEach(function () {
|
|
59
|
-
sandbox.stub(_support.node, 'getObjectSize').returns(_deviceSettings.MAX_SETTINGS_SIZE + 1);
|
|
60
|
-
});
|
|
61
|
-
it('should reject with an InvalidArgumentError', async function () {
|
|
62
|
-
const deviceSettings = new _deviceSettings.DeviceSettings();
|
|
63
|
-
await expect(deviceSettings.update({
|
|
64
|
-
stuff: 'things'
|
|
65
|
-
})).to.be.rejectedWith(_errors.InvalidArgumentError, /object size exceeds/i);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
describe('when the `newSettings` param is valid', function () {
|
|
69
|
-
let onSettingsUpdate;
|
|
70
|
-
beforeEach(function () {
|
|
71
|
-
onSettingsUpdate = sandbox.stub();
|
|
72
|
-
});
|
|
73
|
-
describe('when the new settings do not differ', function () {
|
|
74
|
-
it('should not call the `_onSettingsUpdate` listener', async function () {
|
|
75
|
-
const deviceSettings = new _deviceSettings.DeviceSettings({
|
|
76
|
-
stuff: 'things'
|
|
77
|
-
}, onSettingsUpdate);
|
|
78
|
-
await deviceSettings.update({
|
|
79
|
-
stuff: 'things'
|
|
80
|
-
});
|
|
81
|
-
expect(onSettingsUpdate).not.to.have.been.called;
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
describe('when the new settings differ', function () {
|
|
85
|
-
it('should call the `_onSettingsUpdate` listener', async function () {
|
|
86
|
-
const deviceSettings = new _deviceSettings.DeviceSettings({}, onSettingsUpdate);
|
|
87
|
-
await deviceSettings.update({
|
|
88
|
-
stuff: 'things'
|
|
89
|
-
});
|
|
90
|
-
expect(onSettingsUpdate).to.have.been.calledOnceWithExactly('stuff', 'things', undefined);
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHBlY3QiLCJjaGFpIiwiZGVzY3JpYmUiLCJzYW5kYm94IiwiYmVmb3JlRWFjaCIsInNpbm9uIiwiY3JlYXRlU2FuZGJveCIsImFmdGVyRWFjaCIsInJlc3RvcmUiLCJpdCIsIkRldmljZVNldHRpbmdzIiwibm90IiwidG8iLCJ0aHJvdyIsInNldHRpbmdzIiwiZm9vIiwiYmFyIiwiZGV2aWNlU2V0dGluZ3MiLCJnZXRTZXR0aW5ncyIsImVxbCIsInVwZGF0ZSIsImJlIiwicmVqZWN0ZWRXaXRoIiwiSW52YWxpZEFyZ3VtZW50RXJyb3IiLCJzdHViIiwibm9kZSIsInJldHVybnMiLCJNQVhfU0VUVElOR1NfU0laRSIsInN0dWZmIiwib25TZXR0aW5nc1VwZGF0ZSIsImhhdmUiLCJiZWVuIiwiY2FsbGVkIiwiY2FsbGVkT25jZVdpdGhFeGFjdGx5IiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2Jhc2Vkcml2ZXIvZGV2aWNlLXNldHRpbmdzLnNwZWMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtub2RlfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7RGV2aWNlU2V0dGluZ3MsIE1BWF9TRVRUSU5HU19TSVpFfSBmcm9tICcuLi8uLi8uLi9saWIvYmFzZWRyaXZlci9kZXZpY2Utc2V0dGluZ3MnO1xuaW1wb3J0IHtJbnZhbGlkQXJndW1lbnRFcnJvcn0gZnJvbSAnLi4vLi4vLi4vbGliL3Byb3RvY29sL2Vycm9ycyc7XG5cbmNvbnN0IHtleHBlY3R9ID0gY2hhaTtcblxuZGVzY3JpYmUoJ0RldmljZVNldHRpbmdzJywgZnVuY3Rpb24gKCkge1xuICBsZXQgc2FuZGJveDtcblxuICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICBzYW5kYm94ID0gc2lub24uY3JlYXRlU2FuZGJveCgpO1xuICB9KTtcblxuICBhZnRlckVhY2goZnVuY3Rpb24gKCkge1xuICAgIHNhbmRib3gucmVzdG9yZSgpO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29uc3RydWN0b3InLCBmdW5jdGlvbiAoKSB7XG4gICAgZGVzY3JpYmUoJ3doZW4gbm8gcGFyYW1ldGVyZXMgYXJlIHByb3ZpZGVkIHRvIHRoZSBjb25zdHJ1Y3RvcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KCdzaG91bGQgbm90IHRocm93JywgZnVuY3Rpb24gKCkge1xuICAgICAgICBleHBlY3QoKCkgPT4gbmV3IERldmljZVNldHRpbmdzKCkpLm5vdC50by50aHJvdygpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpbnN0YW5jZSBtZXRob2QnLCBmdW5jdGlvbiAoKSB7XG4gICAgZGVzY3JpYmUoJ2dldFNldHRpbmdzKCknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIHJldHVybiBhIGNsb25lIG9mIHRoZSBpbnRlcm5hbCBzZXR0aW5ncyBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0ge1xuICAgICAgICAgIGZvbzogJ2JhcicsXG4gICAgICAgICAgYmFyOiAnZm9vJyxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGV2aWNlU2V0dGluZ3MgPSBuZXcgRGV2aWNlU2V0dGluZ3Moc2V0dGluZ3MpO1xuICAgICAgICBleHBlY3QoZGV2aWNlU2V0dGluZ3MuZ2V0U2V0dGluZ3MoKSkudG8uZXFsKHNldHRpbmdzKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3VwZGF0ZSgpJywgZnVuY3Rpb24gKCkge1xuICAgICAgZGVzY3JpYmUoJ3doZW4gbm8gcGFyYW1ldGVycyBhcmUgcHJvdmlkZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGl0KCdzaG91bGQgcmVqZWN0IHdpdGggYW4gSW52YWxpZEFyZ3VtZW50RXJyb3InLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc3QgZGV2aWNlU2V0dGluZ3MgPSBuZXcgRGV2aWNlU2V0dGluZ3MoKTtcbiAgICAgICAgICBhd2FpdCBleHBlY3QoZGV2aWNlU2V0dGluZ3MudXBkYXRlKCkpLnRvLmJlLnJlamVjdGVkV2l0aChcbiAgICAgICAgICAgIEludmFsaWRBcmd1bWVudEVycm9yLFxuICAgICAgICAgICAgL3dpdGggdmFsaWQgSlNPTi9pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgZGVzY3JpYmUoJ3doZW4gYSBub24tcGxhaW4tb2JqZWN0IGBuZXdTZXR0aW5nc2AgcGFyYW0gaXMgcHJvdmlkZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGl0KCdzaG91bGQgcmVqZWN0IHdpdGggYW4gSW52YWxpZEFyZ3VtZW50RXJyb3InLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc3QgZGV2aWNlU2V0dGluZ3MgPSBuZXcgRGV2aWNlU2V0dGluZ3MoKTtcbiAgICAgICAgICBhd2FpdCBleHBlY3QoZGV2aWNlU2V0dGluZ3MudXBkYXRlKG51bGwpKS50by5iZS5yZWplY3RlZFdpdGgoXG4gICAgICAgICAgICBJbnZhbGlkQXJndW1lbnRFcnJvcixcbiAgICAgICAgICAgIC93aXRoIHZhbGlkIEpTT04vaVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGRlc2NyaWJlKCd3aGVuIHRoZSBzaXplIG9mIHRoZSBgbmV3U2V0dGluZ3NgIHBhcmFtIGV4Y2VlZHMgYE1BWF9TRVRUSU5HU19TSVpFYCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgLy8gdGhpcyBpcyBlYXNpZXIgdGhhbiBzZW5kaW5nIGEgMjFNQiBvYmplY3RcbiAgICAgICAgICBzYW5kYm94LnN0dWIobm9kZSwgJ2dldE9iamVjdFNpemUnKS5yZXR1cm5zKE1BWF9TRVRUSU5HU19TSVpFICsgMSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzaG91bGQgcmVqZWN0IHdpdGggYW4gSW52YWxpZEFyZ3VtZW50RXJyb3InLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc3QgZGV2aWNlU2V0dGluZ3MgPSBuZXcgRGV2aWNlU2V0dGluZ3MoKTtcbiAgICAgICAgICBhd2FpdCBleHBlY3QoZGV2aWNlU2V0dGluZ3MudXBkYXRlKHtzdHVmZjogJ3RoaW5ncyd9KSkudG8uYmUucmVqZWN0ZWRXaXRoKFxuICAgICAgICAgICAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gICAgICAgICAgICAvb2JqZWN0IHNpemUgZXhjZWVkcy9pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgZGVzY3JpYmUoJ3doZW4gdGhlIGBuZXdTZXR0aW5nc2AgcGFyYW0gaXMgdmFsaWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBvblNldHRpbmdzVXBkYXRlO1xuXG4gICAgICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgIG9uU2V0dGluZ3NVcGRhdGUgPSBzYW5kYm94LnN0dWIoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzY3JpYmUoJ3doZW4gdGhlIG5ldyBzZXR0aW5ncyBkbyBub3QgZGlmZmVyJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGl0KCdzaG91bGQgbm90IGNhbGwgdGhlIGBfb25TZXR0aW5nc1VwZGF0ZWAgbGlzdGVuZXInLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb25zdCBkZXZpY2VTZXR0aW5ncyA9IG5ldyBEZXZpY2VTZXR0aW5ncyh7c3R1ZmY6ICd0aGluZ3MnfSwgb25TZXR0aW5nc1VwZGF0ZSk7XG4gICAgICAgICAgICBhd2FpdCBkZXZpY2VTZXR0aW5ncy51cGRhdGUoe3N0dWZmOiAndGhpbmdzJ30pO1xuICAgICAgICAgICAgZXhwZWN0KG9uU2V0dGluZ3NVcGRhdGUpLm5vdC50by5oYXZlLmJlZW4uY2FsbGVkO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBkZXNjcmliZSgnd2hlbiB0aGUgbmV3IHNldHRpbmdzIGRpZmZlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpdCgnc2hvdWxkIGNhbGwgdGhlIGBfb25TZXR0aW5nc1VwZGF0ZWAgbGlzdGVuZXInLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb25zdCBkZXZpY2VTZXR0aW5ncyA9IG5ldyBEZXZpY2VTZXR0aW5ncyh7fSwgb25TZXR0aW5nc1VwZGF0ZSk7XG4gICAgICAgICAgICBhd2FpdCBkZXZpY2VTZXR0aW5ncy51cGRhdGUoe3N0dWZmOiAndGhpbmdzJ30pO1xuICAgICAgICAgICAgZXhwZWN0KG9uU2V0dGluZ3NVcGRhdGUpLnRvLmhhdmUuYmVlbi5jYWxsZWRPbmNlV2l0aEV4YWN0bHkoXG4gICAgICAgICAgICAgICdzdHVmZicsXG4gICAgICAgICAgICAgICd0aGluZ3MnLFxuICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU07RUFBQ0E7QUFBRCxJQUFXQyxJQUFqQjtBQUVBQyxRQUFRLENBQUMsZ0JBQUQsRUFBbUIsWUFBWTtFQUNyQyxJQUFJQyxPQUFKO0VBRUFDLFVBQVUsQ0FBQyxZQUFZO0lBQ3JCRCxPQUFPLEdBQUdFLGNBQUEsQ0FBTUMsYUFBTixFQUFWO0VBQ0QsQ0FGUyxDQUFWO0VBSUFDLFNBQVMsQ0FBQyxZQUFZO0lBQ3BCSixPQUFPLENBQUNLLE9BQVI7RUFDRCxDQUZRLENBQVQ7RUFJQU4sUUFBUSxDQUFDLGFBQUQsRUFBZ0IsWUFBWTtJQUNsQ0EsUUFBUSxDQUFDLHFEQUFELEVBQXdELFlBQVk7TUFDMUVPLEVBQUUsQ0FBQyxrQkFBRCxFQUFxQixZQUFZO1FBQ2pDVCxNQUFNLENBQUMsTUFBTSxJQUFJVSw4QkFBSixFQUFQLENBQU4sQ0FBbUNDLEdBQW5DLENBQXVDQyxFQUF2QyxDQUEwQ0MsS0FBMUM7TUFDRCxDQUZDLENBQUY7SUFHRCxDQUpPLENBQVI7RUFLRCxDQU5PLENBQVI7RUFRQVgsUUFBUSxDQUFDLGlCQUFELEVBQW9CLFlBQVk7SUFDdENBLFFBQVEsQ0FBQyxlQUFELEVBQWtCLFlBQVk7TUFDcENPLEVBQUUsQ0FBQyx1REFBRCxFQUEwRCxZQUFZO1FBQ3RFLE1BQU1LLFFBQVEsR0FBRztVQUNmQyxHQUFHLEVBQUUsS0FEVTtVQUVmQyxHQUFHLEVBQUU7UUFGVSxDQUFqQjtRQUlBLE1BQU1DLGNBQWMsR0FBRyxJQUFJUCw4QkFBSixDQUFtQkksUUFBbkIsQ0FBdkI7UUFDQWQsTUFBTSxDQUFDaUIsY0FBYyxDQUFDQyxXQUFmLEVBQUQsQ0FBTixDQUFxQ04sRUFBckMsQ0FBd0NPLEdBQXhDLENBQTRDTCxRQUE1QztNQUNELENBUEMsQ0FBRjtJQVFELENBVE8sQ0FBUjtJQVdBWixRQUFRLENBQUMsVUFBRCxFQUFhLFlBQVk7TUFDL0JBLFFBQVEsQ0FBQyxpQ0FBRCxFQUFvQyxZQUFZO1FBQ3RETyxFQUFFLENBQUMsNENBQUQsRUFBK0Msa0JBQWtCO1VBQ2pFLE1BQU1RLGNBQWMsR0FBRyxJQUFJUCw4QkFBSixFQUF2QjtVQUNBLE1BQU1WLE1BQU0sQ0FBQ2lCLGNBQWMsQ0FBQ0csTUFBZixFQUFELENBQU4sQ0FBZ0NSLEVBQWhDLENBQW1DUyxFQUFuQyxDQUFzQ0MsWUFBdEMsQ0FDSkMsNEJBREksRUFFSixrQkFGSSxDQUFOO1FBSUQsQ0FOQyxDQUFGO01BT0QsQ0FSTyxDQUFSO01BVUFyQixRQUFRLENBQUMseURBQUQsRUFBNEQsWUFBWTtRQUM5RU8sRUFBRSxDQUFDLDRDQUFELEVBQStDLGtCQUFrQjtVQUNqRSxNQUFNUSxjQUFjLEdBQUcsSUFBSVAsOEJBQUosRUFBdkI7VUFDQSxNQUFNVixNQUFNLENBQUNpQixjQUFjLENBQUNHLE1BQWYsQ0FBc0IsSUFBdEIsQ0FBRCxDQUFOLENBQW9DUixFQUFwQyxDQUF1Q1MsRUFBdkMsQ0FBMENDLFlBQTFDLENBQ0pDLDRCQURJLEVBRUosa0JBRkksQ0FBTjtRQUlELENBTkMsQ0FBRjtNQU9ELENBUk8sQ0FBUjtNQVVBckIsUUFBUSxDQUFDLHNFQUFELEVBQXlFLFlBQVk7UUFDM0ZFLFVBQVUsQ0FBQyxZQUFZO1VBRXJCRCxPQUFPLENBQUNxQixJQUFSLENBQWFDLGFBQWIsRUFBbUIsZUFBbkIsRUFBb0NDLE9BQXBDLENBQTRDQyxpQ0FBQSxHQUFvQixDQUFoRTtRQUNELENBSFMsQ0FBVjtRQUtBbEIsRUFBRSxDQUFDLDRDQUFELEVBQStDLGtCQUFrQjtVQUNqRSxNQUFNUSxjQUFjLEdBQUcsSUFBSVAsOEJBQUosRUFBdkI7VUFDQSxNQUFNVixNQUFNLENBQUNpQixjQUFjLENBQUNHLE1BQWYsQ0FBc0I7WUFBQ1EsS0FBSyxFQUFFO1VBQVIsQ0FBdEIsQ0FBRCxDQUFOLENBQWlEaEIsRUFBakQsQ0FBb0RTLEVBQXBELENBQXVEQyxZQUF2RCxDQUNKQyw0QkFESSxFQUVKLHNCQUZJLENBQU47UUFJRCxDQU5DLENBQUY7TUFPRCxDQWJPLENBQVI7TUFlQXJCLFFBQVEsQ0FBQyx1Q0FBRCxFQUEwQyxZQUFZO1FBQzVELElBQUkyQixnQkFBSjtRQUVBekIsVUFBVSxDQUFDLFlBQVk7VUFDckJ5QixnQkFBZ0IsR0FBRzFCLE9BQU8sQ0FBQ3FCLElBQVIsRUFBbkI7UUFDRCxDQUZTLENBQVY7UUFJQXRCLFFBQVEsQ0FBQyxxQ0FBRCxFQUF3QyxZQUFZO1VBQzFETyxFQUFFLENBQUMsa0RBQUQsRUFBcUQsa0JBQWtCO1lBQ3ZFLE1BQU1RLGNBQWMsR0FBRyxJQUFJUCw4QkFBSixDQUFtQjtjQUFDa0IsS0FBSyxFQUFFO1lBQVIsQ0FBbkIsRUFBc0NDLGdCQUF0QyxDQUF2QjtZQUNBLE1BQU1aLGNBQWMsQ0FBQ0csTUFBZixDQUFzQjtjQUFDUSxLQUFLLEVBQUU7WUFBUixDQUF0QixDQUFOO1lBQ0E1QixNQUFNLENBQUM2QixnQkFBRCxDQUFOLENBQXlCbEIsR0FBekIsQ0FBNkJDLEVBQTdCLENBQWdDa0IsSUFBaEMsQ0FBcUNDLElBQXJDLENBQTBDQyxNQUExQztVQUNELENBSkMsQ0FBRjtRQUtELENBTk8sQ0FBUjtRQVFBOUIsUUFBUSxDQUFDLDhCQUFELEVBQWlDLFlBQVk7VUFDbkRPLEVBQUUsQ0FBQyw4Q0FBRCxFQUFpRCxrQkFBa0I7WUFDbkUsTUFBTVEsY0FBYyxHQUFHLElBQUlQLDhCQUFKLENBQW1CLEVBQW5CLEVBQXVCbUIsZ0JBQXZCLENBQXZCO1lBQ0EsTUFBTVosY0FBYyxDQUFDRyxNQUFmLENBQXNCO2NBQUNRLEtBQUssRUFBRTtZQUFSLENBQXRCLENBQU47WUFDQTVCLE1BQU0sQ0FBQzZCLGdCQUFELENBQU4sQ0FBeUJqQixFQUF6QixDQUE0QmtCLElBQTVCLENBQWlDQyxJQUFqQyxDQUFzQ0UscUJBQXRDLENBQ0UsT0FERixFQUVFLFFBRkYsRUFHRUMsU0FIRjtVQUtELENBUkMsQ0FBRjtRQVNELENBVk8sQ0FBUjtNQVdELENBMUJPLENBQVI7SUEyQkQsQ0EvRE8sQ0FBUjtFQWdFRCxDQTVFTyxDQUFSO0FBNkVELENBaEdPLENBQVIifQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _lib = _interopRequireDefault(require("../../../lib"));
|
|
8
|
-
|
|
9
|
-
var _basedriver = require("../../basedriver");
|
|
10
|
-
|
|
11
|
-
(0, _basedriver.baseDriverUnitTests)(_lib.default, {
|
|
12
|
-
platformName: 'iOS',
|
|
13
|
-
'appium:deviceName': 'Delorean'
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJiYXNlRHJpdmVyVW5pdFRlc3RzIiwiQmFzZURyaXZlciIsInBsYXRmb3JtTmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iYXNlZHJpdmVyL2RyaXZlci5zcGVjLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHRyYW5zcGlsZTptb2NoYVxuXG5pbXBvcnQgQmFzZURyaXZlciBmcm9tICcuLi8uLi8uLi9saWInO1xuaW1wb3J0IHtiYXNlRHJpdmVyVW5pdFRlc3RzfSBmcm9tICcuLi8uLi9iYXNlZHJpdmVyJztcblxuYmFzZURyaXZlclVuaXRUZXN0cyhCYXNlRHJpdmVyLCB7XG4gIHBsYXRmb3JtTmFtZTogJ2lPUycsXG4gICdhcHBpdW06ZGV2aWNlTmFtZSc6ICdEZWxvcmVhbicsXG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUE7O0FBQ0E7O0FBRUEsSUFBQUEsK0JBQUEsRUFBb0JDLFlBQXBCLEVBQWdDO0VBQzlCQyxZQUFZLEVBQUUsS0FEZ0I7RUFFOUIscUJBQXFCO0FBRlMsQ0FBaEMifQ==
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _support = require("@appium/support");
|
|
8
|
-
|
|
9
|
-
var _helpers = require("../../../lib/basedriver/helpers");
|
|
10
|
-
|
|
11
|
-
var _sinon = _interopRequireDefault(require("sinon"));
|
|
12
|
-
|
|
13
|
-
describe('helpers', function () {
|
|
14
|
-
describe('#isPackageOrBundle', function () {
|
|
15
|
-
it('should accept packages and bundles', function () {
|
|
16
|
-
(0, _helpers.isPackageOrBundle)('io.appium.testapp').should.be.true;
|
|
17
|
-
});
|
|
18
|
-
it('should not accept non-packages or non-bundles', function () {
|
|
19
|
-
(0, _helpers.isPackageOrBundle)('foo').should.be.false;
|
|
20
|
-
(0, _helpers.isPackageOrBundle)('/path/to/an.app').should.be.false;
|
|
21
|
-
(0, _helpers.isPackageOrBundle)('/path/to/an.apk').should.be.false;
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
describe('#duplicateKeys', function () {
|
|
25
|
-
it('should translate key in an object', function () {
|
|
26
|
-
(0, _helpers.duplicateKeys)({
|
|
27
|
-
foo: 'hello world'
|
|
28
|
-
}, 'foo', 'bar').should.eql({
|
|
29
|
-
foo: 'hello world',
|
|
30
|
-
bar: 'hello world'
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
it('should translate key in an object within an object', function () {
|
|
34
|
-
(0, _helpers.duplicateKeys)({
|
|
35
|
-
key: {
|
|
36
|
-
foo: 'hello world'
|
|
37
|
-
}
|
|
38
|
-
}, 'foo', 'bar').should.eql({
|
|
39
|
-
key: {
|
|
40
|
-
foo: 'hello world',
|
|
41
|
-
bar: 'hello world'
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
it('should translate key in an object with an array', function () {
|
|
46
|
-
(0, _helpers.duplicateKeys)([{
|
|
47
|
-
key: {
|
|
48
|
-
foo: 'hello world'
|
|
49
|
-
}
|
|
50
|
-
}, {
|
|
51
|
-
foo: 'HELLO WORLD'
|
|
52
|
-
}], 'foo', 'bar').should.eql([{
|
|
53
|
-
key: {
|
|
54
|
-
foo: 'hello world',
|
|
55
|
-
bar: 'hello world'
|
|
56
|
-
}
|
|
57
|
-
}, {
|
|
58
|
-
foo: 'HELLO WORLD',
|
|
59
|
-
bar: 'HELLO WORLD'
|
|
60
|
-
}]);
|
|
61
|
-
});
|
|
62
|
-
it('should duplicate both keys', function () {
|
|
63
|
-
(0, _helpers.duplicateKeys)({
|
|
64
|
-
keyOne: {
|
|
65
|
-
foo: 'hello world'
|
|
66
|
-
},
|
|
67
|
-
keyTwo: {
|
|
68
|
-
bar: 'HELLO WORLD'
|
|
69
|
-
}
|
|
70
|
-
}, 'foo', 'bar').should.eql({
|
|
71
|
-
keyOne: {
|
|
72
|
-
foo: 'hello world',
|
|
73
|
-
bar: 'hello world'
|
|
74
|
-
},
|
|
75
|
-
keyTwo: {
|
|
76
|
-
bar: 'HELLO WORLD',
|
|
77
|
-
foo: 'HELLO WORLD'
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
it('should not do anything to primitives', function () {
|
|
82
|
-
[0, 1, -1, true, false, null, undefined, '', 'Hello World'].forEach(item => {
|
|
83
|
-
should.equal((0, _helpers.duplicateKeys)(item), item);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
it('should rename keys on big complex objects', function () {
|
|
87
|
-
const input = [{
|
|
88
|
-
foo: 'bar'
|
|
89
|
-
}, {
|
|
90
|
-
hello: {
|
|
91
|
-
world: {
|
|
92
|
-
foo: 'BAR'
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
foo: 'bahr'
|
|
96
|
-
}, 'foo', null, 0];
|
|
97
|
-
const expectedOutput = [{
|
|
98
|
-
foo: 'bar',
|
|
99
|
-
FOO: 'bar'
|
|
100
|
-
}, {
|
|
101
|
-
hello: {
|
|
102
|
-
world: {
|
|
103
|
-
foo: 'BAR',
|
|
104
|
-
FOO: 'BAR'
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
foo: 'bahr',
|
|
108
|
-
FOO: 'bahr'
|
|
109
|
-
}, 'foo', null, 0];
|
|
110
|
-
(0, _helpers.duplicateKeys)(input, 'foo', 'FOO').should.deep.equal(expectedOutput);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
describe('#configureApp', function () {
|
|
114
|
-
let sandbox;
|
|
115
|
-
beforeEach(function () {
|
|
116
|
-
sandbox = _sinon.default.createSandbox();
|
|
117
|
-
sandbox.stub(_support.zip, 'extractAllTo').resolves();
|
|
118
|
-
sandbox.stub(_support.zip, 'assertValidZip').resolves();
|
|
119
|
-
sandbox.stub(_support.fs, 'mv').resolves();
|
|
120
|
-
sandbox.stub(_support.fs, 'stat').resolves({
|
|
121
|
-
isFile: () => true,
|
|
122
|
-
isDirectory: () => false
|
|
123
|
-
});
|
|
124
|
-
sandbox.stub(_support.fs, 'exists').resolves(true);
|
|
125
|
-
sandbox.stub(_support.fs, 'hash').resolves('0xDEADBEEF');
|
|
126
|
-
sandbox.stub(_support.fs, 'glob').resolves(['/path/to/an.apk']);
|
|
127
|
-
sandbox.stub(_support.fs, 'rimraf').resolves();
|
|
128
|
-
sandbox.stub(_support.tempDir, 'openDir').resolves('/some/dir');
|
|
129
|
-
});
|
|
130
|
-
afterEach(function () {
|
|
131
|
-
sandbox.restore();
|
|
132
|
-
});
|
|
133
|
-
it('should pass "useSystemUnzip" flag through to @appium/support', async function () {
|
|
134
|
-
await (0, _helpers.configureApp)('/path/to/an.apk.zip', '.apk');
|
|
135
|
-
_support.zip.extractAllTo.getCall(0).lastArg.useSystemUnzip.should.be.true;
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
describe('parseCapsArray', function () {
|
|
140
|
-
it('should parse string into array', function () {
|
|
141
|
-
(0, _helpers.parseCapsArray)('/tmp/my/app.zip').should.eql(['/tmp/my/app.zip']);
|
|
142
|
-
});
|
|
143
|
-
it('should parse array as string into array', function () {
|
|
144
|
-
(0, _helpers.parseCapsArray)('["/tmp/my/app.zip"]').should.eql(['/tmp/my/app.zip']);
|
|
145
|
-
(0, _helpers.parseCapsArray)('["/tmp/my/app.zip","/tmp/my/app2.zip"]').should.eql(['/tmp/my/app.zip', '/tmp/my/app2.zip']);
|
|
146
|
-
});
|
|
147
|
-
it('should return an array without change', function () {
|
|
148
|
-
(0, _helpers.parseCapsArray)(['a', 'b']).should.eql(['a', 'b']);
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZXNjcmliZSIsIml0IiwiaXNQYWNrYWdlT3JCdW5kbGUiLCJzaG91bGQiLCJiZSIsInRydWUiLCJmYWxzZSIsImR1cGxpY2F0ZUtleXMiLCJmb28iLCJlcWwiLCJiYXIiLCJrZXkiLCJrZXlPbmUiLCJrZXlUd28iLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwiaXRlbSIsImVxdWFsIiwiaW5wdXQiLCJoZWxsbyIsIndvcmxkIiwiZXhwZWN0ZWRPdXRwdXQiLCJGT08iLCJkZWVwIiwic2FuZGJveCIsImJlZm9yZUVhY2giLCJzaW5vbiIsImNyZWF0ZVNhbmRib3giLCJzdHViIiwiemlwIiwicmVzb2x2ZXMiLCJmcyIsImlzRmlsZSIsImlzRGlyZWN0b3J5IiwidGVtcERpciIsImFmdGVyRWFjaCIsInJlc3RvcmUiLCJjb25maWd1cmVBcHAiLCJleHRyYWN0QWxsVG8iLCJnZXRDYWxsIiwibGFzdEFyZyIsInVzZVN5c3RlbVVuemlwIiwicGFyc2VDYXBzQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvYmFzZWRyaXZlci9oZWxwZXJzLnNwZWMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt6aXAsIGZzLCB0ZW1wRGlyfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHtcbiAgY29uZmlndXJlQXBwLFxuICBpc1BhY2thZ2VPckJ1bmRsZSxcbiAgZHVwbGljYXRlS2V5cyxcbiAgcGFyc2VDYXBzQXJyYXksXG59IGZyb20gJy4uLy4uLy4uL2xpYi9iYXNlZHJpdmVyL2hlbHBlcnMnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcblxuZGVzY3JpYmUoJ2hlbHBlcnMnLCBmdW5jdGlvbiAoKSB7XG4gIGRlc2NyaWJlKCcjaXNQYWNrYWdlT3JCdW5kbGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBhY2NlcHQgcGFja2FnZXMgYW5kIGJ1bmRsZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpc1BhY2thZ2VPckJ1bmRsZSgnaW8uYXBwaXVtLnRlc3RhcHAnKS5zaG91bGQuYmUudHJ1ZTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIG5vdCBhY2NlcHQgbm9uLXBhY2thZ2VzIG9yIG5vbi1idW5kbGVzJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXNQYWNrYWdlT3JCdW5kbGUoJ2ZvbycpLnNob3VsZC5iZS5mYWxzZTtcbiAgICAgIGlzUGFja2FnZU9yQnVuZGxlKCcvcGF0aC90by9hbi5hcHAnKS5zaG91bGQuYmUuZmFsc2U7XG4gICAgICBpc1BhY2thZ2VPckJ1bmRsZSgnL3BhdGgvdG8vYW4uYXBrJykuc2hvdWxkLmJlLmZhbHNlO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnI2R1cGxpY2F0ZUtleXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCB0cmFuc2xhdGUga2V5IGluIGFuIG9iamVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGR1cGxpY2F0ZUtleXMoe2ZvbzogJ2hlbGxvIHdvcmxkJ30sICdmb28nLCAnYmFyJykuc2hvdWxkLmVxbCh7XG4gICAgICAgIGZvbzogJ2hlbGxvIHdvcmxkJyxcbiAgICAgICAgYmFyOiAnaGVsbG8gd29ybGQnLFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCB0cmFuc2xhdGUga2V5IGluIGFuIG9iamVjdCB3aXRoaW4gYW4gb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgZHVwbGljYXRlS2V5cyh7a2V5OiB7Zm9vOiAnaGVsbG8gd29ybGQnfX0sICdmb28nLCAnYmFyJykuc2hvdWxkLmVxbCh7XG4gICAgICAgIGtleToge2ZvbzogJ2hlbGxvIHdvcmxkJywgYmFyOiAnaGVsbG8gd29ybGQnfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgdHJhbnNsYXRlIGtleSBpbiBhbiBvYmplY3Qgd2l0aCBhbiBhcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGR1cGxpY2F0ZUtleXMoW3trZXk6IHtmb286ICdoZWxsbyB3b3JsZCd9fSwge2ZvbzogJ0hFTExPIFdPUkxEJ31dLCAnZm9vJywgJ2JhcicpLnNob3VsZC5lcWwoW1xuICAgICAgICB7a2V5OiB7Zm9vOiAnaGVsbG8gd29ybGQnLCBiYXI6ICdoZWxsbyB3b3JsZCd9fSxcbiAgICAgICAge2ZvbzogJ0hFTExPIFdPUkxEJywgYmFyOiAnSEVMTE8gV09STEQnfSxcbiAgICAgIF0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZHVwbGljYXRlIGJvdGgga2V5cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGR1cGxpY2F0ZUtleXMoXG4gICAgICAgIHtcbiAgICAgICAgICBrZXlPbmU6IHtcbiAgICAgICAgICAgIGZvbzogJ2hlbGxvIHdvcmxkJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGtleVR3bzoge1xuICAgICAgICAgICAgYmFyOiAnSEVMTE8gV09STEQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdmb28nLFxuICAgICAgICAnYmFyJ1xuICAgICAgKS5zaG91bGQuZXFsKHtcbiAgICAgICAga2V5T25lOiB7XG4gICAgICAgICAgZm9vOiAnaGVsbG8gd29ybGQnLFxuICAgICAgICAgIGJhcjogJ2hlbGxvIHdvcmxkJyxcbiAgICAgICAgfSxcbiAgICAgICAga2V5VHdvOiB7XG4gICAgICAgICAgYmFyOiAnSEVMTE8gV09STEQnLFxuICAgICAgICAgIGZvbzogJ0hFTExPIFdPUkxEJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IGRvIGFueXRoaW5nIHRvIHByaW1pdGl2ZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBbMCwgMSwgLTEsIHRydWUsIGZhbHNlLCBudWxsLCB1bmRlZmluZWQsICcnLCAnSGVsbG8gV29ybGQnXS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIHNob3VsZC5lcXVhbChkdXBsaWNhdGVLZXlzKGl0ZW0pLCBpdGVtKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgcmVuYW1lIGtleXMgb24gYmlnIGNvbXBsZXggb2JqZWN0cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGlucHV0ID0gW1xuICAgICAgICB7Zm9vOiAnYmFyJ30sXG4gICAgICAgIHtcbiAgICAgICAgICBoZWxsbzoge1xuICAgICAgICAgICAgd29ybGQ6IHtcbiAgICAgICAgICAgICAgZm9vOiAnQkFSJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmb286ICdiYWhyJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ2ZvbycsXG4gICAgICAgIG51bGwsXG4gICAgICAgIDAsXG4gICAgICBdO1xuICAgICAgY29uc3QgZXhwZWN0ZWRPdXRwdXQgPSBbXG4gICAgICAgIHtmb286ICdiYXInLCBGT086ICdiYXInfSxcbiAgICAgICAge1xuICAgICAgICAgIGhlbGxvOiB7XG4gICAgICAgICAgICB3b3JsZDoge1xuICAgICAgICAgICAgICBmb286ICdCQVInLFxuICAgICAgICAgICAgICBGT086ICdCQVInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZvbzogJ2JhaHInLFxuICAgICAgICAgIEZPTzogJ2JhaHInLFxuICAgICAgICB9LFxuICAgICAgICAnZm9vJyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMCxcbiAgICAgIF07XG4gICAgICBkdXBsaWNhdGVLZXlzKGlucHV0LCAnZm9vJywgJ0ZPTycpLnNob3VsZC5kZWVwLmVxdWFsKGV4cGVjdGVkT3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJyNjb25maWd1cmVBcHAnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IHNhbmRib3g7XG5cbiAgICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHNhbmRib3ggPSBzaW5vbi5jcmVhdGVTYW5kYm94KCk7XG4gICAgICBzYW5kYm94LnN0dWIoemlwLCAnZXh0cmFjdEFsbFRvJykucmVzb2x2ZXMoKTtcbiAgICAgIHNhbmRib3guc3R1Yih6aXAsICdhc3NlcnRWYWxpZFppcCcpLnJlc29sdmVzKCk7XG4gICAgICBzYW5kYm94LnN0dWIoZnMsICdtdicpLnJlc29sdmVzKCk7XG4gICAgICBzYW5kYm94LnN0dWIoZnMsICdzdGF0JykucmVzb2x2ZXMoe1xuICAgICAgICBpc0ZpbGU6ICgpID0+IHRydWUsXG4gICAgICAgIGlzRGlyZWN0b3J5OiAoKSA9PiBmYWxzZSxcbiAgICAgIH0pO1xuICAgICAgc2FuZGJveC5zdHViKGZzLCAnZXhpc3RzJykucmVzb2x2ZXModHJ1ZSk7XG4gICAgICBzYW5kYm94LnN0dWIoZnMsICdoYXNoJykucmVzb2x2ZXMoJzB4REVBREJFRUYnKTtcbiAgICAgIHNhbmRib3guc3R1YihmcywgJ2dsb2InKS5yZXNvbHZlcyhbJy9wYXRoL3RvL2FuLmFwayddKTtcbiAgICAgIHNhbmRib3guc3R1YihmcywgJ3JpbXJhZicpLnJlc29sdmVzKCk7XG4gICAgICBzYW5kYm94LnN0dWIodGVtcERpciwgJ29wZW5EaXInKS5yZXNvbHZlcygnL3NvbWUvZGlyJyk7XG4gICAgfSk7XG5cbiAgICBhZnRlckVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgc2FuZGJveC5yZXN0b3JlKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhc3MgXCJ1c2VTeXN0ZW1VbnppcFwiIGZsYWcgdGhyb3VnaCB0byBAYXBwaXVtL3N1cHBvcnQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBjb25maWd1cmVBcHAoJy9wYXRoL3RvL2FuLmFway56aXAnLCAnLmFwaycpO1xuICAgICAgemlwLmV4dHJhY3RBbGxUby5nZXRDYWxsKDApLmxhc3RBcmcudXNlU3lzdGVtVW56aXAuc2hvdWxkLmJlLnRydWU7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdwYXJzZUNhcHNBcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCBwYXJzZSBzdHJpbmcgaW50byBhcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgICBwYXJzZUNhcHNBcnJheSgnL3RtcC9teS9hcHAuemlwJykuc2hvdWxkLmVxbChbJy90bXAvbXkvYXBwLnppcCddKTtcbiAgfSk7XG4gIGl0KCdzaG91bGQgcGFyc2UgYXJyYXkgYXMgc3RyaW5nIGludG8gYXJyYXknLCBmdW5jdGlvbiAoKSB7XG4gICAgcGFyc2VDYXBzQXJyYXkoJ1tcIi90bXAvbXkvYXBwLnppcFwiXScpLnNob3VsZC5lcWwoWycvdG1wL215L2FwcC56aXAnXSk7XG4gICAgcGFyc2VDYXBzQXJyYXkoJ1tcIi90bXAvbXkvYXBwLnppcFwiLFwiL3RtcC9teS9hcHAyLnppcFwiXScpLnNob3VsZC5lcWwoW1xuICAgICAgJy90bXAvbXkvYXBwLnppcCcsXG4gICAgICAnL3RtcC9teS9hcHAyLnppcCcsXG4gICAgXSk7XG4gIH0pO1xuICBpdCgnc2hvdWxkIHJldHVybiBhbiBhcnJheSB3aXRob3V0IGNoYW5nZScsIGZ1bmN0aW9uICgpIHtcbiAgICBwYXJzZUNhcHNBcnJheShbJ2EnLCAnYiddKS5zaG91bGQuZXFsKFsnYScsICdiJ10pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFNQTs7QUFFQUEsUUFBUSxDQUFDLFNBQUQsRUFBWSxZQUFZO0VBQzlCQSxRQUFRLENBQUMsb0JBQUQsRUFBdUIsWUFBWTtJQUN6Q0MsRUFBRSxDQUFDLG9DQUFELEVBQXVDLFlBQVk7TUFDbkQsSUFBQUMsMEJBQUEsRUFBa0IsbUJBQWxCLEVBQXVDQyxNQUF2QyxDQUE4Q0MsRUFBOUMsQ0FBaURDLElBQWpEO0lBQ0QsQ0FGQyxDQUFGO0lBR0FKLEVBQUUsQ0FBQywrQ0FBRCxFQUFrRCxZQUFZO01BQzlELElBQUFDLDBCQUFBLEVBQWtCLEtBQWxCLEVBQXlCQyxNQUF6QixDQUFnQ0MsRUFBaEMsQ0FBbUNFLEtBQW5DO01BQ0EsSUFBQUosMEJBQUEsRUFBa0IsaUJBQWxCLEVBQXFDQyxNQUFy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
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _lib = _interopRequireDefault(require("../../../lib"));
|
|
8
|
-
|
|
9
|
-
var _sinon = require("sinon");
|
|
10
|
-
|
|
11
|
-
describe('timeout', function () {
|
|
12
|
-
let driver = new _lib.default();
|
|
13
|
-
let implicitWaitSpy;
|
|
14
|
-
let sandbox;
|
|
15
|
-
beforeEach(function () {
|
|
16
|
-
sandbox = (0, _sinon.createSandbox)();
|
|
17
|
-
driver.implicitWaitMs = 0;
|
|
18
|
-
implicitWaitSpy = sandbox.spy(driver, 'setImplicitWait');
|
|
19
|
-
});
|
|
20
|
-
afterEach(function () {
|
|
21
|
-
sandbox.restore();
|
|
22
|
-
});
|
|
23
|
-
describe('timeouts', function () {
|
|
24
|
-
describe('errors', function () {
|
|
25
|
-
it('should throw an error if something random is sent', async function () {
|
|
26
|
-
await driver.timeouts('random timeout', 'howdy').should.eventually.be.rejected;
|
|
27
|
-
});
|
|
28
|
-
it('should throw an error if timeout is negative', async function () {
|
|
29
|
-
await driver.timeouts('random timeout', -42).should.eventually.be.rejected;
|
|
30
|
-
});
|
|
31
|
-
it('should throw an errors if timeout type is unknown', async function () {
|
|
32
|
-
await driver.timeouts('random timeout', 42).should.eventually.be.rejected;
|
|
33
|
-
});
|
|
34
|
-
it('should throw an error if something random is sent to scriptDuration', async function () {
|
|
35
|
-
await driver.timeouts(undefined, undefined, 123, undefined, undefined).should.eventually.be.rejected;
|
|
36
|
-
});
|
|
37
|
-
it('should throw an error if something random is sent to pageLoadDuration', async function () {
|
|
38
|
-
await driver.timeouts(undefined, undefined, undefined, 123, undefined).should.eventually.be.rejected;
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
describe('implicit wait', function () {
|
|
42
|
-
it('should call setImplicitWait when given an integer', async function () {
|
|
43
|
-
await driver.timeouts('implicit', 42);
|
|
44
|
-
implicitWaitSpy.calledOnce.should.be.true;
|
|
45
|
-
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
46
|
-
driver.implicitWaitMs.should.eql(42);
|
|
47
|
-
});
|
|
48
|
-
it('should call setImplicitWait when given a string', async function () {
|
|
49
|
-
await driver.timeouts('implicit', '42');
|
|
50
|
-
implicitWaitSpy.calledOnce.should.be.true;
|
|
51
|
-
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
52
|
-
driver.implicitWaitMs.should.eql(42);
|
|
53
|
-
});
|
|
54
|
-
it('should call setImplicitWait when given an integer to implicitDuration', async function () {
|
|
55
|
-
await driver.timeouts(undefined, undefined, undefined, undefined, 42);
|
|
56
|
-
implicitWaitSpy.calledOnce.should.be.true;
|
|
57
|
-
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
58
|
-
driver.implicitWaitMs.should.eql(42);
|
|
59
|
-
});
|
|
60
|
-
it('should call setImplicitWait when given a string to implicitDuration', async function () {
|
|
61
|
-
await driver.timeouts(undefined, undefined, undefined, undefined, '42');
|
|
62
|
-
implicitWaitSpy.calledOnce.should.be.true;
|
|
63
|
-
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
64
|
-
driver.implicitWaitMs.should.eql(42);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
describe('implicitWait', function () {
|
|
69
|
-
it('should call setImplicitWait when given an integer', async function () {
|
|
70
|
-
await driver.implicitWait(42);
|
|
71
|
-
implicitWaitSpy.calledOnce.should.be.true;
|
|
72
|
-
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
73
|
-
driver.implicitWaitMs.should.eql(42);
|
|
74
|
-
});
|
|
75
|
-
it('should call setImplicitWait when given a string', async function () {
|
|
76
|
-
await driver.implicitWait('42');
|
|
77
|
-
implicitWaitSpy.calledOnce.should.be.true;
|
|
78
|
-
implicitWaitSpy.firstCall.args[0].should.equal(42);
|
|
79
|
-
driver.implicitWaitMs.should.eql(42);
|
|
80
|
-
});
|
|
81
|
-
it('should throw an error if something random is sent', async function () {
|
|
82
|
-
await driver.implicitWait('howdy').should.eventually.be.rejected;
|
|
83
|
-
});
|
|
84
|
-
it('should throw an error if timeout is negative', async function () {
|
|
85
|
-
await driver.implicitWait(-42).should.eventually.be.rejected;
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
describe('set implicit wait', function () {
|
|
89
|
-
it('should set the implicit wait with an integer', function () {
|
|
90
|
-
driver.setImplicitWait(42);
|
|
91
|
-
driver.implicitWaitMs.should.eql(42);
|
|
92
|
-
});
|
|
93
|
-
describe('with managed driver', function () {
|
|
94
|
-
let managedDriver1 = new _lib.default();
|
|
95
|
-
let managedDriver2 = new _lib.default();
|
|
96
|
-
before(function () {
|
|
97
|
-
driver.addManagedDriver(managedDriver1);
|
|
98
|
-
driver.addManagedDriver(managedDriver2);
|
|
99
|
-
});
|
|
100
|
-
after(function () {
|
|
101
|
-
driver.managedDrivers = [];
|
|
102
|
-
});
|
|
103
|
-
it('should set the implicit wait on managed drivers', function () {
|
|
104
|
-
driver.setImplicitWait(42);
|
|
105
|
-
driver.implicitWaitMs.should.eql(42);
|
|
106
|
-
managedDriver1.implicitWaitMs.should.eql(42);
|
|
107
|
-
managedDriver2.implicitWaitMs.should.eql(42);
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
describe('set new command timeout', function () {
|
|
112
|
-
it('should set the new command timeout with an integer', function () {
|
|
113
|
-
driver.setNewCommandTimeout(42);
|
|
114
|
-
driver.newCommandTimeoutMs.should.eql(42);
|
|
115
|
-
});
|
|
116
|
-
describe('with managed driver', function () {
|
|
117
|
-
let managedDriver1 = new _lib.default();
|
|
118
|
-
let managedDriver2 = new _lib.default();
|
|
119
|
-
before(function () {
|
|
120
|
-
driver.addManagedDriver(managedDriver1);
|
|
121
|
-
driver.addManagedDriver(managedDriver2);
|
|
122
|
-
});
|
|
123
|
-
after(function () {
|
|
124
|
-
driver.managedDrivers = [];
|
|
125
|
-
});
|
|
126
|
-
it('should set the new command timeout on managed drivers', function () {
|
|
127
|
-
driver.setNewCommandTimeout(42);
|
|
128
|
-
driver.newCommandTimeoutMs.should.eql(42);
|
|
129
|
-
managedDriver1.newCommandTimeoutMs.should.eql(42);
|
|
130
|
-
managedDriver2.newCommandTimeoutMs.should.eql(42);
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZXNjcmliZSIsImRyaXZlciIsIkJhc2VEcml2ZXIiLCJpbXBsaWNpdFdhaXRTcHkiLCJzYW5kYm94IiwiYmVmb3JlRWFjaCIsImNyZWF0ZVNhbmRib3giLCJpbXBsaWNpdFdhaXRNcyIsInNweSIsImFmdGVyRWFjaCIsInJlc3RvcmUiLCJpdCIsInRpbWVvdXRzIiwic2hvdWxkIiwiZXZlbnR1YWxseSIsImJlIiwicmVqZWN0ZWQiLCJ1bmRlZmluZWQiLCJjYWxsZWRPbmNlIiwidHJ1ZSIsImZpcnN0Q2FsbCIsImFyZ3MiLCJlcXVhbCIsImVxbCIsImltcGxpY2l0V2FpdCIsInNldEltcGxpY2l0V2FpdCIsIm1hbmFnZWREcml2ZXIxIiwibWFuYWdlZERyaXZlcjIiLCJiZWZvcmUiLCJhZGRNYW5hZ2VkRHJpdmVyIiwiYWZ0ZXIiLCJtYW5hZ2VkRHJpdmVycyIsInNldE5ld0NvbW1hbmRUaW1lb3V0IiwibmV3Q29tbWFuZFRpbWVvdXRNcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iYXNlZHJpdmVyL3RpbWVvdXQuc3BlYy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhc2VEcml2ZXIgZnJvbSAnLi4vLi4vLi4vbGliJztcbmltcG9ydCB7Y3JlYXRlU2FuZGJveH0gZnJvbSAnc2lub24nO1xuXG5kZXNjcmliZSgndGltZW91dCcsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGRyaXZlciA9IG5ldyBCYXNlRHJpdmVyKCk7XG4gIGxldCBpbXBsaWNpdFdhaXRTcHk7XG4gIGxldCBzYW5kYm94O1xuICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICBzYW5kYm94ID0gY3JlYXRlU2FuZGJveCgpO1xuICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcyA9IDA7XG4gICAgaW1wbGljaXRXYWl0U3B5ID0gc2FuZGJveC5zcHkoZHJpdmVyLCAnc2V0SW1wbGljaXRXYWl0Jyk7XG4gIH0pO1xuICBhZnRlckVhY2goZnVuY3Rpb24gKCkge1xuICAgIHNhbmRib3gucmVzdG9yZSgpO1xuICB9KTtcbiAgLy8gZXhwZWN0ZWQgZXJyb3JzIGFyZSBmb3IgY2hlY2tzIGFnYWluc3QgcnVudGltZSB0eXBlIGZhaWx1cmVzLiB0aGUgdHlwZXMgd2UncmUgZ2l2aW5nIHRoZSBmdW5jdGlvbiBhcmUgbm90IGFsbG93ZWRcbiAgZGVzY3JpYmUoJ3RpbWVvdXRzJywgZnVuY3Rpb24gKCkge1xuICAgIGRlc2NyaWJlKCdlcnJvcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHNvbWV0aGluZyByYW5kb20gaXMgc2VudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKCdyYW5kb20gdGltZW91dCcsICdob3dkeScpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHRpbWVvdXQgaXMgbmVnYXRpdmUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cygncmFuZG9tIHRpbWVvdXQnLCAtNDIpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9ycyBpZiB0aW1lb3V0IHR5cGUgaXMgdW5rbm93bicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKCdyYW5kb20gdGltZW91dCcsIDQyKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZDtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiBzb21ldGhpbmcgcmFuZG9tIGlzIHNlbnQgdG8gc2NyaXB0RHVyYXRpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgMTIzLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkuc2hvdWxkLmV2ZW50dWFsbHkuYmVcbiAgICAgICAgICAucmVqZWN0ZWQ7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgc29tZXRoaW5nIHJhbmRvbSBpcyBzZW50IHRvIHBhZ2VMb2FkRHVyYXRpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGRyaXZlci50aW1lb3V0cyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAxMjMsIHVuZGVmaW5lZCkuc2hvdWxkLmV2ZW50dWFsbHkuYmVcbiAgICAgICAgICAucmVqZWN0ZWQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnaW1wbGljaXQgd2FpdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KCdzaG91bGQgY2FsbCBzZXRJbXBsaWNpdFdhaXQgd2hlbiBnaXZlbiBhbiBpbnRlZ2VyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHMoJ2ltcGxpY2l0JywgNDIpO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgICAgaW1wbGljaXRXYWl0U3B5LmZpcnN0Q2FsbC5hcmdzWzBdLnNob3VsZC5lcXVhbCg0Mik7XG4gICAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBjYWxsIHNldEltcGxpY2l0V2FpdCB3aGVuIGdpdmVuIGEgc3RyaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHMoJ2ltcGxpY2l0JywgJzQyJyk7XG4gICAgICAgIGltcGxpY2l0V2FpdFNweS5jYWxsZWRPbmNlLnNob3VsZC5iZS50cnVlO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuZmlyc3RDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGNhbGwgc2V0SW1wbGljaXRXYWl0IHdoZW4gZ2l2ZW4gYW4gaW50ZWdlciB0byBpbXBsaWNpdER1cmF0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkcml2ZXIudGltZW91dHModW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCA0Mik7XG4gICAgICAgIGltcGxpY2l0V2FpdFNweS5jYWxsZWRPbmNlLnNob3VsZC5iZS50cnVlO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuZmlyc3RDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGNhbGwgc2V0SW1wbGljaXRXYWl0IHdoZW4gZ2l2ZW4gYSBzdHJpbmcgdG8gaW1wbGljaXREdXJhdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZHJpdmVyLnRpbWVvdXRzKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgJzQyJyk7XG4gICAgICAgIGltcGxpY2l0V2FpdFNweS5jYWxsZWRPbmNlLnNob3VsZC5iZS50cnVlO1xuICAgICAgICBpbXBsaWNpdFdhaXRTcHkuZmlyc3RDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxdWFsKDQyKTtcbiAgICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnaW1wbGljaXRXYWl0JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgY2FsbCBzZXRJbXBsaWNpdFdhaXQgd2hlbiBnaXZlbiBhbiBpbnRlZ2VyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLmltcGxpY2l0V2FpdCg0Mik7XG4gICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgIGltcGxpY2l0V2FpdFNweS5maXJzdENhbGwuYXJnc1swXS5zaG91bGQuZXF1YWwoNDIpO1xuICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgY2FsbCBzZXRJbXBsaWNpdFdhaXQgd2hlbiBnaXZlbiBhIHN0cmluZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5pbXBsaWNpdFdhaXQoJzQyJyk7XG4gICAgICBpbXBsaWNpdFdhaXRTcHkuY2FsbGVkT25jZS5zaG91bGQuYmUudHJ1ZTtcbiAgICAgIGltcGxpY2l0V2FpdFNweS5maXJzdENhbGwuYXJnc1swXS5zaG91bGQuZXF1YWwoNDIpO1xuICAgICAgZHJpdmVyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgc29tZXRoaW5nIHJhbmRvbSBpcyBzZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLmltcGxpY2l0V2FpdCgnaG93ZHknKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZDtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGlmIHRpbWVvdXQgaXMgbmVnYXRpdmUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuaW1wbGljaXRXYWl0KC00Mikuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWQ7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZXQgaW1wbGljaXQgd2FpdCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHNldCB0aGUgaW1wbGljaXQgd2FpdCB3aXRoIGFuIGludGVnZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkcml2ZXIuc2V0SW1wbGljaXRXYWl0KDQyKTtcbiAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnd2l0aCBtYW5hZ2VkIGRyaXZlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBtYW5hZ2VkRHJpdmVyMSA9IG5ldyBCYXNlRHJpdmVyKCk7XG4gICAgICBsZXQgbWFuYWdlZERyaXZlcjIgPSBuZXcgQmFzZURyaXZlcigpO1xuICAgICAgYmVmb3JlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLmFkZE1hbmFnZWREcml2ZXIobWFuYWdlZERyaXZlcjEpO1xuICAgICAgICBkcml2ZXIuYWRkTWFuYWdlZERyaXZlcihtYW5hZ2VkRHJpdmVyMik7XG4gICAgICB9KTtcbiAgICAgIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLm1hbmFnZWREcml2ZXJzID0gW107XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgc2V0IHRoZSBpbXBsaWNpdCB3YWl0IG9uIG1hbmFnZWQgZHJpdmVycycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZHJpdmVyLnNldEltcGxpY2l0V2FpdCg0Mik7XG4gICAgICAgIGRyaXZlci5pbXBsaWNpdFdhaXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgICAgbWFuYWdlZERyaXZlcjEuaW1wbGljaXRXYWl0TXMuc2hvdWxkLmVxbCg0Mik7XG4gICAgICAgIG1hbmFnZWREcml2ZXIyLmltcGxpY2l0V2FpdE1zLnNob3VsZC5lcWwoNDIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnc2V0IG5ldyBjb21tYW5kIHRpbWVvdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBzZXQgdGhlIG5ldyBjb21tYW5kIHRpbWVvdXQgd2l0aCBhbiBpbnRlZ2VyJywgZnVuY3Rpb24gKCkge1xuICAgICAgZHJpdmVyLnNldE5ld0NvbW1hbmRUaW1lb3V0KDQyKTtcbiAgICAgIGRyaXZlci5uZXdDb21tYW5kVGltZW91dE1zLnNob3VsZC5lcWwoNDIpO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCd3aXRoIG1hbmFnZWQgZHJpdmVyJywgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IG1hbmFnZWREcml2ZXIxID0gbmV3IEJhc2VEcml2ZXIoKTtcbiAgICAgIGxldCBtYW5hZ2VkRHJpdmVyMiA9IG5ldyBCYXNlRHJpdmVyKCk7XG4gICAgICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgICAgICBkcml2ZXIuYWRkTWFuYWdlZERyaXZlcihtYW5hZ2VkRHJpdmVyMSk7XG4gICAgICAgIGRyaXZlci5hZGRNYW5hZ2VkRHJpdmVyKG1hbmFnZWREcml2ZXIyKTtcbiAgICAgIH0pO1xuICAgICAgYWZ0ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgICBkcml2ZXIubWFuYWdlZERyaXZlcnMgPSBbXTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzZXQgdGhlIG5ldyBjb21tYW5kIHRpbWVvdXQgb24gbWFuYWdlZCBkcml2ZXJzJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBkcml2ZXIuc2V0TmV3Q29tbWFuZFRpbWVvdXQoNDIpO1xuICAgICAgICBkcml2ZXIubmV3Q29tbWFuZFRpbWVvdXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgICAgbWFuYWdlZERyaXZlcjEubmV3Q29tbWFuZFRpbWVvdXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgICAgbWFuYWdlZERyaXZlcjIubmV3Q29tbWFuZFRpbWVvdXRNcy5zaG91bGQuZXFsKDQyKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQTs7QUFDQTs7QUFFQUEsUUFBUSxDQUFDLFNBQUQsRUFBWSxZQUFZ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
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
var _lib = require("../../../lib");
|
|
6
|
-
|
|
7
|
-
var _server2 = require("../../../lib/express/server");
|
|
8
|
-
|
|
9
|
-
var _sinon = require("sinon");
|
|
10
|
-
|
|
11
|
-
var _helpers = require("../../helpers");
|
|
12
|
-
|
|
13
|
-
const newMethodMap = {
|
|
14
|
-
'/session/:sessionId/fake': {
|
|
15
|
-
GET: {
|
|
16
|
-
command: 'fakeGet'
|
|
17
|
-
},
|
|
18
|
-
POST: {
|
|
19
|
-
command: 'fakePost',
|
|
20
|
-
payloadParams: {
|
|
21
|
-
required: ['fakeParam']
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const updateServer = (app, httpServer) => {
|
|
28
|
-
app.updated = true;
|
|
29
|
-
httpServer.updated = true;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
function fakeDriver() {
|
|
33
|
-
return {
|
|
34
|
-
sessionExists: () => {},
|
|
35
|
-
executeCommand: () => {}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
describe('server configuration', function () {
|
|
40
|
-
let port;
|
|
41
|
-
let sandbox;
|
|
42
|
-
|
|
43
|
-
function fakeApp() {
|
|
44
|
-
const app = {
|
|
45
|
-
use: sandbox.spy(),
|
|
46
|
-
all: sandbox.spy(),
|
|
47
|
-
get: sandbox.spy(),
|
|
48
|
-
post: sandbox.spy(),
|
|
49
|
-
delete: sandbox.spy(),
|
|
50
|
-
totalCount: () => app.use.callCount + app.all.callCount + app.get.callCount + app.post.callCount + app.delete.callCount
|
|
51
|
-
};
|
|
52
|
-
return app;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
before(async function () {
|
|
56
|
-
port = await (0, _helpers.getTestPort)(true);
|
|
57
|
-
});
|
|
58
|
-
beforeEach(function () {
|
|
59
|
-
sandbox = (0, _sinon.createSandbox)();
|
|
60
|
-
});
|
|
61
|
-
afterEach(function () {
|
|
62
|
-
sandbox.restore();
|
|
63
|
-
});
|
|
64
|
-
it('should actually use the middleware', function () {
|
|
65
|
-
const app = fakeApp();
|
|
66
|
-
|
|
67
|
-
const configureRoutes = () => {};
|
|
68
|
-
|
|
69
|
-
(0, _server2.configureServer)({
|
|
70
|
-
app,
|
|
71
|
-
addRoutes: configureRoutes
|
|
72
|
-
});
|
|
73
|
-
app.use.callCount.should.equal(14);
|
|
74
|
-
app.all.callCount.should.equal(4);
|
|
75
|
-
});
|
|
76
|
-
it('should apply new methods in plugins to the standard method map', function () {
|
|
77
|
-
const app1 = fakeApp();
|
|
78
|
-
const app2 = fakeApp();
|
|
79
|
-
const driver = fakeDriver();
|
|
80
|
-
const addRoutes = (0, _lib.routeConfiguringFunction)(driver);
|
|
81
|
-
(0, _server2.configureServer)({
|
|
82
|
-
app: app1,
|
|
83
|
-
addRoutes
|
|
84
|
-
});
|
|
85
|
-
(0, _server2.configureServer)({
|
|
86
|
-
app: app2,
|
|
87
|
-
addRoutes,
|
|
88
|
-
extraMethodMap: newMethodMap
|
|
89
|
-
});
|
|
90
|
-
app2.totalCount().should.eql(app1.totalCount() + 2);
|
|
91
|
-
});
|
|
92
|
-
it('should silently reject new methods in plugins if not plain objects', function () {
|
|
93
|
-
const app1 = fakeApp();
|
|
94
|
-
const app2 = fakeApp();
|
|
95
|
-
const driver = fakeDriver();
|
|
96
|
-
const addRoutes = (0, _lib.routeConfiguringFunction)(driver);
|
|
97
|
-
(0, _server2.configureServer)({
|
|
98
|
-
app: app1,
|
|
99
|
-
addRoutes
|
|
100
|
-
});
|
|
101
|
-
(0, _server2.configureServer)({
|
|
102
|
-
app: app2,
|
|
103
|
-
addRoutes,
|
|
104
|
-
extraMethodMap: []
|
|
105
|
-
});
|
|
106
|
-
app2.totalCount().should.eql(app1.totalCount());
|
|
107
|
-
});
|
|
108
|
-
it('should allow plugins to update the server', async function () {
|
|
109
|
-
const driver = fakeDriver();
|
|
110
|
-
|
|
111
|
-
const _server = await (0, _lib.server)({
|
|
112
|
-
routeConfiguringFunction: (0, _lib.routeConfiguringFunction)(driver),
|
|
113
|
-
port,
|
|
114
|
-
extraMethodMap: newMethodMap,
|
|
115
|
-
serverUpdaters: [updateServer]
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
try {
|
|
119
|
-
_server.updated.should.be.true;
|
|
120
|
-
} finally {
|
|
121
|
-
await _server.close();
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
it('should reject if error thrown in configureRoutes parameter', async function () {
|
|
125
|
-
const configureRoutes = () => {
|
|
126
|
-
throw new Error('I am Mr. MeeSeeks look at me!');
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
await (0, _lib.server)({
|
|
130
|
-
routeConfiguringFunction: configureRoutes,
|
|
131
|
-
port
|
|
132
|
-
}).should.be.rejectedWith('MeeSeeks');
|
|
133
|
-
});
|
|
134
|
-
describe('#normalizeBasePath', function () {
|
|
135
|
-
it('should throw an error for paths of the wrong type', function () {
|
|
136
|
-
should.throw(() => {
|
|
137
|
-
(0, _server2.normalizeBasePath)(null);
|
|
138
|
-
});
|
|
139
|
-
should.throw(() => {
|
|
140
|
-
(0, _server2.normalizeBasePath)(1);
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
it('should remove trailing slashes', function () {
|
|
144
|
-
(0, _server2.normalizeBasePath)('/wd/hub/').should.eql('/wd/hub');
|
|
145
|
-
(0, _server2.normalizeBasePath)('/foo/').should.eql('/foo');
|
|
146
|
-
(0, _server2.normalizeBasePath)('/').should.eql('');
|
|
147
|
-
});
|
|
148
|
-
it('should ensure a leading slash is present', function () {
|
|
149
|
-
(0, _server2.normalizeBasePath)('foo').should.eql('/foo');
|
|
150
|
-
(0, _server2.normalizeBasePath)('wd/hub').should.eql('/wd/hub');
|
|
151
|
-
(0, _server2.normalizeBasePath)('wd/hub/').should.eql('/wd/hub');
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJuZXdNZXRob2RNYXAiLCJHRVQiLCJjb21tYW5kIiwiUE9TVCIsInBheWxvYWRQYXJhbXMiLCJyZXF1aXJlZCIsInVwZGF0ZVNlcnZlciIsImFwcCIsImh0dHBTZXJ2ZXIiLCJ1cGRhdGVkIiwiZmFrZURyaXZlciIsInNlc3Npb25FeGlzdHMiLCJleGVjdXRlQ29tbWFuZCIsImRlc2NyaWJlIiwicG9ydCIsInNhbmRib3giLCJmYWtlQXBwIiwidXNlIiwic3B5IiwiYWxsIiwiZ2V0IiwicG9zdCIsImRlbGV0ZSIsInRvdGFsQ291bnQiLCJjYWxsQ291bnQiLCJiZWZvcmUiLCJnZXRUZXN0UG9ydCIsImJlZm9yZUVhY2giLCJjcmVhdGVTYW5kYm94IiwiYWZ0ZXJFYWNoIiwicmVzdG9yZSIsIml0IiwiY29uZmlndXJlUm91dGVzIiwiY29uZmlndXJlU2VydmVyIiwiYWRkUm91dGVzIiwic2hvdWxkIiwiZXF1YWwiLCJhcHAxIiwiYXBwMiIsImRyaXZlciIsInJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbiIsImV4dHJhTWV0aG9kTWFwIiwiZXFsIiwiX3NlcnZlciIsInNlcnZlciIsInNlcnZlclVwZGF0ZXJzIiwiYmUiLCJ0cnVlIiwiY2xvc2UiLCJFcnJvciIsInJlamVjdGVkV2l0aCIsInRocm93Iiwibm9ybWFsaXplQmFzZVBhdGgiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvZXhwcmVzcy9zZXJ2ZXIuc3BlYy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHtzZXJ2ZXIsIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbn0gZnJvbSAnLi4vLi4vLi4vbGliJztcbmltcG9ydCB7Y29uZmlndXJlU2VydmVyLCBub3JtYWxpemVCYXNlUGF0aH0gZnJvbSAnLi4vLi4vLi4vbGliL2V4cHJlc3Mvc2VydmVyJztcbmltcG9ydCB7Y3JlYXRlU2FuZGJveH0gZnJvbSAnc2lub24nO1xuaW1wb3J0IHtnZXRUZXN0UG9ydH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5cbmNvbnN0IG5ld01ldGhvZE1hcCA9IHtcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZmFrZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZmFrZUdldCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmFrZVBvc3QnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZmFrZVBhcmFtJ119fSxcbiAgfSxcbn07XG5cbmNvbnN0IHVwZGF0ZVNlcnZlciA9IChhcHAsIGh0dHBTZXJ2ZXIpID0+IHtcbiAgYXBwLnVwZGF0ZWQgPSB0cnVlO1xuICBodHRwU2VydmVyLnVwZGF0ZWQgPSB0cnVlO1xufTtcblxuZnVuY3Rpb24gZmFrZURyaXZlcigpIHtcbiAgcmV0dXJuIHtzZXNzaW9uRXhpc3RzOiAoKSA9PiB7fSwgZXhlY3V0ZUNvbW1hbmQ6ICgpID0+IHt9fTtcbn1cblxuZGVzY3JpYmUoJ3NlcnZlciBjb25maWd1cmF0aW9uJywgZnVuY3Rpb24gKCkge1xuICBsZXQgcG9ydDtcblxuICBsZXQgc2FuZGJveDtcblxuICBmdW5jdGlvbiBmYWtlQXBwKCkge1xuICAgIGNvbnN0IGFwcCA9IHtcbiAgICAgIHVzZTogc2FuZGJveC5zcHkoKSxcbiAgICAgIGFsbDogc2FuZGJveC5zcHkoKSxcbiAgICAgIGdldDogc2FuZGJveC5zcHkoKSxcbiAgICAgIHBvc3Q6IHNhbmRib3guc3B5KCksXG4gICAgICBkZWxldGU6IHNhbmRib3guc3B5KCksXG4gICAgICB0b3RhbENvdW50OiAoKSA9PlxuICAgICAgICBhcHAudXNlLmNhbGxDb3VudCArXG4gICAgICAgIGFwcC5hbGwuY2FsbENvdW50ICtcbiAgICAgICAgYXBwLmdldC5jYWxsQ291bnQgK1xuICAgICAgICBhcHAucG9zdC5jYWxsQ291bnQgK1xuICAgICAgICBhcHAuZGVsZXRlLmNhbGxDb3VudCxcbiAgICB9O1xuICAgIHJldHVybiBhcHA7XG4gIH1cblxuICBiZWZvcmUoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHBvcnQgPSBhd2FpdCBnZXRUZXN0UG9ydCh0cnVlKTtcbiAgfSk7XG5cbiAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgc2FuZGJveCA9IGNyZWF0ZVNhbmRib3goKTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICBzYW5kYm94LnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBhY3R1YWxseSB1c2UgdGhlIG1pZGRsZXdhcmUnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgYXBwID0gZmFrZUFwcCgpO1xuICAgIGNvbnN0IGNvbmZpZ3VyZVJvdXRlcyA9ICgpID0+IHt9O1xuICAgIGNvbmZpZ3VyZVNlcnZlcih7YXBwLCBhZGRSb3V0ZXM6IGNvbmZpZ3VyZVJvdXRlc30pO1xuICAgIGFwcC51c2UuY2FsbENvdW50LnNob3VsZC5lcXVhbCgxNCk7XG4gICAgYXBwLmFsbC5jYWxsQ291bnQuc2hvdWxkLmVxdWFsKDQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFwcGx5IG5ldyBtZXRob2RzIGluIHBsdWdpbnMgdG8gdGhlIHN0YW5kYXJkIG1ldGhvZCBtYXAnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgYXBwMSA9IGZha2VBcHAoKTtcbiAgICBjb25zdCBhcHAyID0gZmFrZUFwcCgpO1xuICAgIGNvbnN0IGRyaXZlciA9IGZha2VEcml2ZXIoKTtcbiAgICBjb25zdCBhZGRSb3V0ZXMgPSByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24oZHJpdmVyKTtcbiAgICBjb25maWd1cmVTZXJ2ZXIoe2FwcDogYXBwMSwgYWRkUm91dGVzfSk7XG4gICAgY29uZmlndXJlU2VydmVyKHthcHA6IGFwcDIsIGFkZFJvdXRlcywgZXh0cmFNZXRob2RNYXA6IG5ld01ldGhvZE1hcH0pO1xuICAgIGFwcDIudG90YWxDb3VudCgpLnNob3VsZC5lcWwoYXBwMS50b3RhbENvdW50KCkgKyAyKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzaWxlbnRseSByZWplY3QgbmV3IG1ldGhvZHMgaW4gcGx1Z2lucyBpZiBub3QgcGxhaW4gb2JqZWN0cycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBhcHAxID0gZmFrZUFwcCgpO1xuICAgIGNvbnN0IGFwcDIgPSBmYWtlQXBwKCk7XG4gICAgY29uc3QgZHJpdmVyID0gZmFrZURyaXZlcigpO1xuICAgIGNvbnN0IGFkZFJvdXRlcyA9IHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbihkcml2ZXIpO1xuICAgIGNvbmZpZ3VyZVNlcnZlcih7YXBwOiBhcHAxLCBhZGRSb3V0ZXN9KTtcbiAgICBjb25maWd1cmVTZXJ2ZXIoe2FwcDogYXBwMiwgYWRkUm91dGVzLCBleHRyYU1ldGhvZE1hcDogW119KTtcbiAgICBhcHAyLnRvdGFsQ291bnQoKS5zaG91bGQuZXFsKGFwcDEudG90YWxDb3VudCgpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBhbGxvdyBwbHVnaW5zIHRvIHVwZGF0ZSB0aGUgc2VydmVyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGRyaXZlciA9IGZha2VEcml2ZXIoKTtcbiAgICBjb25zdCBfc2VydmVyID0gYXdhaXQgc2VydmVyKHtcbiAgICAgIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbjogcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uKGRyaXZlciksXG4gICAgICBwb3J0LFxuICAgICAgZXh0cmFNZXRob2RNYXA6IG5ld01ldGhvZE1hcCxcbiAgICAgIHNlcnZlclVwZGF0ZXJzOiBbdXBkYXRlU2VydmVyXSxcbiAgICB9KTtcbiAgICB0cnkge1xuICAgICAgX3NlcnZlci51cGRhdGVkLnNob3VsZC5iZS50cnVlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBfc2VydmVyLmNsb3NlKCk7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlamVjdCBpZiBlcnJvciB0aHJvd24gaW4gY29uZmlndXJlUm91dGVzIHBhcmFtZXRlcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBjb25maWd1cmVSb3V0ZXMgPSAoKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0kgYW0gTXIuIE1lZVNlZWtzIGxvb2sgYXQgbWUhJyk7XG4gICAgfTtcbiAgICBhd2FpdCBzZXJ2ZXIoe1xuICAgICAgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uOiBjb25maWd1cmVSb3V0ZXMsXG4gICAgICBwb3J0LFxuICAgIH0pLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ01lZVNlZWtzJyk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjbm9ybWFsaXplQmFzZVBhdGgnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBmb3IgcGF0aHMgb2YgdGhlIHdyb25nIHR5cGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBzaG91bGQudGhyb3coKCkgPT4ge1xuICAgICAgICBub3JtYWxpemVCYXNlUGF0aChudWxsKTtcbiAgICAgIH0pO1xuICAgICAgc2hvdWxkLnRocm93KCgpID0+IHtcbiAgICAgICAgbm9ybWFsaXplQmFzZVBhdGgoMSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHJlbW92ZSB0cmFpbGluZyBzbGFzaGVzJywgZnVuY3Rpb24gKCkge1xuICAgICAgbm9ybWFsaXplQmFzZVBhdGgoJy93ZC9odWIvJykuc2hvdWxkLmVxbCgnL3dkL2h1YicpO1xuICAgICAgbm9ybWFsaXplQmFzZVBhdGgoJy9mb28vJykuc2hvdWxkLmVxbCgnL2ZvbycpO1xuICAgICAgbm9ybWFsaXplQmFzZVBhdGgoJy8nKS5zaG91bGQuZXFsKCcnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGVuc3VyZSBhIGxlYWRpbmcgc2xhc2ggaXMgcHJlc2VudCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIG5vcm1hbGl6ZUJhc2VQYXRoKCdmb28nKS5zaG91bGQuZXFsKCcvZm9vJyk7XG4gICAgICBub3JtYWxpemVCYXNlUGF0aCgnd2QvaHViJykuc2hvdWxkLmVxbCgnL3dkL2h1YicpO1xuICAgICAgbm9ybWFsaXplQmFzZVBhdGgoJ3dkL2h1Yi8nKS5zaG91bGQuZXFsKCcvd2QvaHViJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxZQUFZLEdBQUc7RUFDbkIsNEJBQTRCO0lBQzFCQyxHQUFHLEVBQUU7TUFBQ0MsT0FBTyxFQUFFO0lBQVYsQ0FEcUI7SUFFMUJDLElBQUksRUFBRTtNQUFDRCxPQUFPLEVBQUUsVUFBVjtNQUFzQkUsYUFBYSxFQUFFO1FBQUNDLFFBQVEsRUFBRSxDQUFDLFdBQUQ7TUFBWDtJQUFyQztFQUZvQjtBQURULENBQXJCOztBQU9BLE1BQU1DLFlBQVksR0FBRyxDQUFDQyxHQUFELEVBQU1DLFVBQU4sS0FBcUI7RUFDeENELEdBQUcsQ0FBQ0UsT0FBSixHQUFjLElBQWQ7RUFDQUQsVUFBVSxDQUFDQyxPQUFYLEdBQXFCLElBQXJCO0FBQ0QsQ0FIRDs7QUFLQSxTQUFTQyxVQUFULEdBQXNCO0VBQ3BCLE9BQU87SUFBQ0MsYUFBYSxFQUFFLE1BQU0sQ0FBRSxDQUF4QjtJQUEwQkMsY0FBYyxFQUFFLE1BQU0sQ0FBRTtFQUFsRCxDQUFQO0FBQ0Q7O0FBRURDLFFBQVEsQ0FBQyxzQkFBRCxFQUF5QixZQUFZO0VBQzNDLElBQUlDLElBQUo7RUFFQSxJQUFJQyxPQUFKOztFQUVBLFNBQVNDLE9BQVQsR0FBbUI7SUFDakIsTUFBTVQsR0FBRyxHQUFHO01BQ1ZVLEdBQUcsRUFBRUYsT0FBTyxDQUFDRyxHQUFSLEVBREs7TUFFVkMsR0FBRyxFQUFFSixPQUFPLENBQUNHLEdBQVIsRUFGSztNQUdWRSxHQUFHLEVBQUVMLE9BQU8sQ0FBQ0csR0FBUixFQUhLO01BSVZHLElBQUksRUFBRU4sT0FBTyxDQUFDRyxHQUFSLEVBSkk7TUFLVkksTUFBTSxFQUFFUCxPQUFPLENBQUNHLEdBQVIsRUFMRTtNQU1WSyxVQUFVLEVBQUUsTUFDVmhCLEdBQUcsQ0FBQ1UsR0FBSixD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
|