@appium/fake-driver 3.2.3 → 3.2.6

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/lib/fake-app.js CHANGED
@@ -6,7 +6,7 @@ import xpath from 'xpath';
6
6
  import log from './logger';
7
7
  import { FakeElement } from './fake-element';
8
8
 
9
- const SCREENSHOT = path.join(__dirname, '..', 'screen.png');
9
+ const SCREENSHOT = path.join(__dirname, 'screen.png');
10
10
 
11
11
  class FakeApp {
12
12
  constructor () {
package/lib/index.js CHANGED
@@ -1,11 +1,8 @@
1
- #!/usr/bin/env node
2
1
  // transpile:main
3
2
 
4
- import { asyncify } from 'asyncbox';
5
3
  import * as driver from './driver';
6
4
  import * as server from './server';
7
5
 
8
-
9
6
  const { FakeDriver } = driver;
10
7
  const { startServer } = server;
11
8
 
@@ -22,8 +19,4 @@ async function main () {
22
19
  return await startServer(port, host);
23
20
  }
24
21
 
25
- if (require.main === module) {
26
- asyncify(main);
27
- }
28
-
29
- export { FakeDriver, startServer };
22
+ export { FakeDriver, startServer, main };
File without changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@appium/fake-driver",
3
- "version": "3.2.3",
4
- "description": "Description goes here.",
3
+ "version": "3.2.6",
4
+ "description": "Mock driver used internally by Appium for testing. Ignore",
5
5
  "keywords": [
6
6
  "automation",
7
7
  "javascript",
@@ -12,12 +12,14 @@
12
12
  "firefoxos",
13
13
  "testing"
14
14
  ],
15
+ "homepage": "https://appium.io",
15
16
  "bugs": {
16
17
  "url": "https://github.com/appium/appium/issues"
17
18
  },
18
19
  "repository": {
19
20
  "type": "git",
20
- "url": "https://github.com/appium/appium.git"
21
+ "url": "https://github.com/appium/appium.git",
22
+ "directory": "packages/fake-driver"
21
23
  },
22
24
  "license": "Apache-2.0",
23
25
  "author": "https://github.com/appium",
@@ -31,14 +33,22 @@
31
33
  "index.js",
32
34
  "lib",
33
35
  "build",
34
- "test/fixtures",
35
- "screen.png"
36
+ "test/fixtures"
36
37
  ],
38
+ "scripts": {
39
+ "build": "babel lib --root-mode=upward --out-dir=build/lib --copy-files",
40
+ "dev": "npm run build -- --watch",
41
+ "fix": "npm run lint -- --fix",
42
+ "lint": "eslint -c ../../.eslintrc --ignore-path ../../.eslintignore .",
43
+ "test": "npm run test:unit",
44
+ "test:e2e": "mocha --require ../../test/setup-babel.js --timeout 20s --slow 10s \"./test/e2e/**/*.spec.js\"",
45
+ "test:unit": "mocha --require ../../test/setup-babel.js \"./test/unit/**/*.spec.js\""
46
+ },
37
47
  "dependencies": {
38
- "@appium/base-driver": "^8.2.3",
39
- "@appium/support": "^2.55.3",
40
- "@babel/runtime": "7.16.3",
41
- "@xmldom/xmldom": "0.7.5",
48
+ "@appium/base-driver": "^8.3.1",
49
+ "@appium/support": "^2.56.1",
50
+ "@babel/runtime": "7.17.8",
51
+ "@xmldom/xmldom": "0.8.1",
42
52
  "asyncbox": "2.9.2",
43
53
  "bluebird": "3.7.2",
44
54
  "lodash": "4.17.21",
@@ -49,6 +59,9 @@
49
59
  "node": ">=12",
50
60
  "npm": ">=6"
51
61
  },
62
+ "publishConfig": {
63
+ "access": "public"
64
+ },
52
65
  "access": "public",
53
66
  "appium": {
54
67
  "driverName": "fake",
@@ -63,9 +76,5 @@
63
76
  "fake-success": "./build/lib/scripts/fake-success.js"
64
77
  }
65
78
  },
66
- "publishConfig": {
67
- "access": "public"
68
- },
69
- "homepage": "https://appium.io",
70
- "gitHead": "ca90a11813546ab4851e5b1f0406f420a53227e6"
79
+ "gitHead": "6d35def9ed754121fee691cdaf7b30e3a7ac3e8b"
71
80
  }
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _helpers = require("./helpers");
11
-
12
- function alertTests() {
13
- describe('alerts', function () {
14
- let driver;
15
- before(async function () {
16
- driver = await (0, _helpers.initSession)(_helpers.W3C_PREFIXED_CAPS);
17
- });
18
- after(async function () {
19
- return await (0, _helpers.deleteSession)(driver);
20
- });
21
- it('should not work with alerts when one is not present', async function () {
22
- await driver.getAlertText().should.eventually.be.rejectedWith({
23
- code: 27
24
- });
25
- await driver.sendAlertText('foo').should.eventually.be.rejectedWith({
26
- code: 27
27
- });
28
- await driver.acceptAlert().should.eventually.be.rejectedWith({
29
- code: 27
30
- });
31
- await driver.dismissAlert().should.eventually.be.rejectedWith({
32
- code: 27
33
- });
34
- });
35
- it('should get text of an alert', async function () {
36
- await (await driver.$('#AlertButton')).click();
37
- (await driver.getAlertText()).should.equal('Fake Alert');
38
- });
39
- it('should set the text of an alert', async function () {
40
- await driver.sendAlertText('foo');
41
- (await driver.getAlertText()).should.equal('foo');
42
- });
43
- it('should not do other things while an alert is there', async function () {
44
- await (await driver.$('#nav')).click().should.eventually.be.rejectedWith({
45
- code: 26
46
- });
47
- });
48
- it.skip('should accept an alert', function () {
49
- driver.acceptAlert().$('nav').click().nodeify();
50
- });
51
- it.skip('should not set the text of the wrong kind of alert', function () {
52
- driver.$('AlertButton2').click().alertText().should.eventually.become('Fake Alert 2').alertKeys('foo').should.be.rejectedWith(/12/).nodeify();
53
- });
54
- it.skip('should dismiss an alert', function () {
55
- driver.acceptAlert().$('nav').click().nodeify();
56
- });
57
- });
58
- }
59
-
60
- var _default = alertTests;
61
- exports.default = _default;require('source-map-support').install();
62
-
63
-
64
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvYWxlcnQtdGVzdHMuanMiXSwibmFtZXMiOlsiYWxlcnRUZXN0cyIsImRlc2NyaWJlIiwiZHJpdmVyIiwiYmVmb3JlIiwiVzNDX1BSRUZJWEVEX0NBUFMiLCJhZnRlciIsIml0IiwiZ2V0QWxlcnRUZXh0Iiwic2hvdWxkIiwiZXZlbnR1YWxseSIsImJlIiwicmVqZWN0ZWRXaXRoIiwiY29kZSIsInNlbmRBbGVydFRleHQiLCJhY2NlcHRBbGVydCIsImRpc21pc3NBbGVydCIsIiQiLCJjbGljayIsImVxdWFsIiwic2tpcCIsIm5vZGVpZnkiLCJhbGVydFRleHQiLCJiZWNvbWUiLCJhbGVydEtleXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBLFNBQVNBLFVBQVQsR0FBdUI7QUFDckJDLEVBQUFBLFFBQVEsQ0FBQyxRQUFELEVBQVcsWUFBWTtBQUM3QixRQUFJQyxNQUFKO0FBQ0FDLElBQUFBLE1BQU0sQ0FBRSxrQkFBa0I7QUFDeEJELE1BQUFBLE1BQU0sR0FBRyxNQUFNLDBCQUFZRSwwQkFBWixDQUFmO0FBQ0QsS0FGSyxDQUFOO0FBR0FDLElBQUFBLEtBQUssQ0FBQyxrQkFBa0I7QUFDdEIsYUFBTyxNQUFNLDRCQUFjSCxNQUFkLENBQWI7QUFDRCxLQUZJLENBQUw7QUFJQUksSUFBQUEsRUFBRSxDQUFDLHFEQUFELEVBQXdELGtCQUFrQjtBQUMxRSxZQUFNSixNQUFNLENBQUNLLFlBQVAsR0FBc0JDLE1BQXRCLENBQTZCQyxVQUE3QixDQUF3Q0MsRUFBeEMsQ0FBMkNDLFlBQTNDLENBQXdEO0FBQUNDLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQXhELENBQU47QUFDQSxZQUFNVixNQUFNLENBQUNXLGFBQVAsQ0FBcUIsS0FBckIsRUFBNEJMLE1BQTVCLENBQW1DQyxVQUFuQyxDQUE4Q0MsRUFBOUMsQ0FBaURDLFlBQWpELENBQThEO0FBQUNDLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQTlELENBQU47QUFDQSxZQUFNVixNQUFNLENBQUNZLFdBQVAsR0FBcUJOLE1BQXJCLENBQTRCQyxVQUE1QixDQUF1Q0MsRUFBdkMsQ0FBMENDLFlBQTFDLENBQXVEO0FBQUNDLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQXZELENBQU47QUFDQSxZQUFNVixNQUFNLENBQUNhLFlBQVAsR0FBc0JQLE1BQXRCLENBQTZCQyxVQUE3QixDQUF3Q0MsRUFBeEMsQ0FBMkNDLFlBQTNDLENBQXdEO0FBQUNDLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQXhELENBQU47QUFDRCxLQUxDLENBQUY7QUFNQU4sSUFBQUEsRUFBRSxDQUFDLDZCQUFELEVBQWdDLGtCQUFrQjtBQUNsRCxZQUFNLENBQUMsTUFBTUosTUFBTSxDQUFDYyxDQUFQLENBQVMsY0FBVCxDQUFQLEVBQWlDQyxLQUFqQyxFQUFOO0FBQ0EsT0FBQyxNQUFNZixNQUFNLENBQUNLLFlBQVAsRUFBUCxFQUE4QkMsTUFBOUIsQ0FBcUNVLEtBQXJDLENBQTJDLFlBQTNDO0FBQ0QsS0FIQyxDQUFGO0FBSUFaLElBQUFBLEVBQUUsQ0FBQyxpQ0FBRCxFQUFvQyxrQkFBa0I7QUFDdEQsWUFBTUosTUFBTSxDQUFDVyxhQUFQLENBQXFCLEtBQXJCLENBQU47QUFDQSxPQUFDLE1BQU1YLE1BQU0sQ0FBQ0ssWUFBUCxFQUFQLEVBQThCQyxNQUE5QixDQUFxQ1UsS0FBckMsQ0FBMkMsS0FBM0M7QUFDRCxLQUhDLENBQUY7QUFJQVosSUFBQUEsRUFBRSxDQUFDLG9EQUFELEVBQXVELGtCQUFrQjtBQUN6RSxZQUFNLENBQUMsTUFBTUosTUFBTSxDQUFDYyxDQUFQLENBQVMsTUFBVCxDQUFQLEVBQXlCQyxLQUF6QixHQUNHVCxNQURILENBQ1VDLFVBRFYsQ0FDcUJDLEVBRHJCLENBQ3dCQyxZQUR4QixDQUNxQztBQUFDQyxRQUFBQSxJQUFJLEVBQUU7QUFBUCxPQURyQyxDQUFOO0FBRUQsS0FIQyxDQUFGO0FBSUFOLElBQUFBLEVBQUUsQ0FBQ2EsSUFBSCxDQUFRLHdCQUFSLEVBQWtDLFlBQVk7QUFDNUNqQixNQUFBQSxNQUFNLENBQ0hZLFdBREgsR0FFR0UsQ0FGSCxDQUVLLEtBRkwsRUFHR0MsS0FISCxHQUlHRyxPQUpIO0FBS0QsS0FORDtBQU9BZCxJQUFBQSxFQUFFLENBQUNhLElBQUgsQ0FBUSxvREFBUixFQUE4RCxZQUFZO0FBQ3hFakIsTUFBQUEsTUFBTSxDQUNIYyxDQURILENBQ0ssY0FETCxFQUVHQyxLQUZILEdBR0dJLFNBSEgsR0FJS2IsTUFKTCxDQUlZQyxVQUpaLENBSXVCYSxNQUp2QixDQUk4QixjQUo5QixFQUtHQyxTQUxILENBS2EsS0FMYixFQU1LZixNQU5MLENBTVlFLEVBTlosQ0FNZUMsWUFOZixDQU00QixJQU41QixFQU9HUyxPQVBIO0FBUUQsS0FURDtBQVVBZCxJQUFBQSxFQUFFLENBQUNhLElBQUgsQ0FBUSx5QkFBUixFQUFtQyxZQUFZO0FBQzdDakIsTUFBQUEsTUFBTSxDQUNIWSxXQURILEdBRUdFLENBRkgsQ0FFSyxLQUZMLEVBR0dDLEtBSEgsR0FJR0csT0FKSDtBQUtELEtBTkQ7QUFPRCxHQW5ETyxDQUFSO0FBb0REOztlQUVjcEIsVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluaXRTZXNzaW9uLCBkZWxldGVTZXNzaW9uLCBXM0NfUFJFRklYRURfQ0FQUyB9IGZyb20gJy4vaGVscGVycyc7XG5cbmZ1bmN0aW9uIGFsZXJ0VGVzdHMgKCkge1xuICBkZXNjcmliZSgnYWxlcnRzJywgZnVuY3Rpb24gKCkge1xuICAgIGxldCBkcml2ZXI7XG4gICAgYmVmb3JlIChhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBkcml2ZXIgPSBhd2FpdCBpbml0U2Vzc2lvbihXM0NfUFJFRklYRURfQ0FQUyk7XG4gICAgfSk7XG4gICAgYWZ0ZXIoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGF3YWl0IGRlbGV0ZVNlc3Npb24oZHJpdmVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IHdvcmsgd2l0aCBhbGVydHMgd2hlbiBvbmUgaXMgbm90IHByZXNlbnQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuZ2V0QWxlcnRUZXh0KCkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKHtjb2RlOiAyN30pO1xuICAgICAgYXdhaXQgZHJpdmVyLnNlbmRBbGVydFRleHQoJ2ZvbycpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCh7Y29kZTogMjd9KTtcbiAgICAgIGF3YWl0IGRyaXZlci5hY2NlcHRBbGVydCgpLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCh7Y29kZTogMjd9KTtcbiAgICAgIGF3YWl0IGRyaXZlci5kaXNtaXNzQWxlcnQoKS5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoe2NvZGU6IDI3fSk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBnZXQgdGV4dCBvZiBhbiBhbGVydCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IChhd2FpdCBkcml2ZXIuJCgnI0FsZXJ0QnV0dG9uJykpLmNsaWNrKCk7XG4gICAgICAoYXdhaXQgZHJpdmVyLmdldEFsZXJ0VGV4dCgpKS5zaG91bGQuZXF1YWwoJ0Zha2UgQWxlcnQnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHNldCB0aGUgdGV4dCBvZiBhbiBhbGVydCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5zZW5kQWxlcnRUZXh0KCdmb28nKTtcbiAgICAgIChhd2FpdCBkcml2ZXIuZ2V0QWxlcnRUZXh0KCkpLnNob3VsZC5lcXVhbCgnZm9vJyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBub3QgZG8gb3RoZXIgdGhpbmdzIHdoaWxlIGFuIGFsZXJ0IGlzIHRoZXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgKGF3YWl0IGRyaXZlci4kKCcjbmF2JykpLmNsaWNrKClcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCh7Y29kZTogMjZ9KTtcbiAgICB9KTtcbiAgICBpdC5za2lwKCdzaG91bGQgYWNjZXB0IGFuIGFsZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgZHJpdmVyXG4gICAgICAgIC5hY2NlcHRBbGVydCgpXG4gICAgICAgIC4kKCduYXYnKVxuICAgICAgICAuY2xpY2soKVxuICAgICAgICAubm9kZWlmeSgpO1xuICAgIH0pO1xuICAgIGl0LnNraXAoJ3Nob3VsZCBub3Qgc2V0IHRoZSB0ZXh0IG9mIHRoZSB3cm9uZyBraW5kIG9mIGFsZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgZHJpdmVyXG4gICAgICAgIC4kKCdBbGVydEJ1dHRvbjInKVxuICAgICAgICAuY2xpY2soKVxuICAgICAgICAuYWxlcnRUZXh0KClcbiAgICAgICAgICAuc2hvdWxkLmV2ZW50dWFsbHkuYmVjb21lKCdGYWtlIEFsZXJ0IDInKVxuICAgICAgICAuYWxlcnRLZXlzKCdmb28nKVxuICAgICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKC8xMi8pXG4gICAgICAgIC5ub2RlaWZ5KCk7XG4gICAgfSk7XG4gICAgaXQuc2tpcCgnc2hvdWxkIGRpc21pc3MgYW4gYWxlcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkcml2ZXJcbiAgICAgICAgLmFjY2VwdEFsZXJ0KClcbiAgICAgICAgLiQoJ25hdicpXG4gICAgICAgIC5jbGljaygpXG4gICAgICAgIC5ub2RlaWZ5KCk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBhbGVydFRlc3RzO1xuIl0sImZpbGUiOiJ0ZXN0L2FsZXJ0LXRlc3RzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- require("source-map-support/register");
6
-
7
- var _lodash = _interopRequireDefault(require("lodash"));
8
-
9
- var _contexts = _interopRequireDefault(require("../lib/commands/contexts"));
10
-
11
- var _element = _interopRequireDefault(require("../lib/commands/element"));
12
-
13
- var _find = _interopRequireDefault(require("../lib/commands/find"));
14
-
15
- var _general = _interopRequireDefault(require("../lib/commands/general"));
16
-
17
- var _commands = _interopRequireDefault(require("../lib/commands"));
18
-
19
- describe('Driver commands', function () {
20
- let allCommands = [_lodash.default.keys(_contexts.default), _lodash.default.keys(_element.default), _lodash.default.keys(_find.default), _lodash.default.keys(_general.default)];
21
-
22
- let totalCommands = _lodash.default.sum(allCommands.map(c => c.length));
23
-
24
- it('should not overlap between files', function () {
25
- _lodash.default.union(...allCommands).length.should.equal(totalCommands);
26
- });
27
- it('should export all commands and not leave any out', function () {
28
- _lodash.default.difference(_lodash.default.union(...allCommands), _lodash.default.keys(_commands.default)).should.eql([]);
29
- });
30
- });require('source-map-support').install();
31
-
32
-
33
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvY29tbWFuZC1zcGVjcy5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsImFsbENvbW1hbmRzIiwiXyIsImtleXMiLCJjb250ZXh0Q29tbWFuZHMiLCJlbGVtZW50Q29tbWFuZHMiLCJmaW5kQ29tbWFuZHMiLCJnZW5lcmFsQ29tbWFuZHMiLCJ0b3RhbENvbW1hbmRzIiwic3VtIiwibWFwIiwiYyIsImxlbmd0aCIsIml0IiwidW5pb24iLCJzaG91bGQiLCJlcXVhbCIsImRpZmZlcmVuY2UiLCJleHBvcnRlZENvbW1hbmRzIiwiZXFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFJQUEsUUFBUSxDQUFDLGlCQUFELEVBQW9CLFlBQVk7QUFDdEMsTUFBSUMsV0FBVyxHQUFHLENBQ2hCQyxnQkFBRUMsSUFBRixDQUFPQyxpQkFBUCxDQURnQixFQUVoQkYsZ0JBQUVDLElBQUYsQ0FBT0UsZ0JBQVAsQ0FGZ0IsRUFHaEJILGdCQUFFQyxJQUFGLENBQU9HLGFBQVAsQ0FIZ0IsRUFJaEJKLGdCQUFFQyxJQUFGLENBQU9JLGdCQUFQLENBSmdCLENBQWxCOztBQU1BLE1BQUlDLGFBQWEsR0FBR04sZ0JBQUVPLEdBQUYsQ0FBTVIsV0FBVyxDQUFDUyxHQUFaLENBQWlCQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsTUFBekIsQ0FBTixDQUFwQjs7QUFDQUMsRUFBQUEsRUFBRSxDQUFDLGtDQUFELEVBQXFDLFlBQVk7QUFDakRYLG9CQUFFWSxLQUFGLENBQVEsR0FBR2IsV0FBWCxFQUF3QlcsTUFBeEIsQ0FBK0JHLE1BQS9CLENBQXNDQyxLQUF0QyxDQUE0Q1IsYUFBNUM7QUFDRCxHQUZDLENBQUY7QUFHQUssRUFBQUEsRUFBRSxDQUFDLGtEQUFELEVBQXFELFlBQVk7QUFDakVYLG9CQUFFZSxVQUFGLENBQ0VmLGdCQUFFWSxLQUFGLENBQVEsR0FBR2IsV0FBWCxDQURGLEVBRUVDLGdCQUFFQyxJQUFGLENBQU9lLGlCQUFQLENBRkYsRUFHRUgsTUFIRixDQUdTSSxHQUhULENBR2EsRUFIYjtBQUlELEdBTEMsQ0FBRjtBQU1ELENBakJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgY29udGV4dENvbW1hbmRzIGZyb20gJy4uL2xpYi9jb21tYW5kcy9jb250ZXh0cyc7XG5pbXBvcnQgZWxlbWVudENvbW1hbmRzIGZyb20gJy4uL2xpYi9jb21tYW5kcy9lbGVtZW50JztcbmltcG9ydCBmaW5kQ29tbWFuZHMgZnJvbSAnLi4vbGliL2NvbW1hbmRzL2ZpbmQnO1xuaW1wb3J0IGdlbmVyYWxDb21tYW5kcyBmcm9tICcuLi9saWIvY29tbWFuZHMvZ2VuZXJhbCc7XG5pbXBvcnQgZXhwb3J0ZWRDb21tYW5kcyBmcm9tICcuLi9saWIvY29tbWFuZHMnO1xuXG5cblxuZGVzY3JpYmUoJ0RyaXZlciBjb21tYW5kcycsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGFsbENvbW1hbmRzID0gW1xuICAgIF8ua2V5cyhjb250ZXh0Q29tbWFuZHMpLFxuICAgIF8ua2V5cyhlbGVtZW50Q29tbWFuZHMpLFxuICAgIF8ua2V5cyhmaW5kQ29tbWFuZHMpLFxuICAgIF8ua2V5cyhnZW5lcmFsQ29tbWFuZHMpXG4gIF07XG4gIGxldCB0b3RhbENvbW1hbmRzID0gXy5zdW0oYWxsQ29tbWFuZHMubWFwKChjKSA9PiBjLmxlbmd0aCkpO1xuICBpdCgnc2hvdWxkIG5vdCBvdmVybGFwIGJldHdlZW4gZmlsZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgXy51bmlvbiguLi5hbGxDb21tYW5kcykubGVuZ3RoLnNob3VsZC5lcXVhbCh0b3RhbENvbW1hbmRzKTtcbiAgfSk7XG4gIGl0KCdzaG91bGQgZXhwb3J0IGFsbCBjb21tYW5kcyBhbmQgbm90IGxlYXZlIGFueSBvdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgXy5kaWZmZXJlbmNlKFxuICAgICAgXy51bmlvbiguLi5hbGxDb21tYW5kcyksXG4gICAgICBfLmtleXMoZXhwb3J0ZWRDb21tYW5kcylcbiAgICApLnNob3VsZC5lcWwoW10pO1xuICB9KTtcbn0pO1xuIl0sImZpbGUiOiJ0ZXN0L2NvbW1hbmQtc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _helpers = require("./helpers");
11
-
12
- function contextTests() {
13
- describe('contexts, webviews, frames', function () {
14
- let driver;
15
- before(async function () {
16
- driver = await (0, _helpers.initSession)(_helpers.W3C_PREFIXED_CAPS);
17
- });
18
- after(async function () {
19
- return await (0, _helpers.deleteSession)(driver);
20
- });
21
- it('should get current context', async function () {
22
- await driver.getContext().should.eventually.become('NATIVE_APP');
23
- });
24
- it('should get contexts', async function () {
25
- await driver.getContexts().should.eventually.become(['NATIVE_APP', 'PROXY', 'WEBVIEW_1']);
26
- });
27
- it('should not set context that is not there', async function () {
28
- await driver.switchContext('WEBVIEW_FOO').should.eventually.be.rejectedWith(/No such context found/);
29
- });
30
- it('should set context', async function () {
31
- await driver.switchContext('WEBVIEW_1');
32
- await driver.getContext().should.eventually.become('WEBVIEW_1');
33
- });
34
- it('should find webview elements in a webview', async function () {
35
- await (await driver.$('//*')).getTagName().should.eventually.become('html');
36
- });
37
- it('should not switch to a frame that is not there', async function () {
38
- await driver.switchToFrame(2).should.eventually.be.rejectedWith(/frame could not be found/);
39
- });
40
- it('should switch to an iframe', async function () {
41
- await driver.switchToFrame(1);
42
- await driver.getTitle().should.eventually.become('Test iFrame');
43
- });
44
- it('should switch back to default frame', async function () {
45
- await driver.switchToFrame(null);
46
- await driver.getTitle().should.eventually.become('Test Webview');
47
- });
48
- it('should go back to native context', async function () {
49
- await driver.switchContext('NATIVE_APP');
50
- await (await driver.$('//*')).getTagName().should.eventually.become('AppiumAUT');
51
- });
52
- it('should not set a frame in a native context', async function () {
53
- await driver.switchContext('NATIVE_APP');
54
- await driver.switchToFrame(1).should.eventually.be.rejectedWith(/could not be executed in the current context/);
55
- });
56
- });
57
- }
58
-
59
- var _default = contextTests;
60
- exports.default = _default;require('source-map-support').install();
61
-
62
-
63
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvY29udGV4dC10ZXN0cy5qcyJdLCJuYW1lcyI6WyJjb250ZXh0VGVzdHMiLCJkZXNjcmliZSIsImRyaXZlciIsImJlZm9yZSIsIlczQ19QUkVGSVhFRF9DQVBTIiwiYWZ0ZXIiLCJpdCIsImdldENvbnRleHQiLCJzaG91bGQiLCJldmVudHVhbGx5IiwiYmVjb21lIiwiZ2V0Q29udGV4dHMiLCJzd2l0Y2hDb250ZXh0IiwiYmUiLCJyZWplY3RlZFdpdGgiLCIkIiwiZ2V0VGFnTmFtZSIsInN3aXRjaFRvRnJhbWUiLCJnZXRUaXRsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUEsU0FBU0EsWUFBVCxHQUF5QjtBQUN2QkMsRUFBQUEsUUFBUSxDQUFDLDRCQUFELEVBQStCLFlBQVk7QUFDakQsUUFBSUMsTUFBSjtBQUNBQyxJQUFBQSxNQUFNLENBQUUsa0JBQWtCO0FBQ3hCRCxNQUFBQSxNQUFNLEdBQUcsTUFBTSwwQkFBWUUsMEJBQVosQ0FBZjtBQUNELEtBRkssQ0FBTjtBQUdBQyxJQUFBQSxLQUFLLENBQUMsa0JBQWtCO0FBQ3RCLGFBQU8sTUFBTSw0QkFBY0gsTUFBZCxDQUFiO0FBQ0QsS0FGSSxDQUFMO0FBR0FJLElBQUFBLEVBQUUsQ0FBQyw0QkFBRCxFQUErQixrQkFBa0I7QUFDakQsWUFBTUosTUFBTSxDQUFDSyxVQUFQLEdBQ0dDLE1BREgsQ0FDVUMsVUFEVixDQUNxQkMsTUFEckIsQ0FDNEIsWUFENUIsQ0FBTjtBQUVELEtBSEMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMscUJBQUQsRUFBd0Isa0JBQWtCO0FBQzFDLFlBQU1KLE1BQU0sQ0FBQ1MsV0FBUCxHQUNHSCxNQURILENBQ1VDLFVBRFYsQ0FDcUJDLE1BRHJCLENBQzRCLENBQUMsWUFBRCxFQUFlLE9BQWYsRUFBd0IsV0FBeEIsQ0FENUIsQ0FBTjtBQUVELEtBSEMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMsMENBQUQsRUFBNkMsa0JBQWtCO0FBQy9ELFlBQU1KLE1BQU0sQ0FBQ1UsYUFBUCxDQUFxQixhQUFyQixFQUNHSixNQURILENBQ1VDLFVBRFYsQ0FDcUJJLEVBRHJCLENBQ3dCQyxZQUR4QixDQUNxQyx1QkFEckMsQ0FBTjtBQUVELEtBSEMsQ0FBRjtBQUlBUixJQUFBQSxFQUFFLENBQUMsb0JBQUQsRUFBdUIsa0JBQWtCO0FBQ3pDLFlBQU1KLE1BQU0sQ0FBQ1UsYUFBUCxDQUFxQixXQUFyQixDQUFOO0FBQ0EsWUFBTVYsTUFBTSxDQUFDSyxVQUFQLEdBQW9CQyxNQUFwQixDQUEyQkMsVUFBM0IsQ0FBc0NDLE1BQXRDLENBQTZDLFdBQTdDLENBQU47QUFDRCxLQUhDLENBQUY7QUFJQUosSUFBQUEsRUFBRSxDQUFDLDJDQUFELEVBQThDLGtCQUFrQjtBQUNoRSxZQUFNLENBQUMsTUFBTUosTUFBTSxDQUFDYSxDQUFQLENBQVMsS0FBVCxDQUFQLEVBQXdCQyxVQUF4QixHQUNHUixNQURILENBQ1VDLFVBRFYsQ0FDcUJDLE1BRHJCLENBQzRCLE1BRDVCLENBQU47QUFFRCxLQUhDLENBQUY7QUFJQUosSUFBQUEsRUFBRSxDQUFDLGdEQUFELEVBQW1ELGtCQUFrQjtBQUNyRSxZQUFNSixNQUFNLENBQUNlLGFBQVAsQ0FBcUIsQ0FBckIsRUFBd0JULE1BQXhCLENBQStCQyxVQUEvQixDQUEwQ0ksRUFBMUMsQ0FBNkNDLFlBQTdDLENBQTBELDBCQUExRCxDQUFOO0FBQ0QsS0FGQyxDQUFGO0FBR0FSLElBQUFBLEVBQUUsQ0FBQyw0QkFBRCxFQUErQixrQkFBa0I7QUFDakQsWUFBTUosTUFBTSxDQUFDZSxhQUFQLENBQXFCLENBQXJCLENBQU47QUFDQSxZQUFNZixNQUFNLENBQUNnQixRQUFQLEdBQWtCVixNQUFsQixDQUF5QkMsVUFBekIsQ0FBb0NDLE1BQXBDLENBQTJDLGFBQTNDLENBQU47QUFDRCxLQUhDLENBQUY7QUFJQUosSUFBQUEsRUFBRSxDQUFDLHFDQUFELEVBQXdDLGtCQUFrQjtBQUMxRCxZQUFNSixNQUFNLENBQUNlLGFBQVAsQ0FBcUIsSUFBckIsQ0FBTjtBQUNBLFlBQU1mLE1BQU0sQ0FBQ2dCLFFBQVAsR0FBa0JWLE1BQWxCLENBQXlCQyxVQUF6QixDQUFvQ0MsTUFBcEMsQ0FBMkMsY0FBM0MsQ0FBTjtBQUNELEtBSEMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMsa0NBQUQsRUFBcUMsa0JBQWtCO0FBQ3ZELFlBQU1KLE1BQU0sQ0FBQ1UsYUFBUCxDQUFxQixZQUFyQixDQUFOO0FBQ0EsWUFBTSxDQUFDLE1BQU1WLE1BQU0sQ0FBQ2EsQ0FBUCxDQUFTLEtBQVQsQ0FBUCxFQUF3QkMsVUFBeEIsR0FBcUNSLE1BQXJDLENBQTRDQyxVQUE1QyxDQUF1REMsTUFBdkQsQ0FBOEQsV0FBOUQsQ0FBTjtBQUNELEtBSEMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMsNENBQUQsRUFBK0Msa0JBQWtCO0FBQ2pFLFlBQU1KLE1BQU0sQ0FBQ1UsYUFBUCxDQUFxQixZQUFyQixDQUFOO0FBQ0EsWUFBTVYsTUFBTSxDQUFDZSxhQUFQLENBQXFCLENBQXJCLEVBQXdCVCxNQUF4QixDQUErQkMsVUFBL0IsQ0FBMENJLEVBQTFDLENBQTZDQyxZQUE3QyxDQUEwRCw4Q0FBMUQsQ0FBTjtBQUNELEtBSEMsQ0FBRjtBQUlELEdBL0NPLENBQVI7QUFnREQ7O2VBRWNkLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbml0U2Vzc2lvbiwgZGVsZXRlU2Vzc2lvbiwgVzNDX1BSRUZJWEVEX0NBUFMgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5mdW5jdGlvbiBjb250ZXh0VGVzdHMgKCkge1xuICBkZXNjcmliZSgnY29udGV4dHMsIHdlYnZpZXdzLCBmcmFtZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGRyaXZlcjtcbiAgICBiZWZvcmUgKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGRyaXZlciA9IGF3YWl0IGluaXRTZXNzaW9uKFczQ19QUkVGSVhFRF9DQVBTKTtcbiAgICB9KTtcbiAgICBhZnRlcihhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gYXdhaXQgZGVsZXRlU2Vzc2lvbihkcml2ZXIpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZ2V0IGN1cnJlbnQgY29udGV4dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRDb250ZXh0KClcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZSgnTkFUSVZFX0FQUCcpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZ2V0IGNvbnRleHRzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLmdldENvbnRleHRzKClcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZShbJ05BVElWRV9BUFAnLCAnUFJPWFknLCAnV0VCVklFV18xJ10pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IHNldCBjb250ZXh0IHRoYXQgaXMgbm90IHRoZXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLnN3aXRjaENvbnRleHQoJ1dFQlZJRVdfRk9PJylcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCgvTm8gc3VjaCBjb250ZXh0IGZvdW5kLyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBzZXQgY29udGV4dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5zd2l0Y2hDb250ZXh0KCdXRUJWSUVXXzEnKTtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRDb250ZXh0KCkuc2hvdWxkLmV2ZW50dWFsbHkuYmVjb21lKCdXRUJWSUVXXzEnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGZpbmQgd2VidmlldyBlbGVtZW50cyBpbiBhIHdlYnZpZXcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCAoYXdhaXQgZHJpdmVyLiQoJy8vKicpKS5nZXRUYWdOYW1lKClcbiAgICAgICAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZSgnaHRtbCcpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IHN3aXRjaCB0byBhIGZyYW1lIHRoYXQgaXMgbm90IHRoZXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLnN3aXRjaFRvRnJhbWUoMikuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC9mcmFtZSBjb3VsZCBub3QgYmUgZm91bmQvKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHN3aXRjaCB0byBhbiBpZnJhbWUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuc3dpdGNoVG9GcmFtZSgxKTtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRUaXRsZSgpLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZSgnVGVzdCBpRnJhbWUnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIHN3aXRjaCBiYWNrIHRvIGRlZmF1bHQgZnJhbWUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuc3dpdGNoVG9GcmFtZShudWxsKTtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRUaXRsZSgpLnNob3VsZC5ldmVudHVhbGx5LmJlY29tZSgnVGVzdCBXZWJ2aWV3Jyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBnbyBiYWNrIHRvIG5hdGl2ZSBjb250ZXh0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLnN3aXRjaENvbnRleHQoJ05BVElWRV9BUFAnKTtcbiAgICAgIGF3YWl0IChhd2FpdCBkcml2ZXIuJCgnLy8qJykpLmdldFRhZ05hbWUoKS5zaG91bGQuZXZlbnR1YWxseS5iZWNvbWUoJ0FwcGl1bUFVVCcpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IHNldCBhIGZyYW1lIGluIGEgbmF0aXZlIGNvbnRleHQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuc3dpdGNoQ29udGV4dCgnTkFUSVZFX0FQUCcpO1xuICAgICAgYXdhaXQgZHJpdmVyLnN3aXRjaFRvRnJhbWUoMSkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC9jb3VsZCBub3QgYmUgZXhlY3V0ZWQgaW4gdGhlIGN1cnJlbnQgY29udGV4dC8pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY29udGV4dFRlc3RzO1xuIl0sImZpbGUiOiJ0ZXN0L2NvbnRleHQtdGVzdHMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
@@ -1,85 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- require("source-map-support/register");
6
-
7
- var _axios = _interopRequireDefault(require("axios"));
8
-
9
- var _basedriver = require("@appium/base-driver/build/test/basedriver");
10
-
11
- var _index = require("../lib/index.js");
12
-
13
- var _helpers = require("./helpers");
14
-
15
- var _contextTests = _interopRequireDefault(require("./context-tests"));
16
-
17
- var _findElementTests = _interopRequireDefault(require("./find-element-tests"));
18
-
19
- var _elementInteractionTests = _interopRequireDefault(require("./element-interaction-tests"));
20
-
21
- var _alertTests = _interopRequireDefault(require("./alert-tests"));
22
-
23
- var _generalTests = _interopRequireDefault(require("./general-tests"));
24
-
25
- const shouldStartServer = process.env.USE_RUNNING_SERVER !== '0';
26
- (0, _basedriver.baseDriverE2ETests)(_index.FakeDriver, _helpers.W3C_PREFIXED_CAPS);
27
- describe('FakeDriver - via HTTP', function () {
28
- let server = null;
29
- before(async function () {
30
- if (shouldStartServer) {
31
- server = await (0, _index.startServer)(_helpers.TEST_PORT, _helpers.TEST_HOST);
32
- }
33
- });
34
- after(function () {
35
- if (server) {
36
- server.close();
37
- }
38
- });
39
- describe('session handling', function () {
40
- it('should start and stop a session', async function () {
41
- let driver = await (0, _helpers.initSession)(_helpers.W3C_PREFIXED_CAPS);
42
- should.exist(driver.sessionId);
43
- driver.sessionId.should.be.a('string');
44
- await (0, _helpers.deleteSession)(driver);
45
- await driver.getTitle().should.eventually.be.rejectedWith(/terminated/);
46
- });
47
- });
48
- describe('session-based tests', function () {
49
- (0, _contextTests.default)();
50
- (0, _findElementTests.default)();
51
- (0, _elementInteractionTests.default)();
52
- (0, _alertTests.default)();
53
- (0, _generalTests.default)();
54
- });
55
- describe('w3c', function () {
56
- it('should return value.capabilities object for W3C', async function () {
57
- const res = await _axios.default.post(`http://${_helpers.TEST_HOST}:${_helpers.TEST_PORT}/session`, {
58
- capabilities: {
59
- alwaysMatch: _helpers.W3C_PREFIXED_CAPS,
60
- firstMatch: [{
61
- 'appium:fakeCap': 'Foo'
62
- }]
63
- }
64
- });
65
- const {
66
- value,
67
- status
68
- } = res.data;
69
- value.capabilities.should.deep.equal({ ..._helpers.BASE_CAPS,
70
- fakeCap: 'Foo'
71
- });
72
- value.sessionId.should.exist;
73
- should.not.exist(status);
74
- await _axios.default.delete(`http://${_helpers.TEST_HOST}:${_helpers.TEST_PORT}/session/${value.sessionId}`);
75
- });
76
- it('should fail if given unsupported desiredCapabilities', async function () {
77
- await _axios.default.post(`http://${_helpers.TEST_HOST}:${_helpers.TEST_PORT}/session`, {
78
- desiredCapabilities: _helpers.W3C_PREFIXED_CAPS
79
- }).should.eventually.be.rejectedWith(/500/);
80
- });
81
- });
82
- });require('source-map-support').install();
83
-
84
-
85
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZHJpdmVyLWUyZS1zcGVjcy5qcyJdLCJuYW1lcyI6WyJzaG91bGRTdGFydFNlcnZlciIsInByb2Nlc3MiLCJlbnYiLCJVU0VfUlVOTklOR19TRVJWRVIiLCJGYWtlRHJpdmVyIiwiVzNDX1BSRUZJWEVEX0NBUFMiLCJkZXNjcmliZSIsInNlcnZlciIsImJlZm9yZSIsIlRFU1RfUE9SVCIsIlRFU1RfSE9TVCIsImFmdGVyIiwiY2xvc2UiLCJpdCIsImRyaXZlciIsInNob3VsZCIsImV4aXN0Iiwic2Vzc2lvbklkIiwiYmUiLCJhIiwiZ2V0VGl0bGUiLCJldmVudHVhbGx5IiwicmVqZWN0ZWRXaXRoIiwicmVzIiwiYXhpb3MiLCJwb3N0IiwiY2FwYWJpbGl0aWVzIiwiYWx3YXlzTWF0Y2giLCJmaXJzdE1hdGNoIiwidmFsdWUiLCJzdGF0dXMiLCJkYXRhIiwiZGVlcCIsImVxdWFsIiwiQkFTRV9DQVBTIiwiZmFrZUNhcCIsIm5vdCIsImRlbGV0ZSIsImRlc2lyZWRDYXBhYmlsaXRpZXMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBLE1BQU1BLGlCQUFpQixHQUFHQyxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsa0JBQVosS0FBbUMsR0FBN0Q7QUFJQSxvQ0FBbUJDLGlCQUFuQixFQUErQkMsMEJBQS9CO0FBRUFDLFFBQVEsQ0FBQyx1QkFBRCxFQUEwQixZQUFZO0FBQzVDLE1BQUlDLE1BQU0sR0FBRyxJQUFiO0FBQ0FDLEVBQUFBLE1BQU0sQ0FBQyxrQkFBa0I7QUFDdkIsUUFBSVIsaUJBQUosRUFBdUI7QUFDckJPLE1BQUFBLE1BQU0sR0FBRyxNQUFNLHdCQUFZRSxrQkFBWixFQUF1QkMsa0JBQXZCLENBQWY7QUFDRDtBQUNGLEdBSkssQ0FBTjtBQUtBQyxFQUFBQSxLQUFLLENBQUMsWUFBWTtBQUNoQixRQUFJSixNQUFKLEVBQVk7QUFDVkEsTUFBQUEsTUFBTSxDQUFDSyxLQUFQO0FBQ0Q7QUFDRixHQUpJLENBQUw7QUFNQU4sRUFBQUEsUUFBUSxDQUFDLGtCQUFELEVBQXFCLFlBQVk7QUFDdkNPLElBQUFBLEVBQUUsQ0FBQyxpQ0FBRCxFQUFvQyxrQkFBa0I7QUFDdEQsVUFBSUMsTUFBTSxHQUFHLE1BQU0sMEJBQVlULDBCQUFaLENBQW5CO0FBQ0FVLE1BQUFBLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhRixNQUFNLENBQUNHLFNBQXBCO0FBQ0FILE1BQUFBLE1BQU0sQ0FBQ0csU0FBUCxDQUFpQkYsTUFBakIsQ0FBd0JHLEVBQXhCLENBQTJCQyxDQUEzQixDQUE2QixRQUE3QjtBQUNBLFlBQU0sNEJBQWNMLE1BQWQsQ0FBTjtBQUNBLFlBQU1BLE1BQU0sQ0FBQ00sUUFBUCxHQUFrQkwsTUFBbEIsQ0FBeUJNLFVBQXpCLENBQW9DSCxFQUFwQyxDQUF1Q0ksWUFBdkMsQ0FBb0QsWUFBcEQsQ0FBTjtBQUNELEtBTkMsQ0FBRjtBQU9ELEdBUk8sQ0FBUjtBQVVBaEIsRUFBQUEsUUFBUSxDQUFDLHFCQUFELEVBQXdCLFlBQVk7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNELEdBTk8sQ0FBUjtBQVFBQSxFQUFBQSxRQUFRLENBQUMsS0FBRCxFQUFRLFlBQVk7QUFDMUJPLElBQUFBLEVBQUUsQ0FBQyxpREFBRCxFQUFvRCxrQkFBa0I7QUFDdEUsWUFBTVUsR0FBRyxHQUFHLE1BQU1DLGVBQU1DLElBQU4sQ0FBWSxVQUFTZixrQkFBVSxJQUFHRCxrQkFBVSxVQUE1QyxFQUF1RDtBQUN2RWlCLFFBQUFBLFlBQVksRUFBRTtBQUNaQyxVQUFBQSxXQUFXLEVBQUV0QiwwQkFERDtBQUVadUIsVUFBQUEsVUFBVSxFQUFFLENBQ1Y7QUFBQyw4QkFBa0I7QUFBbkIsV0FEVTtBQUZBO0FBRHlELE9BQXZELENBQWxCO0FBT0EsWUFBTTtBQUFDQyxRQUFBQSxLQUFEO0FBQVFDLFFBQUFBO0FBQVIsVUFBa0JQLEdBQUcsQ0FBQ1EsSUFBNUI7QUFDQUYsTUFBQUEsS0FBSyxDQUFDSCxZQUFOLENBQW1CWCxNQUFuQixDQUEwQmlCLElBQTFCLENBQStCQyxLQUEvQixDQUFxQyxFQUFDLEdBQUdDLGtCQUFKO0FBQWVDLFFBQUFBLE9BQU8sRUFBRTtBQUF4QixPQUFyQztBQUNBTixNQUFBQSxLQUFLLENBQUNaLFNBQU4sQ0FBZ0JGLE1BQWhCLENBQXVCQyxLQUF2QjtBQUNBRCxNQUFBQSxNQUFNLENBQUNxQixHQUFQLENBQVdwQixLQUFYLENBQWlCYyxNQUFqQjtBQUNBLFlBQU1OLGVBQU1hLE1BQU4sQ0FBYyxVQUFTM0Isa0JBQVUsSUFBR0Qsa0JBQVUsWUFBV29CLEtBQUssQ0FBQ1osU0FBVSxFQUF6RSxDQUFOO0FBQ0QsS0FiQyxDQUFGO0FBZUFKLElBQUFBLEVBQUUsQ0FBQyxzREFBRCxFQUF5RCxrQkFBa0I7QUFDM0UsWUFBTVcsZUFBTUMsSUFBTixDQUFZLFVBQVNmLGtCQUFVLElBQUdELGtCQUFVLFVBQTVDLEVBQXVEO0FBQzNENkIsUUFBQUEsbUJBQW1CLEVBQUVqQztBQURzQyxPQUF2RCxFQUVIVSxNQUZHLENBRUlNLFVBRkosQ0FFZUgsRUFGZixDQUVrQkksWUFGbEIsQ0FFK0IsS0FGL0IsQ0FBTjtBQUdELEtBSkMsQ0FBRjtBQUtELEdBckJPLENBQVI7QUF1QkQsQ0F0RE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRyYW5zcGlsZTptb2NoYVxuXG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgYmFzZURyaXZlckUyRVRlc3RzIH0gZnJvbSAnQGFwcGl1bS9iYXNlLWRyaXZlci9idWlsZC90ZXN0L2Jhc2Vkcml2ZXInO1xuaW1wb3J0IHsgRmFrZURyaXZlciwgc3RhcnRTZXJ2ZXIgfSBmcm9tICcuLi9saWIvaW5kZXguanMnO1xuaW1wb3J0IHsgQkFTRV9DQVBTLCBkZWxldGVTZXNzaW9uLCBpbml0U2Vzc2lvbiwgVEVTVF9IT1NULCBURVNUX1BPUlQsIFczQ19QUkVGSVhFRF9DQVBTIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCBjb250ZXh0VGVzdHMgZnJvbSAnLi9jb250ZXh0LXRlc3RzJztcbmltcG9ydCBmaW5kRWxlbWVudFRlc3RzIGZyb20gJy4vZmluZC1lbGVtZW50LXRlc3RzJztcbmltcG9ydCBlbGVtZW50SW50ZXJhY3Rpb25UZXN0cyBmcm9tICcuL2VsZW1lbnQtaW50ZXJhY3Rpb24tdGVzdHMnO1xuaW1wb3J0IGFsZXJ0VGVzdHMgZnJvbSAnLi9hbGVydC10ZXN0cyc7XG5pbXBvcnQgZ2VuZXJhbFRlc3RzIGZyb20gJy4vZ2VuZXJhbC10ZXN0cyc7XG5cblxuY29uc3Qgc2hvdWxkU3RhcnRTZXJ2ZXIgPSBwcm9jZXNzLmVudi5VU0VfUlVOTklOR19TRVJWRVIgIT09ICcwJztcblxuXG4vLyB0ZXN0IHRoZSBzYW1lIHRoaW5ncyBhcyBmb3IgYmFzZSBkcml2ZXJcbmJhc2VEcml2ZXJFMkVUZXN0cyhGYWtlRHJpdmVyLCBXM0NfUFJFRklYRURfQ0FQUyk7XG5cbmRlc2NyaWJlKCdGYWtlRHJpdmVyIC0gdmlhIEhUVFAnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBzZXJ2ZXIgPSBudWxsO1xuICBiZWZvcmUoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGlmIChzaG91bGRTdGFydFNlcnZlcikge1xuICAgICAgc2VydmVyID0gYXdhaXQgc3RhcnRTZXJ2ZXIoVEVTVF9QT1JULCBURVNUX0hPU1QpO1xuICAgIH1cbiAgfSk7XG4gIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc2VydmVyKSB7XG4gICAgICBzZXJ2ZXIuY2xvc2UoKTtcbiAgICB9XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZXNzaW9uIGhhbmRsaW5nJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc3RhcnQgYW5kIHN0b3AgYSBzZXNzaW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IGRyaXZlciA9IGF3YWl0IGluaXRTZXNzaW9uKFczQ19QUkVGSVhFRF9DQVBTKTtcbiAgICAgIHNob3VsZC5leGlzdChkcml2ZXIuc2Vzc2lvbklkKTtcbiAgICAgIGRyaXZlci5zZXNzaW9uSWQuc2hvdWxkLmJlLmEoJ3N0cmluZycpO1xuICAgICAgYXdhaXQgZGVsZXRlU2Vzc2lvbihkcml2ZXIpO1xuICAgICAgYXdhaXQgZHJpdmVyLmdldFRpdGxlKCkuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC90ZXJtaW5hdGVkLyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZXNzaW9uLWJhc2VkIHRlc3RzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnRleHRUZXN0cygpO1xuICAgIGZpbmRFbGVtZW50VGVzdHMoKTtcbiAgICBlbGVtZW50SW50ZXJhY3Rpb25UZXN0cygpO1xuICAgIGFsZXJ0VGVzdHMoKTtcbiAgICBnZW5lcmFsVGVzdHMoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3czYycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB2YWx1ZS5jYXBhYmlsaXRpZXMgb2JqZWN0IGZvciBXM0MnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBheGlvcy5wb3N0KGBodHRwOi8vJHtURVNUX0hPU1R9OiR7VEVTVF9QT1JUfS9zZXNzaW9uYCwge1xuICAgICAgICBjYXBhYmlsaXRpZXM6IHtcbiAgICAgICAgICBhbHdheXNNYXRjaDogVzNDX1BSRUZJWEVEX0NBUFMsXG4gICAgICAgICAgZmlyc3RNYXRjaDogW1xuICAgICAgICAgICAgeydhcHBpdW06ZmFrZUNhcCc6ICdGb28nLCB9XG4gICAgICAgICAgXVxuICAgICAgICB9fSk7XG4gICAgICBjb25zdCB7dmFsdWUsIHN0YXR1c30gPSByZXMuZGF0YTtcbiAgICAgIHZhbHVlLmNhcGFiaWxpdGllcy5zaG91bGQuZGVlcC5lcXVhbCh7Li4uQkFTRV9DQVBTLCBmYWtlQ2FwOiAnRm9vJ30pO1xuICAgICAgdmFsdWUuc2Vzc2lvbklkLnNob3VsZC5leGlzdDtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3Qoc3RhdHVzKTtcbiAgICAgIGF3YWl0IGF4aW9zLmRlbGV0ZShgaHR0cDovLyR7VEVTVF9IT1NUfToke1RFU1RfUE9SVH0vc2Vzc2lvbi8ke3ZhbHVlLnNlc3Npb25JZH1gKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBnaXZlbiB1bnN1cHBvcnRlZCBkZXNpcmVkQ2FwYWJpbGl0aWVzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgYXhpb3MucG9zdChgaHR0cDovLyR7VEVTVF9IT1NUfToke1RFU1RfUE9SVH0vc2Vzc2lvbmAsIHtcbiAgICAgICAgZGVzaXJlZENhcGFiaWxpdGllczogVzNDX1BSRUZJWEVEX0NBUFNcbiAgICAgIH0pLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCgvNTAwLyk7XG4gICAgfSk7XG4gIH0pO1xuXG59KTtcbiJdLCJmaWxlIjoidGVzdC9kcml2ZXItZTJlLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- require("source-map-support/register");
6
-
7
- var _lodash = _interopRequireDefault(require("lodash"));
8
-
9
- var _lib = require("../lib");
10
-
11
- var _helpers = require("./helpers");
12
-
13
- var _basedriver = require("@appium/base-driver/build/test/basedriver");
14
-
15
- (0, _basedriver.baseDriverUnitTests)(_lib.FakeDriver, _lodash.default.cloneDeep(_helpers.W3C_PREFIXED_CAPS));
16
- describe('FakeDriver', function () {
17
- it('should not start a session when a unique session is already running', async function () {
18
- let d1 = new _lib.FakeDriver();
19
- let [uniqueSession] = await d1.createSession(null, null, {
20
- alwaysMatch: { ..._lodash.default.cloneDeep(_helpers.W3C_PREFIXED_CAPS),
21
- 'appium:uniqueApp': true
22
- },
23
- firstMatch: [{}]
24
- });
25
- uniqueSession.should.be.a('string');
26
- let d2 = new _lib.FakeDriver();
27
- let otherSessionData = [d1.driverData];
28
-
29
- try {
30
- await d2.createSession(null, null, _lodash.default.cloneDeep(_helpers.W3C_CAPS), otherSessionData).should.eventually.be.rejectedWith(/unique/);
31
- } finally {
32
- await d1.deleteSession(uniqueSession);
33
- }
34
- });
35
- it('should start a new session when another non-unique session is running', async function () {
36
- let d1 = new _lib.FakeDriver();
37
- let [session1Id] = await d1.createSession(null, null, _lodash.default.cloneDeep(_helpers.W3C_CAPS));
38
- session1Id.should.be.a('string');
39
- let d2 = new _lib.FakeDriver();
40
- let [session2Id] = await d2.createSession(null, null, _lodash.default.cloneDeep(_helpers.W3C_CAPS));
41
- session2Id.should.be.a('string');
42
- session1Id.should.not.equal(session2Id);
43
- await d1.deleteSession(session1Id);
44
- await d2.deleteSession(session2Id);
45
- });
46
- });require('source-map-support').install();
47
-
48
-
49
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZHJpdmVyLXNwZWNzLmpzIl0sIm5hbWVzIjpbIkZha2VEcml2ZXIiLCJfIiwiY2xvbmVEZWVwIiwiVzNDX1BSRUZJWEVEX0NBUFMiLCJkZXNjcmliZSIsIml0IiwiZDEiLCJ1bmlxdWVTZXNzaW9uIiwiY3JlYXRlU2Vzc2lvbiIsImFsd2F5c01hdGNoIiwiZmlyc3RNYXRjaCIsInNob3VsZCIsImJlIiwiYSIsImQyIiwib3RoZXJTZXNzaW9uRGF0YSIsImRyaXZlckRhdGEiLCJXM0NfQ0FQUyIsImV2ZW50dWFsbHkiLCJyZWplY3RlZFdpdGgiLCJkZWxldGVTZXNzaW9uIiwic2Vzc2lvbjFJZCIsInNlc3Npb24ySWQiLCJub3QiLCJlcXVhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUEscUNBQW9CQSxlQUFwQixFQUFnQ0MsZ0JBQUVDLFNBQUYsQ0FBWUMsMEJBQVosQ0FBaEM7QUFFQUMsUUFBUSxDQUFDLFlBQUQsRUFBZSxZQUFZO0FBQ2pDQyxFQUFBQSxFQUFFLENBQUMscUVBQUQsRUFBd0Usa0JBQWtCO0FBQzFGLFFBQUlDLEVBQUUsR0FBRyxJQUFJTixlQUFKLEVBQVQ7QUFDQSxRQUFJLENBQUNPLGFBQUQsSUFBa0IsTUFBTUQsRUFBRSxDQUFDRSxhQUFILENBQWlCLElBQWpCLEVBQXVCLElBQXZCLEVBQTZCO0FBQ3ZEQyxNQUFBQSxXQUFXLEVBQUUsRUFBRSxHQUFHUixnQkFBRUMsU0FBRixDQUFZQywwQkFBWixDQUFMO0FBQXFDLDRCQUFvQjtBQUF6RCxPQUQwQztBQUV2RE8sTUFBQUEsVUFBVSxFQUFFLENBQUMsRUFBRDtBQUYyQyxLQUE3QixDQUE1QjtBQUlBSCxJQUFBQSxhQUFhLENBQUNJLE1BQWQsQ0FBcUJDLEVBQXJCLENBQXdCQyxDQUF4QixDQUEwQixRQUExQjtBQUNBLFFBQUlDLEVBQUUsR0FBRyxJQUFJZCxlQUFKLEVBQVQ7QUFDQSxRQUFJZSxnQkFBZ0IsR0FBRyxDQUFDVCxFQUFFLENBQUNVLFVBQUosQ0FBdkI7O0FBQ0EsUUFBSTtBQUNGLFlBQU1GLEVBQUUsQ0FDTE4sYUFERyxDQUVGLElBRkUsRUFHRixJQUhFLEVBSUZQLGdCQUFFQyxTQUFGLENBQVllLGlCQUFaLENBSkUsRUFLRkYsZ0JBTEUsRUFPSEosTUFQRyxDQU9JTyxVQVBKLENBT2VOLEVBUGYsQ0FPa0JPLFlBUGxCLENBTytCLFFBUC9CLENBQU47QUFRRCxLQVRELFNBU1U7QUFDUixZQUFNYixFQUFFLENBQUNjLGFBQUgsQ0FBaUJiLGFBQWpCLENBQU47QUFDRDtBQUNGLEdBckJDLENBQUY7QUFzQkFGLEVBQUFBLEVBQUUsQ0FBQyx1RUFBRCxFQUEwRSxrQkFBa0I7QUFDNUYsUUFBSUMsRUFBRSxHQUFHLElBQUlOLGVBQUosRUFBVDtBQUNBLFFBQUksQ0FBQ3FCLFVBQUQsSUFBZSxNQUFNZixFQUFFLENBQUNFLGFBQUgsQ0FBaUIsSUFBakIsRUFBdUIsSUFBdkIsRUFBNkJQLGdCQUFFQyxTQUFGLENBQVllLGlCQUFaLENBQTdCLENBQXpCO0FBQ0FJLElBQUFBLFVBQVUsQ0FBQ1YsTUFBWCxDQUFrQkMsRUFBbEIsQ0FBcUJDLENBQXJCLENBQXVCLFFBQXZCO0FBQ0EsUUFBSUMsRUFBRSxHQUFHLElBQUlkLGVBQUosRUFBVDtBQUNBLFFBQUksQ0FBQ3NCLFVBQUQsSUFBZSxNQUFNUixFQUFFLENBQUNOLGFBQUgsQ0FBaUIsSUFBakIsRUFBdUIsSUFBdkIsRUFBNkJQLGdCQUFFQyxTQUFGLENBQVllLGlCQUFaLENBQTdCLENBQXpCO0FBQ0FLLElBQUFBLFVBQVUsQ0FBQ1gsTUFBWCxDQUFrQkMsRUFBbEIsQ0FBcUJDLENBQXJCLENBQXVCLFFBQXZCO0FBQ0FRLElBQUFBLFVBQVUsQ0FBQ1YsTUFBWCxDQUFrQlksR0FBbEIsQ0FBc0JDLEtBQXRCLENBQTRCRixVQUE1QjtBQUNBLFVBQU1oQixFQUFFLENBQUNjLGFBQUgsQ0FBaUJDLFVBQWpCLENBQU47QUFDQSxVQUFNUCxFQUFFLENBQUNNLGFBQUgsQ0FBaUJFLFVBQWpCLENBQU47QUFDRCxHQVZDLENBQUY7QUFXRCxDQWxDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1vY2hhXG5cbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBGYWtlRHJpdmVyIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IFczQ19DQVBTLCBXM0NfUFJFRklYRURfQ0FQUyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBiYXNlRHJpdmVyVW5pdFRlc3RzIH0gZnJvbSAnQGFwcGl1bS9iYXNlLWRyaXZlci9idWlsZC90ZXN0L2Jhc2Vkcml2ZXInO1xuXG5cbi8vIHRlc3QgdGhlIHNhbWUgdGhpbmdzIGFzIGZvciBiYXNlIGRyaXZlclxuYmFzZURyaXZlclVuaXRUZXN0cyhGYWtlRHJpdmVyLCBfLmNsb25lRGVlcChXM0NfUFJFRklYRURfQ0FQUykpO1xuXG5kZXNjcmliZSgnRmFrZURyaXZlcicsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCBub3Qgc3RhcnQgYSBzZXNzaW9uIHdoZW4gYSB1bmlxdWUgc2Vzc2lvbiBpcyBhbHJlYWR5IHJ1bm5pbmcnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGQxID0gbmV3IEZha2VEcml2ZXIoKTtcbiAgICBsZXQgW3VuaXF1ZVNlc3Npb25dID0gYXdhaXQgZDEuY3JlYXRlU2Vzc2lvbihudWxsLCBudWxsLCB7XG4gICAgICBhbHdheXNNYXRjaDogeyAuLi5fLmNsb25lRGVlcChXM0NfUFJFRklYRURfQ0FQUyksICdhcHBpdW06dW5pcXVlQXBwJzogdHJ1ZSB9LFxuICAgICAgZmlyc3RNYXRjaDogW3t9XSxcbiAgICB9KTtcbiAgICB1bmlxdWVTZXNzaW9uLnNob3VsZC5iZS5hKCdzdHJpbmcnKTtcbiAgICBsZXQgZDIgPSBuZXcgRmFrZURyaXZlcigpO1xuICAgIGxldCBvdGhlclNlc3Npb25EYXRhID0gW2QxLmRyaXZlckRhdGFdO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBkMlxuICAgICAgICAuY3JlYXRlU2Vzc2lvbihcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgXy5jbG9uZURlZXAoVzNDX0NBUFMpLFxuICAgICAgICAgIG90aGVyU2Vzc2lvbkRhdGEsXG4gICAgICAgIClcbiAgICAgICAgLnNob3VsZC5ldmVudHVhbGx5LmJlLnJlamVjdGVkV2l0aCgvdW5pcXVlLyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGQxLmRlbGV0ZVNlc3Npb24odW5pcXVlU2Vzc2lvbik7XG4gICAgfVxuICB9KTtcbiAgaXQoJ3Nob3VsZCBzdGFydCBhIG5ldyBzZXNzaW9uIHdoZW4gYW5vdGhlciBub24tdW5pcXVlIHNlc3Npb24gaXMgcnVubmluZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZDEgPSBuZXcgRmFrZURyaXZlcigpO1xuICAgIGxldCBbc2Vzc2lvbjFJZF0gPSBhd2FpdCBkMS5jcmVhdGVTZXNzaW9uKG51bGwsIG51bGwsIF8uY2xvbmVEZWVwKFczQ19DQVBTKSk7XG4gICAgc2Vzc2lvbjFJZC5zaG91bGQuYmUuYSgnc3RyaW5nJyk7XG4gICAgbGV0IGQyID0gbmV3IEZha2VEcml2ZXIoKTtcbiAgICBsZXQgW3Nlc3Npb24ySWRdID0gYXdhaXQgZDIuY3JlYXRlU2Vzc2lvbihudWxsLCBudWxsLCBfLmNsb25lRGVlcChXM0NfQ0FQUykpO1xuICAgIHNlc3Npb24ySWQuc2hvdWxkLmJlLmEoJ3N0cmluZycpO1xuICAgIHNlc3Npb24xSWQuc2hvdWxkLm5vdC5lcXVhbChzZXNzaW9uMklkKTtcbiAgICBhd2FpdCBkMS5kZWxldGVTZXNzaW9uKHNlc3Npb24xSWQpO1xuICAgIGF3YWl0IGQyLmRlbGV0ZVNlc3Npb24oc2Vzc2lvbjJJZCk7XG4gIH0pO1xufSk7XG4iXSwiZmlsZSI6InRlc3QvZHJpdmVyLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
@@ -1,133 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- require("source-map-support/register");
11
-
12
- var _chaiWebdriverioAsync = _interopRequireDefault(require("chai-webdriverio-async"));
13
-
14
- var _helpers = require("./helpers");
15
-
16
- function elementTests() {
17
- describe('element interaction and introspection', function () {
18
- let driver;
19
- before(async function () {
20
- driver = await (0, _helpers.initSession)(_helpers.W3C_PREFIXED_CAPS);
21
- chai.use((0, _chaiWebdriverioAsync.default)(driver));
22
- });
23
- after(async function () {
24
- return await (0, _helpers.deleteSession)(driver);
25
- });
26
- it('should not set value on an invalid element', async function () {
27
- const el = await driver.$('//MockListItem');
28
- await el.setValue('test value').should.eventually.be.rejectedWith(/invalid state/);
29
- });
30
- it('should set value on an element and retrieve text', async function () {
31
- let el = await driver.$('//MockInputField');
32
- await el.setValue('test value');
33
- await el.should.have.text('test value');
34
- });
35
- it('should not clear an invalid element', async function () {
36
- await (await driver.$('//MockListItem')).clearValue().should.eventually.be.rejectedWith(/invalid state/);
37
- });
38
- it('should clear an element', async function () {
39
- let el = await driver.$('//MockInputField');
40
- await el.setValue('test value');
41
- await el.should.not.have.text('');
42
- await el.clearValue();
43
- await el.should.have.text('');
44
- });
45
- it('should not click an invisible element', async function () {
46
- await (await driver.$('#Button1')).click().should.eventually.be.rejectedWith(/invalid state/);
47
- });
48
- it('should click an element and get its attributes', async function () {
49
- let el = await driver.$('#Button2');
50
- await el.click();
51
- await el.click();
52
- await el.click();
53
- (await el.getAttribute('clicks')).should.equal(3);
54
- });
55
- it('should get the name of an element', async function () {
56
- let el = await driver.$('MockInputField');
57
- (await el.getTagName()).should.equal('MockInputField');
58
- el = await driver.$('#wv');
59
- (await el.getTagName()).should.equal('MockWebView');
60
- });
61
- it('should detect whether an element is displayed', async function () {
62
- await driver.$('#Button1').should.not.be.displayed();
63
- await driver.$('#Button2').should.be.displayed();
64
- });
65
- it('should detect whether an element is enabled', async function () {
66
- await driver.$('#Button1').should.not.be.enabled();
67
- await driver.$('#Button2').should.be.enabled();
68
- });
69
- it('should detect whether an element is selected', async function () {
70
- await driver.$('#Button1').should.not.be.selected();
71
- await driver.$('#Button2').should.be.selected();
72
- });
73
- it('should get the rect of an element', async function () {
74
- let {
75
- elementId
76
- } = await driver.$('#nav');
77
- (await driver.getElementRect(elementId)).should.eql({
78
- x: 1,
79
- y: 1,
80
- width: 100,
81
- height: 100
82
- });
83
- });
84
- it('should get the rect of an element with float vals', async function () {
85
- let {
86
- elementId
87
- } = await driver.$('#lv');
88
- (await driver.getElementRect(elementId)).should.eql({
89
- x: 20.8,
90
- y: 15.3,
91
- height: 2,
92
- width: 30.5
93
- });
94
- });
95
- it('should determine element equality', async function () {
96
- let el1 = await driver.$('#wv');
97
- let el2 = await driver.$('#wv');
98
- (await el1.isEqual(el2)).should.equal(true);
99
- });
100
- it('should determine element inequality', async function () {
101
- let el1 = await driver.$('#wv');
102
- let el2 = await driver.$('#lv');
103
- (await el1.isEqual(el2)).should.equal(false);
104
- });
105
- it('should not get the css property of an element when not in a webview', async function () {
106
- const {
107
- elementId
108
- } = await driver.$('#Button1');
109
- await driver.getElementCSSValue(elementId, 'height').should.eventually.be.rejectedWith({
110
- code: 36
111
- });
112
- });
113
- it('should get the css property of an element when in a webview', async function () {
114
- await driver.switchContext('WEBVIEW_1');
115
- let {
116
- elementId
117
- } = await driver.$('body');
118
- (await driver.getElementCSSValue(elementId, 'background-color')).should.equal('#000');
119
- });
120
- it('should return null for an unspecified css property', async function () {
121
- let {
122
- elementId
123
- } = await driver.$('body');
124
- should.equal(await driver.getElementCSSValue(elementId, 'font-size'), null);
125
- });
126
- });
127
- }
128
-
129
- var _default = elementTests;
130
- exports.default = _default;require('source-map-support').install();
131
-
132
-
133
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZWxlbWVudC1pbnRlcmFjdGlvbi10ZXN0cy5qcyJdLCJuYW1lcyI6WyJlbGVtZW50VGVzdHMiLCJkZXNjcmliZSIsImRyaXZlciIsImJlZm9yZSIsIlczQ19QUkVGSVhFRF9DQVBTIiwiY2hhaSIsInVzZSIsImFmdGVyIiwiaXQiLCJlbCIsIiQiLCJzZXRWYWx1ZSIsInNob3VsZCIsImV2ZW50dWFsbHkiLCJiZSIsInJlamVjdGVkV2l0aCIsImhhdmUiLCJ0ZXh0IiwiY2xlYXJWYWx1ZSIsIm5vdCIsImNsaWNrIiwiZ2V0QXR0cmlidXRlIiwiZXF1YWwiLCJnZXRUYWdOYW1lIiwiZGlzcGxheWVkIiwiZW5hYmxlZCIsInNlbGVjdGVkIiwiZWxlbWVudElkIiwiZ2V0RWxlbWVudFJlY3QiLCJlcWwiLCJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0IiwiZWwxIiwiZWwyIiwiaXNFcXVhbCIsImdldEVsZW1lbnRDU1NWYWx1ZSIsImNvZGUiLCJzd2l0Y2hDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUVBLFNBQVNBLFlBQVQsR0FBeUI7QUFDdkJDLEVBQUFBLFFBQVEsQ0FBQyx1Q0FBRCxFQUEwQyxZQUFZO0FBQzVELFFBQUlDLE1BQUo7QUFDQUMsSUFBQUEsTUFBTSxDQUFFLGtCQUFrQjtBQUN4QkQsTUFBQUEsTUFBTSxHQUFHLE1BQU0sMEJBQVlFLDBCQUFaLENBQWY7QUFDQUMsTUFBQUEsSUFBSSxDQUFDQyxHQUFMLENBQVMsbUNBQXFCSixNQUFyQixDQUFUO0FBQ0QsS0FISyxDQUFOO0FBSUFLLElBQUFBLEtBQUssQ0FBQyxrQkFBa0I7QUFDdEIsYUFBTyxNQUFNLDRCQUFjTCxNQUFkLENBQWI7QUFDRCxLQUZJLENBQUw7QUFJQU0sSUFBQUEsRUFBRSxDQUFDLDRDQUFELEVBQStDLGtCQUFrQjtBQUNqRSxZQUFNQyxFQUFFLEdBQUcsTUFBTVAsTUFBTSxDQUFDUSxDQUFQLENBQVMsZ0JBQVQsQ0FBakI7QUFDQSxZ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RUFBd0Usa0JBQWtCO0FBQzFGLFlBQU07QUFBQ21CLFFBQUFBO0FBQUQsVUFBYyxNQUFNekIsTUFBTSxDQUFDUSxDQUFQLENBQVMsVUFBVCxDQUExQjtBQUNBLFlBQU1SLE1BQU0sQ0FBQ21DLGtCQUFQLENBQTBCVixTQUExQixFQUFxQyxRQUFyQyxFQUErQ2YsTUFBL0MsQ0FBc0RDLFVBQXRELENBQWlFQyxFQUFqRSxDQUFvRUMsWUFBcEUsQ0FBaUY7QUFBQ3VCLFFBQUFBLElBQUksRUFBRTtBQUFQLE9BQWpGLENBQU47QUFDRCxLQUhDLENBQUY7QUFJQTlCLElBQUFBLEVBQUUsQ0FBQyw2REFBRCxFQUFnRSxrQkFBa0I7QUFDbEYsWUFBTU4sTUFBTSxDQUFDcUMsYUFBUCxDQUFxQixXQUFyQixDQUFOO0FBQ0EsVUFBSTtBQUFDWixRQUFBQTtBQUFELFVBQWMsTUFBTXpCLE1BQU0sQ0FBQ1EsQ0FBUCxDQUFTLE1BQVQsQ0FBeEI7QUFDQSxPQUFDLE1BQU1SLE1BQU0sQ0FBQ21DLGtCQUFQLENBQTBCVixTQUExQixFQUFxQyxrQkFBckMsQ0FBUCxFQUFpRWYsTUFBakUsQ0FBd0VVLEtBQXhFLENBQThFLE1BQTlFO0FBQ0QsS0FKQyxDQUFGO0FBS0FkLElBQUFBLEVBQUUsQ0FBQyxvREFBRCxFQUF1RCxrQkFBa0I7QUFDekUsVUFBSTtBQUFDbUIsUUFBQUE7QUFBRCxVQUFjLE1BQU16QixNQUFNLENBQUNRLENBQVAsQ0FBUyxNQUFULENBQXhCO0FBQ0FFLE1BQUFBLE1BQU0sQ0FBQ1UsS0FBUCxDQUFhLE1BQU1wQixNQUFNLENBQUNtQyxrQkFBUCxDQUEwQlYsU0FBMUIsRUFBcUMsV0FBckMsQ0FBbkIsRUFBc0UsSUFBdEU7QUFDRCxLQUhDLENBQUY7QUFJRCxHQTNGTyxDQUFSO0FBNEZEOztlQUVjM0IsWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFpV2ViZHJpdmVySU9Bc3luYyBmcm9tICdjaGFpLXdlYmRyaXZlcmlvLWFzeW5jJztcblxuaW1wb3J0IHsgaW5pdFNlc3Npb24sIGRlbGV0ZVNlc3Npb24sIFczQ19QUkVGSVhFRF9DQVBTIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuZnVuY3Rpb24gZWxlbWVudFRlc3RzICgpIHtcbiAgZGVzY3JpYmUoJ2VsZW1lbnQgaW50ZXJhY3Rpb24gYW5kIGludHJvc3BlY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGRyaXZlcjtcbiAgICBiZWZvcmUgKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGRyaXZlciA9IGF3YWl0IGluaXRTZXNzaW9uKFczQ19QUkVGSVhFRF9DQVBTKTtcbiAgICAgIGNoYWkudXNlKGNoYWlXZWJkcml2ZXJJT0FzeW5jKGRyaXZlcikpO1xuICAgIH0pO1xuICAgIGFmdGVyKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhd2FpdCBkZWxldGVTZXNzaW9uKGRyaXZlcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBzZXQgdmFsdWUgb24gYW4gaW52YWxpZCBlbGVtZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZWwgPSBhd2FpdCBkcml2ZXIuJCgnLy9Nb2NrTGlzdEl0ZW0nKTtcbiAgICAgIGF3YWl0IGVsLnNldFZhbHVlKCd0ZXN0IHZhbHVlJykuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKC9pbnZhbGlkIHN0YXRlLyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBzZXQgdmFsdWUgb24gYW4gZWxlbWVudCBhbmQgcmV0cmlldmUgdGV4dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBlbCA9IGF3YWl0IGRyaXZlci4kKCcvL01vY2tJbnB1dEZpZWxkJyk7XG4gICAgICBhd2FpdCBlbC5zZXRWYWx1ZSgndGVzdCB2YWx1ZScpO1xuICAgICAgYXdhaXQgZWwuc2hvdWxkLmhhdmUudGV4dCgndGVzdCB2YWx1ZScpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IGNsZWFyIGFuIGludmFsaWQgZWxlbWVudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IChhd2FpdCBkcml2ZXIuJCgnLy9Nb2NrTGlzdEl0ZW0nKSkuY2xlYXJWYWx1ZSgpXG4gICAgICAgICAgICAgIC5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoL2ludmFsaWQgc3RhdGUvKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGNsZWFyIGFuIGVsZW1lbnQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBsZXQgZWwgPSBhd2FpdCBkcml2ZXIuJCgnLy9Nb2NrSW5wdXRGaWVsZCcpO1xuICAgICAgYXdhaXQgZWwuc2V0VmFsdWUoJ3Rlc3QgdmFsdWUnKTtcbiAgICAgIGF3YWl0IGVsLnNob3VsZC5ub3QuaGF2ZS50ZXh0KCcnKTtcbiAgICAgIGF3YWl0IGVsLmNsZWFyVmFsdWUoKTtcbiAgICAgIGF3YWl0IGVsLnNob3VsZC5oYXZlLnRleHQoJycpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IGNsaWNrIGFuIGludmlzaWJsZSBlbGVtZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgKGF3YWl0IGRyaXZlci4kKCcjQnV0dG9uMScpKS5jbGljaygpXG4gICAgICAgICAgICAgIC5zaG91bGQuZXZlbnR1YWxseS5iZS5yZWplY3RlZFdpdGgoL2ludmFsaWQgc3RhdGUvKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGNsaWNrIGFuIGVsZW1lbnQgYW5kIGdldCBpdHMgYXR0cmlidXRlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBlbCA9IGF3YWl0IGRyaXZlci4kKCcjQnV0dG9uMicpO1xuICAgICAgYXdhaXQgZWwuY2xpY2soKTtcbiAgICAgIGF3YWl0IGVsLmNsaWNrKCk7XG4gICAgICBhd2FpdCBlbC5jbGljaygpO1xuICAgICAgKGF3YWl0IGVsLmdldEF0dHJpYnV0ZSgnY2xpY2tzJykpLnNob3VsZC5lcXVhbCgzKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGdldCB0aGUgbmFtZSBvZiBhbiBlbGVtZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IGVsID0gYXdhaXQgZHJpdmVyLiQoJ01vY2tJbnB1dEZpZWxkJyk7XG4gICAgICAoYXdhaXQgZWwuZ2V0VGFnTmFtZSgpKS5zaG91bGQuZXF1YWwoJ01vY2tJbnB1dEZpZWxkJyk7XG4gICAgICBlbCA9IGF3YWl0IGRyaXZlci4kKCcjd3YnKTtcbiAgICAgIChhd2FpdCBlbC5nZXRUYWdOYW1lKCkpLnNob3VsZC5lcXVhbCgnTW9ja1dlYlZpZXcnKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGRldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgZGlzcGxheWVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgZHJpdmVyLiQoJyNCdXR0b24xJykuc2hvdWxkLm5vdC5iZS5kaXNwbGF5ZWQoKTtcbiAgICAgIGF3YWl0IGRyaXZlci4kKCcjQnV0dG9uMicpLnNob3VsZC5iZS5kaXNwbGF5ZWQoKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGRldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgZW5hYmxlZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci4kKCcjQnV0dG9uMScpLnNob3VsZC5ub3QuYmUuZW5hYmxlZCgpO1xuICAgICAgYXdhaXQgZHJpdmVyLiQoJyNCdXR0b24yJykuc2hvdWxkLmJlLmVuYWJsZWQoKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGRldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgc2VsZWN0ZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBkcml2ZXIuJCgnI0J1dHRvbjEnKS5zaG91bGQubm90LmJlLnNlbGVjdGVkKCk7XG4gICAgICBhd2FpdCBkcml2ZXIuJCgnI0J1dHRvbjInKS5zaG91bGQuYmUuc2VsZWN0ZWQoKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGdldCB0aGUgcmVjdCBvZiBhbiBlbGVtZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IHtlbGVtZW50SWR9ID0gYXdhaXQgZHJpdmVyLiQoJyNuYXYnKTtcbiAgICAgIChhd2FpdCBkcml2ZXIuZ2V0RWxlbWVudFJlY3QoZWxlbWVudElkKSkuc2hvdWxkLmVxbCh7eDogMSwgeTogMSwgd2lkdGg6IDEwMCwgaGVpZ2h0OiAxMDB9KTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGdldCB0aGUgcmVjdCBvZiBhbiBlbGVtZW50IHdpdGggZmxvYXQgdmFscycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCB7ZWxlbWVudElkfSA9IGF3YWl0IGRyaXZlci4kKCcjbHYnKTtcbiAgICAgIChhd2FpdCBkcml2ZXIuZ2V0RWxlbWVudFJlY3QoZWxlbWVudElkKSkuc2hvdWxkLmVxbCh7eDogMjAuOCwgeTogMTUuMywgaGVpZ2h0OiAyLCB3aWR0aDogMzAuNX0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZGV0ZXJtaW5lIGVsZW1lbnQgZXF1YWxpdHknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBsZXQgZWwxID0gYXdhaXQgZHJpdmVyLiQoJyN3dicpO1xuICAgICAgbGV0IGVsMiA9IGF3YWl0IGRyaXZlci4kKCcjd3YnKTtcbiAgICAgIChhd2FpdCBlbDEuaXNFcXVhbChlbDIpKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBkZXRlcm1pbmUgZWxlbWVudCBpbmVxdWFsaXR5JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IGVsMSA9IGF3YWl0IGRyaXZlci4kKCcjd3YnKTtcbiAgICAgIGxldCBlbDIgPSBhd2FpdCBkcml2ZXIuJCgnI2x2Jyk7XG4gICAgICAoYXdhaXQgZWwxLmlzRXF1YWwoZWwyKSkuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IGdldCB0aGUgY3NzIHByb3BlcnR5IG9mIGFuIGVsZW1lbnQgd2hlbiBub3QgaW4gYSB3ZWJ2aWV3JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qge2VsZW1lbnRJZH0gPSBhd2FpdCBkcml2ZXIuJCgnI0J1dHRvbjEnKTtcbiAgICAgIGF3YWl0IGRyaXZlci5nZXRFbGVtZW50Q1NTVmFsdWUoZWxlbWVudElkLCAnaGVpZ2h0Jykuc2hvdWxkLmV2ZW50dWFsbHkuYmUucmVqZWN0ZWRXaXRoKHtjb2RlOiAzNn0pO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZ2V0IHRoZSBjc3MgcHJvcGVydHkgb2YgYW4gZWxlbWVudCB3aGVuIGluIGEgd2VidmlldycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IGRyaXZlci5zd2l0Y2hDb250ZXh0KCdXRUJWSUVXXzEnKTtcbiAgICAgIGxldCB7ZWxlbWVudElkfSA9IGF3YWl0IGRyaXZlci4kKCdib2R5Jyk7XG4gICAgICAoYXdhaXQgZHJpdmVyLmdldEVsZW1lbnRDU1NWYWx1ZShlbGVtZW50SWQsICdiYWNrZ3JvdW5kLWNvbG9yJykpLnNob3VsZC5lcXVhbCgnIzAwMCcpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgZm9yIGFuIHVuc3BlY2lmaWVkIGNzcyBwcm9wZXJ0eScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCB7ZWxlbWVudElkfSA9IGF3YWl0IGRyaXZlci4kKCdib2R5Jyk7XG4gICAgICBzaG91bGQuZXF1YWwoYXdhaXQgZHJpdmVyLmdldEVsZW1lbnRDU1NWYWx1ZShlbGVtZW50SWQsICdmb250LXNpemUnKSwgbnVsbCk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBlbGVtZW50VGVzdHM7XG4iXSwiZmlsZSI6InRlc3QvZWxlbWVudC1pbnRlcmFjdGlvbi10ZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9