UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

88 lines (75 loc) 5.81 kB
/** * * Return true or false if the selected DOM-element found by given selector is enabled. * * <example> :index.html <input type="text" name="inputField" class="input1"> <input type="text" name="inputField" class="input2" disabled> <input type="text" name="inputField" class="input3" disabled="disabled"> :isEnabled.js client .isEnabled('.input1').then(function(isEnabled) { console.log(isEnabled); // outputs: true }) .isEnabled('.input2').then(function(isEnabled) { console.log(isEnabled); // outputs: false }) .isEnabled('.input3').then(function(isEnabled) { console.log(isEnabled); // outputs: false }) * </example> * * @param {String} selector DOM-element * @returns {Boolean|Boolean[]} true if element(s)* (is|are) enabled * * @uses protocol/elements, protocol/elementIdEnabled * @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 isEnabled = function isEnabled(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 elementIdEnabledCommands = []; 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; elementIdEnabledCommands.push(_this.elementIdEnabled(elem.ELEMENT)); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator['return']) { _iterator['return'](); } } finally { if (_didIteratorError) { throw _iteratorError; } } } return _this.unify(elementIdEnabledCommands, { extractValue: true }); }); }; exports['default'] = isEnabled; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9pc0VuYWJsZWQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQStCNkIsdUJBQXVCOztBQUVwRCxJQUFJLFNBQVMsR0FBRyxTQUFaLFNBQVMsQ0FBYSxRQUFRLEVBQUU7OztBQUNoQyxXQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRyxFQUFLOzs7O0FBSXpDLFlBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUN0QyxrQkFBTSxvQ0FBaUIsQ0FBQyxDQUFDLENBQUE7U0FDNUI7O0FBRUQsWUFBSSx3QkFBd0IsR0FBRyxFQUFFLENBQUE7Ozs7OztBQUNqQyw4Q0FBaUIsR0FBRyxDQUFDLEtBQUssNEdBQUU7b0JBQW5CLElBQUk7O0FBQ1Qsd0NBQXdCLENBQUMsSUFBSSxDQUFDLE1BQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7YUFDckU7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRCxlQUFPLE1BQUssS0FBSyxDQUFDLHdCQUF3QixFQUFFO0FBQ3hDLHdCQUFZLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUE7S0FDTCxDQUFDLENBQUE7Q0FDTCxDQUFBOztxQkFFYyxTQUFTIiwiZmlsZSI6ImlzRW5hYmxlZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFJldHVybiB0cnVlIG9yIGZhbHNlIGlmIHRoZSBzZWxlY3RlZCBET00tZWxlbWVudCBmb3VuZCBieSBnaXZlbiBzZWxlY3RvciBpcyBlbmFibGVkLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDppbmRleC5odG1sXG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cImlucHV0RmllbGRcIiBjbGFzcz1cImlucHV0MVwiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9XCJpbnB1dEZpZWxkXCIgY2xhc3M9XCJpbnB1dDJcIiBkaXNhYmxlZD5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwiaW5wdXRGaWVsZFwiIGNsYXNzPVwiaW5wdXQzXCIgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPlxuXG4gICAgOmlzRW5hYmxlZC5qc1xuICAgIGNsaWVudFxuICAgICAgICAuaXNFbmFibGVkKCcuaW5wdXQxJykudGhlbihmdW5jdGlvbihpc0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGlzRW5hYmxlZCk7IC8vIG91dHB1dHM6IHRydWVcbiAgICAgICAgfSlcbiAgICAgICAgLmlzRW5hYmxlZCgnLmlucHV0MicpLnRoZW4oZnVuY3Rpb24oaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhpc0VuYWJsZWQpOyAvLyBvdXRwdXRzOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICAuaXNFbmFibGVkKCcuaW5wdXQzJykudGhlbihmdW5jdGlvbihpc0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGlzRW5hYmxlZCk7IC8vIG91dHB1dHM6IGZhbHNlXG4gICAgICAgIH0pXG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtICAge1N0cmluZ30gICAgICAgICAgICAgc2VsZWN0b3IgIERPTS1lbGVtZW50XG4gKiBAcmV0dXJucyB7Qm9vbGVhbnxCb29sZWFuW119ICAgICAgICAgICAgdHJ1ZSBpZiBlbGVtZW50KHMpKiAoaXN8YXJlKSBlbmFibGVkXG4gKlxuICogQHVzZXMgcHJvdG9jb2wvZWxlbWVudHMsIHByb3RvY29sL2VsZW1lbnRJZEVuYWJsZWRcbiAqIEB0eXBlIHN0YXRlXG4gKlxuICovXG5cbmltcG9ydCB7IENvbW1hbmRFcnJvciB9IGZyb20gJy4uL3V0aWxzL0Vycm9ySGFuZGxlcidcblxubGV0IGlzRW5hYmxlZCA9IGZ1bmN0aW9uIChzZWxlY3Rvcikge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRzKHNlbGVjdG9yKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIHRocm93IE5vU3VjaEVsZW1lbnQgZXJyb3IgaWYgbm8gZWxlbWVudCB3YXMgZm91bmRcbiAgICAgICAgICovXG4gICAgICAgIGlmICghcmVzLnZhbHVlIHx8IHJlcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tYW5kRXJyb3IoNylcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBlbGVtZW50SWRFbmFibGVkQ29tbWFuZHMgPSBbXVxuICAgICAgICBmb3IgKGxldCBlbGVtIG9mIHJlcy52YWx1ZSkge1xuICAgICAgICAgICAgZWxlbWVudElkRW5hYmxlZENvbW1hbmRzLnB1c2godGhpcy5lbGVtZW50SWRFbmFibGVkKGVsZW0uRUxFTUVOVCkpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy51bmlmeShlbGVtZW50SWRFbmFibGVkQ29tbWFuZHMsIHtcbiAgICAgICAgICAgIGV4dHJhY3RWYWx1ZTogdHJ1ZVxuICAgICAgICB9KVxuICAgIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGlzRW5hYmxlZFxuIl19