appium-webdriveragent 11.1.0 → 11.1.2

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 (38) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/WebDriverAgentLib/Info.plist +2 -2
  3. package/build/lib/utils.d.ts +0 -12
  4. package/build/lib/utils.d.ts.map +1 -1
  5. package/build/lib/utils.js +0 -51
  6. package/build/lib/utils.js.map +1 -1
  7. package/build/lib/webdriveragent.d.ts.map +1 -1
  8. package/build/lib/webdriveragent.js +0 -1
  9. package/build/lib/webdriveragent.js.map +1 -1
  10. package/build/lib/xcodebuild.d.ts +1 -6
  11. package/build/lib/xcodebuild.d.ts.map +1 -1
  12. package/build/lib/xcodebuild.js +5 -24
  13. package/build/lib/xcodebuild.js.map +1 -1
  14. package/build/tsconfig.tsbuildinfo +1 -1
  15. package/lib/utils.ts +1 -52
  16. package/lib/webdriveragent.ts +0 -1
  17. package/lib/xcodebuild.ts +6 -28
  18. package/package.json +3 -2
  19. package/build/test/functional/desired.d.ts +0 -3
  20. package/build/test/functional/desired.d.ts.map +0 -1
  21. package/build/test/functional/desired.js +0 -9
  22. package/build/test/functional/desired.js.map +0 -1
  23. package/build/test/functional/helpers/simulator.d.ts +0 -5
  24. package/build/test/functional/helpers/simulator.d.ts.map +0 -1
  25. package/build/test/functional/helpers/simulator.js +0 -39
  26. package/build/test/functional/helpers/simulator.js.map +0 -1
  27. package/build/test/functional/webdriveragent-e2e-specs.d.ts +0 -2
  28. package/build/test/functional/webdriveragent-e2e-specs.d.ts.map +0 -1
  29. package/build/test/functional/webdriveragent-e2e-specs.js +0 -133
  30. package/build/test/functional/webdriveragent-e2e-specs.js.map +0 -1
  31. package/build/test/unit/utils-specs.d.ts +0 -2
  32. package/build/test/unit/utils-specs.d.ts.map +0 -1
  33. package/build/test/unit/utils-specs.js +0 -161
  34. package/build/test/unit/utils-specs.js.map +0 -1
  35. package/build/test/unit/webdriveragent-specs.d.ts +0 -2
  36. package/build/test/unit/webdriveragent-specs.d.ts.map +0 -1
  37. package/build/test/unit/webdriveragent-specs.js +0 -424
  38. package/build/test/unit/webdriveragent-specs.js.map +0 -1
@@ -1,424 +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 chai_1 = __importStar(require("chai"));
40
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
41
- const utils_1 = require("../../lib/utils");
42
- const webdriveragent_1 = require("../../lib/webdriveragent");
43
- const utils = __importStar(require("../../lib/utils"));
44
- const path_1 = __importDefault(require("path"));
45
- const lodash_1 = __importDefault(require("lodash"));
46
- const sinon_1 = __importDefault(require("sinon"));
47
- chai_1.default.use(chai_as_promised_1.default);
48
- const fakeConstructorArgs = {
49
- device: {
50
- udid: 'some-sim-udid',
51
- simctl: {},
52
- devicectl: {},
53
- idb: null
54
- },
55
- platformVersion: '9',
56
- host: 'me',
57
- realDevice: false
58
- };
59
- const defaultAgentPath = path_1.default.resolve(utils_1.BOOTSTRAP_PATH, 'WebDriverAgent.xcodeproj');
60
- const customBootstrapPath = '/path/to/wda';
61
- const customAgentPath = '/path/to/some/agent/WebDriverAgent.xcodeproj';
62
- const customDerivedDataPath = '/path/to/some/agent/DerivedData/';
63
- describe('WebDriverAgent', function () {
64
- describe('Constructor', function () {
65
- it('should have a default wda agent if not specified', function () {
66
- const agent = new webdriveragent_1.WebDriverAgent(fakeConstructorArgs);
67
- (0, chai_1.expect)(agent.bootstrapPath).to.eql(utils_1.BOOTSTRAP_PATH);
68
- (0, chai_1.expect)(agent.agentPath).to.eql(defaultAgentPath);
69
- });
70
- it('should have custom wda bootstrap and default agent if only bootstrap specified', function () {
71
- const agent = new webdriveragent_1.WebDriverAgent(lodash_1.default.defaults({
72
- bootstrapPath: customBootstrapPath,
73
- }, fakeConstructorArgs));
74
- (0, chai_1.expect)(agent.bootstrapPath).to.eql(customBootstrapPath);
75
- (0, chai_1.expect)(agent.agentPath).to.eql(path_1.default.resolve(customBootstrapPath, 'WebDriverAgent.xcodeproj'));
76
- });
77
- it('should have custom wda bootstrap and agent if both specified', function () {
78
- const agent = new webdriveragent_1.WebDriverAgent(lodash_1.default.defaults({
79
- bootstrapPath: customBootstrapPath,
80
- agentPath: customAgentPath,
81
- }, fakeConstructorArgs));
82
- (0, chai_1.expect)(agent.bootstrapPath).to.eql(customBootstrapPath);
83
- (0, chai_1.expect)(agent.agentPath).to.eql(customAgentPath);
84
- });
85
- it('should have custom derivedDataPath if specified', function () {
86
- const agent = new webdriveragent_1.WebDriverAgent(lodash_1.default.defaults({
87
- derivedDataPath: customDerivedDataPath
88
- }, fakeConstructorArgs));
89
- if (agent.xcodebuild) {
90
- (0, chai_1.expect)(agent.xcodebuild.derivedDataPath).to.eql(customDerivedDataPath);
91
- }
92
- });
93
- });
94
- describe('launch', function () {
95
- it('should use webDriverAgentUrl override and return current status', async function () {
96
- const override = 'http://mockurl:8100/';
97
- const args = Object.assign({}, fakeConstructorArgs);
98
- args.webDriverAgentUrl = override;
99
- const agent = new webdriveragent_1.WebDriverAgent(args);
100
- const wdaStub = sinon_1.default.stub(agent, 'getStatus');
101
- wdaStub.callsFake(function () {
102
- return { build: 'data' };
103
- });
104
- await (0, chai_1.expect)(agent.launch('sessionId')).to.eventually.eql({ build: 'data' });
105
- (0, chai_1.expect)(agent.url.href).to.eql(override);
106
- if (agent.jwproxy) {
107
- (0, chai_1.expect)(agent.jwproxy.server).to.eql('mockurl');
108
- (0, chai_1.expect)(agent.jwproxy.port).to.eql(8100);
109
- (0, chai_1.expect)(agent.jwproxy.base).to.eql('');
110
- (0, chai_1.expect)(agent.jwproxy.scheme).to.eql('http');
111
- }
112
- if (agent.noSessionProxy) {
113
- (0, chai_1.expect)(agent.noSessionProxy.server).to.eql('mockurl');
114
- (0, chai_1.expect)(agent.noSessionProxy.port).to.eql(8100);
115
- (0, chai_1.expect)(agent.noSessionProxy.base).to.eql('');
116
- (0, chai_1.expect)(agent.noSessionProxy.scheme).to.eql('http');
117
- }
118
- wdaStub.reset();
119
- });
120
- });
121
- describe('use wda proxy url', function () {
122
- it('should use webDriverAgentUrl wda proxy url', async function () {
123
- const override = 'http://127.0.0.1:8100/aabbccdd';
124
- const args = Object.assign({}, fakeConstructorArgs);
125
- args.webDriverAgentUrl = override;
126
- const agent = new webdriveragent_1.WebDriverAgent(args);
127
- const wdaStub = sinon_1.default.stub(agent, 'getStatus');
128
- wdaStub.callsFake(function () {
129
- return { build: 'data' };
130
- });
131
- await (0, chai_1.expect)(agent.launch('sessionId')).to.eventually.eql({ build: 'data' });
132
- (0, chai_1.expect)(agent.url.port).to.eql('8100');
133
- (0, chai_1.expect)(agent.url.hostname).to.eql('127.0.0.1');
134
- (0, chai_1.expect)(agent.url.path).to.eql('/aabbccdd');
135
- if (agent.jwproxy) {
136
- (0, chai_1.expect)(agent.jwproxy.server).to.eql('127.0.0.1');
137
- (0, chai_1.expect)(agent.jwproxy.port).to.eql(8100);
138
- (0, chai_1.expect)(agent.jwproxy.base).to.eql('/aabbccdd');
139
- (0, chai_1.expect)(agent.jwproxy.scheme).to.eql('http');
140
- }
141
- if (agent.noSessionProxy) {
142
- (0, chai_1.expect)(agent.noSessionProxy.server).to.eql('127.0.0.1');
143
- (0, chai_1.expect)(agent.noSessionProxy.port).to.eql(8100);
144
- (0, chai_1.expect)(agent.noSessionProxy.base).to.eql('/aabbccdd');
145
- (0, chai_1.expect)(agent.noSessionProxy.scheme).to.eql('http');
146
- }
147
- });
148
- });
149
- describe('get url', function () {
150
- it('should use default WDA listening url', function () {
151
- const args = Object.assign({}, fakeConstructorArgs);
152
- const agent = new webdriveragent_1.WebDriverAgent(args);
153
- (0, chai_1.expect)(agent.url.href).to.eql('http://127.0.0.1:8100/');
154
- agent.setupProxies('mysession');
155
- if (agent.jwproxy) {
156
- (0, chai_1.expect)(agent.jwproxy.scheme).to.eql('http');
157
- }
158
- if (agent.noSessionProxy) {
159
- (0, chai_1.expect)(agent.noSessionProxy.scheme).to.eql('http');
160
- }
161
- });
162
- it('should use default WDA listening url with emply base url', function () {
163
- const wdaLocalPort = '9100';
164
- const wdaBaseUrl = '';
165
- const args = Object.assign({}, fakeConstructorArgs);
166
- args.wdaBaseUrl = wdaBaseUrl;
167
- args.wdaLocalPort = parseInt(wdaLocalPort, 10);
168
- const agent = new webdriveragent_1.WebDriverAgent(args);
169
- (0, chai_1.expect)(agent.url.href).to.eql('http://127.0.0.1:9100/');
170
- agent.setupProxies('mysession');
171
- if (agent.jwproxy) {
172
- (0, chai_1.expect)(agent.jwproxy.scheme).to.eql('http');
173
- }
174
- if (agent.noSessionProxy) {
175
- (0, chai_1.expect)(agent.noSessionProxy.scheme).to.eql('http');
176
- }
177
- });
178
- it('should use customised WDA listening url', function () {
179
- const wdaLocalPort = '9100';
180
- const wdaBaseUrl = 'http://mockurl';
181
- const args = Object.assign({}, fakeConstructorArgs);
182
- args.wdaBaseUrl = wdaBaseUrl;
183
- args.wdaLocalPort = parseInt(wdaLocalPort, 10);
184
- const agent = new webdriveragent_1.WebDriverAgent(args);
185
- (0, chai_1.expect)(agent.url.href).to.eql('http://mockurl:9100/');
186
- agent.setupProxies('mysession');
187
- if (agent.jwproxy) {
188
- (0, chai_1.expect)(agent.jwproxy.scheme).to.eql('http');
189
- }
190
- if (agent.noSessionProxy) {
191
- (0, chai_1.expect)(agent.noSessionProxy.scheme).to.eql('http');
192
- }
193
- });
194
- it('should use customised WDA listening url with slash', function () {
195
- const wdaLocalPort = '9100';
196
- const wdaBaseUrl = 'http://mockurl/';
197
- const args = Object.assign({}, fakeConstructorArgs);
198
- args.wdaBaseUrl = wdaBaseUrl;
199
- args.wdaLocalPort = parseInt(wdaLocalPort, 10);
200
- const agent = new webdriveragent_1.WebDriverAgent(args);
201
- (0, chai_1.expect)(agent.url.href).to.eql('http://mockurl:9100/');
202
- agent.setupProxies('mysession');
203
- if (agent.jwproxy) {
204
- (0, chai_1.expect)(agent.jwproxy.scheme).to.eql('http');
205
- }
206
- if (agent.noSessionProxy) {
207
- (0, chai_1.expect)(agent.noSessionProxy.scheme).to.eql('http');
208
- }
209
- });
210
- it('should use the given webDriverAgentUrl and ignore other params', function () {
211
- const args = Object.assign({}, fakeConstructorArgs);
212
- args.wdaBaseUrl = 'http://mockurl/';
213
- args.wdaLocalPort = 9100;
214
- args.webDriverAgentUrl = 'https://127.0.0.1:8100/';
215
- const agent = new webdriveragent_1.WebDriverAgent(args);
216
- (0, chai_1.expect)(agent.url.href).to.eql('https://127.0.0.1:8100/');
217
- });
218
- it('should set scheme to https for https webDriverAgentUrl', function () {
219
- const args = Object.assign({}, fakeConstructorArgs);
220
- args.webDriverAgentUrl = 'https://127.0.0.1:8100/';
221
- const agent = new webdriveragent_1.WebDriverAgent(args);
222
- agent.setupProxies('mysession');
223
- if (agent.jwproxy) {
224
- (0, chai_1.expect)(agent.jwproxy.scheme).to.eql('https');
225
- }
226
- if (agent.noSessionProxy) {
227
- (0, chai_1.expect)(agent.noSessionProxy.scheme).to.eql('https');
228
- }
229
- });
230
- });
231
- describe('setupCaching()', function () {
232
- let wda;
233
- let wdaStub;
234
- let wdaStubUninstall;
235
- const getTimestampStub = sinon_1.default.stub(utils, 'getWDAUpgradeTimestamp');
236
- beforeEach(function () {
237
- wda = new webdriveragent_1.WebDriverAgent(fakeConstructorArgs);
238
- wdaStub = sinon_1.default.stub(wda, 'getStatus');
239
- wdaStubUninstall = sinon_1.default.stub(wda, 'uninstall');
240
- });
241
- afterEach(function () {
242
- for (const stub of [wdaStub, wdaStubUninstall, getTimestampStub]) {
243
- if (stub) {
244
- stub.reset();
245
- }
246
- }
247
- });
248
- it('should not call uninstall since no Running WDA', async function () {
249
- wdaStub.callsFake(function () {
250
- return null;
251
- });
252
- wdaStubUninstall.callsFake(lodash_1.default.noop);
253
- await wda.setupCaching();
254
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
255
- (0, chai_1.expect)(wdaStubUninstall.notCalled).to.be.true;
256
- (0, chai_1.expect)(lodash_1.default.isUndefined(wda.webDriverAgentUrl)).to.be.true;
257
- });
258
- it('should not call uninstall since running WDA has only time', async function () {
259
- wdaStub.callsFake(function () {
260
- return { build: { time: 'Jun 24 2018 17:08:21' } };
261
- });
262
- wdaStubUninstall.callsFake(lodash_1.default.noop);
263
- await wda.setupCaching();
264
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
265
- (0, chai_1.expect)(wdaStubUninstall.notCalled).to.be.true;
266
- (0, chai_1.expect)(wda.webDriverAgentUrl).to.equal('http://127.0.0.1:8100/');
267
- });
268
- it('should call uninstall once since bundle id is not default without updatedWDABundleId capability', async function () {
269
- wdaStub.callsFake(function () {
270
- return { build: { time: 'Jun 24 2018 17:08:21', productBundleIdentifier: 'com.example.WebDriverAgent' } };
271
- });
272
- wdaStubUninstall.callsFake(lodash_1.default.noop);
273
- await wda.setupCaching();
274
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
275
- (0, chai_1.expect)(wdaStubUninstall.calledOnce).to.be.true;
276
- (0, chai_1.expect)(lodash_1.default.isUndefined(wda.webDriverAgentUrl)).to.be.true;
277
- });
278
- it('should call uninstall once since bundle id is different with updatedWDABundleId capability', async function () {
279
- wdaStub.callsFake(function () {
280
- return { build: { time: 'Jun 24 2018 17:08:21', productBundleIdentifier: 'com.example.different.WebDriverAgent' } };
281
- });
282
- wdaStubUninstall.callsFake(lodash_1.default.noop);
283
- await wda.setupCaching();
284
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
285
- (0, chai_1.expect)(wdaStubUninstall.calledOnce).to.be.true;
286
- (0, chai_1.expect)(lodash_1.default.isUndefined(wda.webDriverAgentUrl)).to.be.true;
287
- });
288
- it('should not call uninstall since bundle id is equal to updatedWDABundleId capability', async function () {
289
- wda = new webdriveragent_1.WebDriverAgent({ ...fakeConstructorArgs, updatedWDABundleId: 'com.example.WebDriverAgent' });
290
- wdaStub = sinon_1.default.stub(wda, 'getStatus');
291
- wdaStubUninstall = sinon_1.default.stub(wda, 'uninstall');
292
- wdaStub.callsFake(function () {
293
- return { build: { time: 'Jun 24 2018 17:08:21', productBundleIdentifier: 'com.example.WebDriverAgent' } };
294
- });
295
- wdaStubUninstall.callsFake(lodash_1.default.noop);
296
- await wda.setupCaching();
297
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
298
- (0, chai_1.expect)(wdaStubUninstall.notCalled).to.be.true;
299
- (0, chai_1.expect)(wda.webDriverAgentUrl).to.equal('http://127.0.0.1:8100/');
300
- });
301
- it('should call uninstall if current revision differs from the bundled one', async function () {
302
- wdaStub.callsFake(function () {
303
- return { build: { upgradedAt: '1' } };
304
- });
305
- getTimestampStub.callsFake(() => '2');
306
- wdaStubUninstall.callsFake(lodash_1.default.noop);
307
- await wda.setupCaching();
308
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
309
- (0, chai_1.expect)(wdaStubUninstall.calledOnce).to.be.true;
310
- });
311
- it('should not call uninstall if current revision is the same as the bundled one', async function () {
312
- wdaStub.callsFake(function () {
313
- return { build: { upgradedAt: '1' } };
314
- });
315
- getTimestampStub.callsFake(() => '1');
316
- wdaStubUninstall.callsFake(lodash_1.default.noop);
317
- await wda.setupCaching();
318
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
319
- (0, chai_1.expect)(wdaStubUninstall.notCalled).to.be.true;
320
- });
321
- it('should not call uninstall if current revision cannot be retrieved from WDA status', async function () {
322
- wdaStub.callsFake(function () {
323
- return { build: {} };
324
- });
325
- getTimestampStub.callsFake(() => '1');
326
- wdaStubUninstall.callsFake(lodash_1.default.noop);
327
- await wda.setupCaching();
328
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
329
- (0, chai_1.expect)(wdaStubUninstall.notCalled).to.be.true;
330
- });
331
- it('should not call uninstall if current revision cannot be retrieved from the file system', async function () {
332
- wdaStub.callsFake(function () {
333
- return { build: { upgradedAt: '1' } };
334
- });
335
- getTimestampStub.callsFake(() => null);
336
- wdaStubUninstall.callsFake(lodash_1.default.noop);
337
- await wda.setupCaching();
338
- (0, chai_1.expect)(wdaStub.calledOnce).to.be.true;
339
- (0, chai_1.expect)(wdaStubUninstall.notCalled).to.be.true;
340
- });
341
- describe('uninstall', function () {
342
- let device;
343
- let wda;
344
- let deviceGetBundleIdsStub;
345
- let deviceRemoveAppStub;
346
- beforeEach(function () {
347
- device = {
348
- getUserInstalledBundleIdsByBundleName: () => { },
349
- removeApp: () => { }
350
- };
351
- wda = new webdriveragent_1.WebDriverAgent({ device });
352
- deviceGetBundleIdsStub = sinon_1.default.stub(device, 'getUserInstalledBundleIdsByBundleName');
353
- deviceRemoveAppStub = sinon_1.default.stub(device, 'removeApp');
354
- });
355
- afterEach(function () {
356
- for (const stub of [deviceGetBundleIdsStub, deviceRemoveAppStub]) {
357
- if (stub) {
358
- stub.reset();
359
- }
360
- }
361
- });
362
- it('should not call uninstall', async function () {
363
- deviceGetBundleIdsStub.callsFake(() => []);
364
- await wda.uninstall();
365
- (0, chai_1.expect)(deviceGetBundleIdsStub.calledOnce).to.be.true;
366
- (0, chai_1.expect)(deviceRemoveAppStub.notCalled).to.be.true;
367
- });
368
- it('should call uninstall once', async function () {
369
- const uninstalledBundIds = [];
370
- deviceGetBundleIdsStub.callsFake(() => ['com.appium.WDA1']);
371
- deviceRemoveAppStub.callsFake((id) => uninstalledBundIds.push(id));
372
- await wda.uninstall();
373
- (0, chai_1.expect)(deviceGetBundleIdsStub.calledOnce).to.be.true;
374
- (0, chai_1.expect)(deviceRemoveAppStub.calledOnce).to.be.true;
375
- (0, chai_1.expect)(uninstalledBundIds).to.eql(['com.appium.WDA1']);
376
- });
377
- it('should call uninstall twice', async function () {
378
- const uninstalledBundIds = [];
379
- deviceGetBundleIdsStub.callsFake(() => ['com.appium.WDA1', 'com.appium.WDA2']);
380
- deviceRemoveAppStub.callsFake((id) => uninstalledBundIds.push(id));
381
- await wda.uninstall();
382
- (0, chai_1.expect)(deviceGetBundleIdsStub.calledOnce).to.be.true;
383
- (0, chai_1.expect)(deviceRemoveAppStub.calledTwice).to.be.true;
384
- (0, chai_1.expect)(uninstalledBundIds).to.eql(['com.appium.WDA1', 'com.appium.WDA2']);
385
- });
386
- });
387
- });
388
- describe('usePreinstalledWDA related functions', function () {
389
- describe('bundleIdForXctest', function () {
390
- it('should have xctrunner automatically', function () {
391
- const args = Object.assign({}, fakeConstructorArgs);
392
- args.updatedWDABundleId = 'io.appium.wda';
393
- const agent = new webdriveragent_1.WebDriverAgent(args);
394
- (0, chai_1.expect)(agent.bundleIdForXctest).to.equal('io.appium.wda.xctrunner');
395
- });
396
- it('should have xctrunner automatically with default bundle id', function () {
397
- const args = Object.assign({}, fakeConstructorArgs);
398
- const agent = new webdriveragent_1.WebDriverAgent(args);
399
- (0, chai_1.expect)(agent.bundleIdForXctest).to.equal('com.facebook.WebDriverAgentRunner.xctrunner');
400
- });
401
- it('should allow an empty string as xctrunner suffix', function () {
402
- const args = Object.assign({}, fakeConstructorArgs);
403
- args.updatedWDABundleId = 'io.appium.wda';
404
- args.updatedWDABundleIdSuffix = '';
405
- const agent = new webdriveragent_1.WebDriverAgent(args);
406
- (0, chai_1.expect)(agent.bundleIdForXctest).to.equal('io.appium.wda');
407
- });
408
- it('should allow an empty string as xctrunner suffix with default bundle id', function () {
409
- const args = Object.assign({}, fakeConstructorArgs);
410
- args.updatedWDABundleIdSuffix = '';
411
- const agent = new webdriveragent_1.WebDriverAgent(args);
412
- (0, chai_1.expect)(agent.bundleIdForXctest).to.equal('com.facebook.WebDriverAgentRunner');
413
- });
414
- it('should have an arbitrary xctrunner suffix', function () {
415
- const args = Object.assign({}, fakeConstructorArgs);
416
- args.updatedWDABundleId = 'io.appium.wda';
417
- args.updatedWDABundleIdSuffix = '.customsuffix';
418
- const agent = new webdriveragent_1.WebDriverAgent(args);
419
- (0, chai_1.expect)(agent.bundleIdForXctest).to.equal('io.appium.wda.customsuffix');
420
- });
421
- });
422
- });
423
- });
424
- //# sourceMappingURL=webdriveragent-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webdriveragent-specs.js","sourceRoot":"","sources":["../../../test/unit/webdriveragent-specs.ts"],"names":[],"mappings":"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"}