all files / DEV/ index.js

96.49% Statements 55/57
100% Branches 18/18
66.67% Functions 2/3
87.5% Lines 7/8
19 statements, 10 branches Ignored     
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126                                                                  187×                                                                                                                                                                              
/**
 * webdriverio
 * https://github.com/Camme/webdriverio
 *
 * A WebDriver module for nodejs. Either use the super easy help commands or use the base
 * Webdriver wire protocol commands. Its totally inspired by jellyfishs webdriver, but the
 * goal is to make all the webdriver protocol items available, as near the original as possible.
 *
 * Copyright (c) 2013 Camilo Tapia <camilo.tapia@gmail.com>
 * Licensed under the MIT license.
 *
 * Contributors:
 *     Dan Jenkins <dan.jenkins@holidayextras.com>
 *     Christian Bromann <mail@christian-bromann.com>
 *     Vincent Voyer <vincent@zeroload.net>
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
// istanbul ignore next
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
var _libWebdriverio = require('./lib/webdriverio');
 
var _libWebdriverio2 = _interopRequireDefault(_libWebdriverio);
 
var _libMultibrowser = require('./lib/multibrowser');
 
var _libMultibrowser2 = _interopRequireDefault(_libMultibrowser);
 
var _libUtilsErrorHandler = require('./lib/utils/ErrorHandler');
 
var _libUtilsErrorHandler2 = _interopRequireDefault(_libUtilsErrorHandler);
 
var _libHelpersGetImplementedCommands = require('./lib/helpers/getImplementedCommands');
 
var _libHelpersGetImplementedCommands2 = _interopRequireDefault(_libHelpersGetImplementedCommands);
 
var _packageJson = require('./package.json');
 
var _packageJson2 = _interopRequireDefault(_packageJson);
 
var IMPLEMENTED_COMMANDS = (0, _libHelpersGetImplementedCommands2['default'])();
var VERSION = _packageJson2['default'].version;

var remote = function remote(options, modifier) {
    if (options === undefined) options = {};
 
    /**
     * initialise monad
     */
    var wdio = (0, _libWebdriverio2['default'])(options, modifier);
 
    /**
     * build prototype: commands
     */
    var _iteratorNormalCompletion = true;
    var _didIteratorError = false;
    var _iteratorError = undefined;
 
    try {
        for (var _iterator = Object.keys(IMPLEMENTED_COMMANDS)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
            var commandName = _step.value;
 
            wdio.lift(commandName, IMPLEMENTED_COMMANDS[commandName]);
        }
    } catch (err) {
        _didIteratorError = true;
        _iteratorError = err;
    } finally {
        try {
            if (!_iteratorNormalCompletion && _iterator['return']) {
                _iterator['return']();
            }
        } finally {
            if (_didIteratorError) {
                throw _iteratorError;
            }
        }
    }
 
    var prototype = wdio();
    prototype.defer.resolve();
    return prototype;
};
 
var multiremote = function multiremote(options) {
    var multibrowser = new _libMultibrowser2['default']();
 
    var _iteratorNormalCompletion2 = true;
    var _didIteratorError2 = false;
    var _iteratorError2 = undefined;
 
    try {
        for (var _iterator2 = Object.keys(options)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
            var browserName = _step2.value;
 
            multibrowser.addInstance(browserName, remote(options[browserName], multibrowser.getInstanceModifier()));
        }
    } catch (err) {
        _didIteratorError2 = true;
        _iteratorError2 = err;
    } finally {
        try {
            if (!_iteratorNormalCompletion2 && _iterator2['return']) {
                _iterator2['return']();
            }
        } finally {
            if (_didIteratorError2) {
                throw _iteratorError2;
            }
        }
    }
 
    return remote(options, multibrowser.getModifier());
};
 
exports.remote = remote;
exports.multiremote = multiremote;
exports.VERSION = VERSION;
exports.ErrorHandler = _libUtilsErrorHandler2['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFpQndCLG1CQUFtQjs7OzsrQkFDbEIsb0JBQW9COzs7O29DQUNwQiwwQkFBMEI7Ozs7Z0RBQ2hCLHNDQUFzQzs7OzsyQkFDekQsZ0JBQWdCOzs7O0FBRWhDLElBQU0sb0JBQW9CLEdBQUcsb0RBQXdCLENBQUE7QUFDckQsSUFBTSxPQUFPLEdBQUcseUJBQUksT0FBTyxDQUFBOztBQUUzQixJQUFJLE1BQU0sR0FBRyxTQUFULE1BQU0sQ0FBYSxPQUFPLEVBQU8sUUFBUSxFQUFFO1FBQXhCLE9BQU8sZ0JBQVAsT0FBTyxHQUFHLEVBQUU7Ozs7O0FBSS9CLFFBQUksSUFBSSxHQUFHLGlDQUFZLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQTs7Ozs7Ozs7OztBQUt6Qyw2QkFBd0IsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw4SEFBRTtnQkFBbEQsV0FBVzs7QUFDaEIsZ0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7U0FDNUQ7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRCxRQUFJLFNBQVMsR0FBRyxJQUFJLEVBQUUsQ0FBQTtBQUN0QixhQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO0FBQ3pCLFdBQU8sU0FBUyxDQUFBO0NBQ25CLENBQUE7O0FBRUQsSUFBSSxXQUFXLEdBQUcsU0FBZCxXQUFXLENBQWEsT0FBTyxFQUFFO0FBQ2pDLFFBQUksWUFBWSxHQUFHLGtDQUFrQixDQUFBOzs7Ozs7O0FBRXJDLDhCQUF3QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtSUFBRTtnQkFBckMsV0FBVzs7QUFDaEIsd0JBQVksQ0FBQyxXQUFXLENBQ3BCLFdBQVcsRUFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQ25FLENBQUE7U0FDSjs7Ozs7Ozs7Ozs7Ozs7OztBQUVELFdBQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtDQUNyRCxDQUFBOztRQUVRLE1BQU0sR0FBTixNQUFNO1FBQUUsV0FBVyxHQUFYLFdBQVc7UUFBRSxPQUFPLEdBQVAsT0FBTztRQUFFLFlBQVkiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB3ZWJkcml2ZXJpb1xuICogaHR0cHM6Ly9naXRodWIuY29tL0NhbW1lL3dlYmRyaXZlcmlvXG4gKlxuICogQSBXZWJEcml2ZXIgbW9kdWxlIGZvciBub2RlanMuIEVpdGhlciB1c2UgdGhlIHN1cGVyIGVhc3kgaGVscCBjb21tYW5kcyBvciB1c2UgdGhlIGJhc2VcbiAqIFdlYmRyaXZlciB3aXJlIHByb3RvY29sIGNvbW1hbmRzLiBJdHMgdG90YWxseSBpbnNwaXJlZCBieSBqZWxseWZpc2hzIHdlYmRyaXZlciwgYnV0IHRoZVxuICogZ29hbCBpcyB0byBtYWtlIGFsbCB0aGUgd2ViZHJpdmVyIHByb3RvY29sIGl0ZW1zIGF2YWlsYWJsZSwgYXMgbmVhciB0aGUgb3JpZ2luYWwgYXMgcG9zc2libGUuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzIENhbWlsbyBUYXBpYSA8Y2FtaWxvLnRhcGlhQGdtYWlsLmNvbT5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBDb250cmlidXRvcnM6XG4gKiAgICAgRGFuIEplbmtpbnMgPGRhbi5qZW5raW5zQGhvbGlkYXlleHRyYXMuY29tPlxuICogICAgIENocmlzdGlhbiBCcm9tYW5uIDxtYWlsQGNocmlzdGlhbi1icm9tYW5uLmNvbT5cbiAqICAgICBWaW5jZW50IFZveWVyIDx2aW5jZW50QHplcm9sb2FkLm5ldD5cbiAqL1xuXG5pbXBvcnQgV2ViZHJpdmVySU8gZnJvbSAnLi9saWIvd2ViZHJpdmVyaW8nXG5pbXBvcnQgTXVsdGlicm93c2VyIGZyb20gJy4vbGliL211bHRpYnJvd3NlcidcbmltcG9ydCBFcnJvckhhbmRsZXIgZnJvbSAnLi9saWIvdXRpbHMvRXJyb3JIYW5kbGVyJ1xuaW1wb3J0IGdldEltcGxlbWVudGVkQ29tbWFuZHMgZnJvbSAnLi9saWIvaGVscGVycy9nZXRJbXBsZW1lbnRlZENvbW1hbmRzJ1xuaW1wb3J0IHBrZyBmcm9tICcuL3BhY2thZ2UuanNvbidcblxuY29uc3QgSU1QTEVNRU5URURfQ09NTUFORFMgPSBnZXRJbXBsZW1lbnRlZENvbW1hbmRzKClcbmNvbnN0IFZFUlNJT04gPSBwa2cudmVyc2lvblxuXG5sZXQgcmVtb3RlID0gZnVuY3Rpb24gKG9wdGlvbnMgPSB7fSwgbW9kaWZpZXIpIHtcbiAgICAvKipcbiAgICAgKiBpbml0aWFsaXNlIG1vbmFkXG4gICAgICovXG4gICAgbGV0IHdkaW8gPSBXZWJkcml2ZXJJTyhvcHRpb25zLCBtb2RpZmllcilcblxuICAgIC8qKlxuICAgICAqIGJ1aWxkIHByb3RvdHlwZTogY29tbWFuZHNcbiAgICAgKi9cbiAgICBmb3IgKGxldCBjb21tYW5kTmFtZSBvZiBPYmplY3Qua2V5cyhJTVBMRU1FTlRFRF9DT01NQU5EUykpIHtcbiAgICAgICAgd2Rpby5saWZ0KGNvbW1hbmROYW1lLCBJTVBMRU1FTlRFRF9DT01NQU5EU1tjb21tYW5kTmFtZV0pXG4gICAgfVxuXG4gICAgbGV0IHByb3RvdHlwZSA9IHdkaW8oKVxuICAgIHByb3RvdHlwZS5kZWZlci5yZXNvbHZlKClcbiAgICByZXR1cm4gcHJvdG90eXBlXG59XG5cbmxldCBtdWx0aXJlbW90ZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgbGV0IG11bHRpYnJvd3NlciA9IG5ldyBNdWx0aWJyb3dzZXIoKVxuXG4gICAgZm9yIChsZXQgYnJvd3Nlck5hbWUgb2YgT2JqZWN0LmtleXMob3B0aW9ucykpIHtcbiAgICAgICAgbXVsdGlicm93c2VyLmFkZEluc3RhbmNlKFxuICAgICAgICAgICAgYnJvd3Nlck5hbWUsXG4gICAgICAgICAgICByZW1vdGUob3B0aW9uc1ticm93c2VyTmFtZV0sIG11bHRpYnJvd3Nlci5nZXRJbnN0YW5jZU1vZGlmaWVyKCkpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVtb3RlKG9wdGlvbnMsIG11bHRpYnJvd3Nlci5nZXRNb2RpZmllcigpKVxufVxuXG5leHBvcnQgeyByZW1vdGUsIG11bHRpcmVtb3RlLCBWRVJTSU9OLCBFcnJvckhhbmRsZXIgfVxuIl19