appium-adb
Version:
120 lines (93 loc) • 11.2 kB
JavaScript
;
var _regeneratorRuntime = require('babel-runtime/regenerator')['default'];
var _Promise = require('babel-runtime/core-js/promise')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
var _this = this;
var _libHelpers = require('../../lib/helpers');
var _appiumTestSupport = require('appium-test-support');
var _appiumSupport = require('appium-support');
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _chai = require('chai');
var _chai2 = _interopRequireDefault(_chai);
var should = _chai2['default'].should;
describe('helpers', function () {
describe('getActivityRelativeName', function () {
it('should correctly remove pkg from pkg.activity.name', function () {
(0, _libHelpers.getActivityRelativeName)('pkg', 'pkg.activity.name').should.equal('.activity.name');
});
it('should return .act.name when act.name is passed', function () {
(0, _libHelpers.getActivityRelativeName)('pkg', 'act.name').should.equal('.act.name');
});
it('should not amend a valid activity name', function () {
(0, _libHelpers.getActivityRelativeName)('pkg', '.activity.name').should.equal('.activity.name');
});
});
describe('getDirectories', (0, _appiumTestSupport.withMocks)({ fs: _appiumSupport.fs }, function (mocks) {
it('should sort the directories', function callee$2$0() {
var rootPath, directories;
return _regeneratorRuntime.async(function callee$2$0$(context$3$0) {
while (1) switch (context$3$0.prev = context$3$0.next) {
case 0:
rootPath = '/path/to/root';
directories = ['c', 'b', 'a', '1', '2'];
mocks.fs.expects('readdir').once().withExactArgs(rootPath).returns(directories);
mocks.fs.expects('lstat').exactly(5).returns(_Promise.resolve({ isDirectory: function isDirectory() {
return true;
} }));
context$3$0.next = 6;
return _regeneratorRuntime.awrap((0, _libHelpers.getDirectories)(rootPath));
case 6:
context$3$0.t0 = ['1', '2', 'a', 'b', 'c'];
context$3$0.sent.should.eql(context$3$0.t0);
mocks.fs.verify();
case 9:
case 'end':
return context$3$0.stop();
}
}, null, _this);
});
}));
describe('getAndroidPlatformAndPath', (0, _appiumTestSupport.withMocks)({ fs: _appiumSupport.fs, path: _path2['default'] }, function (mocks) {
it('should return null if no ANDROID_HOME is set', function callee$2$0() {
return _regeneratorRuntime.async(function callee$2$0$(context$3$0) {
while (1) switch (context$3$0.prev = context$3$0.next) {
case 0:
context$3$0.next = 2;
return _regeneratorRuntime.awrap((0, _libHelpers.getAndroidPlatformAndPath)());
case 2:
context$3$0.t0 = context$3$0.sent;
should(context$3$0.t0).not.exist;
case 4:
case 'end':
return context$3$0.stop();
}
}, null, _this);
});
it('should get the latest available API', function callee$2$0() {
var oldAndroidHome, platformAndPath;
return _regeneratorRuntime.async(function callee$2$0$(context$3$0) {
while (1) switch (context$3$0.prev = context$3$0.next) {
case 0:
oldAndroidHome = process.env.ANDROID_HOME;
process.env.ANDROID_HOME = '/path/to/android/home';
mocks.fs.expects('exists').exactly(2).onCall(0).returns(false).onCall(1).returns(true);
mocks.path.expects('resolve').exactly(4).onCall(0).returns('/path/to/apis0').onCall(1).returns('/path/to/apis1').onCall(2).returns('/path/to/apis2').onCall(3).returns('/path/to/apis3');
context$3$0.next = 6;
return _regeneratorRuntime.awrap((0, _libHelpers.getAndroidPlatformAndPath)());
case 6:
platformAndPath = context$3$0.sent;
platformAndPath.platform.should.equal('android-23');
platformAndPath.platformPath.should.equal('/path/to/apis3');
mocks.fs.verify();
mocks.path.verify();
process.env.ANDROID_HOME = oldAndroidHome;
case 12:
case 'end':
return context$3$0.stop();
}
}, null, _this);
});
}));
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvdW5pdC9oZWxwZXItc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OzswQkFBbUYsbUJBQW1COztpQ0FDNUUscUJBQXFCOzs2QkFDNUIsZ0JBQWdCOztvQkFDbEIsTUFBTTs7OztvQkFDTixNQUFNOzs7O0FBR3ZCLElBQU0sTUFBTSxHQUFHLGtCQUFLLE1BQU0sQ0FBQzs7QUFFM0IsUUFBUSxDQUFDLFNBQVMsRUFBRSxZQUFNO0FBQ3hCLFVBQVEsQ0FBQyx5QkFBeUIsRUFBRSxZQUFNO0FBQ3hDLE1BQUUsQ0FBQyxvREFBb0QsRUFBRSxZQUFNO0FBQzdELCtDQUF3QixLQUFLLEVBQUUsbUJBQW1CLENBQUMsQ0FDaEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ25DLENBQUMsQ0FBQztBQUNILE1BQUUsQ0FBQyxpREFBaUQsRUFBRSxZQUFNO0FBQzFELCtDQUF3QixLQUFLLEVBQUUsVUFBVSxDQUFDLENBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDOUIsQ0FBQyxDQUFDO0FBQ0gsTUFBRSxDQUFDLHdDQUF3QyxFQUFFLFlBQU07QUFDakQsK0NBQXdCLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUM3QyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDbkMsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDOztBQUVILFVBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxrQ0FBVSxFQUFDLEVBQUUsbUJBQUEsRUFBQyxFQUFFLFVBQUMsS0FBSyxFQUFLO0FBQ3BELE1BQUUsQ0FBQyw2QkFBNkIsRUFBRTtVQUM1QixRQUFRLEVBQ1IsV0FBVzs7OztBQURYLG9CQUFRLEdBQUcsZUFBZTtBQUMxQix1QkFBVyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQzs7QUFDM0MsaUJBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUN4QixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQzlCLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QixpQkFBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQ3RCLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDVixPQUFPLENBQUMsU0FBUSxPQUFPLENBQUMsRUFBQyxXQUFXLEVBQUUsdUJBQU07QUFBQyx1QkFBTyxJQUFJLENBQUM7ZUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDOzs2Q0FDMUQsZ0NBQWUsUUFBUSxDQUFDOzs7NkJBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDOzZCQUFwQyxNQUFNLENBQUMsR0FBRzs7QUFDM0MsaUJBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7Ozs7Ozs7S0FDbkIsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDLENBQUM7O0FBRUosVUFBUSxDQUFDLDJCQUEyQixFQUFFLGtDQUFVLEVBQUMsRUFBRSxtQkFBQSxFQUFFLElBQUksbUJBQUEsRUFBQyxFQUFFLFVBQUMsS0FBSyxFQUFLO0FBQ3JFLE1BQUUsQ0FBQyw4Q0FBOEMsRUFBRTs7Ozs7NkNBQ3BDLDRDQUEyQjs7OztBQUF4QyxrQkFBTSxpQkFBb0MsR0FBRyxDQUFDLEtBQUs7Ozs7Ozs7S0FDcEQsQ0FBQyxDQUFDO0FBQ0gsTUFBRSxDQUFDLHFDQUFxQyxFQUFFO1VBQ3BDLGNBQWMsRUFhZCxlQUFlOzs7O0FBYmYsMEJBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVk7O0FBQzdDLG1CQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyx1QkFBdUIsQ0FBQztBQUNuRCxpQkFBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ3ZCLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDVixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUN4QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLGlCQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FDMUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FDbkMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQ25DLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzs7OzZDQUVYLDRDQUEyQjs7O0FBQW5ELDJCQUFlOztBQUNuQiwyQkFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3BELDJCQUFlLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzs7QUFFNUQsaUJBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDbEIsaUJBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDcEIsbUJBQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQzs7Ozs7OztLQUMzQyxDQUFDLENBQUM7R0FDSixDQUFDLENBQUMsQ0FBQztDQUNMLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0L3VuaXQvaGVscGVyLXNwZWNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0QWN0aXZpdHlSZWxhdGl2ZU5hbWUsIGdldERpcmVjdG9yaWVzLCBnZXRBbmRyb2lkUGxhdGZvcm1BbmRQYXRoIH0gZnJvbSAnLi4vLi4vbGliL2hlbHBlcnMnO1xuaW1wb3J0IHsgd2l0aE1vY2tzIH0gZnJvbSAnYXBwaXVtLXRlc3Qtc3VwcG9ydCc7XG5pbXBvcnQgeyBmcyB9IGZyb20gJ2FwcGl1bS1zdXBwb3J0JztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5cblxuY29uc3Qgc2hvdWxkID0gY2hhaS5zaG91bGQ7XG5cbmRlc2NyaWJlKCdoZWxwZXJzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0QWN0aXZpdHlSZWxhdGl2ZU5hbWUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjb3JyZWN0bHkgcmVtb3ZlIHBrZyBmcm9tIHBrZy5hY3Rpdml0eS5uYW1lJywgKCkgPT4ge1xuICAgICAgZ2V0QWN0aXZpdHlSZWxhdGl2ZU5hbWUoJ3BrZycsICdwa2cuYWN0aXZpdHkubmFtZScpXG4gICAgICAgIC5zaG91bGQuZXF1YWwoJy5hY3Rpdml0eS5uYW1lJyk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gLmFjdC5uYW1lIHdoZW4gYWN0Lm5hbWUgaXMgcGFzc2VkJywgKCkgPT4ge1xuICAgICAgZ2V0QWN0aXZpdHlSZWxhdGl2ZU5hbWUoJ3BrZycsICdhY3QubmFtZScpXG4gICAgICAgIC5zaG91bGQuZXF1YWwoJy5hY3QubmFtZScpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgbm90IGFtZW5kIGEgdmFsaWQgYWN0aXZpdHkgbmFtZScsICgpID0+IHtcbiAgICAgIGdldEFjdGl2aXR5UmVsYXRpdmVOYW1lKCdwa2cnLCAnLmFjdGl2aXR5Lm5hbWUnKVxuICAgICAgICAuc2hvdWxkLmVxdWFsKCcuYWN0aXZpdHkubmFtZScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0RGlyZWN0b3JpZXMnLCB3aXRoTW9ja3Moe2ZzfSwgKG1vY2tzKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzb3J0IHRoZSBkaXJlY3RvcmllcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGxldCByb290UGF0aCA9ICcvcGF0aC90by9yb290JztcbiAgICAgIGxldCBkaXJlY3RvcmllcyA9IFsnYycsICdiJywgJ2EnLCAnMScsICcyJ107XG4gICAgICBtb2Nrcy5mcy5leHBlY3RzKCdyZWFkZGlyJylcbiAgICAgICAgLm9uY2UoKS53aXRoRXhhY3RBcmdzKHJvb3RQYXRoKVxuICAgICAgICAucmV0dXJucyhkaXJlY3Rvcmllcyk7XG4gICAgICBtb2Nrcy5mcy5leHBlY3RzKCdsc3RhdCcpXG4gICAgICAgIC5leGFjdGx5KDUpXG4gICAgICAgIC5yZXR1cm5zKFByb21pc2UucmVzb2x2ZSh7aXNEaXJlY3Rvcnk6ICgpID0+IHtyZXR1cm4gdHJ1ZTt9fSkpO1xuICAgICAgKGF3YWl0IGdldERpcmVjdG9yaWVzKHJvb3RQYXRoKSkuc2hvdWxkLmVxbChbJzEnLCAnMicsICdhJywgJ2InLCAnYyddKTtcbiAgICAgIG1vY2tzLmZzLnZlcmlmeSgpO1xuICAgIH0pO1xuICB9KSk7XG5cbiAgZGVzY3JpYmUoJ2dldEFuZHJvaWRQbGF0Zm9ybUFuZFBhdGgnLCB3aXRoTW9ja3Moe2ZzLCBwYXRofSwgKG1vY2tzKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbnVsbCBpZiBubyBBTkRST0lEX0hPTUUgaXMgc2V0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgc2hvdWxkKGF3YWl0IGdldEFuZHJvaWRQbGF0Zm9ybUFuZFBhdGgoKSkubm90LmV4aXN0O1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgZ2V0IHRoZSBsYXRlc3QgYXZhaWxhYmxlIEFQSScsIGFzeW5jICgpID0+IHtcbiAgICAgIGxldCBvbGRBbmRyb2lkSG9tZSA9IHByb2Nlc3MuZW52LkFORFJPSURfSE9NRTtcbiAgICAgIHByb2Nlc3MuZW52LkFORFJPSURfSE9NRSA9ICcvcGF0aC90by9hbmRyb2lkL2hvbWUnO1xuICAgICAgbW9ja3MuZnMuZXhwZWN0cygnZXhpc3RzJylcbiAgICAgICAgLmV4YWN0bHkoMilcbiAgICAgICAgLm9uQ2FsbCgwKS5yZXR1cm5zKGZhbHNlKVxuICAgICAgICAub25DYWxsKDEpLnJldHVybnModHJ1ZSk7XG4gICAgICBtb2Nrcy5wYXRoLmV4cGVjdHMoJ3Jlc29sdmUnKVxuICAgICAgICAuZXhhY3RseSg0KVxuICAgICAgICAub25DYWxsKDApLnJldHVybnMoJy9wYXRoL3RvL2FwaXMwJylcbiAgICAgICAgLm9uQ2FsbCgxKS5yZXR1cm5zKCcvcGF0aC90by9hcGlzMScpXG4gICAgICAgIC5vbkNhbGwoMikucmV0dXJucygnL3BhdGgvdG8vYXBpczInKVxuICAgICAgICAub25DYWxsKDMpLnJldHVybnMoJy9wYXRoL3RvL2FwaXMzJyk7XG5cbiAgICAgIGxldCBwbGF0Zm9ybUFuZFBhdGggPSBhd2FpdCBnZXRBbmRyb2lkUGxhdGZvcm1BbmRQYXRoKCk7XG4gICAgICBwbGF0Zm9ybUFuZFBhdGgucGxhdGZvcm0uc2hvdWxkLmVxdWFsKCdhbmRyb2lkLTIzJyk7XG4gICAgICBwbGF0Zm9ybUFuZFBhdGgucGxhdGZvcm1QYXRoLnNob3VsZC5lcXVhbCgnL3BhdGgvdG8vYXBpczMnKTtcblxuICAgICAgbW9ja3MuZnMudmVyaWZ5KCk7XG4gICAgICBtb2Nrcy5wYXRoLnZlcmlmeSgpO1xuICAgICAgcHJvY2Vzcy5lbnYuQU5EUk9JRF9IT01FID0gb2xkQW5kcm9pZEhvbWU7XG4gICAgfSk7XG4gIH0pKTtcbn0pO1xuIl19