UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

58 lines (48 loc) 4.58 kB
/** * * Perform a flick on the screen or an element. If you want to flick on a specific * element make sure you provide a selector argument. If not just pass `xoffset` * and `yoffset` as command arguments. * * start at a particulat screen location * * @param {String=} selector element to flick on * @param {Number=} xoffset x offset of flick gesture (in pixels or relative units) * @param {Number=} yoffset y offset of flick gesture (in pixels or relative units) * @param {Number=} speed time (in seconds) to spend performing the flick * * @uses protocol/element, protocol/touchFlick * @type mobile * */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _utilsErrorHandler = require('../utils/ErrorHandler'); var flick = function flick(selector, xoffset, yoffset, speed) { var _this = this; /*! * mobile check */ if (!this.isMobile) { throw new _utilsErrorHandler.CommandError('flick command is not supported on non mobile platforms'); } if (arguments.length === 2 && typeof selector === 'number' && typeof xoffset === 'number') { /*! * you don't care where the flick starts on the screen */ var xspeed = selector; var yspeed = xoffset; return this.touchFlick(xspeed, yspeed); } /*! * command starts at a particular screen location */ return this.element(selector).then(function (res) { return _this.touchFlick(res.value.ELEMENT.toString(), xoffset, yoffset, speed); }); }; exports['default'] = flick; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9mbGljay5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUNBa0I2Qix1QkFBdUI7O0FBRXBELElBQUksS0FBSyxHQUFHLFNBQVIsS0FBSyxDQUFhLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTs7Ozs7O0FBSXJELE1BQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2hCLFVBQU0sb0NBQWlCLHdEQUF3RCxDQUFDLENBQUE7R0FDbkY7O0FBRUQsTUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFOzs7O0FBSXZGLFFBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQTtBQUNyQixRQUFJLE1BQU0sR0FBRyxPQUFPLENBQUE7O0FBRXBCLFdBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7R0FDekM7Ozs7O0FBS0QsU0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDOUIsVUFBQyxHQUFHO1dBQUssTUFBSyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7R0FBQSxDQUFDLENBQUE7Q0FDdkYsQ0FBQTs7cUJBRWMsS0FBSyIsImZpbGUiOiJmbGljay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFBlcmZvcm0gYSBmbGljayBvbiB0aGUgc2NyZWVuIG9yIGFuIGVsZW1lbnQuIElmIHlvdSB3YW50IHRvIGZsaWNrIG9uIGEgc3BlY2lmaWNcbiAqIGVsZW1lbnQgbWFrZSBzdXJlIHlvdSBwcm92aWRlIGEgc2VsZWN0b3IgYXJndW1lbnQuIElmIG5vdCBqdXN0IHBhc3MgYHhvZmZzZXRgXG4gKiBhbmQgYHlvZmZzZXRgIGFzIGNvbW1hbmQgYXJndW1lbnRzLlxuICpcbiAqIHN0YXJ0IGF0IGEgcGFydGljdWxhdCBzY3JlZW4gbG9jYXRpb25cbiAqXG4gKiBAcGFyYW0ge1N0cmluZz19IHNlbGVjdG9yICAgZWxlbWVudCB0byBmbGljayBvblxuICogQHBhcmFtIHtOdW1iZXI9fSB4b2Zmc2V0ICAgIHggb2Zmc2V0IG9mIGZsaWNrIGdlc3R1cmUgKGluIHBpeGVscyBvciByZWxhdGl2ZSB1bml0cylcbiAqIEBwYXJhbSB7TnVtYmVyPX0geW9mZnNldCAgICB5IG9mZnNldCBvZiBmbGljayBnZXN0dXJlIChpbiBwaXhlbHMgb3IgcmVsYXRpdmUgdW5pdHMpXG4gKiBAcGFyYW0ge051bWJlcj19IHNwZWVkICAgICAgdGltZSAoaW4gc2Vjb25kcykgdG8gc3BlbmQgcGVyZm9ybWluZyB0aGUgZmxpY2tcbiAqXG4gKiBAdXNlcyBwcm90b2NvbC9lbGVtZW50LCBwcm90b2NvbC90b3VjaEZsaWNrXG4gKiBAdHlwZSBtb2JpbGVcbiAqXG4gKi9cblxuaW1wb3J0IHsgQ29tbWFuZEVycm9yIH0gZnJvbSAnLi4vdXRpbHMvRXJyb3JIYW5kbGVyJ1xuXG5sZXQgZmxpY2sgPSBmdW5jdGlvbiAoc2VsZWN0b3IsIHhvZmZzZXQsIHlvZmZzZXQsIHNwZWVkKSB7XG4gICAgLyohXG4gICAgICogbW9iaWxlIGNoZWNrXG4gICAgICovXG4gICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgIHRocm93IG5ldyBDb21tYW5kRXJyb3IoJ2ZsaWNrIGNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCBvbiBub24gbW9iaWxlIHBsYXRmb3JtcycpXG4gICAgfVxuXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgdHlwZW9mIHNlbGVjdG9yID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgeG9mZnNldCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgLyohXG4gICAgICAgICAqIHlvdSBkb24ndCBjYXJlIHdoZXJlIHRoZSBmbGljayBzdGFydHMgb24gdGhlIHNjcmVlblxuICAgICAgICAgKi9cbiAgICAgICAgbGV0IHhzcGVlZCA9IHNlbGVjdG9yXG4gICAgICAgIGxldCB5c3BlZWQgPSB4b2Zmc2V0XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudG91Y2hGbGljayh4c3BlZWQsIHlzcGVlZClcbiAgICB9XG5cbiAgICAvKiFcbiAgICAgKiBjb21tYW5kIHN0YXJ0cyBhdCBhIHBhcnRpY3VsYXIgc2NyZWVuIGxvY2F0aW9uXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudChzZWxlY3RvcikudGhlbihcbiAgICAgICAgKHJlcykgPT4gdGhpcy50b3VjaEZsaWNrKHJlcy52YWx1ZS5FTEVNRU5ULnRvU3RyaW5nKCksIHhvZmZzZXQsIHlvZmZzZXQsIHNwZWVkKSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZmxpY2tcbiJdfQ==