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

78.57% Statements 11/14
0% Branches 0/17
0% Functions 0/1
40% Lines 2/5
6 statements 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                                                                                                         
/**
 * Scroll on the touch screen using finger based motion events. If
 * element ID is given start scrolling at a particular screen location.
 *
 * @param {String} id       the element where the scroll starts.
 * @param {Number} xoffset  in pixels to scroll by
 * @param {Number} yoffset  in pixels to scroll by
 *
 * @see http://code.google.com/p/selenium/wiki/JsonWireProtocol#session/:sessionId/touch/scroll
 * @type protocol
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
 
var _utilsErrorHandler = require('../utils/ErrorHandler');
 
var touchScroll = function touchScroll(id, xoffset, yoffset) {
    var data = {};
 
    /*!
     * start scrolling at a particular screen location
     */
    if (arguments.length === 3 && id && typeof xoffset === 'number' && typeof yoffset === 'number') {
        data = { element: id, xoffset: xoffset, yoffset: yoffset };
 
        /*!
         * if you don't care where the scroll starts on the screen
         */
    } else if (arguments.length === 3 && !id && typeof xoffset === 'number' && typeof yoffset === 'number') {
            data = { xoffset: xoffset, yoffset: yoffset };
 
            /*!
             * if you don't care where the scroll starts on the screen
             */
        } else if (arguments.length === 2 && typeof id === 'number' && typeof xoffset === 'number') {
                data = {
                    xoffset: id,
                    yoffset: xoffset
                };
            } else {
                throw new _utilsErrorHandler.ProtocolError('number or type of arguments don\'t agree with touchScroll command');
            }
 
    return this.requestHandler.create('/session/:sessionId/touch/scroll', data);
};
 
exports['default'] = touchScroll;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvdG91Y2hTY3JvbGwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQ0FhOEIsdUJBQXVCOztBQUVyRCxJQUFJLFdBQVcsR0FBRyxTQUFkLFdBQVcsQ0FBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUM5QyxRQUFJLElBQUksR0FBRyxFQUFFLENBQUE7Ozs7O0FBS2IsUUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtBQUM1RixZQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBUCxPQUFPLEVBQUUsT0FBTyxFQUFQLE9BQU8sRUFBRSxDQUFBOzs7OztLQUszQyxNQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtBQUNwRyxnQkFBSSxHQUFHLEVBQUUsT0FBTyxFQUFQLE9BQU8sRUFBRSxPQUFPLEVBQVAsT0FBTyxFQUFFLENBQUE7Ozs7O1NBSzlCLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQ3hGLG9CQUFJLEdBQUc7QUFDSCwyQkFBTyxFQUFFLEVBQUU7QUFDWCwyQkFBTyxFQUFFLE9BQU87aUJBQ25CLENBQUE7YUFDSixNQUFNO0FBQ0gsc0JBQU0scUNBQWtCLG1FQUFtRSxDQUFDLENBQUE7YUFDL0Y7O0FBRUQsV0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLENBQUMsQ0FBQTtDQUM5RSxDQUFBOztxQkFFYyxXQUFXIiwiZmlsZSI6Ii9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvdG91Y2hTY3JvbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNjcm9sbCBvbiB0aGUgdG91Y2ggc2NyZWVuIHVzaW5nIGZpbmdlciBiYXNlZCBtb3Rpb24gZXZlbnRzLiBJZlxuICogZWxlbWVudCBJRCBpcyBnaXZlbiBzdGFydCBzY3JvbGxpbmcgYXQgYSBwYXJ0aWN1bGFyIHNjcmVlbiBsb2NhdGlvbi5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgICAgICAgdGhlIGVsZW1lbnQgd2hlcmUgdGhlIHNjcm9sbCBzdGFydHMuXG4gKiBAcGFyYW0ge051bWJlcn0geG9mZnNldCAgaW4gcGl4ZWxzIHRvIHNjcm9sbCBieVxuICogQHBhcmFtIHtOdW1iZXJ9IHlvZmZzZXQgIGluIHBpeGVscyB0byBzY3JvbGwgYnlcbiAqXG4gKiBAc2VlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9zZWxlbml1bS93aWtpL0pzb25XaXJlUHJvdG9jb2wjc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL3Njcm9sbFxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxuaW1wb3J0IHsgUHJvdG9jb2xFcnJvciB9IGZyb20gJy4uL3V0aWxzL0Vycm9ySGFuZGxlcidcblxubGV0IHRvdWNoU2Nyb2xsID0gZnVuY3Rpb24gKGlkLCB4b2Zmc2V0LCB5b2Zmc2V0KSB7XG4gICAgbGV0IGRhdGEgPSB7fVxuXG4gICAgLyohXG4gICAgICogc3RhcnQgc2Nyb2xsaW5nIGF0IGEgcGFydGljdWxhciBzY3JlZW4gbG9jYXRpb25cbiAgICAgKi9cbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMyAmJiBpZCAmJiB0eXBlb2YgeG9mZnNldCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHlvZmZzZXQgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGRhdGEgPSB7IGVsZW1lbnQ6IGlkLCB4b2Zmc2V0LCB5b2Zmc2V0IH1cblxuICAgIC8qIVxuICAgICAqIGlmIHlvdSBkb24ndCBjYXJlIHdoZXJlIHRoZSBzY3JvbGwgc3RhcnRzIG9uIHRoZSBzY3JlZW5cbiAgICAgKi9cbiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMgJiYgIWlkICYmIHR5cGVvZiB4b2Zmc2V0ID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgeW9mZnNldCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgZGF0YSA9IHsgeG9mZnNldCwgeW9mZnNldCB9XG5cbiAgICAvKiFcbiAgICAgKiBpZiB5b3UgZG9uJ3QgY2FyZSB3aGVyZSB0aGUgc2Nyb2xsIHN0YXJ0cyBvbiB0aGUgc2NyZWVuXG4gICAgICovXG4gICAgfSBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIHR5cGVvZiBpZCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHhvZmZzZXQgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICB4b2Zmc2V0OiBpZCxcbiAgICAgICAgICAgIHlvZmZzZXQ6IHhvZmZzZXRcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBQcm90b2NvbEVycm9yKCdudW1iZXIgb3IgdHlwZSBvZiBhcmd1bWVudHMgZG9uXFwndCBhZ3JlZSB3aXRoIHRvdWNoU2Nyb2xsIGNvbW1hbmQnKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlcXVlc3RIYW5kbGVyLmNyZWF0ZSgnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9zY3JvbGwnLCBkYXRhKVxufVxuXG5leHBvcnQgZGVmYXVsdCB0b3VjaFNjcm9sbFxuIl19