all files / DEV/lib/protocol/ url.js

100% Statements 10/10
100% Branches 6/6
100% Functions 1/1
100% Lines 4/4
1 branch 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                                                                               
/**
 *
 * Protocol binding to load or get the URL of the browser.
 *
 * <example>
    :url.js
    // Retrieve the URL of the current page.
    client.url(function(err,res) { ... });
 
    // navigate to a new URL
    client.url('http://webdriver.io');
 * </example>
 *
 * @param {String=} url  the URL to navigate to
 * @returns {String}     the current URL
 *
 * @see  https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/url
 * @type protocol
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
var url = function url(uri) {
    var data = {};
 
    if (typeof uri === 'string') {
        data.url = uri;
 
        if (typeof this.options.baseUrl === 'string' && data.url.indexOf('/') === 0) {
            data.url = this.options.baseUrl + data.url;
        }
    }
 
    return this.requestHandler.create('/session/:sessionId/url', data);
};
 
exports['default'] = url;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvdXJsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJBLElBQUksR0FBRyxHQUFHLFNBQU4sR0FBRyxDQUFhLEdBQUcsRUFBRTtBQUNyQixRQUFJLElBQUksR0FBRyxFQUFFLENBQUE7O0FBRWIsUUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7QUFDekIsWUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7O0FBRWQsWUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDekUsZ0JBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQTtTQUM3QztLQUNKOztBQUVELFdBQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUE7Q0FDckUsQ0FBQTs7cUJBRWMsR0FBRyIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL3Byb3RvY29sL3VybC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFByb3RvY29sIGJpbmRpbmcgdG8gbG9hZCBvciBnZXQgdGhlIFVSTCBvZiB0aGUgYnJvd3Nlci5cbiAqXG4gKiA8ZXhhbXBsZT5cbiAgICA6dXJsLmpzXG4gICAgLy8gUmV0cmlldmUgdGhlIFVSTCBvZiB0aGUgY3VycmVudCBwYWdlLlxuICAgIGNsaWVudC51cmwoZnVuY3Rpb24oZXJyLHJlcykgeyAuLi4gfSk7XG5cbiAgICAvLyBuYXZpZ2F0ZSB0byBhIG5ldyBVUkxcbiAgICBjbGllbnQudXJsKCdodHRwOi8vd2ViZHJpdmVyLmlvJyk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtIHtTdHJpbmc9fSB1cmwgIHRoZSBVUkwgdG8gbmF2aWdhdGUgdG9cbiAqIEByZXR1cm5zIHtTdHJpbmd9ICAgICB0aGUgY3VycmVudCBVUkxcbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCMvc2Vzc2lvbi86c2Vzc2lvbklkL3VybFxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxubGV0IHVybCA9IGZ1bmN0aW9uICh1cmkpIHtcbiAgICBsZXQgZGF0YSA9IHt9XG5cbiAgICBpZiAodHlwZW9mIHVyaSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZGF0YS51cmwgPSB1cmlcblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5iYXNlVXJsID09PSAnc3RyaW5nJyAmJiBkYXRhLnVybC5pbmRleE9mKCcvJykgPT09IDApIHtcbiAgICAgICAgICAgIGRhdGEudXJsID0gdGhpcy5vcHRpb25zLmJhc2VVcmwgKyBkYXRhLnVybFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEhhbmRsZXIuY3JlYXRlKCcvc2Vzc2lvbi86c2Vzc2lvbklkL3VybCcsIGRhdGEpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHVybFxuIl19