all files / DEV/lib/commands/ getHTML.js

100% Statements 16/16
37.5% Branches 6/16
33.33% Functions 1/3
100% Lines 2/2
7 statements, 3 branches Ignored     
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72                                                                                                                                             
/**
 *
 * 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
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
// istanbul ignore next
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvZ2V0SFRNTC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQ0FnQzZCLHVCQUF1Qjs7OEJBQzFCLG9CQUFvQjs7OztBQUU5QyxJQUFJLE9BQU8sR0FBRyxTQUFWLE9BQU8sQ0FBYSxRQUFRLEVBQTZCO1FBQTNCLGtCQUFrQix5REFBRyxJQUFJOzs7OztBQUl2RCxRQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtBQUM5QixjQUFNLG9DQUFpQiwrREFBK0QsQ0FBQyxDQUFBO0tBQzFGOztBQUVELFdBQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLCtCQUFpQixrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLElBQUksRUFBSzs7OztBQUlwRixZQUFJLENBQUMsSUFBSSxFQUFFO0FBQ1Asa0JBQU0sb0NBQWlCLENBQUMsQ0FBQyxDQUFBO1NBQzVCOztBQUVELGVBQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUE7S0FDcEQsQ0FBQyxDQUFBO0NBQ0wsQ0FBQTs7cUJBRWMsT0FBTyIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2NvbW1hbmRzL2dldEhUTUwuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBHZXQgc291cmNlIGNvZGUgb2Ygc3BlY2lmaWVkIERPTSBlbGVtZW50IGJ5IHNlbGVjdG9yLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDppbmRleC5odG1sXG4gICAgPGRpdiBpZD1cInRlc3RcIj5cbiAgICAgICAgPHNwYW4+TG9yZW0gaXBzdW0gZG9sb3IgYW1ldDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDpnZXRIVE1MLmpzXG4gICAgY2xpZW50XG4gICAgICAgIC5nZXRIVE1MKCcjdGVzdCcsIGZ1bmN0aW9uKGVyciwgaHRtbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coaHRtbCk7XG4gICAgICAgICAgICAvLyBvdXRwdXRzIHRoZSBmb2xsb3dpbmc6XG4gICAgICAgICAgICAvLyBcIjxkaXYgaWQ9XCJ0ZXN0XCI+PHNwYW4+TG9yZW0gaXBzdW0gZG9sb3IgYW1ldDwvc3Bhbj48L2Rpdj5cIlxuICAgICAgICB9KVxuICAgICAgICAuZ2V0SFRNTCgnI3Rlc3QnLCBmYWxzZSwgZnVuY3Rpb24oZXJyLCBodG1sKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhodG1sKTtcbiAgICAgICAgICAgIC8vIG91dHB1dHMgdGhlIGZvbGxvd2luZzpcbiAgICAgICAgICAgIC8vIFwiPHNwYW4+TG9yZW0gaXBzdW0gZG9sb3IgYW1ldDwvc3Bhbj5cIlxuICAgICAgICB9KTtcbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gICBzZWxlY3RvciAgICAgICAgICAgZWxlbWVudCB0byBnZXQgdGhlIGN1cnJlbnQgRE9NIHN0cnVjdHVyZSBmcm9tXG4gKiBAcGFyYW0ge0Jvb2xlYW49fSBpbmNsdWRlU2VsZWN0b3JUYWcgaWYgdHJ1ZSBpdCBpbmNsdWRlcyB0aGUgc2VsZWN0b3IgZWxlbWVudCB0YWcgKGRlZmF1bHQ6IHRydWUpXG4gKlxuICogQHVzZXMgYWN0aW9uL3NlbGVjdG9yRXhlY3V0ZVxuICogQHR5cGUgcHJvcGVydHlcbiAqXG4gKi9cblxuaW1wb3J0IHsgQ29tbWFuZEVycm9yIH0gZnJvbSAnLi4vdXRpbHMvRXJyb3JIYW5kbGVyJ1xuaW1wb3J0IGdldEhUTUxIZWxwZXIgZnJvbSAnLi4vc2NyaXB0cy9nZXRIVE1MJ1xuXG5sZXQgZ2V0SFRNTCA9IGZ1bmN0aW9uIChzZWxlY3RvciwgaW5jbHVkZVNlbGVjdG9yVGFnID0gdHJ1ZSkge1xuICAgIC8qIVxuICAgICAqIHBhcmFtZXRlciBjaGVja1xuICAgICAqL1xuICAgIGlmICh0eXBlb2Ygc2VsZWN0b3IgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBDb21tYW5kRXJyb3IoJ251bWJlciBvciB0eXBlIG9mIGFyZ3VtZW50cyBkb25cXCd0IGFncmVlIHdpdGggZ2V0SFRNTCBjb21tYW5kJylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvckV4ZWN1dGUoc2VsZWN0b3IsIGdldEhUTUxIZWxwZXIsIGluY2x1ZGVTZWxlY3RvclRhZykudGhlbigoaHRtbCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogdGhyb3cgTm9TdWNoRWxlbWVudCBlcnJvciBpZiBubyBlbGVtZW50IHdhcyBmb3VuZFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKCFodG1sKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbWFuZEVycm9yKDcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaHRtbCAmJiBodG1sLmxlbmd0aCA9PT0gMSA/IGh0bWxbMF0gOiBodG1sXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0SFRNTFxuIl19