all files / DEV/lib/commands/ clearElement.js

96% Statements 24/25
80% Branches 8/10
0% Functions 0/2
66.67% Lines 2/3
19 statements, 8 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73                                                                                                                                               
/**
 *
 * Clear a `<textarea>` or text `<input>` element’s value.
 *
 * <example>
    :clearElement.js
    client
        .setValue('.input', 'test123')
        .clearElement('.input')
        .getValue('.input').then(function(value) {
            assert(value === ''); // true
        });
 * </example>
 *
 * @param {String} selector input element
 *
 * @uses protocol/elements, protocol/elementIdClear
 * @type action
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
 
var _utilsErrorHandler = require('../utils/ErrorHandler');
 
var clearElement = function clearElement(selector) {
    // istanbul ignore next
 
    var _this = this;
 
    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 elementIdClearCommands = [];
        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;
 
                elementIdClearCommands.push(_this.elementIdClear(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(elementIdClearCommands);
    });
};
 
exports['default'] = clearElement;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvY2xlYXJFbGVtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQ0FxQjZCLHVCQUF1Qjs7QUFFcEQsSUFBSSxZQUFZLEdBQUcsU0FBZixZQUFZLENBQWEsUUFBUSxFQUFFOzs7OztBQUNuQyxXQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRyxFQUFLO0FBQ3pDLFlBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTs7QUFFdEMsa0JBQU0sb0NBQWlCLENBQUMsQ0FBQyxDQUFBO1NBQzVCOztBQUVELFlBQUksc0JBQXNCLEdBQUcsRUFBRSxDQUFBOzs7Ozs7QUFDL0IsaUNBQWlCLEdBQUcsQ0FBQyxLQUFLLDhIQUFFO29CQUFuQixJQUFJOztBQUNULHNDQUFzQixDQUFDLElBQUksQ0FBQyxNQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7YUFDMUU7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRCxlQUFPLE1BQUssS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7S0FDNUMsQ0FBQyxDQUFBO0NBQ0wsQ0FBQTs7cUJBRWMsWUFBWSIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2NvbW1hbmRzL2NsZWFyRWxlbWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIENsZWFyIGEgYDx0ZXh0YXJlYT5gIG9yIHRleHQgYDxpbnB1dD5gIGVsZW1lbnTigJlzIHZhbHVlLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDpjbGVhckVsZW1lbnQuanNcbiAgICBjbGllbnRcbiAgICAgICAgLnNldFZhbHVlKCcuaW5wdXQnLCAndGVzdDEyMycpXG4gICAgICAgIC5jbGVhckVsZW1lbnQoJy5pbnB1dCcpXG4gICAgICAgIC5nZXRWYWx1ZSgnLmlucHV0JykudGhlbihmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgICAgYXNzZXJ0KHZhbHVlID09PSAnJyk7IC8vIHRydWVcbiAgICAgICAgfSk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdG9yIGlucHV0IGVsZW1lbnRcbiAqXG4gKiBAdXNlcyBwcm90b2NvbC9lbGVtZW50cywgcHJvdG9jb2wvZWxlbWVudElkQ2xlYXJcbiAqIEB0eXBlIGFjdGlvblxuICpcbiAqL1xuXG5pbXBvcnQgeyBDb21tYW5kRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5cbmxldCBjbGVhckVsZW1lbnQgPSBmdW5jdGlvbiAoc2VsZWN0b3IpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50cyhzZWxlY3RvcikudGhlbigocmVzKSA9PiB7XG4gICAgICAgIGlmICghcmVzLnZhbHVlIHx8IHJlcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vIHRocm93IE5vU3VjaEVsZW1lbnQgZXJyb3IgaWYgbm8gZWxlbWVudCB3YXMgZm91bmRcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tYW5kRXJyb3IoNylcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBlbGVtZW50SWRDbGVhckNvbW1hbmRzID0gW11cbiAgICAgICAgZm9yIChsZXQgZWxlbSBvZiByZXMudmFsdWUpIHtcbiAgICAgICAgICAgIGVsZW1lbnRJZENsZWFyQ29tbWFuZHMucHVzaCh0aGlzLmVsZW1lbnRJZENsZWFyKGVsZW0uRUxFTUVOVCwgJ3ZhbHVlJykpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy51bmlmeShlbGVtZW50SWRDbGVhckNvbW1hbmRzKVxuICAgIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsZWFyRWxlbWVudFxuIl19