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

78.57% Statements 11/14
26.67% Branches 4/15
0% Functions 0/1
40% Lines 2/5
6 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 43 44                                                                                     
/**
 * Flick on the touch screen using finger motion events. This flick command starts
 * at a particular screen location.
 *
 * @param {String} ID      ID of the element where the flick starts
 * @param {Number} xoffset the x offset in pixels to flick by
 * @param {Number} yoffset the y offset in pixels to flick by
 * @param {Number} speed   the speed in pixels per seconds
 *
 * @see  https://code.google.com/p/selenium/wiki/JsonWireProtocol#session/:sessionId/touch/flick
 * @type protocol
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
 
var _utilsErrorHandler = require('../utils/ErrorHandler');
 
var touchFlick = function touchFlick(id, xoffset, yoffset, speed) {
    var data = {};
 
    if (typeof id === 'number' && typeof xoffset === 'number') {
        data = {
            xoffset: id,
            yoffset: xoffset
        };
    } else if (!id && typeof xoffset === 'number' && typeof yoffset === 'number') {
        data = { xoffset: xoffset, yoffset: yoffset };
    } else if (typeof id === 'string' && typeof xoffset === 'number' && typeof yoffset === 'number' && typeof speed === 'number') {
        data = { element: id, xoffset: xoffset, yoffset: yoffset, speed: speed };
    } else {
        throw new _utilsErrorHandler.ProtocolError('number or type of arguments don\'t agree with touchFlick command');
    }
 
    return this.requestHandler.create('/session/:sessionId/touch/flick', data);
};
 
exports['default'] = touchFlick;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvdG91Y2hGbGljay5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQ0FjOEIsdUJBQXVCOztBQUVyRCxJQUFJLFVBQVUsR0FBRyxTQUFiLFVBQVUsQ0FBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7QUFDcEQsUUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFBOztBQUViLFFBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtBQUN2RCxZQUFJLEdBQUc7QUFDSCxtQkFBTyxFQUFFLEVBQUU7QUFDWCxtQkFBTyxFQUFFLE9BQU87U0FDbkIsQ0FBQTtLQUNKLE1BQU0sSUFBSSxDQUFDLEVBQUUsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFFLFlBQUksR0FBRyxFQUFFLE9BQU8sRUFBUCxPQUFPLEVBQUUsT0FBTyxFQUFQLE9BQU8sRUFBRSxDQUFBO0tBQzlCLE1BQU0sSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7QUFDMUgsWUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQVAsT0FBTyxFQUFFLE9BQU8sRUFBUCxPQUFPLEVBQUUsS0FBSyxFQUFMLEtBQUssRUFBRSxDQUFBO0tBQ2xELE1BQU07QUFDSCxjQUFNLHFDQUFrQixrRUFBa0UsQ0FBQyxDQUFBO0tBQzlGOztBQUVELFdBQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLENBQUE7Q0FDN0UsQ0FBQTs7cUJBRWMsVUFBVSIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL3Byb3RvY29sL3RvdWNoRmxpY2suanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZsaWNrIG9uIHRoZSB0b3VjaCBzY3JlZW4gdXNpbmcgZmluZ2VyIG1vdGlvbiBldmVudHMuIFRoaXMgZmxpY2sgY29tbWFuZCBzdGFydHNcbiAqIGF0IGEgcGFydGljdWxhciBzY3JlZW4gbG9jYXRpb24uXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IElEICAgICAgSUQgb2YgdGhlIGVsZW1lbnQgd2hlcmUgdGhlIGZsaWNrIHN0YXJ0c1xuICogQHBhcmFtIHtOdW1iZXJ9IHhvZmZzZXQgdGhlIHggb2Zmc2V0IGluIHBpeGVscyB0byBmbGljayBieVxuICogQHBhcmFtIHtOdW1iZXJ9IHlvZmZzZXQgdGhlIHkgb2Zmc2V0IGluIHBpeGVscyB0byBmbGljayBieVxuICogQHBhcmFtIHtOdW1iZXJ9IHNwZWVkICAgdGhlIHNwZWVkIGluIHBpeGVscyBwZXIgc2Vjb25kc1xuICpcbiAqIEBzZWUgIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3Avc2VsZW5pdW0vd2lraS9Kc29uV2lyZVByb3RvY29sI3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9mbGlja1xuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxuaW1wb3J0IHsgUHJvdG9jb2xFcnJvciB9IGZyb20gJy4uL3V0aWxzL0Vycm9ySGFuZGxlcidcblxubGV0IHRvdWNoRmxpY2sgPSBmdW5jdGlvbiAoaWQsIHhvZmZzZXQsIHlvZmZzZXQsIHNwZWVkKSB7XG4gICAgbGV0IGRhdGEgPSB7fVxuXG4gICAgaWYgKHR5cGVvZiBpZCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHhvZmZzZXQgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICB4b2Zmc2V0OiBpZCxcbiAgICAgICAgICAgIHlvZmZzZXQ6IHhvZmZzZXRcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWlkICYmIHR5cGVvZiB4b2Zmc2V0ID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgeW9mZnNldCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgZGF0YSA9IHsgeG9mZnNldCwgeW9mZnNldCB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgaWQgPT09ICdzdHJpbmcnICYmIHR5cGVvZiB4b2Zmc2V0ID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgeW9mZnNldCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHNwZWVkID09PSAnbnVtYmVyJykge1xuICAgICAgICBkYXRhID0geyBlbGVtZW50OiBpZCwgeG9mZnNldCwgeW9mZnNldCwgc3BlZWQgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBQcm90b2NvbEVycm9yKCdudW1iZXIgb3IgdHlwZSBvZiBhcmd1bWVudHMgZG9uXFwndCBhZ3JlZSB3aXRoIHRvdWNoRmxpY2sgY29tbWFuZCcpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEhhbmRsZXIuY3JlYXRlKCcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2ZsaWNrJywgZGF0YSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgdG91Y2hGbGlja1xuIl19