UNPKG

d2-ui

Version:
420 lines (419 loc) 13.2 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for examples/pipe.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">examples/</a> pipe.js </h1> <div class='clearfix'> <div class='fl pad1y space-right2'> <span class="strong">66.2% </span> <span class="quiet">Statements</span> <span class='fraction'>47/71</span> </div> <div class='fl pad1y space-right2'> <span class="strong">48.28% </span> <span class="quiet">Branches</span> <span class='fraction'>14/29</span> </div> <div class='fl pad1y space-right2'> <span class="strong">78.57% </span> <span class="quiet">Functions</span> <span class='fraction'>11/14</span> </div> <div class='fl pad1y space-right2'> <span class="strong">68.66% </span> <span class="quiet">Lines</span> <span class='fraction'>46/67</span> </div> </div> </div> <div class='status-line medium'></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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119</td><td class="line-coverage quiet"><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-neutral">&nbsp;</span> <span class="cline-any cline-yes">82×</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-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-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-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-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes">68×</span> <span class="cline-any cline-yes">68×</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&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-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">68×</span> <span class="cline-any cline-yes">68×</span> <span class="cline-any cline-yes">68×</span> <span class="cline-any cline-yes">68×</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-no">&nbsp;</span> <span class="cline-any cline-no">&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-no">&nbsp;</span> <span class="cline-any cline-no">&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-yes">68×</span> <span class="cline-any cline-yes">21×</span> <span class="cline-any cline-yes">21×</span> <span class="cline-any cline-yes">21×</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-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&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-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">47×</span> <span class="cline-any cline-yes">46×</span> <span class="cline-any cline-yes">46×</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-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">68×</span> <span class="cline-any cline-yes">68×</span> <span class="cline-any cline-yes">68×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">68×</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-neutral">&nbsp;</span> <span class="cline-any cline-yes"></span> <span class="cline-any cline-yes">68×</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">68×</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-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-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></td><td class="text"><pre class="prettyprint lang-js">var fstream = require('../fstream.js') var path = require('path') &nbsp; var r = fstream.Reader({ path: path.dirname(__dirname), filter: function () { return !this.basename.match(/^\./) &amp;&amp; !this.basename.match(/^node_modules$/) &amp;&amp; !this.basename.match(/^deep-copy$/) } }) &nbsp; var w = fstream.Writer({ path: path.resolve(__dirname, 'deep-copy'), type: 'Directory' }) &nbsp; var indent = '' &nbsp; r.on('entry', appears) r.on('ready', function () { console.error('ready to begin!', r.path) }) &nbsp; function appears (entry) { console.error(indent + 'a %s appears!', entry.type, entry.basename, typeof entry.basename, entry) <span class="missing-if-branch" title="if path not taken" >I</span>if (foggy) { <span class="cstat-no" title="statement not covered" > console.error('FOGGY!')</span> <span class="cstat-no" title="statement not covered" > var p = entry</span> <span class="cstat-no" title="statement not covered" > do {</span> <span class="cstat-no" title="statement not covered" > console.error(p.depth, p.path, p._paused)</span> <span class="cstat-no" title="statement not covered" > p = p.parent</span> } while (p) &nbsp; <span class="cstat-no" title="statement not covered" > throw new Error('\u001b[mshould not have entries while foggy')</span> } indent += '\t' entry.on('data', missile(entry)) entry.on('end', runaway(entry)) entry.on('entry', appears) } &nbsp; var foggy function missile (entry) { <span class="fstat-no" title="function not covered" > function liftFog (who) {</span> <span class="cstat-no" title="statement not covered" > if (!foggy) <span class="cstat-no" title="statement not covered" >return</span></span> <span class="cstat-no" title="statement not covered" > if (who) {</span> <span class="cstat-no" title="statement not covered" > console.error('%s breaks the spell!', who &amp;&amp; who.path)</span> } else { <span class="cstat-no" title="statement not covered" > console.error('the spell expires!')</span> } <span class="cstat-no" title="statement not covered" > console.error('\u001b[mthe fog lifts!\n')</span> <span class="cstat-no" title="statement not covered" > clearTimeout(foggy)</span> <span class="cstat-no" title="statement not covered" > foggy = null</span> <span class="cstat-no" title="statement not covered" > if (entry._paused) <span class="cstat-no" title="statement not covered" >entry.resume()</span></span> } &nbsp; if (entry.type === 'Directory') { var ended = false entry.once('end', function () { ended = true }) return <span class="fstat-no" title="function not covered" >function (c) {</span> // throw in some pathological pause()/resume() behavior // just for extra fun. <span class="cstat-no" title="statement not covered" > process.nextTick(<span class="fstat-no" title="function not covered" >function () {</span></span> <span class="cstat-no" title="statement not covered" > if (!foggy &amp;&amp; !ended) { // &amp;&amp; Math.random() &lt; 0.3) {</span> <span class="cstat-no" title="statement not covered" > console.error(indent + '%s casts a spell', entry.basename)</span> <span class="cstat-no" title="statement not covered" > console.error('\na slowing fog comes over the battlefield...\n\u001b[32m')</span> <span class="cstat-no" title="statement not covered" > entry.pause()</span> <span class="cstat-no" title="statement not covered" > entry.once('resume', liftFog)</span> <span class="cstat-no" title="statement not covered" > foggy = setTimeout(liftFog, 10)</span> } }) } } &nbsp; return function (c) { var e = Math.random() &lt; 0.5 console.error(indent + '%s %s for %d damage!', entry.basename, e ? 'is struck' : 'fires a chunk', c.length) } } &nbsp; function runaway (entry) { return function () { var e = Math.random() &lt; 0.5 console.error(indent + '%s %s', entry.basename, e ? 'turns to flee' : 'is vanquished!') indent = indent.slice(0, -1) } } &nbsp; w.on('entry', attacks) // w.on('ready', function () { attacks(w) }) function attacks (entry) { console.error(indent + '%s %s!', entry.basename, entry.type === 'Directory' ? 'calls for backup' : 'attacks') entry.on('entry', attacks) } &nbsp; var ended = false r.on('end', function () { <span class="missing-if-branch" title="if path not taken" >I</span>if (foggy) <span class="cstat-no" title="statement not covered" >clearTimeout(foggy)</span> console.error("\u001b[mIT'S OVER!!") console.error('A WINNAR IS YOU!') &nbsp; console.log('ok 1 A WINNAR IS YOU') ended = true }) &nbsp; process.on('exit', function () { console.log((ended ? '' : <span class="branch-1 cbranch-no" title="branch not covered" >'not ')</span> + 'ok 2 ended') console.log('1..2') }) &nbsp; r.pipe(w) &nbsp;</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 Thu Apr 28 2016 22:40:40 GMT-0700 (PDT) </div> </div> <script src="../prettify.js"></script> <script> window.onload = function () { if (typeof prettyPrint === 'function') { prettyPrint(); } }; </script> <script src="../sorter.js"></script> </body> </html>