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

64.29% Statements 9/14
28.57% Branches 2/7
0% Functions 0/1
28.57% Lines 2/7
5 statements, 2 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                                                                                                                                       
/**
 *
 * Protocol bindings to receive or change the position of the browser window.
 * If the `windowHandle` URL parameter is falsy, the currently active window will be considered.
 *
 * <example>
    :windowHandlePosition.js
    // get the position of
    // a specified window
    client.windowHandlePosition('{dc30381e-e2f3-9444-8bf3-12cc44e8372a}', function(err,res) { ... });
 
    // the current window
    client.windowHandlePosition(function(err,res) { ... });
 
    // change the position of
    // a specified window
    client.windowHandlePosition('{dc30381e-e2f3-9444-8bf3-12cc44e8372a}', {x: 100, y: 200});
 
    // the current window
    client.windowHandlePosition({x: 100, y: 200});
 * </example>
 *
 * @param {String=} windowHandle the window to receive/change the position
 * @param {Object=} position     the X and Y coordinates to position the window at, relative to the upper left corner of the screen
 *
 * @returns {Object} the X and Y coordinates for the window, relative to the upper left corner of the screen (`{x: number, y: number}`)
 *
 * @see  https://code.google.com/p/selenium/wiki/JsonWireProtocol#GET_/session/:sessionId/window/:windowHandle/position
 * @type protocol
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
var windowHandlePosition = function windowHandlePosition(windowHandle, position) {
    var data = {};
    var requestOptions = {
        method: 'POST'
    };
 
    if (typeof windowHandle !== 'string') {
        position = windowHandle;
        windowHandle = 'current';
    }
 
    requestOptions.path = '/session/:sessionId/window/' + windowHandle + '/position';

    /**
     * check if arguments provide proper position parameter
     */
    if (typeof position === 'object' && typeof position.x === 'number' && typeof position.y === 'number') {
        data = position;

        /**
         * otherwise fall back to get operation
         */
    } else {
            requestOptions.method = 'GET';
        }
 
    return this.requestHandler.create(requestOptions, data);
};
 
exports['default'] = windowHandlePosition;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvd2luZG93SGFuZGxlUG9zaXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDQSxJQUFJLG9CQUFvQixHQUFHLFNBQXZCLG9CQUFvQixDQUFhLFlBQVksRUFBRSxRQUFRLEVBQUU7QUFDekQsUUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFBO0FBQ2IsUUFBSSxjQUFjLEdBQUc7QUFDakIsY0FBTSxFQUFFLE1BQU07S0FDakIsQ0FBQTs7QUFFRCxRQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsRUFBRTtBQUNsQyxnQkFBUSxHQUFHLFlBQVksQ0FBQTtBQUN2QixvQkFBWSxHQUFHLFNBQVMsQ0FBQTtLQUMzQjs7QUFFRCxrQkFBYyxDQUFDLElBQUksbUNBQWlDLFlBQVksY0FBVyxDQUFBOzs7OztBQUszRSxRQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxPQUFPLFFBQVEsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUU7QUFDbEcsWUFBSSxHQUFHLFFBQVEsQ0FBQTs7Ozs7S0FLbEIsTUFBTTtBQUNILDBCQUFjLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtTQUNoQzs7QUFFRCxXQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQTtDQUMxRCxDQUFBOztxQkFFYyxvQkFBb0IiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2xpYi9wcm90b2NvbC93aW5kb3dIYW5kbGVQb3NpdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFByb3RvY29sIGJpbmRpbmdzIHRvIHJlY2VpdmUgb3IgY2hhbmdlIHRoZSBwb3NpdGlvbiBvZiB0aGUgYnJvd3NlciB3aW5kb3cuXG4gKiBJZiB0aGUgYHdpbmRvd0hhbmRsZWAgVVJMIHBhcmFtZXRlciBpcyBmYWxzeSwgdGhlIGN1cnJlbnRseSBhY3RpdmUgd2luZG93IHdpbGwgYmUgY29uc2lkZXJlZC5cbiAqXG4gKiA8ZXhhbXBsZT5cbiAgICA6d2luZG93SGFuZGxlUG9zaXRpb24uanNcbiAgICAvLyBnZXQgdGhlIHBvc2l0aW9uIG9mXG4gICAgLy8gYSBzcGVjaWZpZWQgd2luZG93XG4gICAgY2xpZW50LndpbmRvd0hhbmRsZVBvc2l0aW9uKCd7ZGMzMDM4MWUtZTJmMy05NDQ0LThiZjMtMTJjYzQ0ZTgzNzJhfScsIGZ1bmN0aW9uKGVycixyZXMpIHsgLi4uIH0pO1xuXG4gICAgLy8gdGhlIGN1cnJlbnQgd2luZG93XG4gICAgY2xpZW50LndpbmRvd0hhbmRsZVBvc2l0aW9uKGZ1bmN0aW9uKGVycixyZXMpIHsgLi4uIH0pO1xuXG4gICAgLy8gY2hhbmdlIHRoZSBwb3NpdGlvbiBvZlxuICAgIC8vIGEgc3BlY2lmaWVkIHdpbmRvd1xuICAgIGNsaWVudC53aW5kb3dIYW5kbGVQb3NpdGlvbigne2RjMzAzODFlLWUyZjMtOTQ0NC04YmYzLTEyY2M0NGU4MzcyYX0nLCB7eDogMTAwLCB5OiAyMDB9KTtcblxuICAgIC8vIHRoZSBjdXJyZW50IHdpbmRvd1xuICAgIGNsaWVudC53aW5kb3dIYW5kbGVQb3NpdGlvbih7eDogMTAwLCB5OiAyMDB9KTtcbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZz19IHdpbmRvd0hhbmRsZSB0aGUgd2luZG93IHRvIHJlY2VpdmUvY2hhbmdlIHRoZSBwb3NpdGlvblxuICogQHBhcmFtIHtPYmplY3Q9fSBwb3NpdGlvbiAgICAgdGhlIFggYW5kIFkgY29vcmRpbmF0ZXMgdG8gcG9zaXRpb24gdGhlIHdpbmRvdyBhdCwgcmVsYXRpdmUgdG8gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBzY3JlZW5cbiAqXG4gKiBAcmV0dXJucyB7T2JqZWN0fSB0aGUgWCBhbmQgWSBjb29yZGluYXRlcyBmb3IgdGhlIHdpbmRvdywgcmVsYXRpdmUgdG8gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBzY3JlZW4gKGB7eDogbnVtYmVyLCB5OiBudW1iZXJ9YClcbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCNHRVRfL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd0hhbmRsZS9wb3NpdGlvblxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxubGV0IHdpbmRvd0hhbmRsZVBvc2l0aW9uID0gZnVuY3Rpb24gKHdpbmRvd0hhbmRsZSwgcG9zaXRpb24pIHtcbiAgICBsZXQgZGF0YSA9IHt9XG4gICAgbGV0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJ1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygd2luZG93SGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgICAgICBwb3NpdGlvbiA9IHdpbmRvd0hhbmRsZVxuICAgICAgICB3aW5kb3dIYW5kbGUgPSAnY3VycmVudCdcbiAgICB9XG5cbiAgICByZXF1ZXN0T3B0aW9ucy5wYXRoID0gYC9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93LyR7d2luZG93SGFuZGxlfS9wb3NpdGlvbmBcblxuICAgIC8qKlxuICAgICAqIGNoZWNrIGlmIGFyZ3VtZW50cyBwcm92aWRlIHByb3BlciBwb3NpdGlvbiBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBpZiAodHlwZW9mIHBvc2l0aW9uID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcG9zaXRpb24ueCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHBvc2l0aW9uLnkgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGRhdGEgPSBwb3NpdGlvblxuXG4gICAgLyoqXG4gICAgICogb3RoZXJ3aXNlIGZhbGwgYmFjayB0byBnZXQgb3BlcmF0aW9uXG4gICAgICovXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmVxdWVzdE9wdGlvbnMubWV0aG9kID0gJ0dFVCdcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SGFuZGxlci5jcmVhdGUocmVxdWVzdE9wdGlvbnMsIGRhdGEpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpbmRvd0hhbmRsZVBvc2l0aW9uXG4iXX0=