appium-xcuitest-driver 10.18.0 → 10.18.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 (227) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/npm-shrinkwrap.json +5 -5
  3. package/package.json +3 -2
  4. package/build/test/functional/basic/alert-e2e-specs.d.ts +0 -2
  5. package/build/test/functional/basic/alert-e2e-specs.d.ts.map +0 -1
  6. package/build/test/functional/basic/alert-e2e-specs.js +0 -129
  7. package/build/test/functional/basic/alert-e2e-specs.js.map +0 -1
  8. package/build/test/functional/basic/basic-e2e-specs.d.ts +0 -2
  9. package/build/test/functional/basic/basic-e2e-specs.d.ts.map +0 -1
  10. package/build/test/functional/basic/basic-e2e-specs.js +0 -268
  11. package/build/test/functional/basic/basic-e2e-specs.js.map +0 -1
  12. package/build/test/functional/basic/element-e2e-specs.d.ts +0 -2
  13. package/build/test/functional/basic/element-e2e-specs.d.ts.map +0 -1
  14. package/build/test/functional/basic/element-e2e-specs.js +0 -354
  15. package/build/test/functional/basic/element-e2e-specs.js.map +0 -1
  16. package/build/test/functional/basic/find-e2e-specs.d.ts +0 -2
  17. package/build/test/functional/basic/find-e2e-specs.d.ts.map +0 -1
  18. package/build/test/functional/basic/find-e2e-specs.js +0 -434
  19. package/build/test/functional/basic/find-e2e-specs.js.map +0 -1
  20. package/build/test/functional/basic/gesture-e2e-specs.d.ts +0 -2
  21. package/build/test/functional/basic/gesture-e2e-specs.d.ts.map +0 -1
  22. package/build/test/functional/basic/gesture-e2e-specs.js +0 -211
  23. package/build/test/functional/basic/gesture-e2e-specs.js.map +0 -1
  24. package/build/test/functional/desired.d.ts +0 -26
  25. package/build/test/functional/desired.d.ts.map +0 -1
  26. package/build/test/functional/desired.js +0 -124
  27. package/build/test/functional/desired.js.map +0 -1
  28. package/build/test/functional/device/accessibility-e2e-specs.d.ts +0 -2
  29. package/build/test/functional/device/accessibility-e2e-specs.d.ts.map +0 -1
  30. package/build/test/functional/device/accessibility-e2e-specs.js +0 -117
  31. package/build/test/functional/device/accessibility-e2e-specs.js.map +0 -1
  32. package/build/test/functional/device/file-movement-e2e-specs.d.ts +0 -2
  33. package/build/test/functional/device/file-movement-e2e-specs.d.ts.map +0 -1
  34. package/build/test/functional/device/file-movement-e2e-specs.js +0 -141
  35. package/build/test/functional/device/file-movement-e2e-specs.js.map +0 -1
  36. package/build/test/functional/device/otherApps-e2e-specs.d.ts +0 -2
  37. package/build/test/functional/device/otherApps-e2e-specs.d.ts.map +0 -1
  38. package/build/test/functional/device/otherApps-e2e-specs.js +0 -66
  39. package/build/test/functional/device/otherApps-e2e-specs.js.map +0 -1
  40. package/build/test/functional/device/passwords-e2e-specs.d.ts +0 -2
  41. package/build/test/functional/device/passwords-e2e-specs.d.ts.map +0 -1
  42. package/build/test/functional/device/passwords-e2e-specs.js +0 -91
  43. package/build/test/functional/device/passwords-e2e-specs.js.map +0 -1
  44. package/build/test/functional/device/performance-e2e-specs.d.ts +0 -2
  45. package/build/test/functional/device/performance-e2e-specs.d.ts.map +0 -1
  46. package/build/test/functional/device/performance-e2e-specs.js +0 -72
  47. package/build/test/functional/device/performance-e2e-specs.js.map +0 -1
  48. package/build/test/functional/driver/driver-e2e-specs.d.ts +0 -2
  49. package/build/test/functional/driver/driver-e2e-specs.d.ts.map +0 -1
  50. package/build/test/functional/driver/driver-e2e-specs.js +0 -296
  51. package/build/test/functional/driver/driver-e2e-specs.js.map +0 -1
  52. package/build/test/functional/helpers/element.d.ts +0 -4
  53. package/build/test/functional/helpers/element.d.ts.map +0 -1
  54. package/build/test/functional/helpers/element.js +0 -8
  55. package/build/test/functional/helpers/element.js.map +0 -1
  56. package/build/test/functional/helpers/ports.d.ts +0 -6
  57. package/build/test/functional/helpers/ports.d.ts.map +0 -1
  58. package/build/test/functional/helpers/ports.js +0 -29
  59. package/build/test/functional/helpers/ports.js.map +0 -1
  60. package/build/test/functional/helpers/session.d.ts +0 -7
  61. package/build/test/functional/helpers/session.d.ts.map +0 -1
  62. package/build/test/functional/helpers/session.js +0 -39
  63. package/build/test/functional/helpers/session.js.map +0 -1
  64. package/build/test/functional/helpers/simulator.d.ts +0 -12
  65. package/build/test/functional/helpers/simulator.d.ts.map +0 -1
  66. package/build/test/functional/helpers/simulator.js +0 -51
  67. package/build/test/functional/helpers/simulator.js.map +0 -1
  68. package/build/test/functional/long/typing-stress-e2e-specs.d.ts +0 -2
  69. package/build/test/functional/long/typing-stress-e2e-specs.d.ts.map +0 -1
  70. package/build/test/functional/long/typing-stress-e2e-specs.js +0 -84
  71. package/build/test/functional/long/typing-stress-e2e-specs.js.map +0 -1
  72. package/build/test/functional/tv/tvos-e2e-specs.d.ts +0 -2
  73. package/build/test/functional/tv/tvos-e2e-specs.d.ts.map +0 -1
  74. package/build/test/functional/tv/tvos-e2e-specs.js +0 -83
  75. package/build/test/functional/tv/tvos-e2e-specs.js.map +0 -1
  76. package/build/test/functional/web/helpers.d.ts +0 -28
  77. package/build/test/functional/web/helpers.d.ts.map +0 -1
  78. package/build/test/functional/web/helpers.js +0 -137
  79. package/build/test/functional/web/helpers.js.map +0 -1
  80. package/build/test/functional/web/safari-alerts-e2e-specs.d.ts +0 -2
  81. package/build/test/functional/web/safari-alerts-e2e-specs.d.ts.map +0 -1
  82. package/build/test/functional/web/safari-alerts-e2e-specs.js +0 -109
  83. package/build/test/functional/web/safari-alerts-e2e-specs.js.map +0 -1
  84. package/build/test/functional/web/safari-basic-e2e-specs.d.ts +0 -2
  85. package/build/test/functional/web/safari-basic-e2e-specs.d.ts.map +0 -1
  86. package/build/test/functional/web/safari-basic-e2e-specs.js +0 -425
  87. package/build/test/functional/web/safari-basic-e2e-specs.js.map +0 -1
  88. package/build/test/functional/web/safari-execute-e2e-specs.d.ts +0 -2
  89. package/build/test/functional/web/safari-execute-e2e-specs.d.ts.map +0 -1
  90. package/build/test/functional/web/safari-execute-e2e-specs.js +0 -167
  91. package/build/test/functional/web/safari-execute-e2e-specs.js.map +0 -1
  92. package/build/test/functional/web/safari-nativewebtap-e2e-specs.d.ts +0 -2
  93. package/build/test/functional/web/safari-nativewebtap-e2e-specs.d.ts.map +0 -1
  94. package/build/test/functional/web/safari-nativewebtap-e2e-specs.js +0 -323
  95. package/build/test/functional/web/safari-nativewebtap-e2e-specs.js.map +0 -1
  96. package/build/test/functional/web/safari-ssl-e2e-specs.d.ts +0 -2
  97. package/build/test/functional/web/safari-ssl-e2e-specs.d.ts.map +0 -1
  98. package/build/test/functional/web/safari-ssl-e2e-specs.js +0 -131
  99. package/build/test/functional/web/safari-ssl-e2e-specs.js.map +0 -1
  100. package/build/test/functional/web/safari-window-e2e-specs.d.ts +0 -2
  101. package/build/test/functional/web/safari-window-e2e-specs.d.ts.map +0 -1
  102. package/build/test/functional/web/safari-window-e2e-specs.js +0 -263
  103. package/build/test/functional/web/safari-window-e2e-specs.js.map +0 -1
  104. package/build/test/setup.d.ts +0 -19
  105. package/build/test/setup.d.ts.map +0 -1
  106. package/build/test/setup.js +0 -117
  107. package/build/test/setup.js.map +0 -1
  108. package/build/test/unit/app-infos-cache-specs.d.ts +0 -2
  109. package/build/test/unit/app-infos-cache-specs.d.ts.map +0 -1
  110. package/build/test/unit/app-infos-cache-specs.js +0 -101
  111. package/build/test/unit/app-infos-cache-specs.js.map +0 -1
  112. package/build/test/unit/app-utils-specs.d.ts +0 -2
  113. package/build/test/unit/app-utils-specs.d.ts.map +0 -1
  114. package/build/test/unit/app-utils-specs.js +0 -131
  115. package/build/test/unit/app-utils-specs.js.map +0 -1
  116. package/build/test/unit/commands/activeAppInfo-specs.d.ts +0 -2
  117. package/build/test/unit/commands/activeAppInfo-specs.d.ts.map +0 -1
  118. package/build/test/unit/commands/activeAppInfo-specs.js +0 -74
  119. package/build/test/unit/commands/activeAppInfo-specs.js.map +0 -1
  120. package/build/test/unit/commands/alert-specs.d.ts +0 -2
  121. package/build/test/unit/commands/alert-specs.d.ts.map +0 -1
  122. package/build/test/unit/commands/alert-specs.js +0 -111
  123. package/build/test/unit/commands/alert-specs.js.map +0 -1
  124. package/build/test/unit/commands/context-specs.d.ts +0 -2
  125. package/build/test/unit/commands/context-specs.d.ts.map +0 -1
  126. package/build/test/unit/commands/context-specs.js +0 -119
  127. package/build/test/unit/commands/context-specs.js.map +0 -1
  128. package/build/test/unit/commands/deviceinfo-specs.d.ts +0 -2
  129. package/build/test/unit/commands/deviceinfo-specs.d.ts.map +0 -1
  130. package/build/test/unit/commands/deviceinfo-specs.js +0 -67
  131. package/build/test/unit/commands/deviceinfo-specs.js.map +0 -1
  132. package/build/test/unit/commands/element-specs.d.ts +0 -2
  133. package/build/test/unit/commands/element-specs.d.ts.map +0 -1
  134. package/build/test/unit/commands/element-specs.js +0 -419
  135. package/build/test/unit/commands/element-specs.js.map +0 -1
  136. package/build/test/unit/commands/file-movement-specs.d.ts +0 -2
  137. package/build/test/unit/commands/file-movement-specs.d.ts.map +0 -1
  138. package/build/test/unit/commands/file-movement-specs.js +0 -81
  139. package/build/test/unit/commands/file-movement-specs.js.map +0 -1
  140. package/build/test/unit/commands/find-specs.d.ts +0 -2
  141. package/build/test/unit/commands/find-specs.d.ts.map +0 -1
  142. package/build/test/unit/commands/find-specs.js +0 -106
  143. package/build/test/unit/commands/find-specs.js.map +0 -1
  144. package/build/test/unit/commands/general-specs.d.ts +0 -2
  145. package/build/test/unit/commands/general-specs.d.ts.map +0 -1
  146. package/build/test/unit/commands/general-specs.js +0 -154
  147. package/build/test/unit/commands/general-specs.js.map +0 -1
  148. package/build/test/unit/commands/gesture-specs.d.ts +0 -2
  149. package/build/test/unit/commands/gesture-specs.d.ts.map +0 -1
  150. package/build/test/unit/commands/gesture-specs.js +0 -263
  151. package/build/test/unit/commands/gesture-specs.js.map +0 -1
  152. package/build/test/unit/commands/location-specs.d.ts +0 -2
  153. package/build/test/unit/commands/location-specs.d.ts.map +0 -1
  154. package/build/test/unit/commands/location-specs.js +0 -141
  155. package/build/test/unit/commands/location-specs.js.map +0 -1
  156. package/build/test/unit/commands/pasteboard-specs.d.ts +0 -2
  157. package/build/test/unit/commands/pasteboard-specs.d.ts.map +0 -1
  158. package/build/test/unit/commands/pasteboard-specs.js +0 -65
  159. package/build/test/unit/commands/pasteboard-specs.js.map +0 -1
  160. package/build/test/unit/commands/proxy-helper-specs.d.ts +0 -2
  161. package/build/test/unit/commands/proxy-helper-specs.d.ts.map +0 -1
  162. package/build/test/unit/commands/proxy-helper-specs.js +0 -88
  163. package/build/test/unit/commands/proxy-helper-specs.js.map +0 -1
  164. package/build/test/unit/commands/screenshots-specs.d.ts +0 -2
  165. package/build/test/unit/commands/screenshots-specs.d.ts.map +0 -1
  166. package/build/test/unit/commands/screenshots-specs.js +0 -71
  167. package/build/test/unit/commands/screenshots-specs.js.map +0 -1
  168. package/build/test/unit/commands/session-specs.d.ts +0 -2
  169. package/build/test/unit/commands/session-specs.d.ts.map +0 -1
  170. package/build/test/unit/commands/session-specs.js +0 -49
  171. package/build/test/unit/commands/session-specs.js.map +0 -1
  172. package/build/test/unit/commands/simctl-specs.d.ts +0 -2
  173. package/build/test/unit/commands/simctl-specs.d.ts.map +0 -1
  174. package/build/test/unit/commands/simctl-specs.js +0 -54
  175. package/build/test/unit/commands/simctl-specs.js.map +0 -1
  176. package/build/test/unit/commands/source-specs.d.ts +0 -2
  177. package/build/test/unit/commands/source-specs.d.ts.map +0 -1
  178. package/build/test/unit/commands/source-specs.js +0 -55
  179. package/build/test/unit/commands/source-specs.js.map +0 -1
  180. package/build/test/unit/commands/ssl-certificate-specs.d.ts +0 -2
  181. package/build/test/unit/commands/ssl-certificate-specs.d.ts.map +0 -1
  182. package/build/test/unit/commands/ssl-certificate-specs.js +0 -16
  183. package/build/test/unit/commands/ssl-certificate-specs.js.map +0 -1
  184. package/build/test/unit/commands/xctest-specs.d.ts +0 -2
  185. package/build/test/unit/commands/xctest-specs.d.ts.map +0 -1
  186. package/build/test/unit/commands/xctest-specs.js +0 -116
  187. package/build/test/unit/commands/xctest-specs.js.map +0 -1
  188. package/build/test/unit/css-converter-specs.d.ts +0 -2
  189. package/build/test/unit/css-converter-specs.d.ts.map +0 -1
  190. package/build/test/unit/css-converter-specs.js +0 -99
  191. package/build/test/unit/css-converter-specs.js.map +0 -1
  192. package/build/test/unit/device-connections-factory-specs.d.ts +0 -2
  193. package/build/test/unit/device-connections-factory-specs.d.ts.map +0 -1
  194. package/build/test/unit/device-connections-factory-specs.js +0 -88
  195. package/build/test/unit/device-connections-factory-specs.js.map +0 -1
  196. package/build/test/unit/driver-specs.d.ts +0 -2
  197. package/build/test/unit/driver-specs.d.ts.map +0 -1
  198. package/build/test/unit/driver-specs.js +0 -358
  199. package/build/test/unit/driver-specs.js.map +0 -1
  200. package/build/test/unit/helpers.d.ts +0 -2
  201. package/build/test/unit/helpers.d.ts.map +0 -1
  202. package/build/test/unit/helpers.js +0 -5
  203. package/build/test/unit/helpers.js.map +0 -1
  204. package/build/test/unit/language-specs.d.ts +0 -2
  205. package/build/test/unit/language-specs.d.ts.map +0 -1
  206. package/build/test/unit/language-specs.js +0 -159
  207. package/build/test/unit/language-specs.js.map +0 -1
  208. package/build/test/unit/logs-helpers-specs.d.ts +0 -2
  209. package/build/test/unit/logs-helpers-specs.d.ts.map +0 -1
  210. package/build/test/unit/logs-helpers-specs.js +0 -71
  211. package/build/test/unit/logs-helpers-specs.js.map +0 -1
  212. package/build/test/unit/processargs-specs.d.ts +0 -2
  213. package/build/test/unit/processargs-specs.d.ts.map +0 -1
  214. package/build/test/unit/processargs-specs.js +0 -87
  215. package/build/test/unit/processargs-specs.js.map +0 -1
  216. package/build/test/unit/real-device-management-specs.d.ts +0 -2
  217. package/build/test/unit/real-device-management-specs.d.ts.map +0 -1
  218. package/build/test/unit/real-device-management-specs.js +0 -151
  219. package/build/test/unit/real-device-management-specs.js.map +0 -1
  220. package/build/test/unit/simulator-management-specs.d.ts +0 -2
  221. package/build/test/unit/simulator-management-specs.d.ts.map +0 -1
  222. package/build/test/unit/simulator-management-specs.js +0 -143
  223. package/build/test/unit/simulator-management-specs.js.map +0 -1
  224. package/build/test/unit/utils-specs.d.ts +0 -2
  225. package/build/test/unit/utils-specs.d.ts.map +0 -1
  226. package/build/test/unit/utils-specs.js +0 -132
  227. package/build/test/unit/utils-specs.js.map +0 -1
@@ -1,419 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- // eslint-disable-next-line
40
- const sinon_1 = require("sinon");
41
- const driver_1 = require("../../../lib/driver");
42
- const chai_1 = __importStar(require("chai"));
43
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
44
- chai_1.default.use(chai_as_promised_1.default);
45
- describe('element commands', function () {
46
- let sandbox;
47
- /** @type {XCUITestDriver} */
48
- let driver;
49
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['proxyCommand']>} */
50
- let proxyStub;
51
- before(async function () {
52
- driver = new driver_1.XCUITestDriver({});
53
- });
54
- beforeEach(function () {
55
- sandbox = (0, sinon_1.createSandbox)();
56
- proxyStub = sandbox.stub(driver, 'proxyCommand');
57
- });
58
- afterEach(function () {
59
- sandbox.restore();
60
- });
61
- describe('setValueImmediate', function () {
62
- beforeEach(function () {
63
- sandbox.stub(driver, 'setValue');
64
- });
65
- it('should call setValue', async function () {
66
- await driver.setValueImmediate('hello', '2');
67
- (0, chai_1.expect)(driver.setValue.calledOnceWithExactly('hello', '2')).to.be.true;
68
- (0, chai_1.expect)(driver.setValue.returned(undefined)).to.be.true;
69
- });
70
- });
71
- describe('getAttribute', function () {
72
- const elementId = 2;
73
- const attribute = 'enabled';
74
- afterEach(function () {
75
- (0, chai_1.expect)(proxyStub.calledOnce).to.be.true;
76
- });
77
- it('should properly parse boolean true attribute presented as integer', async function () {
78
- proxyStub.resolves(1);
79
- (0, chai_1.expect)(await driver.getAttribute(attribute, elementId)).to.eql('true');
80
- });
81
- it('should properly parse boolean false attribute presented as integer', async function () {
82
- proxyStub.resolves(0);
83
- (0, chai_1.expect)(await driver.getAttribute(attribute, elementId)).to.eql('false');
84
- });
85
- it('should properly parse integer attribute presented as string', async function () {
86
- proxyStub.resolves('0');
87
- (0, chai_1.expect)(await driver.getAttribute(attribute, elementId)).to.eql('0');
88
- });
89
- it('should properly parse boolean attribute presented as bool', async function () {
90
- proxyStub.resolves(false);
91
- (0, chai_1.expect)(await driver.getAttribute(attribute, elementId)).to.eql('false');
92
- });
93
- it('should properly parse null attribute', async function () {
94
- proxyStub.resolves(null);
95
- await chai_1.default.expect(driver.getAttribute(attribute, elementId)).to.eventually.be.null;
96
- });
97
- it('should properly parse string attribute', async function () {
98
- proxyStub.resolves('value');
99
- (0, chai_1.expect)(await driver.getAttribute(attribute, elementId)).to.eql('value');
100
- });
101
- });
102
- describe('getProperty', function () {
103
- const elementId = 2;
104
- const property = 'enabled';
105
- afterEach(function () {
106
- (0, chai_1.expect)(proxyStub.calledOnce).to.be.true;
107
- });
108
- it('should properly parse boolean true attribute presented as integer', async function () {
109
- proxyStub.resolves(1);
110
- (0, chai_1.expect)(await driver.getProperty(property, elementId)).to.eql('true');
111
- });
112
- it('should properly parse boolean false attribute presented as integer', async function () {
113
- proxyStub.resolves(0);
114
- (0, chai_1.expect)(await driver.getProperty(property, elementId)).to.eql('false');
115
- });
116
- it('should properly parse integer attribute presented as string', async function () {
117
- proxyStub.resolves('0');
118
- (0, chai_1.expect)(await driver.getProperty(property, elementId)).to.eql('0');
119
- });
120
- it('should properly parse boolean attribute presented as bool', async function () {
121
- proxyStub.resolves(false);
122
- (0, chai_1.expect)(await driver.getProperty(property, elementId)).to.eql('false');
123
- });
124
- it('should properly parse null attribute', async function () {
125
- proxyStub.resolves(null);
126
- await chai_1.default.expect(driver.getProperty(property, elementId)).to.eventually.be.null;
127
- });
128
- it('should properly parse string attribute', async function () {
129
- proxyStub.resolves('value');
130
- (0, chai_1.expect)(await driver.getProperty(property, elementId)).to.eql('value');
131
- });
132
- });
133
- describe('getAttribute - special contentSize', function () {
134
- it('should call the internal method instead of WDA', async function () {
135
- const getContentSizeStub = sandbox.stub(driver, 'getContentSize');
136
- getContentSizeStub.resolves('foo');
137
- (0, chai_1.expect)(await driver.getAttribute('contentSize', 2)).to.eql('foo');
138
- (0, chai_1.expect)(proxyStub.called).to.be.false;
139
- (0, chai_1.expect)(getContentSizeStub.calledOnce).to.be.true;
140
- });
141
- });
142
- describe('getContentSize', function () {
143
- const el = { ELEMENT: '1234' };
144
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['getAttribute']>} */
145
- let getAttrStub;
146
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['getElementRect']>} */
147
- let getRectStub;
148
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['findElOrEls']>} */
149
- let findElStub;
150
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['getSize']>} */
151
- let getSizeStub;
152
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['getLocationInView']>} */
153
- let getLocationStub;
154
- beforeEach(function () {
155
- getAttrStub = sandbox.stub(driver, 'getAttribute');
156
- getRectStub = sandbox.stub(driver, 'getElementRect');
157
- findElStub = sandbox.stub(driver, 'findElOrEls');
158
- getSizeStub = sandbox.stub(driver, 'getSize');
159
- getLocationStub = sandbox.stub(driver, 'getLocationInView');
160
- });
161
- describe('web context', function () {
162
- /** @type {XCUITestDriver['curContext']} */
163
- let oldContext;
164
- beforeEach(function () {
165
- oldContext = driver.curContext;
166
- driver.curContext = 'WEBVIEW';
167
- });
168
- afterEach(function () {
169
- driver.curContext = oldContext;
170
- });
171
- it('should throw when in a web context', async function () {
172
- await (0, chai_1.expect)(driver.getContentSize(el)).to.be.rejectedWith(/not yet implemented/);
173
- });
174
- });
175
- it('should throw if trying to get contentSize of something other than table or collection', async function () {
176
- getAttrStub.resolves('XCUIElementTypeStatusBar');
177
- await (0, chai_1.expect)(driver.getContentSize(el)).to.be.rejectedWith(/Can't get content size for type/);
178
- });
179
- it('should simply get the rect if just one child', async function () {
180
- getAttrStub.resolves('XCUIElementTypeTable');
181
- findElStub.resolves([{ ELEMENT: 'foo' }]);
182
- getRectStub.resolves({ x: 0, y: 0, height: 100, width: 200 });
183
- getSizeStub.resolves({ height: 100, width: 200 });
184
- getLocationStub.resolves({ x: 0, y: 0 });
185
- const contentSizeObj = JSON.parse(await driver.getContentSize(el));
186
- (0, chai_1.expect)(contentSizeObj).to.eql({
187
- width: 200,
188
- height: 100,
189
- top: 0,
190
- left: 0,
191
- scrollableOffset: 100,
192
- });
193
- (0, chai_1.expect)(getRectStub.calledOnce).to.be.true;
194
- });
195
- it('should get simple difference in element positions of a table', async function () {
196
- const el1 = { ELEMENT: 1 };
197
- const el2 = { ELEMENT: 2 };
198
- getAttrStub.resolves('XCUIElementTypeTable');
199
- findElStub.resolves([el1, el2]);
200
- getRectStub.withArgs(el1).resolves({ x: 0, y: 10, width: 50, height: 60 });
201
- getRectStub.withArgs(el2).resolves({ x: 10, y: 80, width: 60, height: 100 });
202
- getSizeStub.resolves({ height: 100, width: 200 });
203
- getLocationStub.resolves({ x: 0, y: 0 });
204
- const contentSizeObj = JSON.parse(await driver.getContentSize(el));
205
- (0, chai_1.expect)(contentSizeObj).to.eql({
206
- width: 200,
207
- height: 100,
208
- top: 0,
209
- left: 0,
210
- scrollableOffset: 170,
211
- });
212
- (0, chai_1.expect)(getRectStub.calledTwice).to.be.true;
213
- });
214
- it('should be sensitive to row items in the case of a collection view', async function () {
215
- // set up a collection view with 3 rows of 2 elements.
216
- // give the last row just one element
217
- const fixtures = [
218
- { id: 1, x: 0, y: 0, height: 50, width: 50 },
219
- { id: 2, x: 50, y: 0, height: 50, width: 50 },
220
- { id: 3, x: 0, y: 60, height: 50, width: 50 },
221
- { id: 4, x: 50, y: 60, height: 50, width: 50 },
222
- { id: 5, x: 0, y: 120, height: 50, width: 50 },
223
- ];
224
- const scrollableOffset = 170; // 3 rows plus space between two
225
- getAttrStub.resolves('XCUIElementTypeCollectionView');
226
- findElStub.resolves(fixtures.map((el) => ({ ELEMENT: el.id })));
227
- for (const item of fixtures) {
228
- getRectStub.withArgs({ ELEMENT: item.id }).resolves(item);
229
- }
230
- getSizeStub.resolves({ height: 100, width: 200 });
231
- getLocationStub.resolves({ x: 0, y: 0 });
232
- const contentSizeObj = JSON.parse(await driver.getContentSize(el));
233
- (0, chai_1.expect)(contentSizeObj).to.eql({
234
- width: 200,
235
- height: 100,
236
- top: 0,
237
- left: 0,
238
- scrollableOffset,
239
- });
240
- (0, chai_1.expect)(getRectStub.calledThrice).to.be.true;
241
- });
242
- });
243
- describe('setValue', function () {
244
- describe('Native contest', function () {
245
- const elementId = 2;
246
- const expectedEndpoint = `/element/${elementId}/value`;
247
- const expectedMethod = 'POST';
248
- describe('success', function () {
249
- it('should proxy string as array of characters', async function () {
250
- await driver.setValue('hello\uE006', elementId);
251
- (0, chai_1.expect)(proxyStub.calledOnceWithExactly(expectedEndpoint, expectedMethod, {
252
- value: ['h', 'e', 'l', 'l', 'o', '\n'],
253
- })).to.be.true;
254
- });
255
- it('should proxy string with smileys as array of characters', async function () {
256
- await driver.setValue('hello😀😎', elementId);
257
- (0, chai_1.expect)(proxyStub.calledOnceWithExactly(expectedEndpoint, expectedMethod, {
258
- value: ['h', 'e', 'l', 'l', 'o', '😀', '😎'],
259
- })).to.be.true;
260
- });
261
- it('should proxy number as array of characters', async function () {
262
- await driver.setValue(1234.56, elementId);
263
- (0, chai_1.expect)(proxyStub.calledOnceWithExactly(expectedEndpoint, expectedMethod, {
264
- value: ['1', '2', '3', '4', '.', '5', '6'],
265
- })).to.be.true;
266
- });
267
- it('should proxy string array as array of characters', async function () {
268
- await driver.setValue(['hel', 'lo'], elementId);
269
- (0, chai_1.expect)(proxyStub.calledOnceWithExactly(expectedEndpoint, expectedMethod, {
270
- value: ['h', 'e', 'l', 'l', 'o'],
271
- })).to.be.true;
272
- });
273
- it('should proxy integer array as array of characters', async function () {
274
- await driver.setValue([1234], elementId);
275
- (0, chai_1.expect)(proxyStub.calledOnceWithExactly(expectedEndpoint, expectedMethod, {
276
- value: ['1', '2', '3', '4'],
277
- })).to.be.true;
278
- });
279
- });
280
- describe('failure', function () {
281
- it('should throw invalid argument exception for null', async function () {
282
- await (0, chai_1.expect)(driver.setValue(null, elementId)).to.be.rejectedWith(/supported/);
283
- });
284
- it('should throw invalid argument exception for object', async function () {
285
- await (0, chai_1.expect)(driver.setValue({ hi: 'there' }, elementId)).to.be.rejectedWith(/supported/);
286
- });
287
- });
288
- });
289
- describe('Web contest', function () {
290
- const elementId = 2;
291
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['getAtomsElement']>} */
292
- let atomElement;
293
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['executeAtom']>} */
294
- let executeAtom;
295
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['setValueWithWebAtom']>} */
296
- let setValueWithWebAtom;
297
- const webEl = { ELEMENT: '5000', 'element-6066-11e4-a52e-4f735466cecf': '5000' };
298
- beforeEach(function () {
299
- driver.curContext = 'fake web context';
300
- atomElement = sandbox.stub(driver, 'getAtomsElement').returns(webEl);
301
- executeAtom = sandbox.stub(driver, 'executeAtom');
302
- setValueWithWebAtom = sandbox.stub(driver, 'setValueWithWebAtom');
303
- });
304
- afterEach(function () {
305
- sandbox.restore();
306
- });
307
- describe('setValueWithWebAtom', function () {
308
- it('with default', async function () {
309
- driver.opts.sendKeyStrategy = undefined;
310
- await driver.setValue('hello\uE006😀', elementId);
311
- (0, chai_1.expect)(atomElement.calledOnce).to.be.true;
312
- (0, chai_1.expect)(executeAtom.calledOnce).to.be.true;
313
- (0, chai_1.expect)(setValueWithWebAtom.calledOnceWithExactly(webEl, 'hello\uE006😀')).to.be.true;
314
- });
315
- it('with oneByOne', async function () {
316
- driver.opts.sendKeyStrategy = 'oneByOne';
317
- await driver.setValue('hello\uE006😀', elementId);
318
- (0, chai_1.expect)(atomElement.calledOnce).to.be.true;
319
- (0, chai_1.expect)(executeAtom.calledOnce).to.be.true;
320
- (0, chai_1.expect)(setValueWithWebAtom.getCall(0).args).to.eql([webEl, 'h']);
321
- (0, chai_1.expect)(setValueWithWebAtom.getCall(1).args).to.eql([webEl, 'e']);
322
- (0, chai_1.expect)(setValueWithWebAtom.getCall(2).args).to.eql([webEl, 'l']);
323
- (0, chai_1.expect)(setValueWithWebAtom.getCall(3).args).to.eql([webEl, 'l']);
324
- (0, chai_1.expect)(setValueWithWebAtom.getCall(4).args).to.eql([webEl, 'o']);
325
- (0, chai_1.expect)(setValueWithWebAtom.getCall(5).args).to.eql([webEl, '\n']);
326
- (0, chai_1.expect)(setValueWithWebAtom.getCall(6).args).to.eql([webEl, '😀']);
327
- });
328
- });
329
- });
330
- });
331
- describe('getLocation for web elements', function () {
332
- /** @type {XCUITestDriver} */
333
- let driver;
334
- const webEl = { ELEMENT: '5000', 'element-6066-11e4-a52e-4f735466cecf': '5000' };
335
- const fixtureXOffset = 100;
336
- const fixtureYOffset = 200;
337
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['execute']>} */
338
- let executeStub;
339
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['executeAtom']>} */
340
- let atomStub;
341
- beforeEach(function () {
342
- driver = new driver_1.XCUITestDriver({});
343
- driver.curContext = 'fake web context';
344
- executeStub = sandbox.stub(driver, 'execute').resolves([fixtureXOffset, fixtureYOffset]);
345
- sandbox.stub(driver, 'getAtomsElement').resolvesArg(0);
346
- atomStub = sandbox.stub(driver, 'executeAtom').resolves({ x: 0, y: 0 });
347
- proxyStub = sandbox.stub(driver, 'proxyCommand');
348
- });
349
- afterEach(function () {
350
- sandbox.restore();
351
- });
352
- it('should get location relative to scroll by default', async function () {
353
- const loc = await driver.getLocation(webEl);
354
- (0, chai_1.expect)(executeStub.calledOnce).to.be.false;
355
- (0, chai_1.expect)(atomStub.calledOnce).to.be.true;
356
- (0, chai_1.expect)(atomStub.firstCall.args[0]).to.eql('get_top_left_coordinates');
357
- (0, chai_1.expect)(loc.x).to.equal(0);
358
- (0, chai_1.expect)(loc.y).to.equal(0);
359
- });
360
- it('should get location relative to document with absoluteWebLocations cap', async function () {
361
- driver.opts.absoluteWebLocations = true;
362
- const loc = await driver.getLocation(webEl);
363
- (0, chai_1.expect)(executeStub.calledOnce).to.be.true;
364
- (0, chai_1.expect)(atomStub.calledOnce).to.be.true;
365
- (0, chai_1.expect)(atomStub.firstCall.args[0]).to.eql('get_top_left_coordinates');
366
- (0, chai_1.expect)(loc.x).to.equal(fixtureXOffset);
367
- (0, chai_1.expect)(loc.y).to.equal(fixtureYOffset);
368
- });
369
- });
370
- describe('getElementRect', function () {
371
- /** @type {XCUITestDriver} */
372
- let driver;
373
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['getNativeRect']>} */
374
- let getNativeRectStub;
375
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['getLocationInView']>} */
376
- let getLocationStub;
377
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['getSize']>} */
378
- let getSizeStub;
379
- /** @type {sinon.SinonStubbedMember<XCUITestDriver['isWebContext']>} */
380
- let isWebContextStub;
381
- const elem = { ELEMENT: '5000' };
382
- beforeEach(function () {
383
- driver = new driver_1.XCUITestDriver({});
384
- getNativeRectStub = sandbox
385
- .stub(driver, 'getNativeRect')
386
- .resolves({ x: 0, y: 50, width: 100, height: 200 });
387
- getLocationStub = sandbox.stub(driver, 'getLocation').resolves({ x: 0, y: 50 });
388
- getSizeStub = sandbox.stub(driver, 'getSize').resolves({ width: 100, height: 200 });
389
- });
390
- afterEach(function () {
391
- sandbox.restore();
392
- });
393
- it('should get element rect in native context', async function () {
394
- isWebContextStub = sandbox.stub(driver, 'isWebContext').returns(false);
395
- const rect = await driver.getElementRect(elem);
396
- (0, chai_1.expect)(isWebContextStub.calledOnce).to.be.true;
397
- (0, chai_1.expect)(getNativeRectStub.calledOnce).to.be.true;
398
- (0, chai_1.expect)(getLocationStub.calledOnce).to.be.false;
399
- (0, chai_1.expect)(getSizeStub.calledOnce).to.be.false;
400
- (0, chai_1.expect)(rect.x).to.eql(0);
401
- (0, chai_1.expect)(rect.y).to.eql(50);
402
- (0, chai_1.expect)(rect.width).to.eql(100);
403
- (0, chai_1.expect)(rect.height).to.eql(200);
404
- });
405
- it('should get element rect in Web context', async function () {
406
- isWebContextStub = sandbox.stub(driver, 'isWebContext').returns(true);
407
- const rect = await driver.getElementRect(elem);
408
- (0, chai_1.expect)(isWebContextStub.calledOnce).to.be.true;
409
- (0, chai_1.expect)(getNativeRectStub.calledOnce).to.be.false;
410
- (0, chai_1.expect)(getLocationStub.calledOnce).to.be.true;
411
- (0, chai_1.expect)(getSizeStub.calledOnce).to.be.true;
412
- (0, chai_1.expect)(rect.x).to.eql(0);
413
- (0, chai_1.expect)(rect.y).to.eql(50);
414
- (0, chai_1.expect)(rect.width).to.eql(100);
415
- (0, chai_1.expect)(rect.height).to.eql(200);
416
- });
417
- });
418
- });
419
- //# sourceMappingURL=element-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"element-specs.js","sourceRoot":"","sources":["../../../../test/unit/commands/element-specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=file-movement-specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-movement-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/commands/file-movement-specs.ts"],"names":[],"mappings":""}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const file_movement_1 = require("../../../lib/commands/file-movement");
40
- const support_1 = require("appium/support");
41
- const driver_1 = require("../../../lib/driver");
42
- const chai_1 = __importStar(require("chai"));
43
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
44
- chai_1.default.use(chai_as_promised_1.default);
45
- describe('file-movement', function () {
46
- describe('parseContainerPath', function () {
47
- let driver;
48
- beforeEach(function () {
49
- driver = new driver_1.XCUITestDriver({});
50
- });
51
- afterEach(function () {
52
- driver = null;
53
- });
54
- it('should parse with container', async function () {
55
- const mntRoot = await support_1.tempDir.openDir();
56
- const { bundleId, pathInContainer, containerType } = await file_movement_1.parseContainerPath.bind(driver)('@io.appium.example:app/Documents/file.txt', mntRoot);
57
- (0, chai_1.expect)(bundleId).to.eql('io.appium.example');
58
- (0, chai_1.expect)(pathInContainer).to.eql(`${mntRoot}/Documents/file.txt`);
59
- (0, chai_1.expect)(containerType).to.eql('app');
60
- });
61
- it('should parse with container root', async function () {
62
- const mntRoot = await support_1.tempDir.openDir();
63
- const { bundleId, pathInContainer, containerType } = await file_movement_1.parseContainerPath.bind(driver)('@io.appium.example:documents/', mntRoot);
64
- (0, chai_1.expect)(bundleId).to.eql('io.appium.example');
65
- (0, chai_1.expect)(pathInContainer).to.eql(mntRoot);
66
- (0, chai_1.expect)(containerType).to.eql('documents');
67
- });
68
- it('should parse without container', async function () {
69
- const mntRoot = await support_1.tempDir.openDir();
70
- const { bundleId, pathInContainer, containerType } = await file_movement_1.parseContainerPath.bind(driver)('@io.appium.example/Documents/file.txt', mntRoot);
71
- (0, chai_1.expect)(bundleId).to.eql('io.appium.example');
72
- (0, chai_1.expect)(pathInContainer).to.eql(`${mntRoot}/Documents/file.txt`);
73
- (0, chai_1.expect)(containerType).equal(null);
74
- });
75
- it('should raise an error if no container path', async function () {
76
- const mntRoot = await support_1.tempDir.openDir();
77
- await (0, chai_1.expect)(file_movement_1.parseContainerPath.bind(driver)('@io.appium.example:documents', mntRoot)).to.be.rejected;
78
- });
79
- });
80
- });
81
- //# sourceMappingURL=file-movement-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-movement-specs.js","sourceRoot":"","sources":["../../../../test/unit/commands/file-movement-specs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAuE;AACvE,4CAAuC;AACvC,gDAAmD;AACnD,6CAAkC;AAClC,wEAA8C;AAE9C,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEzB,QAAQ,CAAC,eAAe,EAAE;IAExB,QAAQ,CAAC,oBAAoB,EAAE;QAC7B,IAAI,MAAM,CAAC;QAEX,UAAU,CAAC;YACT,MAAM,GAAG,IAAI,uBAAc,CAAC,EAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC;YACR,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK;YACrC,MAAM,OAAO,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,EAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAC,GAAG,MAAM,kCAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CACtF,2CAA2C,EAC3C,OAAO,CACR,CAAC;YAEF,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAC7C,IAAA,aAAM,EAAC,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,qBAAqB,CAAC,CAAC;YAChE,IAAA,aAAM,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kCAAkC,EAAE,KAAK;YAC1C,MAAM,OAAO,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,EAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAC,GAAG,MAAM,kCAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CACtF,+BAA+B,EAC/B,OAAO,CACR,CAAC;YAEF,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAC7C,IAAA,aAAM,EAAC,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,IAAA,aAAM,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gCAAgC,EAAE,KAAK;YACxC,MAAM,OAAO,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,EAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAC,GAAG,MAAM,kCAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CACtF,uCAAuC,EACvC,OAAO,CACR,CAAC;YAEF,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAC7C,IAAA,aAAM,EAAC,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,qBAAqB,CAAC,CAAC;YAChE,IAAA,aAAM,EAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,4CAA4C,EAAE,KAAK;YACpD,MAAM,OAAO,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,IAAA,aAAM,EAAC,kCAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACxG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=find-specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/commands/find-specs.ts"],"names":[],"mappings":""}