UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

84 lines (71 loc) 5.57 kB
/** * * Return true or false if an `<option>` element, or an `<input>` element of type * checkbox or radio is currently selected found by given selector. * * <example> :index.html <select name="selectbox" id="selectbox"> <option value="John Doe">John Doe</option> <option value="Layla Terry" selected="selected">Layla Terry</option> <option value="Bill Gilbert">Bill Gilbert"</option> </select> :isSelected.js client.isSelected('[value="Layla Terry"]').then(function(isSelected) { console.log(isSelected); // outputs: true }); * </example> * * @param {String} selector option element or input of type checkbox or radio * @returns {Boolean|Boolean[]} true if element is selected * * @uses protocol/elements, protocol/elementIdSelected * @type state * */ 'use strict'; var _getIterator = require('babel-runtime/core-js/get-iterator')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _utilsErrorHandler = require('../utils/ErrorHandler'); var isSelected = function isSelected(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) { throw new _utilsErrorHandler.CommandError(7); } var elementIdSelectedCommands = []; 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; elementIdSelectedCommands.push(_this.elementIdSelected(elem.ELEMENT)); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator['return']) { _iterator['return'](); } } finally { if (_didIteratorError) { throw _iteratorError; } } } return _this.unify(elementIdSelectedCommands, { extractValue: true }); }); }; exports['default'] = isSelected; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9pc1NlbGVjdGVkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQTJCNkIsdUJBQXVCOztBQUVwRCxJQUFJLFVBQVUsR0FBRyxTQUFiLFVBQVUsQ0FBYSxRQUFRLEVBQUU7OztBQUNqQyxXQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRyxFQUFLOzs7O0FBSXpDLFlBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUN0QyxrQkFBTSxvQ0FBaUIsQ0FBQyxDQUFDLENBQUE7U0FDNUI7O0FBRUQsWUFBSSx5QkFBeUIsR0FBRyxFQUFFLENBQUE7Ozs7OztBQUNsQyw4Q0FBaUIsR0FBRyxDQUFDLEtBQUssNEdBQUU7b0JBQW5CLElBQUk7O0FBQ1QseUNBQXlCLENBQUMsSUFBSSxDQUFDLE1BQUssaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7YUFDdkU7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRCxlQUFPLE1BQUssS0FBSyxDQUFDLHlCQUF5QixFQUFFO0FBQ3pDLHdCQUFZLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUE7S0FDTCxDQUFDLENBQUE7Q0FDTCxDQUFBOztxQkFFYyxVQUFVIiwiZmlsZSI6ImlzU2VsZWN0ZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBSZXR1cm4gdHJ1ZSBvciBmYWxzZSBpZiBhbiBgPG9wdGlvbj5gIGVsZW1lbnQsIG9yIGFuIGA8aW5wdXQ+YCBlbGVtZW50IG9mIHR5cGVcbiAqIGNoZWNrYm94IG9yIHJhZGlvIGlzIGN1cnJlbnRseSBzZWxlY3RlZCBmb3VuZCBieSBnaXZlbiBzZWxlY3Rvci5cbiAqXG4gKiA8ZXhhbXBsZT5cbiAgICA6aW5kZXguaHRtbFxuICAgIDxzZWxlY3QgbmFtZT1cInNlbGVjdGJveFwiIGlkPVwic2VsZWN0Ym94XCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJKb2huIERvZVwiPkpvaG4gRG9lPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJMYXlsYSBUZXJyeVwiIHNlbGVjdGVkPVwic2VsZWN0ZWRcIj5MYXlsYSBUZXJyeTwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiQmlsbCBHaWxiZXJ0XCI+QmlsbCBHaWxiZXJ0XCI8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cblxuICAgIDppc1NlbGVjdGVkLmpzXG4gICAgY2xpZW50LmlzU2VsZWN0ZWQoJ1t2YWx1ZT1cIkxheWxhIFRlcnJ5XCJdJykudGhlbihmdW5jdGlvbihpc1NlbGVjdGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGlzU2VsZWN0ZWQpOyAvLyBvdXRwdXRzOiB0cnVlXG4gICAgfSk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtICAge1N0cmluZ30gICAgICAgICAgICAgc2VsZWN0b3IgIG9wdGlvbiBlbGVtZW50IG9yIGlucHV0IG9mIHR5cGUgY2hlY2tib3ggb3IgcmFkaW9cbiAqIEByZXR1cm5zIHtCb29sZWFufEJvb2xlYW5bXX0gICAgICAgICAgICB0cnVlIGlmIGVsZW1lbnQgaXMgc2VsZWN0ZWRcbiAqXG4gKiBAdXNlcyBwcm90b2NvbC9lbGVtZW50cywgcHJvdG9jb2wvZWxlbWVudElkU2VsZWN0ZWRcbiAqIEB0eXBlIHN0YXRlXG4gKlxuICovXG5cbmltcG9ydCB7IENvbW1hbmRFcnJvciB9IGZyb20gJy4uL3V0aWxzL0Vycm9ySGFuZGxlcidcblxubGV0IGlzU2VsZWN0ZWQgPSBmdW5jdGlvbiAoc2VsZWN0b3IpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50cyhzZWxlY3RvcikudGhlbigocmVzKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB0aHJvdyBOb1N1Y2hFbGVtZW50IGVycm9yIGlmIG5vIGVsZW1lbnQgd2FzIGZvdW5kXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoIXJlcy52YWx1ZSB8fCByZXMudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbWFuZEVycm9yKDcpXG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZWxlbWVudElkU2VsZWN0ZWRDb21tYW5kcyA9IFtdXG4gICAgICAgIGZvciAobGV0IGVsZW0gb2YgcmVzLnZhbHVlKSB7XG4gICAgICAgICAgICBlbGVtZW50SWRTZWxlY3RlZENvbW1hbmRzLnB1c2godGhpcy5lbGVtZW50SWRTZWxlY3RlZChlbGVtLkVMRU1FTlQpKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZnkoZWxlbWVudElkU2VsZWN0ZWRDb21tYW5kcywge1xuICAgICAgICAgICAgZXh0cmFjdFZhbHVlOiB0cnVlXG4gICAgICAgIH0pXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgaXNTZWxlY3RlZFxuIl19