@appium/test-support 1.3.21 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +8 -8
  2. package/build/lib/driver-e2e-suite.d.ts +77 -0
  3. package/build/lib/driver-e2e-suite.d.ts.map +1 -0
  4. package/build/lib/driver-e2e-suite.js +388 -0
  5. package/build/lib/driver-unit-suite.d.ts +12 -0
  6. package/build/lib/driver-unit-suite.d.ts.map +1 -0
  7. package/build/lib/driver-unit-suite.js +564 -0
  8. package/build/lib/env-utils.d.ts +5 -0
  9. package/build/lib/env-utils.d.ts.map +1 -0
  10. package/build/lib/env-utils.js +3 -6
  11. package/build/lib/helpers.d.ts +19 -0
  12. package/build/lib/helpers.d.ts.map +1 -0
  13. package/build/lib/helpers.js +49 -0
  14. package/build/lib/index.d.ts +12 -0
  15. package/build/lib/index.d.ts.map +1 -0
  16. package/build/lib/index.js +59 -2
  17. package/build/lib/log-utils.d.ts +34 -0
  18. package/build/lib/log-utils.d.ts.map +1 -0
  19. package/build/lib/log-utils.js +4 -8
  20. package/build/lib/logger.d.ts +3 -0
  21. package/build/lib/logger.d.ts.map +1 -0
  22. package/build/lib/logger.js +2 -2
  23. package/build/lib/mock-utils.d.ts +47 -0
  24. package/build/lib/mock-utils.d.ts.map +1 -0
  25. package/build/lib/mock-utils.js +57 -29
  26. package/build/lib/plugin-e2e-harness.d.ts +67 -0
  27. package/build/lib/plugin-e2e-harness.d.ts.map +1 -0
  28. package/build/lib/plugin-e2e-harness.js +144 -0
  29. package/build/lib/sandbox-utils.d.ts +41 -0
  30. package/build/lib/sandbox-utils.d.ts.map +1 -0
  31. package/build/lib/sandbox-utils.js +46 -29
  32. package/build/lib/time-utils.d.ts +9 -0
  33. package/build/lib/time-utils.d.ts.map +1 -0
  34. package/build/lib/time-utils.js +1 -1
  35. package/build/lib/unhandled-rejection.d.ts +2 -0
  36. package/build/lib/unhandled-rejection.d.ts.map +1 -0
  37. package/build/tsconfig.tsbuildinfo +1 -0
  38. package/lib/driver-e2e-suite.js +463 -0
  39. package/lib/driver-unit-suite.js +642 -0
  40. package/lib/env-utils.js +5 -3
  41. package/lib/helpers.js +68 -0
  42. package/lib/index.js +17 -7
  43. package/lib/log-utils.js +25 -8
  44. package/lib/logger.js +1 -1
  45. package/lib/mock-utils.js +89 -25
  46. package/lib/plugin-e2e-harness.js +163 -0
  47. package/lib/sandbox-utils.js +70 -26
  48. package/lib/time-utils.js +1 -0
  49. package/package.json +15 -6
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Creates Mocha "before each" and "after each" hooks to restore `process.env` after every test.
3
+ */
4
+ export function stubEnv(): void;
5
+ //# sourceMappingURL=env-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-utils.d.ts","sourceRoot":"","sources":["../../lib/env-utils.js"],"names":[],"mappings":"AAAA;;GAEG;AACH,gCAUC"}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -9,16 +7,15 @@ exports.stubEnv = stubEnv;
9
7
 
10
8
  require("source-map-support/register");
11
9
 
12
- var _lodash = _interopRequireDefault(require("lodash"));
13
-
14
10
  function stubEnv() {
15
11
  let envBackup;
16
12
  beforeEach(function beforeEach() {
17
13
  envBackup = process.env;
18
- process.env = _lodash.default.cloneDeep(process.env);
14
+ process.env = { ...process.env
15
+ };
19
16
  });
20
17
  afterEach(function afterEach() {
21
18
  process.env = envBackup;
22
19
  });
23
20
  }
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHViRW52IiwiZW52QmFja3VwIiwiYmVmb3JlRWFjaCIsInByb2Nlc3MiLCJlbnYiLCJfIiwiY2xvbmVEZWVwIiwiYWZ0ZXJFYWNoIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2Vudi11dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5mdW5jdGlvbiBzdHViRW52KCkge1xuICBsZXQgZW52QmFja3VwO1xuICBiZWZvcmVFYWNoKGZ1bmN0aW9uIGJlZm9yZUVhY2goKSB7XG4gICAgZW52QmFja3VwID0gcHJvY2Vzcy5lbnY7XG4gICAgcHJvY2Vzcy5lbnYgPSBfLmNsb25lRGVlcChwcm9jZXNzLmVudik7XG4gIH0pO1xuICBhZnRlckVhY2goZnVuY3Rpb24gYWZ0ZXJFYWNoKCkge1xuICAgIHByb2Nlc3MuZW52ID0gZW52QmFja3VwO1xuICB9KTtcbn1cblxuZXhwb3J0IHtzdHViRW52fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxTQUFTQSxPQUFULEdBQW1CO0VBQ2pCLElBQUlDLFNBQUo7RUFDQUMsVUFBVSxDQUFDLFNBQVNBLFVBQVQsR0FBc0I7SUFDL0JELFNBQVMsR0FBR0UsT0FBTyxDQUFDQyxHQUFwQjtJQUNBRCxPQUFPLENBQUNDLEdBQVIsR0FBY0MsZUFBQSxDQUFFQyxTQUFGLENBQVlILE9BQU8sQ0FBQ0MsR0FBcEIsQ0FBZDtFQUNELENBSFMsQ0FBVjtFQUlBRyxTQUFTLENBQUMsU0FBU0EsU0FBVCxHQUFxQjtJQUM3QkosT0FBTyxDQUFDQyxHQUFSLEdBQWNILFNBQWQ7RUFDRCxDQUZRLENBQVQ7QUFHRCJ9
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHViRW52IiwiZW52QmFja3VwIiwiYmVmb3JlRWFjaCIsInByb2Nlc3MiLCJlbnYiLCJhZnRlckVhY2giXSwic291cmNlcyI6WyIuLi8uLi9saWIvZW52LXV0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBNb2NoYSBcImJlZm9yZSBlYWNoXCIgYW5kIFwiYWZ0ZXIgZWFjaFwiIGhvb2tzIHRvIHJlc3RvcmUgYHByb2Nlc3MuZW52YCBhZnRlciBldmVyeSB0ZXN0LlxuICovXG5mdW5jdGlvbiBzdHViRW52KCkge1xuICAvKiogQHR5cGUge05vZGVKUy5Qcm9jZXNzRW52fSAqL1xuICBsZXQgZW52QmFja3VwO1xuICBiZWZvcmVFYWNoKGZ1bmN0aW9uIGJlZm9yZUVhY2goKSB7XG4gICAgZW52QmFja3VwID0gcHJvY2Vzcy5lbnY7XG4gICAgcHJvY2Vzcy5lbnYgPSB7Li4ucHJvY2Vzcy5lbnZ9O1xuICB9KTtcbiAgYWZ0ZXJFYWNoKGZ1bmN0aW9uIGFmdGVyRWFjaCgpIHtcbiAgICBwcm9jZXNzLmVudiA9IGVudkJhY2t1cDtcbiAgfSk7XG59XG5cbmV4cG9ydCB7c3R1YkVudn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLFNBQVNBLE9BQVQsR0FBbUI7RUFFakIsSUFBSUMsU0FBSjtFQUNBQyxVQUFVLENBQUMsU0FBU0EsVUFBVCxHQUFzQjtJQUMvQkQsU0FBUyxHQUFHRSxPQUFPLENBQUNDLEdBQXBCO0lBQ0FELE9BQU8sQ0FBQ0MsR0FBUixHQUFjLEVBQUMsR0FBR0QsT0FBTyxDQUFDQztJQUFaLENBQWQ7RUFDRCxDQUhTLENBQVY7RUFJQUMsU0FBUyxDQUFDLFNBQVNBLFNBQVQsR0FBcUI7SUFDN0JGLE9BQU8sQ0FBQ0MsR0FBUixHQUFjSCxTQUFkO0VBQ0QsQ0FGUSxDQUFUO0FBR0QifQ==
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Default test host
3
+ */
4
+ export const TEST_HOST: "127.0.0.1";
5
+ /**
6
+ * Returns a free port; one per process
7
+ * @param {boolean} [force] - If true, do not reuse the port (if it already exists)
8
+ * @returns {Promise<number>} a free port
9
+ */
10
+ export function getTestPort(force?: boolean | undefined): Promise<number>;
11
+ /**
12
+ * Build an Appium URL from components.
13
+ *
14
+ * **All** parameters are required. Provide an empty string (`''`) if you don't need one.
15
+ * To rearrange arguments (if needed), use the placeholder from Lodash (`_`).
16
+ *
17
+ */
18
+ export const createAppiumURL: import("lodash").CurriedFunction4<string, string | number, string | null, string, string>;
19
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../lib/helpers.js"],"names":[],"mappings":"AAGA;;GAEG;AACH,oCAA8B;AAI9B;;;;GAIG;AACH,0DAFa,QAAQ,MAAM,CAAC,CAW3B;AAED;;;;;;GAMG;AACH,wHAgCE"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createAppiumURL = exports.TEST_HOST = void 0;
9
+ exports.getTestPort = getTestPort;
10
+
11
+ require("source-map-support/register");
12
+
13
+ var _getPort = _interopRequireDefault(require("get-port"));
14
+
15
+ var _lodash = require("lodash");
16
+
17
+ const TEST_HOST = '127.0.0.1';
18
+ exports.TEST_HOST = TEST_HOST;
19
+ let testPort;
20
+
21
+ async function getTestPort(force = false) {
22
+ if (force || !testPort) {
23
+ let port = await (0, _getPort.default)();
24
+
25
+ if (!testPort) {
26
+ testPort = port;
27
+ }
28
+
29
+ return port;
30
+ }
31
+
32
+ return testPort;
33
+ }
34
+
35
+ const createAppiumURL = (0, _lodash.curry)((address, port, session, pathname) => {
36
+ if (!/^https?:\/\//.test(address)) {
37
+ address = `http://${address}`;
38
+ }
39
+
40
+ let path = session ? `session/${session}` : '';
41
+
42
+ if (pathname) {
43
+ path = `${path}/${pathname}`;
44
+ }
45
+
46
+ return new URL(path, `${address}:${port}`).href;
47
+ });
48
+ exports.createAppiumURL = createAppiumURL;
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJURVNUX0hPU1QiLCJ0ZXN0UG9ydCIsImdldFRlc3RQb3J0IiwiZm9yY2UiLCJwb3J0IiwiZ2V0UG9ydCIsImNyZWF0ZUFwcGl1bVVSTCIsImN1cnJ5IiwiYWRkcmVzcyIsInNlc3Npb24iLCJwYXRobmFtZSIsInRlc3QiLCJwYXRoIiwiVVJMIiwiaHJlZiJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oZWxwZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRQb3J0IGZyb20gJ2dldC1wb3J0JztcbmltcG9ydCB7Y3Vycnl9IGZyb20gJ2xvZGFzaCc7XG5cbi8qKlxuICogRGVmYXVsdCB0ZXN0IGhvc3RcbiAqL1xuY29uc3QgVEVTVF9IT1NUID0gJzEyNy4wLjAuMSc7XG5cbmxldCB0ZXN0UG9ydDtcblxuLyoqXG4gKiBSZXR1cm5zIGEgZnJlZSBwb3J0OyBvbmUgcGVyIHByb2Nlc3NcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2ZvcmNlXSAtIElmIHRydWUsIGRvIG5vdCByZXVzZSB0aGUgcG9ydCAoaWYgaXQgYWxyZWFkeSBleGlzdHMpXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxudW1iZXI+fSBhIGZyZWUgcG9ydFxuICovXG5hc3luYyBmdW5jdGlvbiBnZXRUZXN0UG9ydChmb3JjZSA9IGZhbHNlKSB7XG4gIGlmIChmb3JjZSB8fCAhdGVzdFBvcnQpIHtcbiAgICBsZXQgcG9ydCA9IGF3YWl0IGdldFBvcnQoKTtcbiAgICBpZiAoIXRlc3RQb3J0KSB7XG4gICAgICB0ZXN0UG9ydCA9IHBvcnQ7XG4gICAgfVxuICAgIHJldHVybiBwb3J0O1xuICB9XG4gIHJldHVybiB0ZXN0UG9ydDtcbn1cblxuLyoqXG4gKiBCdWlsZCBhbiBBcHBpdW0gVVJMIGZyb20gY29tcG9uZW50cy5cbiAqXG4gKiAqKkFsbCoqIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkLiAgUHJvdmlkZSBhbiBlbXB0eSBzdHJpbmcgKGAnJ2ApIGlmIHlvdSBkb24ndCBuZWVkIG9uZS5cbiAqIFRvIHJlYXJyYW5nZSBhcmd1bWVudHMgKGlmIG5lZWRlZCksIHVzZSB0aGUgcGxhY2Vob2xkZXIgZnJvbSBMb2Rhc2ggKGBfYCkuXG4gKlxuICovXG5jb25zdCBjcmVhdGVBcHBpdW1VUkwgPSBjdXJyeShcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gQmFzZSBhZGRyZXNzICh3LyBvcHRpb25hbCBwcm90b2NvbClcbiAgICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBwb3J0IC0gUG9ydCBudW1iZXJcbiAgICogQHBhcmFtIHtzdHJpbmc/fSBzZXNzaW9uIC0gU2Vzc2lvbiBJRFxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aG5hbWUgLSBFeHRyYSBwYXRoXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IE5ldyBVUkxcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbiAgICpcbiAgICogLy8gaHR0cDovLzEyNy4wLjAuMTozMTMzNy9zZXNzaW9uXG4gICAqIGNyZWF0ZUFwcGl1bVVSTCgnMTI3LjAuMC4xJywgMzEzMzcsICcnLCAnc2Vzc2lvbicpXG4gICAqXG4gICAqIC8vIGh0dHA6Ly8xMjcuMC4wLjE6MzEzMzcvc2Vzc2lvbi9hc2RmZ2prbFxuICAgKiBjb25zdCBjcmVhdGVTZXNzaW9uVVJMID0gY3JlYXRlQXBwaXVtVVJMKCcxMjcuMC4wLjEnLCAzMTMzNywgXywgJ3Nlc3Npb24nKVxuICAgKiBjcmVhdGVTZXNzaW9uVVJMKCdhc2RmZ2prbCcpXG4gICAqXG4gICAqIC8vIGh0dHA6Ly8xMjcuMC4wLjE6MzEzMzcvc2Vzc2lvbi9hc2RmZ2prbC9hcHBpdW0vZXhlY3V0ZVxuICAgKiBjb25zdCBjcmVhdGVVUkxXaXRoUGF0aCA9IGNyZWF0ZUFwcGl1bVVSTCgnMTI3LjAuMC4xJywgMzEzMzcsICdhc2RmZ2prbCcpO1xuICAgKiBjcmVhdGVVUkxXaXRoUGF0aCgnYXBwaXVtL2V4ZWN1dGUnKVxuICAgKi9cbiAgKGFkZHJlc3MsIHBvcnQsIHNlc3Npb24sIHBhdGhuYW1lKSA9PiB7XG4gICAgaWYgKCEvXmh0dHBzPzpcXC9cXC8vLnRlc3QoYWRkcmVzcykpIHtcbiAgICAgIGFkZHJlc3MgPSBgaHR0cDovLyR7YWRkcmVzc31gO1xuICAgIH1cbiAgICBsZXQgcGF0aCA9IHNlc3Npb24gPyBgc2Vzc2lvbi8ke3Nlc3Npb259YCA6ICcnO1xuICAgIGlmIChwYXRobmFtZSkge1xuICAgICAgcGF0aCA9IGAke3BhdGh9LyR7cGF0aG5hbWV9YDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBVUkwocGF0aCwgYCR7YWRkcmVzc306JHtwb3J0fWApLmhyZWY7XG4gIH1cbik7XG5cbmV4cG9ydCB7VEVTVF9IT1NULCBnZXRUZXN0UG9ydCwgY3JlYXRlQXBwaXVtVVJMfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBS0EsTUFBTUEsU0FBUyxHQUFHLFdBQWxCOztBQUVBLElBQUlDLFFBQUo7O0FBT0EsZUFBZUMsV0FBZixDQUEyQkMsS0FBSyxHQUFHLEtBQW5DLEVBQTBDO0VBQ3hDLElBQUlBLEtBQUssSUFBSSxDQUFDRixRQUFkLEVBQXdCO0lBQ3RCLElBQUlHLElBQUksR0FBRyxNQUFNLElBQUFDLGdCQUFBLEdBQWpCOztJQUNBLElBQUksQ0FBQ0osUUFBTCxFQUFlO01BQ2JBLFFBQVEsR0FBR0csSUFBWDtJQUNEOztJQUNELE9BQU9BLElBQVA7RUFDRDs7RUFDRCxPQUFPSCxRQUFQO0FBQ0Q7O0FBU0QsTUFBTUssZUFBZSxHQUFHLElBQUFDLGFBQUEsRUFzQnRCLENBQUNDLE9BQUQsRUFBVUosSUFBVixFQUFnQkssT0FBaEIsRUFBeUJDLFFBQXpCLEtBQXNDO0VBQ3BDLElBQUksQ0FBQyxlQUFlQyxJQUFmLENBQW9CSCxPQUFwQixDQUFMLEVBQW1DO0lBQ2pDQSxPQUFPLEdBQUksVUFBU0EsT0FBUSxFQUE1QjtFQUNEOztFQUNELElBQUlJLElBQUksR0FBR0gsT0FBTyxHQUFJLFdBQVVBLE9BQVEsRUFBdEIsR0FBMEIsRUFBNUM7O0VBQ0EsSUFBSUMsUUFBSixFQUFjO0lBQ1pFLElBQUksR0FBSSxHQUFFQSxJQUFLLElBQUdGLFFBQVMsRUFBM0I7RUFDRDs7RUFDRCxPQUFPLElBQUlHLEdBQUosQ0FBUUQsSUFBUixFQUFlLEdBQUVKLE9BQVEsSUFBR0osSUFBSyxFQUFqQyxFQUFvQ1UsSUFBM0M7QUFDRCxDQS9CcUIsQ0FBeEIifQ==
@@ -0,0 +1,12 @@
1
+ export { stubEnv } from "./env-utils";
2
+ export { stubLog } from "./log-utils";
3
+ export { fakeTime } from "./time-utils";
4
+ export { pluginE2EHarness } from "./plugin-e2e-harness";
5
+ export { driverUnitTestSuite } from "./driver-unit-suite";
6
+ export * from "./helpers";
7
+ export type SessionHelpers = import('./driver-e2e-suite').SessionHelpers;
8
+ export type E2ESetupOpts = import('./plugin-e2e-harness').E2ESetupOpts;
9
+ export { withMocks, verifyMocks } from "./mock-utils";
10
+ export { withSandbox, verifySandbox } from "./sandbox-utils";
11
+ export { driverE2ETestSuite, createSessionHelpers } from "./driver-e2e-suite";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;;;;;6BAea,OAAO,oBAAoB,EAAE,cAAc;2BAG3C,OAAO,sBAAsB,EAAE,YAAY"}
@@ -3,12 +3,49 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ stubEnv: true,
8
+ stubLog: true,
9
+ fakeTime: true,
10
+ withMocks: true,
11
+ verifyMocks: true,
12
+ withSandbox: true,
13
+ verifySandbox: true,
14
+ pluginE2EHarness: true,
15
+ driverUnitTestSuite: true,
16
+ driverE2ETestSuite: true,
17
+ createSessionHelpers: true
18
+ };
19
+ Object.defineProperty(exports, "createSessionHelpers", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _driverE2eSuite.createSessionHelpers;
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "driverE2ETestSuite", {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _driverE2eSuite.driverE2ETestSuite;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "driverUnitTestSuite", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _driverUnitSuite.driverUnitTestSuite;
35
+ }
36
+ });
6
37
  Object.defineProperty(exports, "fakeTime", {
7
38
  enumerable: true,
8
39
  get: function () {
9
40
  return _timeUtils.fakeTime;
10
41
  }
11
42
  });
43
+ Object.defineProperty(exports, "pluginE2EHarness", {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _pluginE2eHarness.pluginE2EHarness;
47
+ }
48
+ });
12
49
  Object.defineProperty(exports, "stubEnv", {
13
50
  enumerable: true,
14
51
  get: function () {
@@ -48,6 +85,8 @@ Object.defineProperty(exports, "withSandbox", {
48
85
 
49
86
  require("source-map-support/register");
50
87
 
88
+ require("./unhandled-rejection");
89
+
51
90
  var _envUtils = require("./env-utils");
52
91
 
53
92
  var _logUtils = require("./log-utils");
@@ -58,5 +97,23 @@ var _mockUtils = require("./mock-utils");
58
97
 
59
98
  var _sandboxUtils = require("./sandbox-utils");
60
99
 
61
- require("./unhandled-rejection");
62
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vbGliL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c3R1YkVudn0gZnJvbSAnLi9lbnYtdXRpbHMnO1xuaW1wb3J0IHtzdHViTG9nfSBmcm9tICcuL2xvZy11dGlscyc7XG5pbXBvcnQge2Zha2VUaW1lfSBmcm9tICcuL3RpbWUtdXRpbHMnO1xuaW1wb3J0IHt3aXRoTW9ja3MsIHZlcmlmeU1vY2tzfSBmcm9tICcuL21vY2stdXRpbHMnO1xuaW1wb3J0IHt3aXRoU2FuZGJveCwgdmVyaWZ5U2FuZGJveH0gZnJvbSAnLi9zYW5kYm94LXV0aWxzJztcblxuLy8gdGhpcyBqdXN0IG5lZWRzIHRvIGJlIGltcG9ydGVkLCBmb3IgdGhlIGZ1bmN0aW9uYWxpdHkgdG8gYmUgaW5qZWN0ZWRcbmltcG9ydCAnLi91bmhhbmRsZWQtcmVqZWN0aW9uJztcblxuZXhwb3J0IHtzdHViRW52LCBzdHViTG9nLCBmYWtlVGltZSwgd2l0aFNhbmRib3gsIHZlcmlmeVNhbmRib3gsIHdpdGhNb2NrcywgdmVyaWZ5TW9ja3N9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBIn0=
100
+ var _pluginE2eHarness = require("./plugin-e2e-harness");
101
+
102
+ var _driverUnitSuite = require("./driver-unit-suite");
103
+
104
+ var _driverE2eSuite = require("./driver-e2e-suite");
105
+
106
+ var _helpers = require("./helpers");
107
+
108
+ Object.keys(_helpers).forEach(function (key) {
109
+ if (key === "default" || key === "__esModule") return;
110
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
111
+ if (key in exports && exports[key] === _helpers[key]) return;
112
+ Object.defineProperty(exports, key, {
113
+ enumerable: true,
114
+ get: function () {
115
+ return _helpers[key];
116
+ }
117
+ });
118
+ });
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vbGliL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMganVzdCBuZWVkcyB0byBiZSBpbXBvcnRlZCwgZm9yIHRoZSBmdW5jdGlvbmFsaXR5IHRvIGJlIGluamVjdGVkXG5pbXBvcnQgJy4vdW5oYW5kbGVkLXJlamVjdGlvbic7XG5cbmV4cG9ydCB7c3R1YkVudn0gZnJvbSAnLi9lbnYtdXRpbHMnO1xuZXhwb3J0IHtzdHViTG9nfSBmcm9tICcuL2xvZy11dGlscyc7XG5leHBvcnQge2Zha2VUaW1lfSBmcm9tICcuL3RpbWUtdXRpbHMnO1xuZXhwb3J0IHt3aXRoTW9ja3MsIHZlcmlmeU1vY2tzfSBmcm9tICcuL21vY2stdXRpbHMnO1xuZXhwb3J0IHt3aXRoU2FuZGJveCwgdmVyaWZ5U2FuZGJveH0gZnJvbSAnLi9zYW5kYm94LXV0aWxzJztcbmV4cG9ydCB7cGx1Z2luRTJFSGFybmVzc30gZnJvbSAnLi9wbHVnaW4tZTJlLWhhcm5lc3MnO1xuZXhwb3J0IHtkcml2ZXJVbml0VGVzdFN1aXRlfSBmcm9tICcuL2RyaXZlci11bml0LXN1aXRlJztcbmV4cG9ydCB7ZHJpdmVyRTJFVGVzdFN1aXRlLCBjcmVhdGVTZXNzaW9uSGVscGVyc30gZnJvbSAnLi9kcml2ZXItZTJlLXN1aXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2RyaXZlci1lMmUtc3VpdGUnKS5TZXNzaW9uSGVscGVyc30gU2Vzc2lvbkhlbHBlcnNcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL3BsdWdpbi1lMmUtaGFybmVzcycpLkUyRVNldHVwT3B0c30gRTJFU2V0dXBPcHRzXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtJQUFBO0lBQUE7TUFBQTtJQUFBO0VBQUE7QUFBQSJ9
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Options for {@linkcode LogStub } constructor
3
+ */
4
+ export type LogStubOptions = {
5
+ /**
6
+ * - If `true`, strip ANSI colors from output
7
+ */
8
+ stripColors?: boolean | undefined;
9
+ };
10
+ /**
11
+ * Instantiates a {@linkcode LogStub} object
12
+ * @param {import('sinon').SinonSandbox} sandbox
13
+ * @param {import('@appium/types').AppiumLogger} log
14
+ * @param {LogStubOptions} [opts]
15
+ * @returns {LogStub}
16
+ */
17
+ export function stubLog(sandbox: import('sinon').SinonSandbox, log: import('@appium/types').AppiumLogger, opts?: LogStubOptions | undefined): LogStub;
18
+ declare class LogStub {
19
+ /**
20
+ *
21
+ * @param {LogStubOptions} [opts]
22
+ */
23
+ constructor(opts?: LogStubOptions | undefined);
24
+ output: string;
25
+ stripColors: boolean;
26
+ /**
27
+ *
28
+ * @param {string} level
29
+ * @param {any} message
30
+ */
31
+ log(level: string, message: any): void;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=log-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-utils.d.ts","sourceRoot":"","sources":["../../lib/log-utils.js"],"names":[],"mappings":";;;;;;;;;AA2BA;;;;;;GAMG;AACH,iCALW,OAAO,OAAO,EAAE,YAAY,OAC5B,OAAO,eAAe,EAAE,YAAY,sCAElC,OAAO,CAUnB;AAxCD;IACE;;;OAGG;IACH,+CAGC;IAFC,eAAgB;IAChB,qBAA4C;IAE9C;;;;OAIG;IACH,WAHW,MAAM,WACN,GAAG,QAUb;CACF"}
@@ -7,21 +7,17 @@ exports.stubLog = stubLog;
7
7
 
8
8
  require("source-map-support/register");
9
9
 
10
- function stripColors(msg) {
11
- let code = /\u001b\[(\d+(;\d+)*)?m/g;
12
- msg = ('' + msg).replace(code, '');
13
- return msg;
14
- }
10
+ require("@colors/colors");
15
11
 
16
12
  class LogStub {
17
13
  constructor(opts = {}) {
18
14
  this.output = '';
19
- this.stripColors = opts.stripColors;
15
+ this.stripColors = Boolean(opts.stripColors);
20
16
  }
21
17
 
22
18
  log(level, message) {
23
19
  if (this.stripColors) {
24
- message = stripColors(message);
20
+ message = message.stripColors;
25
21
  }
26
22
 
27
23
  if (this.output.length > 0) {
@@ -44,4 +40,4 @@ function stubLog(sandbox, log, opts = {}) {
44
40
 
45
41
  return logStub;
46
42
  }
47
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHJpcENvbG9ycyIsIm1zZyIsImNvZGUiLCJyZXBsYWNlIiwiTG9nU3R1YiIsImNvbnN0cnVjdG9yIiwib3B0cyIsIm91dHB1dCIsImxvZyIsImxldmVsIiwibWVzc2FnZSIsImxlbmd0aCIsInN0dWJMb2ciLCJzYW5kYm94IiwibG9nU3R1YiIsImwiLCJsZXZlbHMiLCJzdHViIiwiY2FsbHNGYWtlIiwiZG9Mb2dnaW5nIiwibWVzcyJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9sb2ctdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETyBtb3ZlIHRoYXQgdG8gQGFwcGl1bS9zdXBwb3J0XG5mdW5jdGlvbiBzdHJpcENvbG9ycyhtc2cpIHtcbiAgbGV0IGNvZGUgPSAvXFx1MDAxYlxcWyhcXGQrKDtcXGQrKSopP20vZzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gIG1zZyA9ICgnJyArIG1zZykucmVwbGFjZShjb2RlLCAnJyk7XG4gIHJldHVybiBtc2c7XG59XG5cbmNsYXNzIExvZ1N0dWIge1xuICBjb25zdHJ1Y3RvcihvcHRzID0ge30pIHtcbiAgICB0aGlzLm91dHB1dCA9ICcnO1xuICAgIHRoaXMuc3RyaXBDb2xvcnMgPSBvcHRzLnN0cmlwQ29sb3JzO1xuICB9XG4gIGxvZyhsZXZlbCwgbWVzc2FnZSkge1xuICAgIGlmICh0aGlzLnN0cmlwQ29sb3JzKSB7XG4gICAgICBtZXNzYWdlID0gc3RyaXBDb2xvcnMobWVzc2FnZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm91dHB1dC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm91dHB1dCArPSAnXFxuJztcbiAgICB9XG4gICAgdGhpcy5vdXRwdXQgPSBgJHt0aGlzLm91dHB1dH0ke2xldmVsfTogJHttZXNzYWdlfWA7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3R1YkxvZyhzYW5kYm94LCBsb2csIG9wdHMgPSB7fSkge1xuICBsZXQgbG9nU3R1YiA9IG5ldyBMb2dTdHViKG9wdHMpO1xuICBmb3IgKGxldCBsIG9mIGxvZy5sZXZlbHMpIHtcbiAgICBzYW5kYm94LnN0dWIobG9nLCBsKS5jYWxsc0Zha2UoZnVuY3Rpb24gZG9Mb2dnaW5nKG1lc3MpIHtcbiAgICAgIGxvZ1N0dWIubG9nKGwsIG1lc3MpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBsb2dTdHViO1xufVxuXG5leHBvcnQge3N0dWJMb2d9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxTQUFTQSxXQUFULENBQXFCQyxHQUFyQixFQUEwQjtFQUN4QixJQUFJQyxJQUFJLEdBQUcseUJBQVg7RUFDQUQsR0FBRyxHQUFHLENBQUMsS0FBS0EsR0FBTixFQUFXRSxPQUFYLENBQW1CRCxJQUFuQixFQUF5QixFQUF6QixDQUFOO0VBQ0EsT0FBT0QsR0FBUDtBQUNEOztBQUVELE1BQU1HLE9BQU4sQ0FBYztFQUNaQyxXQUFXLENBQUNDLElBQUksR0FBRyxFQUFSLEVBQVk7SUFDckIsS0FBS0MsTUFBTCxHQUFjLEVBQWQ7SUFDQSxLQUFLUCxXQUFMLEdBQW1CTSxJQUFJLENBQUNOLFdBQXhCO0VBQ0Q7O0VBQ0RRLEdBQUcsQ0FBQ0MsS0FBRCxFQUFRQyxPQUFSLEVBQWlCO0lBQ2xCLElBQUksS0FBS1YsV0FBVCxFQUFzQjtNQUNwQlUsT0FBTyxHQUFHVixXQUFXLENBQUNVLE9BQUQsQ0FBckI7SUFDRDs7SUFDRCxJQUFJLEtBQUtILE1BQUwsQ0FBWUksTUFBWixHQUFxQixDQUF6QixFQUE0QjtNQUMxQixLQUFLSixNQUFMLElBQWUsSUFBZjtJQUNEOztJQUNELEtBQUtBLE1BQUwsR0FBZSxHQUFFLEtBQUtBLE1BQU8sR0FBRUUsS0FBTSxLQUFJQyxPQUFRLEVBQWpEO0VBQ0Q7O0FBYlc7O0FBZ0JkLFNBQVNFLE9BQVQsQ0FBaUJDLE9BQWpCLEVBQTBCTCxHQUExQixFQUErQkYsSUFBSSxHQUFHLEVBQXRDLEVBQTBDO0VBQ3hDLElBQUlRLE9BQU8sR0FBRyxJQUFJVixPQUFKLENBQVlFLElBQVosQ0FBZDs7RUFDQSxLQUFLLElBQUlTLENBQVQsSUFBY1AsR0FBRyxDQUFDUSxNQUFsQixFQUEwQjtJQUN4QkgsT0FBTyxDQUFDSSxJQUFSLENBQWFULEdBQWIsRUFBa0JPLENBQWxCLEVBQXFCRyxTQUFyQixDQUErQixTQUFTQyxTQUFULENBQW1CQyxJQUFuQixFQUF5QjtNQUN0RE4sT0FBTyxDQUFDTixHQUFSLENBQVlPLENBQVosRUFBZUssSUFBZjtJQUNELENBRkQ7RUFHRDs7RUFDRCxPQUFPTixPQUFQO0FBQ0QifQ==
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMb2dTdHViIiwiY29uc3RydWN0b3IiLCJvcHRzIiwib3V0cHV0Iiwic3RyaXBDb2xvcnMiLCJCb29sZWFuIiwibG9nIiwibGV2ZWwiLCJtZXNzYWdlIiwibGVuZ3RoIiwic3R1YkxvZyIsInNhbmRib3giLCJsb2dTdHViIiwibCIsImxldmVscyIsInN0dWIiLCJjYWxsc0Zha2UiLCJkb0xvZ2dpbmciLCJtZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2xvZy11dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0Bjb2xvcnMvY29sb3JzJztcblxuY2xhc3MgTG9nU3R1YiB7XG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge0xvZ1N0dWJPcHRpb25zfSBbb3B0c11cbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdHMgPSB7fSkge1xuICAgIHRoaXMub3V0cHV0ID0gJyc7XG4gICAgdGhpcy5zdHJpcENvbG9ycyA9IEJvb2xlYW4ob3B0cy5zdHJpcENvbG9ycyk7XG4gIH1cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsZXZlbFxuICAgKiBAcGFyYW0ge2FueX0gbWVzc2FnZVxuICAgKi9cbiAgbG9nKGxldmVsLCBtZXNzYWdlKSB7XG4gICAgaWYgKHRoaXMuc3RyaXBDb2xvcnMpIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnN0cmlwQ29sb3JzO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdXRwdXQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vdXRwdXQgKz0gJ1xcbic7XG4gICAgfVxuICAgIHRoaXMub3V0cHV0ID0gYCR7dGhpcy5vdXRwdXR9JHtsZXZlbH06ICR7bWVzc2FnZX1gO1xuICB9XG59XG5cbi8qKlxuICogSW5zdGFudGlhdGVzIGEge0BsaW5rY29kZSBMb2dTdHVifSBvYmplY3RcbiAqIEBwYXJhbSB7aW1wb3J0KCdzaW5vbicpLlNpbm9uU2FuZGJveH0gc2FuZGJveFxuICogQHBhcmFtIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5BcHBpdW1Mb2dnZXJ9IGxvZ1xuICogQHBhcmFtIHtMb2dTdHViT3B0aW9uc30gW29wdHNdXG4gKiBAcmV0dXJucyB7TG9nU3R1Yn1cbiAqL1xuZnVuY3Rpb24gc3R1YkxvZyhzYW5kYm94LCBsb2csIG9wdHMgPSB7fSkge1xuICBsZXQgbG9nU3R1YiA9IG5ldyBMb2dTdHViKG9wdHMpO1xuICBmb3IgKGxldCBsIG9mIGxvZy5sZXZlbHMpIHtcbiAgICBzYW5kYm94LnN0dWIobG9nLCBsKS5jYWxsc0Zha2UoZnVuY3Rpb24gZG9Mb2dnaW5nKG1lc3MpIHtcbiAgICAgIGxvZ1N0dWIubG9nKGwsIG1lc3MpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBsb2dTdHViO1xufVxuXG5leHBvcnQge3N0dWJMb2d9O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGlua2NvZGUgTG9nU3R1Yn0gY29uc3RydWN0b3JcbiAqIEB0eXBlZGVmIExvZ1N0dWJPcHRpb25zXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtzdHJpcENvbG9yc10gLSBJZiBgdHJ1ZWAsIHN0cmlwIEFOU0kgY29sb3JzIGZyb20gb3V0cHV0XG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUEsTUFBTUEsT0FBTixDQUFjO0VBS1pDLFdBQVcsQ0FBQ0MsSUFBSSxHQUFHLEVBQVIsRUFBWTtJQUNyQixLQUFLQyxNQUFMLEdBQWMsRUFBZDtJQUNBLEtBQUtDLFdBQUwsR0FBbUJDLE9BQU8sQ0FBQ0gsSUFBSSxDQUFDRSxXQUFOLENBQTFCO0VBQ0Q7O0VBTURFLEdBQUcsQ0FBQ0MsS0FBRCxFQUFRQyxPQUFSLEVBQWlCO0lBQ2xCLElBQUksS0FBS0osV0FBVCxFQUFzQjtNQUNwQkksT0FBTyxHQUFHQSxPQUFPLENBQUNKLFdBQWxCO0lBQ0Q7O0lBQ0QsSUFBSSxLQUFLRCxNQUFMLENBQVlNLE1BQVosR0FBcUIsQ0FBekIsRUFBNEI7TUFDMUIsS0FBS04sTUFBTCxJQUFlLElBQWY7SUFDRDs7SUFDRCxLQUFLQSxNQUFMLEdBQWUsR0FBRSxLQUFLQSxNQUFPLEdBQUVJLEtBQU0sS0FBSUMsT0FBUSxFQUFqRDtFQUNEOztBQXRCVzs7QUFnQ2QsU0FBU0UsT0FBVCxDQUFpQkMsT0FBakIsRUFBMEJMLEdBQTFCLEVBQStCSixJQUFJLEdBQUcsRUFBdEMsRUFBMEM7RUFDeEMsSUFBSVUsT0FBTyxHQUFHLElBQUlaLE9BQUosQ0FBWUUsSUFBWixDQUFkOztFQUNBLEtBQUssSUFBSVcsQ0FBVCxJQUFjUCxHQUFHLENBQUNRLE1BQWxCLEVBQTBCO0lBQ3hCSCxPQUFPLENBQUNJLElBQVIsQ0FBYVQsR0FBYixFQUFrQk8sQ0FBbEIsRUFBcUJHLFNBQXJCLENBQStCLFNBQVNDLFNBQVQsQ0FBbUJDLElBQW5CLEVBQXlCO01BQ3RETixPQUFPLENBQUNOLEdBQVIsQ0FBWU8sQ0FBWixFQUFlSyxJQUFmO0lBQ0QsQ0FGRDtFQUdEOztFQUNELE9BQU9OLE9BQVA7QUFDRCJ9
@@ -0,0 +1,3 @@
1
+ export default log;
2
+ declare const log: import("../../types/build").AppiumLogger;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAEA,4DAAkD"}
@@ -7,10 +7,10 @@ exports.default = void 0;
7
7
 
8
8
  require("source-map-support/register");
9
9
 
10
- var _support = require("@appium/support");
10
+ var _support = require("appium/support");
11
11
 
12
12
  const log = _support.logger.getLogger('AppiumTestSupport');
13
13
 
14
14
  var _default = log;
15
15
  exports.default = _default;
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJsb2dnZXIiLCJnZXRMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bG9nZ2VyfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuXG5jb25zdCBsb2cgPSBsb2dnZXIuZ2V0TG9nZ2VyKCdBcHBpdW1UZXN0U3VwcG9ydCcpO1xuXG5leHBvcnQgZGVmYXVsdCBsb2c7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLEdBQUcsR0FBR0MsZUFBQSxDQUFPQyxTQUFQLENBQWlCLG1CQUFqQixDQUFaOztlQUVlRixHIn0=
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJsb2dnZXIiLCJnZXRMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bG9nZ2VyfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5cbmNvbnN0IGxvZyA9IGxvZ2dlci5nZXRMb2dnZXIoJ0FwcGl1bVRlc3RTdXBwb3J0Jyk7XG5cbmV4cG9ydCBkZWZhdWx0IGxvZztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUEsTUFBTUEsR0FBRyxHQUFHQyxlQUFBLENBQU9DLFNBQVAsQ0FBaUIsbUJBQWpCLENBQVo7O2VBRWVGLEcifQ==
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Creates a function which creates Mocha "before each" and "after each" hooks to
3
+ * automatically mock (and un-mock) the mocks provided by `libs`.
4
+ *
5
+ * The values of `libs` are provided directly to {@linkcode SinonSandbox.mock}.
6
+ *
7
+ * _Synchronously_ calls `fn` with the {@linkcode MockStore} after hooks have been created, but not before they have been run.
8
+ *
9
+ * @param {Record<string|symbol,any>} mockDefs
10
+ * @param {(mocks: MockStore) => void} fn
11
+ * @returns {() => void}
12
+ */
13
+ export function withMocks(mockDefs: Record<string | symbol, any>, fn: (mocks: MockStore<any>) => void): () => void;
14
+ /**
15
+ * Convenience function for calling `mocks.verify()`.
16
+ * @param {MockStore} mocks - Returned by callback from {@linkcode withMocks}
17
+ */
18
+ export function verifyMocks(mocks: MockStore<any>): void;
19
+ /**
20
+ * @template {Record<string,any>} Mocks
21
+ * @extends {Mocks}
22
+ */
23
+ export class MockStore<Mocks extends Record<string, any>> {
24
+ /**
25
+ * Uses a sandbox if one is provided
26
+ * @param {SinonSandbox} [sandbox]
27
+ */
28
+ constructor(sandbox?: sinon.SinonSandbox | undefined);
29
+ /**
30
+ * Temporary sandbox; will be `undefined` until `beforeEach` is called
31
+ * @type {SinonSandbox|undefined}
32
+ */
33
+ sandbox: SinonSandbox | undefined;
34
+ /**
35
+ * @param {Mocks} mockDefs
36
+ */
37
+ createMocks(mockDefs: Mocks): MockStore<Mocks>;
38
+ /**
39
+ * Calls {@linkcode SinonSandbox.verify} on the `sandbox` prop, if it exists
40
+ */
41
+ verify(): void;
42
+ reset(): void;
43
+ #private;
44
+ }
45
+ export type SinonSandbox = import('sinon').SinonSandbox;
46
+ import sinon from "sinon";
47
+ //# sourceMappingURL=mock-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-utils.d.ts","sourceRoot":"","sources":["../../lib/mock-utils.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,oCAJW,OAAO,MAAM,GAAC,MAAM,EAAC,GAAG,CAAC,iCACH,IAAI,GACxB,MAAM,IAAI,CAatB;AAED;;;GAGG;AACH,yDAEC;AAED;;;GAGG;AACH;IAaE;;;OAGG;IACH,sDAEC;IAlBD;;;OAGG;IACH,SAFU,YAAY,GAAC,SAAS,CAExB;IAgBR;;OAEG;IACH,sBAFW,KAAK,oBAYf;IAED;;OAEG;IACH,eAOC;IAED,cAMC;;CACF;2BAGY,OAAO,OAAO,EAAE,YAAY"}
@@ -5,48 +5,76 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.MockStore = void 0;
8
9
  exports.verifyMocks = verifyMocks;
9
10
  exports.withMocks = withMocks;
10
11
 
11
12
  require("source-map-support/register");
12
13
 
13
- var _sinon = _interopRequireDefault(require("sinon"));
14
-
15
- var _lodash = _interopRequireDefault(require("lodash"));
14
+ var _bluebird = _interopRequireDefault(require("bluebird"));
16
15
 
17
- let SANDBOX = Symbol();
16
+ var _sinon = _interopRequireDefault(require("sinon"));
18
17
 
19
- function withMocks(libs, fn) {
18
+ function withMocks(mockDefs, fn) {
20
19
  return () => {
21
- const mocks = {
22
- verify() {
23
- this.sandbox.verify();
24
- },
25
-
26
- get sandbox() {
27
- return this[SANDBOX];
28
- },
29
-
30
- set sandbox(sandbox) {
31
- this[SANDBOX] = sandbox;
32
- }
33
-
34
- };
35
- beforeEach(function beforeEach() {
36
- mocks[SANDBOX] = _sinon.default.createSandbox();
37
-
38
- for (let [key, value] of _lodash.default.toPairs(libs)) {
39
- mocks[key] = mocks.sandbox.mock(value);
40
- }
20
+ const mocks = new MockStore();
21
+ beforeEach(function withMocksBeforeEach() {
22
+ mocks.createMocks(mockDefs);
41
23
  });
42
- afterEach(function afterEach() {
43
- mocks.sandbox.restore();
24
+ afterEach(function withMocksAfterEach() {
25
+ mocks.reset();
44
26
  });
45
27
  fn(mocks);
46
28
  };
47
29
  }
48
30
 
49
31
  function verifyMocks(mocks) {
50
- mocks.sandbox.verify();
32
+ mocks.verify();
51
33
  }
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQU5EQk9YIiwiU3ltYm9sIiwid2l0aE1vY2tzIiwibGlicyIsImZuIiwibW9ja3MiLCJ2ZXJpZnkiLCJzYW5kYm94IiwiYmVmb3JlRWFjaCIsInNpbm9uIiwiY3JlYXRlU2FuZGJveCIsImtleSIsInZhbHVlIiwiXyIsInRvUGFpcnMiLCJtb2NrIiwiYWZ0ZXJFYWNoIiwicmVzdG9yZSIsInZlcmlmeU1vY2tzIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL21vY2stdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmxldCBTQU5EQk9YID0gU3ltYm9sKCk7XG5cbmZ1bmN0aW9uIHdpdGhNb2NrcyhsaWJzLCBmbikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGNvbnN0IG1vY2tzID0ge1xuICAgICAgdmVyaWZ5KCkge1xuICAgICAgICB0aGlzLnNhbmRib3gudmVyaWZ5KCk7XG4gICAgICB9LFxuICAgICAgZ2V0IHNhbmRib3goKSB7XG4gICAgICAgIHJldHVybiB0aGlzW1NBTkRCT1hdO1xuICAgICAgfSxcbiAgICAgIHNldCBzYW5kYm94KHNhbmRib3gpIHtcbiAgICAgICAgdGhpc1tTQU5EQk9YXSA9IHNhbmRib3g7XG4gICAgICB9LFxuICAgIH07XG4gICAgYmVmb3JlRWFjaChmdW5jdGlvbiBiZWZvcmVFYWNoKCkge1xuICAgICAgbW9ja3NbU0FOREJPWF0gPSBzaW5vbi5jcmVhdGVTYW5kYm94KCk7XG4gICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgXy50b1BhaXJzKGxpYnMpKSB7XG4gICAgICAgIG1vY2tzW2tleV0gPSBtb2Nrcy5zYW5kYm94Lm1vY2sodmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGFmdGVyRWFjaChmdW5jdGlvbiBhZnRlckVhY2goKSB7XG4gICAgICBtb2Nrcy5zYW5kYm94LnJlc3RvcmUoKTtcbiAgICB9KTtcbiAgICBmbihtb2Nrcyk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1vY2tzKG1vY2tzKSB7XG4gIG1vY2tzLnNhbmRib3gudmVyaWZ5KCk7XG59XG5cbmV4cG9ydCB7d2l0aE1vY2tzLCB2ZXJpZnlNb2Nrc307XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBLElBQUlBLE9BQU8sR0FBR0MsTUFBTSxFQUFwQjs7QUFFQSxTQUFTQyxTQUFULENBQW1CQyxJQUFuQixFQUF5QkMsRUFBekIsRUFBNkI7RUFDM0IsT0FBTyxNQUFNO0lBQ1gsTUFBTUMsS0FBSyxHQUFHO01BQ1pDLE1BQU0sR0FBRztRQUNQLEtBQUtDLE9BQUwsQ0FBYUQsTUFBYjtNQUNELENBSFc7O01BSVosSUFBSUMsT0FBSixHQUFjO1FBQ1osT0FBTyxLQUFLUCxPQUFMLENBQVA7TUFDRCxDQU5XOztNQU9aLElBQUlPLE9BQUosQ0FBWUEsT0FBWixFQUFxQjtRQUNuQixLQUFLUCxPQUFMLElBQWdCTyxPQUFoQjtNQUNEOztJQVRXLENBQWQ7SUFXQUMsVUFBVSxDQUFDLFNBQVNBLFVBQVQsR0FBc0I7TUFDL0JILEtBQUssQ0FBQ0wsT0FBRCxDQUFMLEdBQWlCUyxjQUFBLENBQU1DLGFBQU4sRUFBakI7O01BQ0EsS0FBSyxJQUFJLENBQUNDLEdBQUQsRUFBTUMsS0FBTixDQUFULElBQXlCQyxlQUFBLENBQUVDLE9BQUYsQ0FBVVgsSUFBVixDQUF6QixFQUEwQztRQUN4Q0UsS0FBSyxDQUFDTSxHQUFELENBQUwsR0FBYU4sS0FBSyxDQUFDRSxPQUFOLENBQWNRLElBQWQsQ0FBbUJILEtBQW5CLENBQWI7TUFDRDtJQUNGLENBTFMsQ0FBVjtJQU1BSSxTQUFTLENBQUMsU0FBU0EsU0FBVCxHQUFxQjtNQUM3QlgsS0FBSyxDQUFDRSxPQUFOLENBQWNVLE9BQWQ7SUFDRCxDQUZRLENBQVQ7SUFHQWIsRUFBRSxDQUFDQyxLQUFELENBQUY7RUFDRCxDQXRCRDtBQXVCRDs7QUFFRCxTQUFTYSxXQUFULENBQXFCYixLQUFyQixFQUE0QjtFQUMxQkEsS0FBSyxDQUFDRSxPQUFOLENBQWNELE1BQWQ7QUFDRCJ9
34
+
35
+ class MockStore {
36
+ sandbox;
37
+ #mocks;
38
+
39
+ constructor(sandbox) {
40
+ this.sandbox = sandbox;
41
+ }
42
+
43
+ createMocks(mockDefs) {
44
+ if (this.#mocks) {
45
+ throw new ReferenceError('Cannot create mocks twice; call `reset()` first.');
46
+ }
47
+
48
+ this.sandbox = this.sandbox ?? _sinon.default.createSandbox().usingPromise(_bluebird.default);
49
+
50
+ for (const [key, value] of Object.entries(mockDefs)) {
51
+ this[key] = this.sandbox.mock(value);
52
+ }
53
+
54
+ this.#mocks = mockDefs;
55
+ return this;
56
+ }
57
+
58
+ verify() {
59
+ if (!this.sandbox) {
60
+ throw new ReferenceError('Cannot verify mocks before they are created; call `createMocks()` first');
61
+ }
62
+
63
+ this.sandbox.verify();
64
+ }
65
+
66
+ reset() {
67
+ var _this$sandbox;
68
+
69
+ for (const key of Object.keys(this.#mocks ?? {})) {
70
+ delete this[key];
71
+ }
72
+
73
+ (_this$sandbox = this.sandbox) === null || _this$sandbox === void 0 ? void 0 : _this$sandbox.restore();
74
+ this.#mocks = undefined;
75
+ }
76
+
77
+ }
78
+
79
+ exports.MockStore = MockStore;
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aXRoTW9ja3MiLCJtb2NrRGVmcyIsImZuIiwibW9ja3MiLCJNb2NrU3RvcmUiLCJiZWZvcmVFYWNoIiwid2l0aE1vY2tzQmVmb3JlRWFjaCIsImNyZWF0ZU1vY2tzIiwiYWZ0ZXJFYWNoIiwid2l0aE1vY2tzQWZ0ZXJFYWNoIiwicmVzZXQiLCJ2ZXJpZnlNb2NrcyIsInZlcmlmeSIsInNhbmRib3giLCJjb25zdHJ1Y3RvciIsIlJlZmVyZW5jZUVycm9yIiwic2lub24iLCJjcmVhdGVTYW5kYm94IiwidXNpbmdQcm9taXNlIiwiQiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIm1vY2siLCJrZXlzIiwicmVzdG9yZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9tb2NrLXV0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHdoaWNoIGNyZWF0ZXMgTW9jaGEgXCJiZWZvcmUgZWFjaFwiIGFuZCBcImFmdGVyIGVhY2hcIiBob29rcyB0b1xuICogYXV0b21hdGljYWxseSBtb2NrIChhbmQgdW4tbW9jaykgdGhlIG1vY2tzIHByb3ZpZGVkIGJ5IGBsaWJzYC5cbiAqXG4gKiBUaGUgdmFsdWVzIG9mIGBsaWJzYCBhcmUgcHJvdmlkZWQgZGlyZWN0bHkgdG8ge0BsaW5rY29kZSBTaW5vblNhbmRib3gubW9ja30uXG4gKlxuICogX1N5bmNocm9ub3VzbHlfIGNhbGxzIGBmbmAgd2l0aCB0aGUge0BsaW5rY29kZSBNb2NrU3RvcmV9IGFmdGVyIGhvb2tzIGhhdmUgYmVlbiBjcmVhdGVkLCBidXQgbm90IGJlZm9yZSB0aGV5IGhhdmUgYmVlbiBydW4uXG4gKlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nfHN5bWJvbCxhbnk+fSBtb2NrRGVmc1xuICogQHBhcmFtIHsobW9ja3M6IE1vY2tTdG9yZSkgPT4gdm9pZH0gZm5cbiAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE1vY2tzKG1vY2tEZWZzLCBmbikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGNvbnN0IG1vY2tzID0gbmV3IE1vY2tTdG9yZSgpO1xuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gd2l0aE1vY2tzQmVmb3JlRWFjaCgpIHtcbiAgICAgIG1vY2tzLmNyZWF0ZU1vY2tzKG1vY2tEZWZzKTtcbiAgICB9KTtcbiAgICBhZnRlckVhY2goZnVuY3Rpb24gd2l0aE1vY2tzQWZ0ZXJFYWNoKCkge1xuICAgICAgbW9ja3MucmVzZXQoKTtcbiAgICB9KTtcbiAgICBmbihtb2Nrcyk7XG4gIH07XG59XG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIGNhbGxpbmcgYG1vY2tzLnZlcmlmeSgpYC5cbiAqIEBwYXJhbSB7TW9ja1N0b3JlfSBtb2NrcyAtIFJldHVybmVkIGJ5IGNhbGxiYWNrIGZyb20ge0BsaW5rY29kZSB3aXRoTW9ja3N9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlNb2Nrcyhtb2Nrcykge1xuICBtb2Nrcy52ZXJpZnkoKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsYW55Pn0gTW9ja3NcbiAqIEBleHRlbmRzIHtNb2Nrc31cbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tTdG9yZSB7XG4gIC8qKlxuICAgKiBUZW1wb3Jhcnkgc2FuZGJveDsgd2lsbCBiZSBgdW5kZWZpbmVkYCB1bnRpbCBgYmVmb3JlRWFjaGAgaXMgY2FsbGVkXG4gICAqIEB0eXBlIHtTaW5vblNhbmRib3h8dW5kZWZpbmVkfVxuICAgKi9cbiAgc2FuZGJveDtcblxuICAvKipcbiAgICogT3JpZ2luYWwgay92IHBhaXIgcHJvdmlkZWQgdG8gYGNyZWF0ZU1vY2tzYFxuICAgKiBAdHlwZSB7TW9ja3N8dW5kZWZpbmVkfVxuICAgKi9cbiAgI21vY2tzO1xuXG4gIC8qKlxuICAgKiBVc2VzIGEgc2FuZGJveCBpZiBvbmUgaXMgcHJvdmlkZWRcbiAgICogQHBhcmFtIHtTaW5vblNhbmRib3h9IFtzYW5kYm94XVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2FuZGJveCkge1xuICAgIHRoaXMuc2FuZGJveCA9IHNhbmRib3g7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtNb2Nrc30gbW9ja0RlZnNcbiAgICovXG4gIGNyZWF0ZU1vY2tzKG1vY2tEZWZzKSB7XG4gICAgaWYgKHRoaXMuI21vY2tzKSB7XG4gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoJ0Nhbm5vdCBjcmVhdGUgbW9ja3MgdHdpY2U7IGNhbGwgYHJlc2V0KClgIGZpcnN0LicpO1xuICAgIH1cbiAgICB0aGlzLnNhbmRib3ggPSB0aGlzLnNhbmRib3ggPz8gc2lub24uY3JlYXRlU2FuZGJveCgpLnVzaW5nUHJvbWlzZShCKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhtb2NrRGVmcykpIHtcbiAgICAgIHRoaXNba2V5XSA9IHRoaXMuc2FuZGJveC5tb2NrKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy4jbW9ja3MgPSBtb2NrRGVmcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxscyB7QGxpbmtjb2RlIFNpbm9uU2FuZGJveC52ZXJpZnl9IG9uIHRoZSBgc2FuZGJveGAgcHJvcCwgaWYgaXQgZXhpc3RzXG4gICAqL1xuICB2ZXJpZnkoKSB7XG4gICAgaWYgKCF0aGlzLnNhbmRib3gpIHtcbiAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCB2ZXJpZnkgbW9ja3MgYmVmb3JlIHRoZXkgYXJlIGNyZWF0ZWQ7IGNhbGwgYGNyZWF0ZU1vY2tzKClgIGZpcnN0J1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5zYW5kYm94LnZlcmlmeSgpO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy4jbW9ja3MgPz8ge30pKSB7XG4gICAgICBkZWxldGUgdGhpc1trZXldO1xuICAgIH1cbiAgICB0aGlzLnNhbmRib3g/LnJlc3RvcmUoKTtcbiAgICB0aGlzLiNtb2NrcyA9IHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ3Npbm9uJykuU2lub25TYW5kYm94fSBTaW5vblNhbmRib3hcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBY08sU0FBU0EsU0FBVCxDQUFtQkMsUUFBbkIsRUFBNkJDLEVBQTdCLEVBQWlDO0VBQ3RDLE9BQU8sTUFBTTtJQUNYLE1BQU1DLEtBQUssR0FBRyxJQUFJQyxTQUFKLEVBQWQ7SUFDQUMsVUFBVSxDQUFDLFNBQVNDLG1CQUFULEdBQStCO01BQ3hDSCxLQUFLLENBQUNJLFdBQU4sQ0FBa0JOLFFBQWxCO0lBQ0QsQ0FGUyxDQUFWO0lBR0FPLFNBQVMsQ0FBQyxTQUFTQyxrQkFBVCxHQUE4QjtNQUN0Q04sS0FBSyxDQUFDTyxLQUFOO0lBQ0QsQ0FGUSxDQUFUO0lBR0FSLEVBQUUsQ0FBQ0MsS0FBRCxDQUFGO0VBQ0QsQ0FURDtBQVVEOztBQU1NLFNBQVNRLFdBQVQsQ0FBcUJSLEtBQXJCLEVBQTRCO0VBQ2pDQSxLQUFLLENBQUNTLE1BQU47QUFDRDs7QUFNTSxNQUFNUixTQUFOLENBQWdCO0VBS3JCUyxPQUFPO0VBTVAsQ0FBQ1YsS0FBRDs7RUFNQVcsV0FBVyxDQUFDRCxPQUFELEVBQVU7SUFDbkIsS0FBS0EsT0FBTCxHQUFlQSxPQUFmO0VBQ0Q7O0VBS0ROLFdBQVcsQ0FBQ04sUUFBRCxFQUFXO0lBQ3BCLElBQUksS0FBSyxDQUFDRSxLQUFWLEVBQWlCO01BQ2YsTUFBTSxJQUFJWSxjQUFKLENBQW1CLGtEQUFuQixDQUFOO0lBQ0Q7O0lBQ0QsS0FBS0YsT0FBTCxHQUFlLEtBQUtBLE9BQUwsSUFBZ0JHLGNBQUEsQ0FBTUMsYUFBTixHQUFzQkMsWUFBdEIsQ0FBbUNDLGlCQUFuQyxDQUEvQjs7SUFDQSxLQUFLLE1BQU0sQ0FBQ0MsR0FBRCxFQUFNQyxLQUFOLENBQVgsSUFBMkJDLE1BQU0sQ0FBQ0MsT0FBUCxDQUFldEIsUUFBZixDQUEzQixFQUFxRDtNQUNuRCxLQUFLbUIsR0FBTCxJQUFZLEtBQUtQLE9BQUwsQ0FBYVcsSUFBYixDQUFrQkgsS0FBbEIsQ0FBWjtJQUNEOztJQUNELEtBQUssQ0FBQ2xCLEtBQU4sR0FBY0YsUUFBZDtJQUNBLE9BQU8sSUFBUDtFQUNEOztFQUtEVyxNQUFNLEdBQUc7SUFDUCxJQUFJLENBQUMsS0FBS0MsT0FBVixFQUFtQjtNQUNqQixNQUFNLElBQUlFLGNBQUosQ0FDSix5RUFESSxDQUFOO0lBR0Q7O0lBQ0QsS0FBS0YsT0FBTCxDQUFhRCxNQUFiO0VBQ0Q7O0VBRURGLEtBQUssR0FBRztJQUFBOztJQUNOLEtBQUssTUFBTVUsR0FBWCxJQUFrQkUsTUFBTSxDQUFDRyxJQUFQLENBQVksS0FBSyxDQUFDdEIsS0FBTixJQUFlLEVBQTNCLENBQWxCLEVBQWtEO01BQ2hELE9BQU8sS0FBS2lCLEdBQUwsQ0FBUDtJQUNEOztJQUNELHNCQUFLUCxPQUFMLGdFQUFjYSxPQUFkO0lBQ0EsS0FBSyxDQUFDdkIsS0FBTixHQUFjd0IsU0FBZDtFQUNEOztBQXREb0IifQ==
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Creates hooks to install a driver and a plugin and starts an Appium server w/ the given extensions.
3
+ * @param {E2ESetupOpts} opts
4
+ * @returns {void}
5
+ */
6
+ export function pluginE2EHarness(opts: E2ESetupOpts): void;
7
+ export type E2ESetupOpts = {
8
+ /**
9
+ * - Path to Appium home directory
10
+ */
11
+ appiumHome?: string | undefined;
12
+ /**
13
+ * - Mocha "before all" hook function
14
+ */
15
+ before: Mocha.HookFunction;
16
+ /**
17
+ * - Mocha "after all" hook function
18
+ */
19
+ after: Mocha.HookFunction;
20
+ /**
21
+ * - Arguments to pass to Appium server
22
+ */
23
+ serverArgs?: any;
24
+ /**
25
+ * - Source of driver to install
26
+ */
27
+ driverSource: import('appium/types').InstallType & string;
28
+ /**
29
+ * - Package name of driver to install
30
+ */
31
+ driverPackage?: string | undefined;
32
+ /**
33
+ * - Name of driver to install
34
+ */
35
+ driverName: string;
36
+ /**
37
+ * - Spec of driver to install
38
+ */
39
+ driverSpec: string;
40
+ /**
41
+ * - Source of plugin to install
42
+ */
43
+ pluginSource: import('appium/types').InstallType & string;
44
+ /**
45
+ * - Package name of plugin to install
46
+ */
47
+ pluginPackage?: string | undefined;
48
+ /**
49
+ * - Spec of plugin to install
50
+ */
51
+ pluginSpec: string;
52
+ /**
53
+ * - Name of plugin to install
54
+ */
55
+ pluginName: string;
56
+ /**
57
+ * - Port to use for Appium server
58
+ */
59
+ port?: number | undefined;
60
+ /**
61
+ * - Host to use for Appium server
62
+ */
63
+ host?: string | undefined;
64
+ };
65
+ export type AppiumServer = import('@appium/types').AppiumServer;
66
+ export type AppiumEnv = import('appium/types').AppiumEnv;
67
+ //# sourceMappingURL=plugin-e2e-harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-e2e-harness.d.ts","sourceRoot":"","sources":["../../lib/plugin-e2e-harness.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,uCAHW,YAAY,GACV,IAAI,CA4HhB;;;;;;;;;;;;;;;;;;;;;kBAQa,OAAO,cAAc,EAAE,WAAW,GAAG,MAAM;;;;;;;;gBAE3C,MAAM;;;;gBACN,MAAM;;;;kBACN,OAAO,cAAc,EAAE,WAAW,GAAG,MAAM;;;;;;;;gBAE3C,MAAM;;;;gBACN,MAAM;;;;;;;;;;2BAMP,OAAO,eAAe,EAAE,YAAY;wBAIpC,OAAO,cAAc,EAAE,SAAS"}