all files / DEV/lib/commands/ switchTab.js

91.67% Statements 11/12
44.44% Branches 4/9
0% Functions 0/2
66.67% Lines 2/3
7 statements, 4 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                                                                                 
/**
 *
 * Switch focus to a particular tab / window handle.
 *
 * @param {String=} windowHandle window handle URL to focus on (if no handle was specified the command switches to the first available one)
 *
 * @uses protocol/window, window/getTabIds, window/switchTab
 * @type window
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
var switchTab = function switchTab(windowHandle) {
    // istanbul ignore next
 
    var _this = this;
 
    /*!
     * parameter check
     */
    if (typeof windowHandle !== 'string') {
        windowHandle = null;
    }
 
    if (windowHandle) {
        return this.window(windowHandle);
    }
 
    return this.windowHandles().then(function (tabIds) {
        if (tabIds && tabIds.value && tabIds.value.length) {
            return _this.switchTab(tabIds.value[0]);
        }
    });
};
 
exports['default'] = switchTab;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvc3dpdGNoVGFiLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxJQUFJLFNBQVMsR0FBRyxTQUFaLFNBQVMsQ0FBYSxZQUFZLEVBQUU7Ozs7Ozs7O0FBSXBDLFFBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxFQUFFO0FBQ2xDLG9CQUFZLEdBQUcsSUFBSSxDQUFBO0tBQ3RCOztBQUVELFFBQUksWUFBWSxFQUFFO0FBQ2QsZUFBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0tBQ25DOztBQUVELFdBQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFDLE1BQU0sRUFBSztBQUN6QyxZQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO0FBQy9DLG1CQUFPLE1BQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUN6QztLQUNKLENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLFNBQVMiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2xpYi9jb21tYW5kcy9zd2l0Y2hUYWIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBTd2l0Y2ggZm9jdXMgdG8gYSBwYXJ0aWN1bGFyIHRhYiAvIHdpbmRvdyBoYW5kbGUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmc9fSB3aW5kb3dIYW5kbGUgd2luZG93IGhhbmRsZSBVUkwgdG8gZm9jdXMgb24gKGlmIG5vIGhhbmRsZSB3YXMgc3BlY2lmaWVkIHRoZSBjb21tYW5kIHN3aXRjaGVzIHRvIHRoZSBmaXJzdCBhdmFpbGFibGUgb25lKVxuICpcbiAqIEB1c2VzIHByb3RvY29sL3dpbmRvdywgd2luZG93L2dldFRhYklkcywgd2luZG93L3N3aXRjaFRhYlxuICogQHR5cGUgd2luZG93XG4gKlxuICovXG5cbmxldCBzd2l0Y2hUYWIgPSBmdW5jdGlvbiAod2luZG93SGFuZGxlKSB7XG4gICAgLyohXG4gICAgICogcGFyYW1ldGVyIGNoZWNrXG4gICAgICovXG4gICAgaWYgKHR5cGVvZiB3aW5kb3dIYW5kbGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHdpbmRvd0hhbmRsZSA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAod2luZG93SGFuZGxlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLndpbmRvdyh3aW5kb3dIYW5kbGUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMud2luZG93SGFuZGxlcygpLnRoZW4oKHRhYklkcykgPT4ge1xuICAgICAgICBpZiAodGFiSWRzICYmIHRhYklkcy52YWx1ZSAmJiB0YWJJZHMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zd2l0Y2hUYWIodGFiSWRzLnZhbHVlWzBdKVxuICAgICAgICB9XG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgc3dpdGNoVGFiXG4iXX0=