@appium/fake-driver 5.2.3 → 5.2.5

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.
@@ -4,7 +4,8 @@ import { FakeDriver } from '../driver';
4
4
  interface FakeDriverFindMixin {
5
5
  getExistingElementForNode(node: FakeElement): string | null;
6
6
  wrapNewEl(obj: FakeElement): Element;
7
- findElOrEls<Many extends boolean, Ctx = any>(this: FakeDriver, strategy: string, selector: string, many: Many, context?: Ctx): Promise<Many extends true ? Element[] : Element>;
7
+ findElOrEls(this: FakeDriver, strategy: string, selector: string, mult: true, context?: any): Promise<Element[]>;
8
+ findElOrEls(this: FakeDriver, strategy: string, selector: string, mult: false, context?: any): Promise<Element>;
8
9
  findElement(strategy: string, selector: string): Promise<Element>;
9
10
  findElements(strategy: string, selector: string): Promise<Element[]>;
10
11
  findElementFromElement(elementId: string, strategy: string, selector: string): Promise<Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAKrC,UAAU,mBAAmB;IAC3B,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IAErC,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,GAAG,GAAG,GAAG,EACzC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,IAAI,SAAS,IAAI,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;IACpD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChG,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACvB;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,mBAAmB;KAAG;CACpD"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AA+DrC,UAAU,mBAAmB;IAC3B,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IAErC,WAAW,CACT,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtB,WAAW,CACT,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChG,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACvB;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,mBAAmB;KAAG;CACpD"}
@@ -9,6 +9,44 @@ const fake_element_1 = require("../fake-element");
9
9
  const support_1 = require("@appium/support");
10
10
  const mixin_1 = require("./mixin");
11
11
  const { W3C_WEB_ELEMENT_IDENTIFIER } = support_1.util;
12
+ async function findElOrEls(strategy, selector, mult, context) {
13
+ const qMap = {
14
+ xpath: 'xpathQuery',
15
+ id: 'idQuery',
16
+ 'accessibility id': 'idQuery',
17
+ 'class name': 'classQuery',
18
+ 'tag name': 'classQuery',
19
+ 'css selector': 'cssQuery',
20
+ };
21
+ // TODO this error checking should probably be part of MJSONWP?
22
+ if (!lodash_1.default.includes(lodash_1.default.keys(qMap), strategy)) {
23
+ throw new driver_1.errors.UnknownCommandError();
24
+ }
25
+ if (selector === 'badsel') {
26
+ throw new driver_1.errors.InvalidSelectorError();
27
+ }
28
+ const els = this.appModel[qMap[strategy]](selector, context);
29
+ let retval;
30
+ if (els.length) {
31
+ if (mult) {
32
+ const allEls = [];
33
+ for (const el of els) {
34
+ allEls.push(this.wrapNewEl(el));
35
+ }
36
+ retval = allEls;
37
+ }
38
+ else {
39
+ retval = this.wrapNewEl(els[0]);
40
+ }
41
+ }
42
+ else if (mult) {
43
+ retval = [];
44
+ }
45
+ else {
46
+ throw new driver_1.errors.NoSuchElementError();
47
+ }
48
+ return retval;
49
+ }
12
50
  const FindMixin = {
13
51
  getExistingElementForNode(node) {
14
52
  for (const [id, el] of lodash_1.default.toPairs(this.elMap)) {
@@ -30,44 +68,7 @@ const FindMixin = {
30
68
  this.elMap[maxElId] = new fake_element_1.FakeElement(obj, this.appModel);
31
69
  return { ELEMENT: maxElId, [W3C_WEB_ELEMENT_IDENTIFIER]: maxElId };
32
70
  },
33
- async findElOrEls(strategy, selector, many, context) {
34
- const qMap = {
35
- xpath: 'xpathQuery',
36
- id: 'idQuery',
37
- 'accessibility id': 'idQuery',
38
- 'class name': 'classQuery',
39
- 'tag name': 'classQuery',
40
- 'css selector': 'cssQuery',
41
- };
42
- // TODO this error checking should probably be part of MJSONWP?
43
- if (!lodash_1.default.includes(lodash_1.default.keys(qMap), strategy)) {
44
- throw new driver_1.errors.UnknownCommandError();
45
- }
46
- if (selector === 'badsel') {
47
- throw new driver_1.errors.InvalidSelectorError();
48
- }
49
- const els = this.appModel[qMap[strategy]](selector, context);
50
- let retval;
51
- if (els.length) {
52
- if (many) {
53
- const allEls = [];
54
- for (const el of els) {
55
- allEls.push(this.wrapNewEl(el));
56
- }
57
- retval = allEls;
58
- }
59
- else {
60
- retval = this.wrapNewEl(els[0]);
61
- }
62
- }
63
- else if (many) {
64
- retval = [];
65
- }
66
- else {
67
- throw new driver_1.errors.NoSuchElementError();
68
- }
69
- return retval;
70
- },
71
+ findElOrEls,
71
72
  /**
72
73
  * This should override whatever's in ExternalDriver
73
74
  * @param {string} strategy Strategy
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Orientation } from '../driver';
3
3
  interface FakeDriverGeneralMixin {
4
4
  title(): Promise<string>;
5
5
  keys(value: string | string[]): Promise<void>;
6
- setGeoLocation(location: Location): Promise<void>;
6
+ setGeoLocation(location: Location): Promise<Location>;
7
7
  getGeoLocation(): Promise<Location>;
8
8
  getPageSource(): Promise<string>;
9
9
  getOrientation(): Promise<string>;
@@ -17,7 +17,7 @@ interface FakeDriverGeneralMixin {
17
17
  doubleClick(): Promise<void>;
18
18
  execute(script: string, args: any[]): Promise<any>;
19
19
  fakeAddition(a: number, b: number, c?: number): Promise<number>;
20
- getLog(type: string): Promise<unknown[]>;
20
+ getLog(type: string): Promise<any>;
21
21
  }
22
22
  declare module '../driver' {
23
23
  interface FakeDriver extends FakeDriverGeneralMixin {
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAa,WAAW,EAAC,MAAM,WAAW,CAAC;AAKlD,UAAU,sBAAsB;IAC9B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC1C;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,sBAAsB;KAAG;CACvD"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAa,WAAW,EAAC,MAAM,WAAW,CAAC;AAKlD,UAAU,sBAAsB;IAC9B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACpC;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,sBAAsB;KAAG;CACvD"}
@@ -18,6 +18,7 @@ const GeneralMixin = {
18
18
  // TODO test this adequately once WD bug is fixed
19
19
  this.appModel.lat = location.latitude;
20
20
  this.appModel.long = location.longitude;
21
+ return location;
21
22
  },
22
23
  async getGeoLocation() {
23
24
  return this.appModel.currentGeoLocation;
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
20
20
  readonly uniqueApp: {
21
21
  readonly isBoolean: true;
22
22
  };
23
- }, import("@appium/types").StringRecord<any>, import("@appium/types").StringRecord<any>>, FakeDriver_base, FakeDriver_base_1, FakeDriver_base_2, FakeDriver_base_3, FakeDriver_base_4 implements ExternalDriver<FakeDriverConstraints> {
23
+ }, import("@appium/types").StringRecord<any>, import("@appium/types").StringRecord<any>, import("@appium/types").StringRecord<any>>, FakeDriver_base, FakeDriver_base_1, FakeDriver_base_2, FakeDriver_base_3, FakeDriver_base_4 implements ExternalDriver<FakeDriverConstraints> {
24
24
  static newMethodMap: {
25
25
  readonly '/session/:sessionId/fakedriver': {
26
26
  readonly GET: {
@@ -155,7 +155,7 @@ export type FakeDriverConstraints = typeof FAKE_DRIVER_CONSTRAINTS;
155
155
  export type FakeDriverCaps = import('./types').FakeDriverCaps;
156
156
  export type W3CFakeDriverCaps = import('./types').W3CFakeDriverCaps;
157
157
  export type Element = import('@appium/types').Element;
158
- export type DriverClass<D extends import("@appium/types").Driver<import("@appium/types").Constraints, import("@appium/types").StringRecord<any>, import("@appium/types").StringRecord<any>, import("@appium/types").DefaultCreateSessionResult<import("@appium/types").Constraints>, void>> = import('@appium/types').DriverClass<D>;
158
+ export type DriverClass<D extends import("@appium/types").Driver<import("@appium/types").Constraints, import("@appium/types").StringRecord<any>, import("@appium/types").StringRecord<any>, import("@appium/types").DefaultCreateSessionResult<import("@appium/types").Constraints>, void, import("@appium/types").StringRecord<any>>> = import('@appium/types').DriverClass<D>;
159
159
  export type ExternalDriver<C extends import("@appium/types").Constraints> = import('@appium/types').ExternalDriver<C>;
160
160
  export type Orientation = import('@appium/types').Orientation;
161
161
  import { BaseDriver } from "@appium/base-driver";
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":";;;;;AAeA;;;GAGG;AAEH;;;;GAIG;AACH;;;;;;;;gNAF+B,qBAAqB;IA8JlD;;;;;YAGI;;eAEG;;;;;;;;;;;;;;;;;;;;;;;;MAaJ;IAEH;;;;;;;;QAKE;;WAEG;;;;;;;;;;;;;MAWF;IAEH,2CAEC;IAED,mFAMC;IA/KD;;;;;;;;sCAcC;IA5CD;;;OAGG;IACH,gCAHU,qBAAqB,CAGT;IAEtB,qBAAqB;IACrB,YADW,MAAM,CACN;IAEX,sBAAsB;IACtB,UADW,OAAO,CACT;IAET,sBAAsB;IACtB,cADW,OAAO,CACL;IAEb,sBAAsB;IACtB,OADW,OAAO,CACZ;IAEN,sBAAsB;IACtB,aADW,MAAM,QACL;IAEZ,qBAAqB;IACrB,WADW,KAAK,QACN;IAEV,qBAAqB;IACrB,SADW,MAAM,CACT;IAER,kEAAkE;IAClE,OADW,OAAO,MAAM,EAAC,OAAO,gBAAgB,EAAE,WAAW,CAAC,CACxD;IAkBN,uBAEC;IAED,oBAEC;IAED,sCAOC;IAED;;;OAGG;IACH,oCAEC;IAkCD;;MAIC;IAED,sCAGC;IAED;;;;;OAKG;IACH,oBAHW,KAAK,GACH,QAAQ,IAAI,CAAC,CAMzB;IAED;;;;OAIG;IACH,qBAFa,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,CAKxC;IAED;;;;OAIG;IACH,+BAFa,QAAQ,MAAM,EAAE,CAAC,CAK7B;IAED;;;;OAIG;IACH,yBAFa,QAAQ,IAAI,CAAC,CAIzB;CAqDF;;;;;oCAvNY,8BAA8B;6BA8N9B,OAAO,SAAS,EAAE,cAAc;gCAChC,OAAO,SAAS,EAAE,iBAAiB;sBACnC,OAAO,eAAe,EAAE,OAAO;8RAK/B,OAAO,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;4EAKtC,OAAO,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;0BAIzC,OAAO,eAAe,EAAE,WAAW"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":";;;;;AAeA;;;GAGG;AAEH;;;;GAIG;AACH;;;;;;;;2PAF+B,qBAAqB;IA8JlD;;;;;YAGI;;eAEG;;;;;;;;;;;;;;;;;;;;;;;;MAaJ;IAEH;;;;;;;;QAKE;;WAEG;;;;;;;;;;;;;MAWF;IAEH,2CAEC;IAED,mFAMC;IA/KD;;;;;;;;sCAcC;IA5CD;;;OAGG;IACH,gCAHU,qBAAqB,CAGT;IAEtB,qBAAqB;IACrB,YADW,MAAM,CACN;IAEX,sBAAsB;IACtB,UADW,OAAO,CACT;IAET,sBAAsB;IACtB,cADW,OAAO,CACL;IAEb,sBAAsB;IACtB,OADW,OAAO,CACZ;IAEN,sBAAsB;IACtB,aADW,MAAM,QACL;IAEZ,qBAAqB;IACrB,WADW,KAAK,QACN;IAEV,qBAAqB;IACrB,SADW,MAAM,CACT;IAER,kEAAkE;IAClE,OADW,OAAO,MAAM,EAAC,OAAO,gBAAgB,EAAE,WAAW,CAAC,CACxD;IAkBN,uBAEC;IAED,oBAEC;IAED,sCAOC;IAED;;;OAGG;IACH,oCAEC;IAkCD;;MAIC;IAED,sCAGC;IAED;;;;;OAKG;IACH,oBAHW,KAAK,GACH,QAAQ,IAAI,CAAC,CAMzB;IAED;;;;OAIG;IACH,qBAFa,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,CAKxC;IAED;;;;OAIG;IACH,+BAFa,QAAQ,MAAM,EAAE,CAAC,CAK7B;IAED;;;;OAIG;IACH,yBAFa,QAAQ,IAAI,CAAC,CAIzB;CAqDF;;;;;oCAvNY,8BAA8B;6BA8N9B,OAAO,SAAS,EAAE,cAAc;gCAChC,OAAO,SAAS,EAAE,iBAAiB;sBACnC,OAAO,eAAe,EAAE,OAAO;yUAK/B,OAAO,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;4EAKtC,OAAO,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;0BAIzC,OAAO,eAAe,EAAE,WAAW"}
@@ -7,17 +7,82 @@ import {util} from '@appium/support';
7
7
  import {mixin} from './mixin';
8
8
 
9
9
  const {W3C_WEB_ELEMENT_IDENTIFIER} = util;
10
+
11
+ async function findElOrEls<Ctx = any>(
12
+ this: FakeDriver<any>,
13
+ strategy: string,
14
+ selector: string,
15
+ mult: true,
16
+ context?: Ctx
17
+ ): Promise<Element[]>;
18
+ async function findElOrEls<Ctx = any>(
19
+ this: FakeDriver<any>,
20
+ strategy: string,
21
+ selector: string,
22
+ mult: false,
23
+ context?: Ctx
24
+ ): Promise<Element>;
25
+ async function findElOrEls<Ctx = any>(
26
+ this: FakeDriver<any>,
27
+ strategy: string,
28
+ selector: string,
29
+ mult: boolean,
30
+ context?: Ctx
31
+ ): Promise<Element | Element[]> {
32
+ const qMap = {
33
+ xpath: 'xpathQuery',
34
+ id: 'idQuery',
35
+ 'accessibility id': 'idQuery',
36
+ 'class name': 'classQuery',
37
+ 'tag name': 'classQuery',
38
+ 'css selector': 'cssQuery',
39
+ } as Record<string, keyof FakeDriver['appModel']>;
40
+ // TODO this error checking should probably be part of MJSONWP?
41
+ if (!_.includes(_.keys(qMap), strategy)) {
42
+ throw new errors.UnknownCommandError();
43
+ }
44
+ if (selector === 'badsel') {
45
+ throw new errors.InvalidSelectorError();
46
+ }
47
+ const els = this.appModel[qMap[strategy]](selector, context);
48
+
49
+ let retval: Element | Element[];
50
+ if (els.length) {
51
+ if (mult) {
52
+ const allEls: Element[] = [];
53
+ for (const el of els) {
54
+ allEls.push(this.wrapNewEl(el));
55
+ }
56
+ retval = allEls;
57
+ } else {
58
+ retval = this.wrapNewEl(els[0]);
59
+ }
60
+ } else if (mult) {
61
+ retval = [];
62
+ } else {
63
+ throw new errors.NoSuchElementError();
64
+ }
65
+ return retval;
66
+ }
67
+
10
68
  interface FakeDriverFindMixin {
11
69
  getExistingElementForNode(node: FakeElement): string | null;
12
70
  wrapNewEl(obj: FakeElement): Element;
13
71
 
14
- findElOrEls<Many extends boolean, Ctx = any>(
72
+ findElOrEls(
73
+ this: FakeDriver,
74
+ strategy: string,
75
+ selector: string,
76
+ mult: true,
77
+ context?: any
78
+ ): Promise<Element[]>;
79
+ findElOrEls(
15
80
  this: FakeDriver,
16
81
  strategy: string,
17
82
  selector: string,
18
- many: Many,
19
- context?: Ctx
20
- ): Promise<Many extends true ? Element[] : Element>;
83
+ mult: false,
84
+ context?: any
85
+ ): Promise<Element>;
21
86
  findElement(strategy: string, selector: string): Promise<Element>;
22
87
  findElements(strategy: string, selector: string): Promise<Element[]>;
23
88
  findElementFromElement(elementId: string, strategy: string, selector: string): Promise<Element>;
@@ -56,48 +121,7 @@ const FindMixin: FakeDriverFindMixin = {
56
121
  return {ELEMENT: maxElId, [W3C_WEB_ELEMENT_IDENTIFIER]: maxElId};
57
122
  },
58
123
 
59
- async findElOrEls<Many extends boolean, Ctx = any>(
60
- this: FakeDriver,
61
- strategy: string,
62
- selector: string,
63
- many: Many,
64
- context: Ctx
65
- ): Promise<Many extends true ? Element[] : Element> {
66
- const qMap = {
67
- xpath: 'xpathQuery',
68
- id: 'idQuery',
69
- 'accessibility id': 'idQuery',
70
- 'class name': 'classQuery',
71
- 'tag name': 'classQuery',
72
- 'css selector': 'cssQuery',
73
- } as Record<string, keyof FakeDriver['appModel']>;
74
- // TODO this error checking should probably be part of MJSONWP?
75
- if (!_.includes(_.keys(qMap), strategy)) {
76
- throw new errors.UnknownCommandError();
77
- }
78
- if (selector === 'badsel') {
79
- throw new errors.InvalidSelectorError();
80
- }
81
- const els = this.appModel[qMap[strategy]](selector, context);
82
-
83
- let retval: Element | Element[];
84
- if (els.length) {
85
- if (many) {
86
- const allEls: Element[] = [];
87
- for (const el of els) {
88
- allEls.push(this.wrapNewEl(el));
89
- }
90
- retval = allEls;
91
- } else {
92
- retval = this.wrapNewEl(els[0]);
93
- }
94
- } else if (many) {
95
- retval = [];
96
- } else {
97
- throw new errors.NoSuchElementError();
98
- }
99
- return retval as Many extends true ? Element[] : Element;
100
- },
124
+ findElOrEls,
101
125
 
102
126
  /**
103
127
  * This should override whatever's in ExternalDriver
@@ -8,7 +8,7 @@ const ORIENTATIONS = new Set(['LANDSCAPE', 'PORTRAIT']);
8
8
  interface FakeDriverGeneralMixin {
9
9
  title(): Promise<string>;
10
10
  keys(value: string | string[]): Promise<void>;
11
- setGeoLocation(location: Location): Promise<void>;
11
+ setGeoLocation(location: Location): Promise<Location>;
12
12
  getGeoLocation(): Promise<Location>;
13
13
  getPageSource(): Promise<string>;
14
14
  getOrientation(): Promise<string>;
@@ -22,7 +22,7 @@ interface FakeDriverGeneralMixin {
22
22
  doubleClick(): Promise<void>;
23
23
  execute(script: string, args: any[]): Promise<any>;
24
24
  fakeAddition(a: number, b: number, c?: number): Promise<number>;
25
- getLog(type: string): Promise<unknown[]>;
25
+ getLog(type: string): Promise<any>;
26
26
  }
27
27
 
28
28
  declare module '../driver' {
@@ -46,6 +46,7 @@ const GeneralMixin: FakeDriverGeneralMixin = {
46
46
  // TODO test this adequately once WD bug is fixed
47
47
  this.appModel.lat = location.latitude;
48
48
  this.appModel.long = location.longitude;
49
+ return location;
49
50
  },
50
51
 
51
52
  async getGeoLocation(this: FakeDriver) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/fake-driver",
3
- "version": "5.2.3",
3
+ "version": "5.2.5",
4
4
  "description": "Mock driver used internally by Appium for testing. Ignore",
5
5
  "keywords": [
6
6
  "automation",
@@ -43,11 +43,11 @@
43
43
  "test": "npm run test:unit",
44
44
  "test:e2e": "mocha --timeout 20s --slow 10s \"./test/e2e/**/*.spec.js\"",
45
45
  "test:smoke": "node ./build/lib/index.js",
46
- "test:unit": "mocha \"./test/unit/**/*.spec.js\""
46
+ "test:unit": "mocha --timeout 10s --slow 5s \"./test/unit/**/*.spec.js\""
47
47
  },
48
48
  "dependencies": {
49
49
  "@types/bluebird": "3.5.38",
50
- "@xmldom/xmldom": "0.8.7",
50
+ "@xmldom/xmldom": "0.8.8",
51
51
  "asyncbox": "2.9.4",
52
52
  "bluebird": "3.7.2",
53
53
  "lodash": "4.17.21",
@@ -83,5 +83,5 @@
83
83
  "entryPoint": "./lib/index.js"
84
84
  },
85
85
  "types": "./build/lib/index.d.ts",
86
- "gitHead": "a11a6ede3320c0a58aad82fd7fc4c8b8ba75ae95"
86
+ "gitHead": "ed20e007548e10f89a5212b2868ed7ec47f51c2a"
87
87
  }