UNPKG

appium-ios-simulator

Version:
125 lines (92 loc) 8.05 kB
'use strict'; var _regeneratorRuntime = require('babel-runtime/regenerator')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _simulatorXcode6 = require('./simulator-xcode-6'); var _simulatorXcode62 = _interopRequireDefault(_simulatorXcode6); var _simulatorXcode7 = require('./simulator-xcode-7'); var _simulatorXcode72 = _interopRequireDefault(_simulatorXcode7); var _utils = require('./utils'); var _appiumXcode = require('appium-xcode'); var _appiumXcode2 = _interopRequireDefault(_appiumXcode); var _logger = require('./logger'); var _logger2 = _interopRequireDefault(_logger); function handleUnsupportedXcode(xcodeVersion) { if (xcodeVersion.major < 6) { throw new Error('Tried to use an iOS simulator with xcode ' + ('version ' + xcodeVersion.versionString + ' but only Xcode version ') + '6.0.0 and up are supported'); } else if (xcodeVersion.major >= 8) { throw new Error('Xcode version ' + xcodeVersion + ' is ' + 'not yet supported'); } } function getSimulator(udid) { var xcodeVersion; return _regeneratorRuntime.async(function getSimulator$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: context$1$0.next = 2; return _regeneratorRuntime.awrap(_appiumXcode2['default'].getVersion(true)); case 2: xcodeVersion = context$1$0.sent; context$1$0.next = 5; return _regeneratorRuntime.awrap((0, _utils.simExists)(udid)); case 5: if (context$1$0.sent) { context$1$0.next = 7; break; } throw new Error('No sim found with udid ' + udid); case 7: handleUnsupportedXcode(xcodeVersion); if (!(xcodeVersion.major === 7)) { context$1$0.next = 13; break; } _logger2['default'].info('Constructing iOS simulator for Xcode version ' + xcodeVersion.versionString); return context$1$0.abrupt('return', new _simulatorXcode72['default'](udid, xcodeVersion)); case 13: if (!(xcodeVersion.major === 6)) { context$1$0.next = 16; break; } _logger2['default'].info('Constructing iOS simulator for Xcode version ' + xcodeVersion.versionString); return context$1$0.abrupt('return', new _simulatorXcode62['default'](udid, xcodeVersion)); case 16: case 'end': return context$1$0.stop(); } }, null, this); } function getDeviceString(opts) { var xcodeVersion; return _regeneratorRuntime.async(function getDeviceString$(context$1$0) { while (1) switch (context$1$0.prev = context$1$0.next) { case 0: context$1$0.next = 2; return _regeneratorRuntime.awrap(_appiumXcode2['default'].getVersion(true)); case 2: xcodeVersion = context$1$0.sent; handleUnsupportedXcode(xcodeVersion); if (!(xcodeVersion.major === 7)) { context$1$0.next = 9; break; } _logger2['default'].info('Retrieving device name string for Xcode version ' + xcodeVersion.versionString); return context$1$0.abrupt('return', _simulatorXcode72['default'].getDeviceString(opts)); case 9: if (!(xcodeVersion.major === 6)) { context$1$0.next = 12; break; } _logger2['default'].info('Retrieving device name string for Xcode version ' + xcodeVersion.versionString); return context$1$0.abrupt('return', _simulatorXcode62['default'].getDeviceString(opts)); case 12: case 'end': return context$1$0.stop(); } }, null, this); } exports.getSimulator = getSimulator; exports.getDeviceString = getDeviceString; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zaW11bGF0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OzsrQkFBNEIscUJBQXFCOzs7OytCQUNyQixxQkFBcUI7Ozs7cUJBQ3ZCLFNBQVM7OzJCQUNqQixjQUFjOzs7O3NCQUNoQixVQUFVOzs7O0FBRzFCLFNBQVMsc0JBQXNCLENBQUUsWUFBWSxFQUFFO0FBQzdDLE1BQUksWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7QUFDMUIsVUFBTSxJQUFJLEtBQUssQ0FBQyw0REFDVyxZQUFZLENBQUMsYUFBYSw4QkFBMEIsK0JBQ25DLENBQUMsQ0FBQztHQUMvQyxNQUFNLElBQUksWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUU7QUFDbEMsVUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBaUIsWUFBWSwrQkFDVixDQUFDLENBQUM7R0FDdEM7Q0FDRjs7QUFFRCxTQUFlLFlBQVksQ0FBRSxJQUFJO01BQzNCLFlBQVk7Ozs7O3lDQUFTLHlCQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUM7OztBQUEzQyxvQkFBWTs7eUNBRUwsc0JBQVUsSUFBSSxDQUFDOzs7Ozs7OztjQUNsQixJQUFJLEtBQUssNkJBQTJCLElBQUksQ0FBRzs7OztBQUduRCw4QkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQzs7Y0FFakMsWUFBWSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUE7Ozs7O0FBQzFCLDRCQUFJLElBQUksbURBQWlELFlBQVksQ0FBQyxhQUFhLENBQUcsQ0FBQzs0Q0FDaEYsaUNBQW9CLElBQUksRUFBRSxZQUFZLENBQUM7OztjQUNyQyxZQUFZLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQTs7Ozs7QUFDakMsNEJBQUksSUFBSSxtREFBaUQsWUFBWSxDQUFDLGFBQWEsQ0FBRyxDQUFDOzRDQUNoRixpQ0FBb0IsSUFBSSxFQUFFLFlBQVksQ0FBQzs7Ozs7OztDQUVqRDs7QUFFRCxTQUFlLGVBQWUsQ0FBRSxJQUFJO01BQzlCLFlBQVk7Ozs7O3lDQUFTLHlCQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUM7OztBQUEzQyxvQkFBWTs7QUFFaEIsOEJBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7O2NBRWpDLFlBQVksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFBOzs7OztBQUMxQiw0QkFBSSxJQUFJLHNEQUFvRCxZQUFZLENBQUMsYUFBYSxDQUFHLENBQUM7NENBQ25GLDZCQUFnQixlQUFlLENBQUMsSUFBSSxDQUFDOzs7Y0FDbkMsWUFBWSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUE7Ozs7O0FBQ2pDLDRCQUFJLElBQUksc0RBQW9ELFlBQVksQ0FBQyxhQUFhLENBQUcsQ0FBQzs0Q0FDbkYsNkJBQWdCLGVBQWUsQ0FBQyxJQUFJLENBQUM7Ozs7Ozs7Q0FFL0M7O1FBRVEsWUFBWSxHQUFaLFlBQVk7UUFBRSxlQUFlLEdBQWYsZUFBZSIsImZpbGUiOiJsaWIvc2ltdWxhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNpbXVsYXRvclhjb2RlNiBmcm9tICcuL3NpbXVsYXRvci14Y29kZS02JztcbmltcG9ydCBTaW11bGF0b3JYY29kZTcgZnJvbSAnLi9zaW11bGF0b3IteGNvZGUtNyc7XG5pbXBvcnQgeyBzaW1FeGlzdHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB4Y29kZSBmcm9tICdhcHBpdW0teGNvZGUnO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5cblxuZnVuY3Rpb24gaGFuZGxlVW5zdXBwb3J0ZWRYY29kZSAoeGNvZGVWZXJzaW9uKSB7XG4gIGlmICh4Y29kZVZlcnNpb24ubWFqb3IgPCA2KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUcmllZCB0byB1c2UgYW4gaU9TIHNpbXVsYXRvciB3aXRoIHhjb2RlIGAgK1xuICAgICAgICAgICAgICAgICAgICBgdmVyc2lvbiAke3hjb2RlVmVyc2lvbi52ZXJzaW9uU3RyaW5nfSBidXQgb25seSBYY29kZSB2ZXJzaW9uIGAgK1xuICAgICAgICAgICAgICAgICAgICBgNi4wLjAgYW5kIHVwIGFyZSBzdXBwb3J0ZWRgKTtcbiAgfSBlbHNlIGlmICh4Y29kZVZlcnNpb24ubWFqb3IgPj0gOCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgWGNvZGUgdmVyc2lvbiAke3hjb2RlVmVyc2lvbn0gaXMgYCArXG4gICAgICAgICAgICAgICAgICAgIGBub3QgeWV0IHN1cHBvcnRlZGApO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFNpbXVsYXRvciAodWRpZCkge1xuICBsZXQgeGNvZGVWZXJzaW9uID0gYXdhaXQgeGNvZGUuZ2V0VmVyc2lvbih0cnVlKTtcblxuICBpZiAoIWF3YWl0IHNpbUV4aXN0cyh1ZGlkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gc2ltIGZvdW5kIHdpdGggdWRpZCAke3VkaWR9YCk7XG4gIH1cblxuICBoYW5kbGVVbnN1cHBvcnRlZFhjb2RlKHhjb2RlVmVyc2lvbik7XG5cbiAgaWYgKHhjb2RlVmVyc2lvbi5tYWpvciA9PT0gNykge1xuICAgIGxvZy5pbmZvKGBDb25zdHJ1Y3RpbmcgaU9TIHNpbXVsYXRvciBmb3IgWGNvZGUgdmVyc2lvbiAke3hjb2RlVmVyc2lvbi52ZXJzaW9uU3RyaW5nfWApO1xuICAgIHJldHVybiBuZXcgU2ltdWxhdG9yWGNvZGU3KHVkaWQsIHhjb2RlVmVyc2lvbik7XG4gIH0gZWxzZSBpZiAoeGNvZGVWZXJzaW9uLm1ham9yID09PSA2KSB7XG4gICAgbG9nLmluZm8oYENvbnN0cnVjdGluZyBpT1Mgc2ltdWxhdG9yIGZvciBYY29kZSB2ZXJzaW9uICR7eGNvZGVWZXJzaW9uLnZlcnNpb25TdHJpbmd9YCk7XG4gICAgcmV0dXJuIG5ldyBTaW11bGF0b3JYY29kZTYodWRpZCwgeGNvZGVWZXJzaW9uKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXREZXZpY2VTdHJpbmcgKG9wdHMpIHtcbiAgbGV0IHhjb2RlVmVyc2lvbiA9IGF3YWl0IHhjb2RlLmdldFZlcnNpb24odHJ1ZSk7XG5cbiAgaGFuZGxlVW5zdXBwb3J0ZWRYY29kZSh4Y29kZVZlcnNpb24pO1xuXG4gIGlmICh4Y29kZVZlcnNpb24ubWFqb3IgPT09IDcpIHtcbiAgICBsb2cuaW5mbyhgUmV0cmlldmluZyBkZXZpY2UgbmFtZSBzdHJpbmcgZm9yIFhjb2RlIHZlcnNpb24gJHt4Y29kZVZlcnNpb24udmVyc2lvblN0cmluZ31gKTtcbiAgICByZXR1cm4gU2ltdWxhdG9yWGNvZGU3LmdldERldmljZVN0cmluZyhvcHRzKTtcbiAgfSBlbHNlIGlmICh4Y29kZVZlcnNpb24ubWFqb3IgPT09IDYpIHtcbiAgICBsb2cuaW5mbyhgUmV0cmlldmluZyBkZXZpY2UgbmFtZSBzdHJpbmcgZm9yIFhjb2RlIHZlcnNpb24gJHt4Y29kZVZlcnNpb24udmVyc2lvblN0cmluZ31gKTtcbiAgICByZXR1cm4gU2ltdWxhdG9yWGNvZGU2LmdldERldmljZVN0cmluZyhvcHRzKTtcbiAgfVxufVxuXG5leHBvcnQgeyBnZXRTaW11bGF0b3IsIGdldERldmljZVN0cmluZyB9O1xuIl19