UNPKG

enzyme

Version:

JavaScript Testing utilities for React

300 lines (299 loc) 14.4 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for src/Debug.js</title> <meta charset="utf-8" /> <link rel="stylesheet" href="../prettify.css" /> <link rel="stylesheet" href="../base.css" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <style type='text/css'> .coverage-summary .sorter { background-image: url(../sort-arrow-sprite.png); } </style> </head> <body> <div class='wrapper'> <div class='pad1'> <h1> <a href="../index.html">all files</a> / <a href="index.html">src/</a> Debug.js </h1> <div class='clearfix'> <div class='fl pad1y space-right2'> <span class="strong">91.3% </span> <span class="quiet">Statements</span> <span class='fraction'>42/46</span> </div> <div class='fl pad1y space-right2'> <span class="strong">76.92% </span> <span class="quiet">Branches</span> <span class='fraction'>20/26</span> </div> <div class='fl pad1y space-right2'> <span class="strong">100% </span> <span class="quiet">Functions</span> <span class='fraction'>11/11</span> </div> <div class='fl pad1y space-right2'> <span class="strong">90.91% </span> <span class="quiet">Lines</span> <span class='fraction'>40/44</span> </div> </div> </div> <div class='status-line high'></div> <pre><table class="coverage"> <tr><td class="line-count quiet">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 73 74 75 76 77 78 79</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes">20×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">17×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes">21×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">21×</span> <span class="cline-any cline-yes">20×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">11×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-yes">10×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">14×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict'; &nbsp; Object.defineProperty(exports, '__esModule', { value: true }); exports.typeName = typeName; exports.spaces = spaces; exports.indent = indent; exports.debugNode = debugNode; exports.debugNodes = debugNodes; &nbsp; var _ShallowTraversal = require('./ShallowTraversal'); &nbsp; var _Utils = require('./Utils'); &nbsp; var _underscore = require('underscore'); &nbsp; function typeName(node) { return typeof node.type === 'function' ? node.type.displayName || <span class="branch-1 cbranch-no" title="branch not covered" >'Component' </span>: node.type; } &nbsp; function spaces(n) { return Array(n + 1).join(' '); } &nbsp; function indent(depth, string) { return string.split('\n').map(function (x) { return '' + spaces(depth) + x; }).join('\n'); } &nbsp; function propString(prop) { switch (typeof prop) { <span class="branch-0 cbranch-no" title="branch not covered" > case 'function':</span> <span class="cstat-no" title="statement not covered" > return '{[Function]}';</span> case 'string': return '"' + prop + '"'; <span class="branch-2 cbranch-no" title="branch not covered" > case 'number':</span> <span class="branch-3 cbranch-no" title="branch not covered" > case 'boolean':</span> <span class="cstat-no" title="statement not covered" > return '{' + prop + '}';</span> <span class="branch-4 cbranch-no" title="branch not covered" > case 'object':</span> <span class="cstat-no" title="statement not covered" > return '{{...}}';</span> <span class="branch-5 cbranch-no" title="branch not covered" > default:</span> <span class="cstat-no" title="statement not covered" > return '{[' + typeof prop + ']}';</span> } } &nbsp; function propsString(node) { var props = (0, _Utils.propsOfNode)(node); var keys = (0, _underscore.without)(Object.keys(props), 'children'); return keys.map(function (key) { return key + '=' + propString(props[key]); }).join(' '); } &nbsp; function debugNode(node) { var indentLength = arguments.length &lt;= 1 || arguments[1] === undefined ? 2 : arguments[1]; &nbsp; if (!node) return ''; if (typeof node === 'string') return (0, _underscore.escape)(node); &nbsp; var children = (0, _underscore.compact)((0, _ShallowTraversal.childrenOfNode)(node).map(function (n) { return debugNode(n, indentLength); })); var type = typeName(node); var props = propsString(node); var beforeProps = props ? ' ' : ''; var nodeClose = children.length ? '&lt;/' + type + '&gt;' : '/&gt;'; var afterProps = children.length ? '&gt;' : ' '; var childrenIndented = children.length ? '\n' + children.map(function (x) { return indent(indentLength, x); }).join('\n') + '\n' : ''; return '&lt;' + type + beforeProps + props + afterProps + childrenIndented + nodeClose; } &nbsp; function debugNodes(nodes) { return nodes.map(debugNode).join('\n\n\n'); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9sZWxhbmRfcmljaGFyZHNvbi9jb2RlL3JlYWdlbnQvc3JjL0RlYnVnLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O2dDQUVPLG9CQUFvQjs7cUJBR3BCLFNBQVM7OzBCQUN5QixZQUFZOztBQUU5QyxTQUFTLFFBQVEsQ0FBQyxJQUFJLEVBQUU7QUFDN0IsU0FBTyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxHQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEdBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUM7Q0FDZjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxDQUFDLEVBQUU7QUFDeEIsU0FBTyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMvQjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQ3BDLFNBQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDO2dCQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0dBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUN2RTs7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFJLEVBQUU7QUFDeEIsVUFBUSxPQUFPLElBQUk7QUFDbkIsU0FBSyxVQUFVO0FBQ2IsYUFBTyxjQUFjLENBQUM7QUFBQSxBQUN4QixTQUFLLFFBQVE7QUFDWCxtQkFBVyxJQUFJLE9BQUk7QUFBQSxBQUNyQixTQUFLLFFBQVEsQ0FBQztBQUNkLFNBQUssU0FBUztBQUNaLG1CQUFXLElBQUksT0FBSTtBQUFBLEFBQ3JCLFNBQUssUUFBUTtBQUNYLHVCQUFpQjtBQUFBLEFBQ25CO0FBQ0Usb0JBQVksT0FBTyxJQUFJLFFBQUs7QUFBQSxHQUM3QjtDQUNGOztBQUVELFNBQVMsV0FBVyxDQUFDLElBQUksRUFBRTtBQUN6QixNQUFNLEtBQUssR0FBRyx3QkFBWSxJQUFJLENBQUMsQ0FBQztBQUNoQyxNQUFNLElBQUksR0FBRyx5QkFBUSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3JELFNBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFBLEdBQUc7V0FBTyxHQUFHLFNBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Q0FDdEU7O0FBRU0sU0FBUyxTQUFTLENBQUMsSUFBSSxFQUFvQjtNQUFsQixZQUFZLHlEQUFHLENBQUM7O0FBQzlDLE1BQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDckIsTUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsT0FBTyx3QkFBTyxJQUFJLENBQUMsQ0FBQzs7QUFFbEQsTUFBTSxRQUFRLEdBQUcseUJBQVEsc0NBQWUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQztXQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDO0dBQUEsQ0FBQyxDQUFDLENBQUM7QUFDcEYsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNyQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxVQUFRLElBQUksU0FBTSxJQUFJLENBQUM7QUFDeEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FDOUIsR0FBRyxHQUNILEdBQUcsQ0FBQztBQUNSLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FDcEMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDO1dBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7R0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksR0FDbkUsRUFBRSxDQUFDO0FBQ1AsZUFBVyxJQUFJLEdBQUcsV0FBVyxHQUFHLEtBQUssR0FBRyxVQUFVLEdBQUcsZ0JBQWdCLEdBQUcsU0FBUyxDQUFHO0NBQ3JGOztBQUVNLFNBQVMsVUFBVSxDQUFDLEtBQUssRUFBRTtBQUNoQyxTQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0NBQzVDIiwiZmlsZSI6Ii9Vc2Vycy9sZWxhbmRfcmljaGFyZHNvbi9jb2RlL3JlYWdlbnQvc3JjL0RlYnVnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2hpbGRyZW5PZk5vZGUsXG59IGZyb20gJy4vU2hhbGxvd1RyYXZlcnNhbCc7XG5pbXBvcnQge1xuICBwcm9wc09mTm9kZSxcbn0gZnJvbSAnLi9VdGlscyc7XG5pbXBvcnQgeyB3aXRob3V0LCBlc2NhcGUsIGNvbXBhY3QgfSBmcm9tICd1bmRlcnNjb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVOYW1lKG5vZGUpIHtcbiAgcmV0dXJuIHR5cGVvZiBub2RlLnR5cGUgPT09ICdmdW5jdGlvbidcbiAgICA/IChub2RlLnR5cGUuZGlzcGxheU5hbWUgfHwgJ0NvbXBvbmVudCcpXG4gICAgOiBub2RlLnR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGFjZXMobikge1xuICByZXR1cm4gQXJyYXkobiArIDEpLmpvaW4oJyAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluZGVudChkZXB0aCwgc3RyaW5nKSB7XG4gIHJldHVybiBzdHJpbmcuc3BsaXQoJ1xcbicpLm1hcCh4ID0+IGAke3NwYWNlcyhkZXB0aCl9JHt4fWApLmpvaW4oJ1xcbicpO1xufVxuXG5mdW5jdGlvbiBwcm9wU3RyaW5nKHByb3ApIHtcbiAgc3dpdGNoICh0eXBlb2YgcHJvcCkge1xuICBjYXNlICdmdW5jdGlvbic6XG4gICAgcmV0dXJuICd7W0Z1bmN0aW9uXX0nO1xuICBjYXNlICdzdHJpbmcnOlxuICAgIHJldHVybiBgXCIke3Byb3B9XCJgO1xuICBjYXNlICdudW1iZXInOlxuICBjYXNlICdib29sZWFuJzpcbiAgICByZXR1cm4gYHske3Byb3B9fWA7XG4gIGNhc2UgJ29iamVjdCc6XG4gICAgcmV0dXJuIGB7ey4uLn19YDtcbiAgZGVmYXVsdDpcbiAgICByZXR1cm4gYHtbJHt0eXBlb2YgcHJvcH1dfWA7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvcHNTdHJpbmcobm9kZSkge1xuICBjb25zdCBwcm9wcyA9IHByb3BzT2ZOb2RlKG5vZGUpO1xuICBjb25zdCBrZXlzID0gd2l0aG91dChPYmplY3Qua2V5cyhwcm9wcyksICdjaGlsZHJlbicpO1xuICByZXR1cm4ga2V5cy5tYXAoa2V5ID0+IGAke2tleX09JHtwcm9wU3RyaW5nKHByb3BzW2tleV0pfWApLmpvaW4oJyAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlYnVnTm9kZShub2RlLCBpbmRlbnRMZW5ndGggPSAyKSB7XG4gIGlmICghbm9kZSkgcmV0dXJuICcnO1xuICBpZiAodHlwZW9mIG5vZGUgPT09ICdzdHJpbmcnKSByZXR1cm4gZXNjYXBlKG5vZGUpO1xuXG4gIGNvbnN0IGNoaWxkcmVuID0gY29tcGFjdChjaGlsZHJlbk9mTm9kZShub2RlKS5tYXAobiA9PiBkZWJ1Z05vZGUobiwgaW5kZW50TGVuZ3RoKSkpO1xuICBjb25zdCB0eXBlID0gdHlwZU5hbWUobm9kZSk7XG4gIGNvbnN0IHByb3BzID0gcHJvcHNTdHJpbmcobm9kZSk7XG4gIGNvbnN0IGJlZm9yZVByb3BzID0gcHJvcHMgPyAnICcgOiAnJztcbiAgY29uc3Qgbm9kZUNsb3NlID0gY2hpbGRyZW4ubGVuZ3RoID8gYDwvJHt0eXBlfT5gIDogJy8+JztcbiAgY29uc3QgYWZ0ZXJQcm9wcyA9IGNoaWxkcmVuLmxlbmd0aFxuICAgID8gJz4nXG4gICAgOiAnICc7XG4gIGNvbnN0IGNoaWxkcmVuSW5kZW50ZWQgPSBjaGlsZHJlbi5sZW5ndGhcbiAgICA/ICdcXG4nICsgY2hpbGRyZW4ubWFwKHggPT4gaW5kZW50KGluZGVudExlbmd0aCwgeCkpLmpvaW4oJ1xcbicpICsgJ1xcbidcbiAgICA6ICcnO1xuICByZXR1cm4gYDwke3R5cGV9JHtiZWZvcmVQcm9wc30ke3Byb3BzfSR7YWZ0ZXJQcm9wc30ke2NoaWxkcmVuSW5kZW50ZWR9JHtub2RlQ2xvc2V9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlYnVnTm9kZXMobm9kZXMpIHtcbiAgcmV0dXJuIG5vZGVzLm1hcChkZWJ1Z05vZGUpLmpvaW4oJ1xcblxcblxcbicpO1xufVxuIl19</pre></td></tr> </table></pre> <div class='push'></div><!-- for sticky footer --> </div><!-- /wrapper --> <div class='footer quiet pad2 space-top1 center small'> Code coverage generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Dec 02 2015 15:06:25 GMT-0800 (PST) </div> </div> <script src="../prettify.js"></script> <script> window.onload = function () { if (typeof prettyPrint === 'function') { prettyPrint(); } }; </script> <script src="../sorter.js"></script> </body> </html>