UNPKG

appium-ios-simulator

Version:
148 lines (113 loc) 9.16 kB
'use strict'; var _slicedToArray = require('babel-runtime/helpers/sliced-to-array')['default']; var _regeneratorRuntime = require('babel-runtime/regenerator')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _appiumSupport = require('appium-support'); var _logger = require('../logger'); var _logger2 = _interopRequireDefault(_logger); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var extensions = {}; extensions.prepareSafari = function callee$0$0(tmpDir, platformVersion) { return _regeneratorRuntime.async(function callee$0$0$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: context$1$0.next = 2; return _regeneratorRuntime.awrap(this.prepareBuiltInApp("MobileSafari", tmpDir, platformVersion)); case 2: case 'end': return context$1$0.stop(); } }, null, this); }; extensions.prepareBuiltInApp = function callee$0$0(appName, tmpDir, platformVersion) { var newAppPath, stat, appPath, _ref, _ref2; return _regeneratorRuntime.async(function callee$0$0$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: _logger2['default'].debug('Looking for built in app \'' + appName + '\''); newAppPath = _path2['default'].resolve(tmpDir, 'Appium-' + appName + '-' + platformVersion + '.app'); stat = undefined, appPath = undefined; context$1$0.prev = 3; context$1$0.next = 6; return _regeneratorRuntime.awrap(this.getBuiltInApp(appName)); case 6: _ref = context$1$0.sent; _ref2 = _slicedToArray(_ref, 2); stat = _ref2[0]; appPath = _ref2[1]; context$1$0.next = 27; break; case 12: context$1$0.prev = 12; context$1$0.t0 = context$1$0['catch'](3); context$1$0.prev = 14; context$1$0.next = 17; return _regeneratorRuntime.awrap(_appiumSupport.fs.stat(newAppPath)); case 17: stat = context$1$0.sent; if (!stat.isDirectory()) { context$1$0.next = 21; break; } _logger2['default'].debug('Could not find original app, but found the temp ' + 'Appium one so using that: ${}'); return context$1$0.abrupt('return', [newAppPath, appPath]); case 21: context$1$0.next = 27; break; case 23: context$1$0.prev = 23; context$1$0.t1 = context$1$0['catch'](14); _logger2['default'].warn('App is also not at \'' + newAppPath + '\''); throw new Error('Could not find built in app \'' + appName + '\' in its home ' + 'or temp dir!'); case 27: if (stat.isDirectory()) { context$1$0.next = 29; break; } throw new Error('App found but it is not a directory: \'' + appPath + '\''); case 29: _logger2['default'].debug('Found app, trying to move \'' + appPath + '\' to tmp dir \'' + tmpDir + '\''); context$1$0.next = 32; return _regeneratorRuntime.awrap(this.moveBuiltInApp(appName, appPath, newAppPath)); case 32: case 'end': return context$1$0.stop(); } }, null, this, [[3, 12], [14, 23]]); }; extensions.getBuiltInApp = function callee$0$0(appName) { var appDir, appPath, stat; return _regeneratorRuntime.async(function callee$0$0$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: context$1$0.next = 2; return _regeneratorRuntime.awrap(this.getAppDir(appName)); case 2: appDir = context$1$0.sent; appPath = _path2['default'].resolve(appDir, appName + '.app'); _logger2['default'].debug('Found path for \'' + appName + '\': ' + appPath); context$1$0.prev = 5; context$1$0.next = 8; return _regeneratorRuntime.awrap(_appiumSupport.fs.stat(appPath)); case 8: stat = context$1$0.sent; return context$1$0.abrupt('return', [stat, appPath]); case 12: context$1$0.prev = 12; context$1$0.t0 = context$1$0['catch'](5); if (context$1$0.t0 && context$1$0.t0.message.indexOf('ENOENT') !== -1) { _logger2['default'].errorAndThrow('App \'' + appName + '\' is not at \'' + appPath + '\''); } case 15: case 'end': return context$1$0.stop(); } }, null, this, [[5, 12]]); }; exports['default'] = extensions; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9leHRlbnNpb25zL3ByZXBhcmUtYXBwcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7NkJBQW1CLGdCQUFnQjs7c0JBQ25CLFdBQVc7Ozs7b0JBQ1YsTUFBTTs7OztBQUd2QixJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7O0FBRXBCLFVBQVUsQ0FBQyxhQUFhLEdBQUcsb0JBQWdCLE1BQU0sRUFBRSxlQUFlOzs7Ozt5Q0FDMUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDOzs7Ozs7O0NBQ3RFLENBQUM7O0FBRUYsVUFBVSxDQUFDLGlCQUFpQixHQUFHLG9CQUFnQixPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWU7TUFFekUsVUFBVSxFQUVWLElBQUksRUFBRSxPQUFPOzs7OztBQUhqQiw0QkFBSSxLQUFLLGlDQUE4QixPQUFPLFFBQUksQ0FBQztBQUMvQyxrQkFBVSxHQUFHLGtCQUFLLE9BQU8sQ0FBQyxNQUFNLGNBQVksT0FBTyxTQUFJLGVBQWUsVUFBTztBQUU3RSxZQUFJLGNBQUUsT0FBTzs7O3lDQUVTLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDOzs7OztBQUFsRCxZQUFJO0FBQUUsZUFBTzs7Ozs7Ozs7O3lDQUdDLGtCQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7OztBQUFoQyxZQUFJOzthQUNBLElBQUksQ0FBQyxXQUFXLEVBQUU7Ozs7O0FBQ3BCLDRCQUFJLEtBQUssQ0FBQyxrREFBa0QsR0FDL0MsK0JBQStCLENBQUMsQ0FBQzs0Q0FDdkMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDOzs7Ozs7Ozs7O0FBRzlCLDRCQUFJLElBQUksMkJBQXdCLFVBQVUsUUFBSSxDQUFDO2NBQ3pDLElBQUksS0FBSyxDQUFDLG1DQUFnQyxPQUFPLHFDQUN6QixDQUFDOzs7WUFJOUIsSUFBSSxDQUFDLFdBQVcsRUFBRTs7Ozs7Y0FDZixJQUFJLEtBQUssNkNBQTBDLE9BQU8sUUFBSTs7OztBQUd0RSw0QkFBSSxLQUFLLGtDQUErQixPQUFPLHdCQUFpQixNQUFNLFFBQUksQ0FBQzs7eUNBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUM7Ozs7Ozs7Q0FDeEQsQ0FBQzs7QUFFRixVQUFVLENBQUMsYUFBYSxHQUFHLG9CQUFnQixPQUFPO01BQzVDLE1BQU0sRUFDTixPQUFPLEVBR0wsSUFBSTs7Ozs7eUNBSlMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7OztBQUF0QyxjQUFNO0FBQ04sZUFBTyxHQUFHLGtCQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUssT0FBTyxVQUFPOztBQUNwRCw0QkFBSSxLQUFLLHVCQUFvQixPQUFPLFlBQU0sT0FBTyxDQUFHLENBQUM7Ozt5Q0FFbEMsa0JBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQzs7O0FBQTdCLFlBQUk7NENBQ0QsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDOzs7Ozs7QUFFdEIsWUFBSSxrQkFBTyxlQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7QUFDL0MsOEJBQUksYUFBYSxZQUFTLE9BQU8sdUJBQWdCLE9BQU8sUUFBSSxDQUFDO1NBQzlEOzs7Ozs7O0NBRUosQ0FBQzs7cUJBR2EsVUFBVSIsImZpbGUiOiJsaWIvZXh0ZW5zaW9ucy9wcmVwYXJlLWFwcHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcyB9IGZyb20gJ2FwcGl1bS1zdXBwb3J0JztcbmltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5cbmxldCBleHRlbnNpb25zID0ge307XG5cbmV4dGVuc2lvbnMucHJlcGFyZVNhZmFyaSA9IGFzeW5jIGZ1bmN0aW9uICh0bXBEaXIsIHBsYXRmb3JtVmVyc2lvbikge1xuICBhd2FpdCB0aGlzLnByZXBhcmVCdWlsdEluQXBwKFwiTW9iaWxlU2FmYXJpXCIsIHRtcERpciwgcGxhdGZvcm1WZXJzaW9uKTtcbn07XG5cbmV4dGVuc2lvbnMucHJlcGFyZUJ1aWx0SW5BcHAgPSBhc3luYyBmdW5jdGlvbiAoYXBwTmFtZSwgdG1wRGlyLCBwbGF0Zm9ybVZlcnNpb24pIHtcbiAgbG9nLmRlYnVnKGBMb29raW5nIGZvciBidWlsdCBpbiBhcHAgJyR7YXBwTmFtZX0nYCk7XG4gIGxldCBuZXdBcHBQYXRoID0gcGF0aC5yZXNvbHZlKHRtcERpciwgYEFwcGl1bS0ke2FwcE5hbWV9LSR7cGxhdGZvcm1WZXJzaW9ufS5hcHBgKTtcblxuICBsZXQgc3RhdCwgYXBwUGF0aDtcbiAgdHJ5IHtcbiAgICBbc3RhdCwgYXBwUGF0aF0gPSBhd2FpdCB0aGlzLmdldEJ1aWx0SW5BcHAoYXBwTmFtZSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHRyeSB7XG4gICAgICBzdGF0ID0gYXdhaXQgZnMuc3RhdChuZXdBcHBQYXRoKTtcbiAgICAgIGlmIChzdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgbG9nLmRlYnVnKCdDb3VsZCBub3QgZmluZCBvcmlnaW5hbCBhcHAsIGJ1dCBmb3VuZCB0aGUgdGVtcCAnICtcbiAgICAgICAgICAgICAgICAgICAgICdBcHBpdW0gb25lIHNvIHVzaW5nIHRoYXQ6ICR7fScpO1xuICAgICAgICByZXR1cm4gW25ld0FwcFBhdGgsIGFwcFBhdGhdO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLndhcm4oYEFwcCBpcyBhbHNvIG5vdCBhdCAnJHtuZXdBcHBQYXRofSdgKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgYnVpbHQgaW4gYXBwICcke2FwcE5hbWV9JyBpbiBpdHMgaG9tZSBgICtcbiAgICAgICAgICAgICAgICAgICAgICBgb3IgdGVtcCBkaXIhYCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFzdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEFwcCBmb3VuZCBidXQgaXQgaXMgbm90IGEgZGlyZWN0b3J5OiAnJHthcHBQYXRofSdgKTtcbiAgfVxuXG4gIGxvZy5kZWJ1ZyhgRm91bmQgYXBwLCB0cnlpbmcgdG8gbW92ZSAnJHthcHBQYXRofScgdG8gdG1wIGRpciAnJHt0bXBEaXJ9J2ApO1xuICBhd2FpdCB0aGlzLm1vdmVCdWlsdEluQXBwKGFwcE5hbWUsIGFwcFBhdGgsIG5ld0FwcFBhdGgpO1xufTtcblxuZXh0ZW5zaW9ucy5nZXRCdWlsdEluQXBwID0gYXN5bmMgZnVuY3Rpb24gKGFwcE5hbWUpIHtcbiAgbGV0IGFwcERpciA9IGF3YWl0IHRoaXMuZ2V0QXBwRGlyKGFwcE5hbWUpO1xuICBsZXQgYXBwUGF0aCA9IHBhdGgucmVzb2x2ZShhcHBEaXIsIGAke2FwcE5hbWV9LmFwcGApO1xuICBsb2cuZGVidWcoYEZvdW5kIHBhdGggZm9yICcke2FwcE5hbWV9JzogJHthcHBQYXRofWApO1xuICB0cnkge1xuICAgIGxldCBzdGF0ID0gYXdhaXQgZnMuc3RhdChhcHBQYXRoKTtcbiAgICByZXR1cm4gW3N0YXQsIGFwcFBhdGhdO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoZXJyICYmIGVyci5tZXNzYWdlLmluZGV4T2YoJ0VOT0VOVCcpICE9PSAtMSkge1xuICAgICAgbG9nLmVycm9yQW5kVGhyb3coYEFwcCAnJHthcHBOYW1lfScgaXMgbm90IGF0ICcke2FwcFBhdGh9J2ApO1xuICAgIH1cbiAgfVxufTtcblxuXG5leHBvcnQgZGVmYXVsdCBleHRlbnNpb25zO1xuIl19