/**
*
* 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';
Object.defineProperty(exports, '__esModule', {
value: true
});
var _utilsErrorHandler = require('../utils/ErrorHandler');
var isSelected = function isSelected(selector) {
// istanbul ignore next
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 = res.value[Symbol.iterator](), _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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvaXNTZWxlY3RlZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUNBMkI2Qix1QkFBdUI7O0FBRXBELElBQUksVUFBVSxHQUFHLFNBQWIsVUFBVSxDQUFhLFFBQVEsRUFBRTs7Ozs7QUFDakMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLEdBQUcsRUFBSzs7OztBQUl6QyxZQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7QUFDdEMsa0JBQU0sb0NBQWlCLENBQUMsQ0FBQyxDQUFBO1NBQzVCOztBQUVELFlBQUkseUJBQXlCLEdBQUcsRUFBRSxDQUFBOzs7Ozs7QUFDbEMsaUNBQWlCLEdBQUcsQ0FBQyxLQUFLLDhIQUFFO29CQUFuQixJQUFJOztBQUNULHlDQUF5QixDQUFDLElBQUksQ0FBQyxNQUFLLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO2FBQ3ZFOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUQsZUFBTyxNQUFLLEtBQUssQ0FBQyx5QkFBeUIsRUFBRTtBQUN6Qyx3QkFBWSxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFBO0tBQ0wsQ0FBQyxDQUFBO0NBQ0wsQ0FBQTs7cUJBRWMsVUFBVSIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2NvbW1hbmRzL2lzU2VsZWN0ZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBSZXR1cm4gdHJ1ZSBvciBmYWxzZSBpZiBhbiBgPG9wdGlvbj5gIGVsZW1lbnQsIG9yIGFuIGA8aW5wdXQ+YCBlbGVtZW50IG9mIHR5cGVcbiAqIGNoZWNrYm94IG9yIHJhZGlvIGlzIGN1cnJlbnRseSBzZWxlY3RlZCBmb3VuZCBieSBnaXZlbiBzZWxlY3Rvci5cbiAqXG4gKiA8ZXhhbXBsZT5cbiAgICA6aW5kZXguaHRtbFxuICAgIDxzZWxlY3QgbmFtZT1cInNlbGVjdGJveFwiIGlkPVwic2VsZWN0Ym94XCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJKb2huIERvZVwiPkpvaG4gRG9lPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJMYXlsYSBUZXJyeVwiIHNlbGVjdGVkPVwic2VsZWN0ZWRcIj5MYXlsYSBUZXJyeTwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiQmlsbCBHaWxiZXJ0XCI+QmlsbCBHaWxiZXJ0XCI8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cblxuICAgIDppc1NlbGVjdGVkLmpzXG4gICAgY2xpZW50LmlzU2VsZWN0ZWQoJ1t2YWx1ZT1cIkxheWxhIFRlcnJ5XCJdJykudGhlbihmdW5jdGlvbihpc1NlbGVjdGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGlzU2VsZWN0ZWQpOyAvLyBvdXRwdXRzOiB0cnVlXG4gICAgfSk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtICAge1N0cmluZ30gICAgICAgICAgICAgc2VsZWN0b3IgIG9wdGlvbiBlbGVtZW50IG9yIGlucHV0IG9mIHR5cGUgY2hlY2tib3ggb3IgcmFkaW9cbiAqIEByZXR1cm5zIHtCb29sZWFufEJvb2xlYW5bXX0gICAgICAgICAgICB0cnVlIGlmIGVsZW1lbnQgaXMgc2VsZWN0ZWRcbiAqXG4gKiBAdXNlcyBwcm90b2NvbC9lbGVtZW50cywgcHJvdG9jb2wvZWxlbWVudElkU2VsZWN0ZWRcbiAqIEB0eXBlIHN0YXRlXG4gKlxuICovXG5cbmltcG9ydCB7IENvbW1hbmRFcnJvciB9IGZyb20gJy4uL3V0aWxzL0Vycm9ySGFuZGxlcidcblxubGV0IGlzU2VsZWN0ZWQgPSBmdW5jdGlvbiAoc2VsZWN0b3IpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50cyhzZWxlY3RvcikudGhlbigocmVzKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB0aHJvdyBOb1N1Y2hFbGVtZW50IGVycm9yIGlmIG5vIGVsZW1lbnQgd2FzIGZvdW5kXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoIXJlcy52YWx1ZSB8fCByZXMudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbWFuZEVycm9yKDcpXG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZWxlbWVudElkU2VsZWN0ZWRDb21tYW5kcyA9IFtdXG4gICAgICAgIGZvciAobGV0IGVsZW0gb2YgcmVzLnZhbHVlKSB7XG4gICAgICAgICAgICBlbGVtZW50SWRTZWxlY3RlZENvbW1hbmRzLnB1c2godGhpcy5lbGVtZW50SWRTZWxlY3RlZChlbGVtLkVMRU1FTlQpKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZnkoZWxlbWVudElkU2VsZWN0ZWRDb21tYW5kcywge1xuICAgICAgICAgICAgZXh0cmFjdFZhbHVlOiB0cnVlXG4gICAgICAgIH0pXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgaXNTZWxlY3RlZFxuIl19 |