@testim/testim-cli
Version:
Command line interface for running Testing on you CI
72 lines (59 loc) • 5.02 kB
JavaScript
/**
*
* Get source code of specified DOM element by selector.
*
* <example>
:index.html
<div id="test">
<span>Lorem ipsum dolor amet</span>
</div>
:getHTML.js
client
.getHTML('#test', function(err, html) {
console.log(html);
// outputs the following:
// "<div id="test"><span>Lorem ipsum dolor amet</span></div>"
})
.getHTML('#test', false, function(err, html) {
console.log(html);
// outputs the following:
// "<span>Lorem ipsum dolor amet</span>"
});
* </example>
*
* @param {String} selector element to get the current DOM structure from
* @param {Boolean=} includeSelectorTag if true it includes the selector element tag (default: true)
*
* @uses action/selectorExecute
* @type property
*
*/
;
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _utilsErrorHandler = require('../utils/ErrorHandler');
var _scriptsGetHTML = require('../scripts/getHTML');
var _scriptsGetHTML2 = _interopRequireDefault(_scriptsGetHTML);
var getHTML = function getHTML(selector) {
var includeSelectorTag = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];
/*!
* parameter check
*/
if (typeof selector !== 'string') {
throw new _utilsErrorHandler.CommandError('number or type of arguments don\'t agree with getHTML command');
}
return this.selectorExecute(selector, _scriptsGetHTML2['default'], includeSelectorTag).then(function (html) {
/**
* throw NoSuchElement error if no element was found
*/
if (!html) {
throw new _utilsErrorHandler.CommandError(7);
}
return html && html.length === 1 ? html[0] : html;
});
};
exports['default'] = getHTML;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9nZXRIVE1MLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUNBZ0M2Qix1QkFBdUI7OzhCQUMxQixvQkFBb0I7Ozs7QUFFOUMsSUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLENBQWEsUUFBUSxFQUE2QjtRQUEzQixrQkFBa0IseURBQUcsSUFBSTs7Ozs7QUFJdkQsUUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7QUFDOUIsY0FBTSxvQ0FBaUIsK0RBQStELENBQUMsQ0FBQTtLQUMxRjs7QUFFRCxXQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSwrQkFBaUIsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxJQUFJLEVBQUs7Ozs7QUFJcEYsWUFBSSxDQUFDLElBQUksRUFBRTtBQUNQLGtCQUFNLG9DQUFpQixDQUFDLENBQUMsQ0FBQTtTQUM1Qjs7QUFFRCxlQUFPLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFBO0tBQ3BELENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLE9BQU8iLCJmaWxlIjoiZ2V0SFRNTC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIEdldCBzb3VyY2UgY29kZSBvZiBzcGVjaWZpZWQgRE9NIGVsZW1lbnQgYnkgc2VsZWN0b3IuXG4gKlxuICogPGV4YW1wbGU+XG4gICAgOmluZGV4Lmh0bWxcbiAgICA8ZGl2IGlkPVwidGVzdFwiPlxuICAgICAgICA8c3Bhbj5Mb3JlbSBpcHN1bSBkb2xvciBhbWV0PC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgOmdldEhUTUwuanNcbiAgICBjbGllbnRcbiAgICAgICAgLmdldEhUTUwoJyN0ZXN0JywgZnVuY3Rpb24oZXJyLCBodG1sKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhodG1sKTtcbiAgICAgICAgICAgIC8vIG91dHB1dHMgdGhlIGZvbGxvd2luZzpcbiAgICAgICAgICAgIC8vIFwiPGRpdiBpZD1cInRlc3RcIj48c3Bhbj5Mb3JlbSBpcHN1bSBkb2xvciBhbWV0PC9zcGFuPjwvZGl2PlwiXG4gICAgICAgIH0pXG4gICAgICAgIC5nZXRIVE1MKCcjdGVzdCcsIGZhbHNlLCBmdW5jdGlvbihlcnIsIGh0bWwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGh0bWwpO1xuICAgICAgICAgICAgLy8gb3V0cHV0cyB0aGUgZm9sbG93aW5nOlxuICAgICAgICAgICAgLy8gXCI8c3Bhbj5Mb3JlbSBpcHN1bSBkb2xvciBhbWV0PC9zcGFuPlwiXG4gICAgICAgIH0pO1xuICogPC9leGFtcGxlPlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAgIHNlbGVjdG9yICAgICAgICAgICBlbGVtZW50IHRvIGdldCB0aGUgY3VycmVudCBET00gc3RydWN0dXJlIGZyb21cbiAqIEBwYXJhbSB7Qm9vbGVhbj19IGluY2x1ZGVTZWxlY3RvclRhZyBpZiB0cnVlIGl0IGluY2x1ZGVzIHRoZSBzZWxlY3RvciBlbGVtZW50IHRhZyAoZGVmYXVsdDogdHJ1ZSlcbiAqXG4gKiBAdXNlcyBhY3Rpb24vc2VsZWN0b3JFeGVjdXRlXG4gKiBAdHlwZSBwcm9wZXJ0eVxuICpcbiAqL1xuXG5pbXBvcnQgeyBDb21tYW5kRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5pbXBvcnQgZ2V0SFRNTEhlbHBlciBmcm9tICcuLi9zY3JpcHRzL2dldEhUTUwnXG5cbmxldCBnZXRIVE1MID0gZnVuY3Rpb24gKHNlbGVjdG9yLCBpbmNsdWRlU2VsZWN0b3JUYWcgPSB0cnVlKSB7XG4gICAgLyohXG4gICAgICogcGFyYW1ldGVyIGNoZWNrXG4gICAgICovXG4gICAgaWYgKHR5cGVvZiBzZWxlY3RvciAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1hbmRFcnJvcignbnVtYmVyIG9yIHR5cGUgb2YgYXJndW1lbnRzIGRvblxcJ3QgYWdyZWUgd2l0aCBnZXRIVE1MIGNvbW1hbmQnKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlbGVjdG9yRXhlY3V0ZShzZWxlY3RvciwgZ2V0SFRNTEhlbHBlciwgaW5jbHVkZVNlbGVjdG9yVGFnKS50aGVuKChodG1sKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB0aHJvdyBOb1N1Y2hFbGVtZW50IGVycm9yIGlmIG5vIGVsZW1lbnQgd2FzIGZvdW5kXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoIWh0bWwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tYW5kRXJyb3IoNylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBodG1sICYmIGh0bWwubGVuZ3RoID09PSAxID8gaHRtbFswXSA6IGh0bWxcbiAgICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBnZXRIVE1MXG4iXX0=