@testim/testim-cli
Version:
Command line interface for running Testing on you CI
58 lines (48 loc) • 4.58 kB
JavaScript
/**
*
* 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
*
*/
;
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==