all files / DEV/lib/helpers/ sanitize.js

85.71% Statements 24/28
64.71% Branches 11/17
33.33% Functions 2/6
55.56% Lines 5/9
13 statements, 6 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                                                                                                                                
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
var sanitizeString = function sanitizeString(str) {
    if (!str) {
        return '';
    }
 
    return String(str).replace(/\./g, '_').replace(/\s/g, '').toLowerCase();
};
 
/**
 * formats capability object into sanitized string for e.g.filenames
 * @param {Object} caps  Selenium capabilities
 */
var caps = function caps(_caps) {
    var result = undefined;
 
    /**
     * mobile caps
     */
    if (_caps.deviceName) {
        result = [sanitizeString(_caps.deviceName), sanitizeString(_caps.platformName), sanitizeString(_caps.platformVersion), sanitizeString(_caps.app)];
    } else {
        result = [sanitizeString(_caps.browserName), sanitizeString(_caps.version), sanitizeString(_caps.platform)];
    }
 
    result = result.filter(function (n) {
        return n !== undefined && n !== '';
    });
    return result.join('.');
};
 
/**
 * formats arguments into string
 * @param  {Array} args arguments object
 */
var args = function args(_args) {
    return _args.map(function (arg) {
        if (typeof arg === 'function' || typeof arg === 'string' && arg.indexOf('return (function') === 0) {
            return '<Function>';
        } else if (typeof arg === 'string') {
            return '"' + arg + '"';
        } else if (Array.isArray(arg)) {
            return arg.join(', ');
        }
 
        return arg;
    }).join(', ');
};
 
var css = function css(value) {
    if (!value) {
        return value;
    }
 
    return value.trim().replace(/'/g, '').replace(/"/g, '').toLowerCase();
};
 
exports['default'] = {
    css: css,
    args: args,
    caps: caps
};
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvaGVscGVycy9zYW5pdGl6ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUksY0FBYyxHQUFHLFNBQWpCLGNBQWMsQ0FBYSxHQUFHLEVBQUU7QUFDaEMsUUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNOLGVBQU8sRUFBRSxDQUFBO0tBQ1o7O0FBRUQsV0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQ2IsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FDbkIsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDbEIsV0FBVyxFQUFFLENBQUE7Q0FDckIsQ0FBQTs7Ozs7O0FBTUQsSUFBSSxJQUFJLEdBQUcsY0FBVSxLQUFJLEVBQUU7QUFDdkIsUUFBSSxNQUFNLFlBQUEsQ0FBQTs7Ozs7QUFLVixRQUFJLEtBQUksQ0FBQyxVQUFVLEVBQUU7QUFDakIsY0FBTSxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxjQUFjLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxLQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsY0FBYyxDQUFDLEtBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0tBQ2hKLE1BQU07QUFDSCxjQUFNLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxLQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsY0FBYyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0tBQzNHOztBQUVELFVBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQztlQUFJLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUU7S0FBQSxDQUFDLENBQUE7QUFDeEQsV0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0NBQzFCLENBQUE7Ozs7OztBQU1ELElBQUksSUFBSSxHQUFHLGNBQVUsS0FBSSxFQUFFO0FBQ3ZCLFdBQU8sS0FBSSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEdBQUcsRUFBSztBQUNyQixZQUFJLE9BQU8sR0FBRyxLQUFLLFVBQVUsSUFBSyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQUFBQyxFQUFFO0FBQ2pHLG1CQUFPLFlBQVksQ0FBQTtTQUN0QixNQUFNLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO0FBQ2hDLG1CQUFPLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO1NBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO0FBQzNCLG1CQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDeEI7O0FBRUQsZUFBTyxHQUFHLENBQUE7S0FDYixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0NBQ2hCLENBQUE7O0FBRUQsSUFBSSxHQUFHLEdBQUcsU0FBTixHQUFHLENBQWEsS0FBSyxFQUFFO0FBQ3ZCLFFBQUksQ0FBQyxLQUFLLEVBQUU7QUFDUixlQUFPLEtBQUssQ0FBQTtLQUNmOztBQUVELFdBQU8sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtDQUN4RSxDQUFBOztxQkFFYztBQUNYLE9BQUcsRUFBSCxHQUFHO0FBQ0gsUUFBSSxFQUFKLElBQUk7QUFDSixRQUFJLEVBQUosSUFBSTtDQUNQIiwiZmlsZSI6Ii9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvaGVscGVycy9zYW5pdGl6ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImxldCBzYW5pdGl6ZVN0cmluZyA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgICBpZiAoIXN0cikge1xuICAgICAgICByZXR1cm4gJydcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKHN0cilcbiAgICAgICAgLnJlcGxhY2UoL1xcLi9nLCAnXycpXG4gICAgICAgIC5yZXBsYWNlKC9cXHMvZywgJycpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG59XG5cbi8qKlxuICogZm9ybWF0cyBjYXBhYmlsaXR5IG9iamVjdCBpbnRvIHNhbml0aXplZCBzdHJpbmcgZm9yIGUuZy5maWxlbmFtZXNcbiAqIEBwYXJhbSB7T2JqZWN0fSBjYXBzICBTZWxlbml1bSBjYXBhYmlsaXRpZXNcbiAqL1xubGV0IGNhcHMgPSBmdW5jdGlvbiAoY2Fwcykge1xuICAgIGxldCByZXN1bHRcblxuICAgIC8qKlxuICAgICAqIG1vYmlsZSBjYXBzXG4gICAgICovXG4gICAgaWYgKGNhcHMuZGV2aWNlTmFtZSkge1xuICAgICAgICByZXN1bHQgPSBbc2FuaXRpemVTdHJpbmcoY2Fwcy5kZXZpY2VOYW1lKSwgc2FuaXRpemVTdHJpbmcoY2Fwcy5wbGF0Zm9ybU5hbWUpLCBzYW5pdGl6ZVN0cmluZyhjYXBzLnBsYXRmb3JtVmVyc2lvbiksIHNhbml0aXplU3RyaW5nKGNhcHMuYXBwKV1cbiAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBbc2FuaXRpemVTdHJpbmcoY2Fwcy5icm93c2VyTmFtZSksIHNhbml0aXplU3RyaW5nKGNhcHMudmVyc2lvbiksIHNhbml0aXplU3RyaW5nKGNhcHMucGxhdGZvcm0pXVxuICAgIH1cblxuICAgIHJlc3VsdCA9IHJlc3VsdC5maWx0ZXIobiA9PiBuICE9PSB1bmRlZmluZWQgJiYgbiAhPT0gJycpXG4gICAgcmV0dXJuIHJlc3VsdC5qb2luKCcuJylcbn1cblxuLyoqXG4gKiBmb3JtYXRzIGFyZ3VtZW50cyBpbnRvIHN0cmluZ1xuICogQHBhcmFtICB7QXJyYXl9IGFyZ3MgYXJndW1lbnRzIG9iamVjdFxuICovXG5sZXQgYXJncyA9IGZ1bmN0aW9uIChhcmdzKSB7XG4gICAgcmV0dXJuIGFyZ3MubWFwKChhcmcpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnICYmIGFyZy5pbmRleE9mKCdyZXR1cm4gKGZ1bmN0aW9uJykgPT09IDApKSB7XG4gICAgICAgICAgICByZXR1cm4gJzxGdW5jdGlvbj4nXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiAnXCInICsgYXJnICsgJ1wiJ1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYXJnKSkge1xuICAgICAgICAgICAgcmV0dXJuIGFyZy5qb2luKCcsICcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXJnXG4gICAgfSkuam9pbignLCAnKVxufVxuXG5sZXQgY3NzID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUudHJpbSgpLnJlcGxhY2UoLycvZywgJycpLnJlcGxhY2UoL1wiL2csICcnKS50b0xvd2VyQ2FzZSgpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBjc3MsXG4gICAgYXJncyxcbiAgICBjYXBzXG59XG4iXX0=