/**
*
* Add a value to an object found by given selector. You can also use unicode
* characters like Left arrow or Back space. WebdriverIO will take care of
* translating them into unicode characters. You’ll find all supported characters
* [here](https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/value).
* To do that, the value has to correspond to a key from the table.
*
* <example>
:addValue-with-promises.js
client
.setValue('.input', 'test')
.addValue('.input', '123')
.getValue('.input').then(function(value) {
assert(err === null);
assert(value === 'test123'); // true
});
:addValue-with-callbacks.js
client
.setValue('.input', 'test')
.addValue('.input', '123')
.getValue('.input').then(function(value) {
assert(err === null);
assert(value === 'test123'); // true
});
* </example>
*
* @param {String} selector Input element
* @param {String|Number} values value to be added
*
* @uses protocol/elements, protocol/elementIdValue
* @type action
*
*/
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
var _utilsErrorHandler = require('../utils/ErrorHandler');
var addValue = function addValue(selector, value) {
// istanbul ignore next
var _this = this;
/*!
* parameter check
*/
if (typeof value === 'number') {
value = '' + value;
}
if (typeof value !== 'string' && !Array.isArray(value)) {
throw new _utilsErrorHandler.CommandError('number or type of arguments don\'t agree with addValue command');
}
return this.elements(selector).then(function (res) {
if (!res.value || res.value.length === 0) {
/*!
* throw NoSuchElement error if no element was found
*/
throw new _utilsErrorHandler.CommandError(7);
}
var self = _this;
var elementIdValueCommands = [];
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = res.value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var elem = _step.value;
elementIdValueCommands.push(self.elementIdValue(elem.ELEMENT, value));
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return _this.unify(elementIdValueCommands);
});
};
exports['default'] = addValue;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvYWRkVmFsdWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQW9DNkIsdUJBQXVCOztBQUVwRCxJQUFJLFFBQVEsR0FBRyxTQUFYLFFBQVEsQ0FBYSxRQUFRLEVBQUUsS0FBSyxFQUFFOzs7Ozs7OztBQUl0QyxRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUMzQixhQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQTtLQUNyQjs7QUFFRCxRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDcEQsY0FBTSxvQ0FBaUIsZ0VBQWdFLENBQUMsQ0FBQTtLQUMzRjs7QUFFRCxXQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRyxFQUFLO0FBQ3pDLFlBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTs7OztBQUl0QyxrQkFBTSxvQ0FBaUIsQ0FBQyxDQUFDLENBQUE7U0FDNUI7O0FBRUQsWUFBSSxJQUFJLFFBQU8sQ0FBQTtBQUNmLFlBQUksc0JBQXNCLEdBQUcsRUFBRSxDQUFBOzs7Ozs7O0FBRS9CLGlDQUFpQixHQUFHLENBQUMsS0FBSyw4SEFBRTtvQkFBbkIsSUFBSTs7QUFDVCxzQ0FBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7YUFDeEU7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRCxlQUFPLE1BQUssS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7S0FDNUMsQ0FBQyxDQUFBO0NBQ0wsQ0FBQTs7cUJBRWMsUUFBUSIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2NvbW1hbmRzL2FkZFZhbHVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogQWRkIGEgdmFsdWUgdG8gYW4gb2JqZWN0IGZvdW5kIGJ5IGdpdmVuIHNlbGVjdG9yLiBZb3UgY2FuIGFsc28gdXNlIHVuaWNvZGVcbiAqIGNoYXJhY3RlcnMgbGlrZSBMZWZ0IGFycm93IG9yIEJhY2sgc3BhY2UuIFdlYmRyaXZlcklPIHdpbGwgdGFrZSBjYXJlIG9mXG4gKiB0cmFuc2xhdGluZyB0aGVtIGludG8gdW5pY29kZSBjaGFyYWN0ZXJzLiBZb3XigJlsbCBmaW5kIGFsbCBzdXBwb3J0ZWQgY2hhcmFjdGVyc1xuICogW2hlcmVdKGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3Avc2VsZW5pdW0vd2lraS9Kc29uV2lyZVByb3RvY29sIy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86aWQvdmFsdWUpLlxuICogVG8gZG8gdGhhdCwgdGhlIHZhbHVlIGhhcyB0byBjb3JyZXNwb25kIHRvIGEga2V5IGZyb20gdGhlIHRhYmxlLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDphZGRWYWx1ZS13aXRoLXByb21pc2VzLmpzXG4gICAgY2xpZW50XG4gICAgICAgIC5zZXRWYWx1ZSgnLmlucHV0JywgJ3Rlc3QnKVxuICAgICAgICAuYWRkVmFsdWUoJy5pbnB1dCcsICcxMjMnKVxuICAgICAgICAuZ2V0VmFsdWUoJy5pbnB1dCcpLnRoZW4oZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICAgIGFzc2VydChlcnIgPT09IG51bGwpO1xuICAgICAgICAgICAgYXNzZXJ0KHZhbHVlID09PSAndGVzdDEyMycpOyAvLyB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgOmFkZFZhbHVlLXdpdGgtY2FsbGJhY2tzLmpzXG4gICAgY2xpZW50XG4gICAgICAgIC5zZXRWYWx1ZSgnLmlucHV0JywgJ3Rlc3QnKVxuICAgICAgICAuYWRkVmFsdWUoJy5pbnB1dCcsICcxMjMnKVxuICAgICAgICAuZ2V0VmFsdWUoJy5pbnB1dCcpLnRoZW4oZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICAgIGFzc2VydChlcnIgPT09IG51bGwpO1xuICAgICAgICAgICAgYXNzZXJ0KHZhbHVlID09PSAndGVzdDEyMycpOyAvLyB0cnVlXG4gICAgICAgIH0pO1xuICogPC9leGFtcGxlPlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAgICAgICAgc2VsZWN0b3IgICBJbnB1dCBlbGVtZW50XG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IHZhbHVlcyAgICAgdmFsdWUgdG8gYmUgYWRkZWRcbiAqXG4gKiBAdXNlcyBwcm90b2NvbC9lbGVtZW50cywgcHJvdG9jb2wvZWxlbWVudElkVmFsdWVcbiAqIEB0eXBlIGFjdGlvblxuICpcbiAqL1xuXG5pbXBvcnQgeyBDb21tYW5kRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5cbmxldCBhZGRWYWx1ZSA9IGZ1bmN0aW9uIChzZWxlY3RvciwgdmFsdWUpIHtcbiAgICAvKiFcbiAgICAgKiBwYXJhbWV0ZXIgY2hlY2tcbiAgICAgKi9cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICB2YWx1ZSA9ICcnICsgdmFsdWVcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1hbmRFcnJvcignbnVtYmVyIG9yIHR5cGUgb2YgYXJndW1lbnRzIGRvblxcJ3QgYWdyZWUgd2l0aCBhZGRWYWx1ZSBjb21tYW5kJylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50cyhzZWxlY3RvcikudGhlbigocmVzKSA9PiB7XG4gICAgICAgIGlmICghcmVzLnZhbHVlIHx8IHJlcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8qIVxuICAgICAgICAgICAgICogdGhyb3cgTm9TdWNoRWxlbWVudCBlcnJvciBpZiBubyBlbGVtZW50IHdhcyBmb3VuZFxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbWFuZEVycm9yKDcpXG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc2VsZiA9IHRoaXNcbiAgICAgICAgbGV0IGVsZW1lbnRJZFZhbHVlQ29tbWFuZHMgPSBbXVxuXG4gICAgICAgIGZvciAobGV0IGVsZW0gb2YgcmVzLnZhbHVlKSB7XG4gICAgICAgICAgICBlbGVtZW50SWRWYWx1ZUNvbW1hbmRzLnB1c2goc2VsZi5lbGVtZW50SWRWYWx1ZShlbGVtLkVMRU1FTlQsIHZhbHVlKSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZ5KGVsZW1lbnRJZFZhbHVlQ29tbWFuZHMpXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYWRkVmFsdWVcbiJdfQ== |