all files / DEV/lib/helpers/ handleMouseButtonCommand.js

100% Statements 14/14
66.67% Branches 4/6
0% Functions 0/2
100% Lines 2/2
9 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                                                                                 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});

var _utilsErrorHandler = require('../utils/ErrorHandler');
 
/**
 * call must be scoped to the webdriverio client
 */
var handleMouseButtonCommand = function handleMouseButtonCommand(selector, button) {
    // istanbul ignore next
 
    var _this = this;
 
    /**
     * mobile only supports simple clicks
     */
    if (this.isMobile) {
        if (!selector) {
            throw new _utilsErrorHandler.ProtocolError('the leftClick/middleClick/rightClick command requires an element to click on');
        }
 
        return this.click(selector);
    }
 
    /**
     * just press button if no selector is given
     */
    if (!selector) {
        return this.buttonPress(button);
    }
 
    return this.element(selector).then(function (res) {
        return _this.moveTo(res.value.ELEMENT).buttonPress(button);
    });
};
 
exports['default'] = handleMouseButtonCommand;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvaGVscGVycy9oYW5kbGVNb3VzZUJ1dHRvbkNvbW1hbmQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O2lDQUE4Qix1QkFBdUI7Ozs7O0FBS3JELElBQUksd0JBQXdCLEdBQUcsU0FBM0Isd0JBQXdCLENBQWEsUUFBUSxFQUFFLE1BQU0sRUFBRTs7Ozs7Ozs7QUFJdkQsUUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2YsWUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNYLGtCQUFNLHFDQUFrQiw4RUFBOEUsQ0FBQyxDQUFBO1NBQzFHOztBQUVELGVBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtLQUM5Qjs7Ozs7QUFLRCxRQUFJLENBQUMsUUFBUSxFQUFFO0FBQ1gsZUFBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0tBQ2xDOztBQUVELFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFHO2VBQ25DLE1BQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztLQUFBLENBQUMsQ0FBQTtDQUMxRCxDQUFBOztxQkFFYyx3QkFBd0IiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2xpYi9oZWxwZXJzL2hhbmRsZU1vdXNlQnV0dG9uQ29tbWFuZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3RvY29sRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5cbi8qKlxuICogY2FsbCBtdXN0IGJlIHNjb3BlZCB0byB0aGUgd2ViZHJpdmVyaW8gY2xpZW50XG4gKi9cbmxldCBoYW5kbGVNb3VzZUJ1dHRvbkNvbW1hbmQgPSBmdW5jdGlvbiAoc2VsZWN0b3IsIGJ1dHRvbikge1xuICAgIC8qKlxuICAgICAqIG1vYmlsZSBvbmx5IHN1cHBvcnRzIHNpbXBsZSBjbGlja3NcbiAgICAgKi9cbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICBpZiAoIXNlbGVjdG9yKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgUHJvdG9jb2xFcnJvcigndGhlIGxlZnRDbGljay9taWRkbGVDbGljay9yaWdodENsaWNrIGNvbW1hbmQgcmVxdWlyZXMgYW4gZWxlbWVudCB0byBjbGljayBvbicpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jbGljayhzZWxlY3RvcilcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBqdXN0IHByZXNzIGJ1dHRvbiBpZiBubyBzZWxlY3RvciBpcyBnaXZlblxuICAgICAqL1xuICAgIGlmICghc2VsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uUHJlc3MoYnV0dG9uKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmVsZW1lbnQoc2VsZWN0b3IpLnRoZW4oKHJlcykgPT5cbiAgICAgICAgdGhpcy5tb3ZlVG8ocmVzLnZhbHVlLkVMRU1FTlQpLmJ1dHRvblByZXNzKGJ1dHRvbikpXG59XG5cbmV4cG9ydCBkZWZhdWx0IGhhbmRsZU1vdXNlQnV0dG9uQ29tbWFuZFxuIl19