cabbie-sync
Version:
A synchronous webdriver client
236 lines (163 loc) • 6.23 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _debug = require('./debug');
var _debug2 = _interopRequireDefault(_debug);
var _driver = require('./driver');
var _driver2 = _interopRequireDefault(_driver);
var _element = require('./element');
var _element2 = _interopRequireDefault(_element);
var _util = require('util');
var _addDebugging = require('./add-debugging');
var _addDebugging2 = _interopRequireDefault(_addDebugging);
var _flowRuntime = require('flow-runtime');
var _flowRuntime2 = _interopRequireDefault(_flowRuntime);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
*
* This file is generated automatically, run npm run build to re-generate.
**/
var Element = _flowRuntime2.default.tdz(function () {
return _element2.default;
});
/*
* Touch commands relative to a DOM-element
*/
var Driver = _flowRuntime2.default.tdz(function () {
return _driver2.default;
});
var Debug = _flowRuntime2.default.tdz(function () {
return _debug2.default;
});
var Touch = function () {
/*
* @private
*/
function Touch(driver /*: Driver*/, parent /*: Element*/) {
(0, _classCallCheck3.default)(this, Touch);
var _driverType = _flowRuntime2.default.ref(Driver);
var _parentType = _flowRuntime2.default.ref(Element);
_flowRuntime2.default.param('driver', _driverType).assert(driver);
_flowRuntime2.default.param('parent', _parentType).assert(parent);
this.debug = driver.debug;
this.driver = driver;
this._parent = parent;
}
/*
* Tap with the finger on the element
*/
/*
* @private
*/
(0, _createClass3.default)(Touch, [{
key: 'tap',
value: function tap() /*: void*/ {
var _returnType = _flowRuntime2.default.return(_flowRuntime2.default.void());
this.driver.activeWindow.touch._tap(this._parent.elementID);
}
/*
* Double tap with the finger on the element
*/
}, {
key: 'doubleTap',
value: function doubleTap() /*: void*/ {
var _returnType2 = _flowRuntime2.default.return(_flowRuntime2.default.void());
this.driver.activeWindow.touch._doubleTap(this._parent.elementID);
}
/*
* Long tap with the finger on the element
*/
}, {
key: 'longTap',
value: function longTap() /*: void*/ {
var _returnType3 = _flowRuntime2.default.return(_flowRuntime2.default.void());
this.driver.activeWindow.touch._longTap(this._parent.elementID);
}
/*
* Finger down on the screen at an offset relative to the element
*/
}, {
key: 'down',
value: function down(xOffset /*: number*/, yOffset /*: number*/) /*: void*/ {
var _xOffsetType = _flowRuntime2.default.number();
var _yOffsetType = _flowRuntime2.default.number();
var _returnType4 = _flowRuntime2.default.return(_flowRuntime2.default.void());
_flowRuntime2.default.param('xOffset', _xOffsetType).assert(xOffset);
_flowRuntime2.default.param('yOffset', _yOffsetType).assert(yOffset);
var location = this._parent.getPosition();
this.driver.activeWindow.touch.down(location.x + xOffset, location.y + yOffset);
}
/*
* Finger down on the screen at the center of the element
*/
}, {
key: 'downAtCenter',
value: function downAtCenter() /*: void*/ {
var _returnType5 = _flowRuntime2.default.return(_flowRuntime2.default.void());
var center = this._parent.getAbsoluteCenter();
this.driver.activeWindow.touch.down(center.x, center.y);
}
/*
* Finger up on the screen at an offset relative to the element
*/
}, {
key: 'up',
value: function up(xOffset /*: number*/, yOffset /*: number*/) /*: void*/ {
var _xOffsetType2 = _flowRuntime2.default.number();
var _yOffsetType2 = _flowRuntime2.default.number();
var _returnType6 = _flowRuntime2.default.return(_flowRuntime2.default.void());
_flowRuntime2.default.param('xOffset', _xOffsetType2).assert(xOffset);
_flowRuntime2.default.param('yOffset', _yOffsetType2).assert(yOffset);
var location = this._parent.getPosition();
this.driver.activeWindow.touch.down(location.x + xOffset, location.y + yOffset);
}
/*
* Finger up on the screen at the center of the element
*/
}, {
key: 'upAtCenter',
value: function upAtCenter() /*: void*/ {
var _returnType7 = _flowRuntime2.default.return(_flowRuntime2.default.void());
var center = this._parent.getAbsoluteCenter();
this.driver.activeWindow.touch.down(center.x, center.y);
}
/*
* Move finger to an offset relative to the element
*/
}, {
key: 'moveTo',
value: function moveTo(xOffset /*: number*/, yOffset /*: number*/) /*: void*/ {
var _xOffsetType3 = _flowRuntime2.default.number();
var _yOffsetType3 = _flowRuntime2.default.number();
var _returnType8 = _flowRuntime2.default.return(_flowRuntime2.default.void());
_flowRuntime2.default.param('xOffset', _xOffsetType3).assert(xOffset);
_flowRuntime2.default.param('yOffset', _yOffsetType3).assert(yOffset);
var location = this._parent.getPosition();
this.driver.activeWindow.touch.move(location.x + xOffset, location.y + yOffset);
}
/*
* Move finger to the center of the element
*/
}, {
key: 'moveToCenter',
value: function moveToCenter() /*: void*/ {
var _returnType9 = _flowRuntime2.default.return(_flowRuntime2.default.void());
var center = this._parent.getAbsoluteCenter();
this.driver.activeWindow.touch.move(center.x, center.y);
}
//TODO: Element touch flick
//TODO: Element touch scroll
}]);
return Touch;
}();
(0, _addDebugging2.default)(Touch, {
inspect: function inspect(obj, depth, options) {
return obj._parent[_util.inspect.custom || 'inspect'](depth, options) + '.touch';
}
});
exports.default = Touch;