UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

84 lines (70 loc) 5.19 kB
/** * * Get the value of a `<textarea>` or text `<input>` found by given selector. * * <example> :index.html <input type="text" value="John Doe" id="username"> :getValue-with-promises.js client.getValue('#username').then(function(value) { console.log(value); // outputs: "John Doe" }); :getValue-with-callbacks.js client.getValue('#username', function(err, value) { console.log(value); // outputs: "John Doe" }); * </example> * * @param {String} selector input or textarea element * @returns {String} requested input value * * @uses protocol/elements, protocol/elementIdAttribute * @type property * */ 'use strict'; var _getIterator = require('babel-runtime/core-js/get-iterator')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _utilsErrorHandler = require('../utils/ErrorHandler'); var getValue = function getValue(selector) { var _this = this; return this.elements(selector).then(function (res) { /** * throw NoSuchElement error if no element was found */ if (!res.value || res.value.length === 0) { return new _utilsErrorHandler.CommandError(7); } var elementIdAttributeCommands = []; var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = _getIterator(res.value), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var elem = _step.value; elementIdAttributeCommands.push(_this.elementIdAttribute(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(elementIdAttributeCommands, { extractValue: true }); }); }; exports['default'] = getValue; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9nZXRWYWx1ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQ0EyQjZCLHVCQUF1Qjs7QUFFcEQsSUFBSSxRQUFRLEdBQUcsU0FBWCxRQUFRLENBQWEsUUFBUSxFQUFFOzs7QUFDL0IsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLEdBQUcsRUFBSzs7OztBQUl6QyxZQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7QUFDdEMsbUJBQU8sb0NBQWlCLENBQUMsQ0FBQyxDQUFBO1NBQzdCOztBQUVELFlBQUksMEJBQTBCLEdBQUcsRUFBRSxDQUFBOzs7Ozs7QUFDbkMsOENBQWlCLEdBQUcsQ0FBQyxLQUFLLDRHQUFFO29CQUFuQixJQUFJOztBQUNULDBDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFLLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTthQUNsRjs7Ozs7Ozs7Ozs7Ozs7OztBQUVELGVBQU8sTUFBSyxLQUFLLENBQUMsMEJBQTBCLEVBQUU7QUFDMUMsd0JBQVksRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQTtLQUNMLENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLFFBQVEiLCJmaWxlIjoiZ2V0VmFsdWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBHZXQgdGhlIHZhbHVlIG9mIGEgYDx0ZXh0YXJlYT5gIG9yIHRleHQgYDxpbnB1dD5gIGZvdW5kIGJ5IGdpdmVuIHNlbGVjdG9yLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDppbmRleC5odG1sXG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJKb2huIERvZVwiIGlkPVwidXNlcm5hbWVcIj5cblxuICAgIDpnZXRWYWx1ZS13aXRoLXByb21pc2VzLmpzXG4gICAgY2xpZW50LmdldFZhbHVlKCcjdXNlcm5hbWUnKS50aGVuKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKHZhbHVlKTsgLy8gb3V0cHV0czogXCJKb2huIERvZVwiXG4gICAgfSk7XG5cbiAgICA6Z2V0VmFsdWUtd2l0aC1jYWxsYmFja3MuanNcbiAgICBjbGllbnQuZ2V0VmFsdWUoJyN1c2VybmFtZScsIGZ1bmN0aW9uKGVyciwgdmFsdWUpIHtcbiAgICAgICAgY29uc29sZS5sb2codmFsdWUpOyAvLyBvdXRwdXRzOiBcIkpvaG4gRG9lXCJcbiAgICB9KTtcbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiBAcGFyYW0gICB7U3RyaW5nfSBzZWxlY3RvciBpbnB1dCBvciB0ZXh0YXJlYSBlbGVtZW50XG4gKiBAcmV0dXJucyB7U3RyaW5nfSAgICAgICAgICByZXF1ZXN0ZWQgaW5wdXQgdmFsdWVcbiAqXG4gKiBAdXNlcyBwcm90b2NvbC9lbGVtZW50cywgcHJvdG9jb2wvZWxlbWVudElkQXR0cmlidXRlXG4gKiBAdHlwZSBwcm9wZXJ0eVxuICpcbiAqL1xuXG5pbXBvcnQgeyBDb21tYW5kRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5cbmxldCBnZXRWYWx1ZSA9IGZ1bmN0aW9uIChzZWxlY3Rvcikge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRzKHNlbGVjdG9yKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIHRocm93IE5vU3VjaEVsZW1lbnQgZXJyb3IgaWYgbm8gZWxlbWVudCB3YXMgZm91bmRcbiAgICAgICAgICovXG4gICAgICAgIGlmICghcmVzLnZhbHVlIHx8IHJlcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ29tbWFuZEVycm9yKDcpXG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZWxlbWVudElkQXR0cmlidXRlQ29tbWFuZHMgPSBbXVxuICAgICAgICBmb3IgKGxldCBlbGVtIG9mIHJlcy52YWx1ZSkge1xuICAgICAgICAgICAgZWxlbWVudElkQXR0cmlidXRlQ29tbWFuZHMucHVzaCh0aGlzLmVsZW1lbnRJZEF0dHJpYnV0ZShlbGVtLkVMRU1FTlQsICd2YWx1ZScpKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZnkoZWxlbWVudElkQXR0cmlidXRlQ29tbWFuZHMsIHtcbiAgICAgICAgICAgIGV4dHJhY3RWYWx1ZTogdHJ1ZVxuICAgICAgICB9KVxuICAgIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFZhbHVlXG4iXX0=