123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500 |
- <!doctype html>
- <html lang="en">
- <head>
- <title>Code coverage report for mute.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">__root__/</a> mute.js
- </h1>
- <div class='clearfix'>
- <div class='fl pad1y space-right2'>
- <span class="strong">77.03% </span>
- <span class="quiet">Statements</span>
- <span class='fraction'>57/74</span>
- </div>
- <div class='fl pad1y space-right2'>
- <span class="strong">57.14% </span>
- <span class="quiet">Branches</span>
- <span class='fraction'>28/49</span>
- </div>
- <div class='fl pad1y space-right2'>
- <span class="strong">93.33% </span>
- <span class="quiet">Functions</span>
- <span class='fraction'>14/15</span>
- </div>
- <div class='fl pad1y space-right2'>
- <span class="strong">79.1% </span>
- <span class="quiet">Lines</span>
- <span class='fraction'>53/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
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146</td><td class="line-coverage quiet"><span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">7×</span>
- <span class="cline-any cline-yes">7×</span>
- <span class="cline-any cline-yes">7×</span>
- <span class="cline-any cline-yes">7×</span>
- <span class="cline-any cline-yes">7×</span>
- <span class="cline-any cline-yes">7×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">7×</span>
- <span class="cline-any cline-yes">7×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">10×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">6×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">5×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">8×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">5×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">5×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">25×</span>
- <span class="cline-any cline-yes">13×</span>
- <span class="cline-any cline-yes">8×</span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">8×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">8×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">20×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-yes">2×</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">3×</span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-no"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-yes">1×</span>
- <span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var Stream = require('stream')
-
- module.exports = MuteStream
-
- // var out = new MuteStream(process.stdout)
- // argument auto-pipes
- function MuteStream (opts) {
- Stream.apply(this)
- opts = opts || {}
- this.writable = this.readable = true
- this.muted = false
- this.on('pipe', this._onpipe)
- this.replace = opts.replace
-
- // For readline-type situations
- // This much at the start of a line being redrawn after a ctrl char
- // is seen (such as backspace) won't be redrawn as the replacement
- this._prompt = opts.prompt || null
- this._hadControl = false
- }
-
- MuteStream.prototype = Object.create(Stream.prototype)
-
- Object.defineProperty(MuteStream.prototype, 'constructor', {
- value: MuteStream,
- enumerable: false
- })
-
- MuteStream.prototype.mute = function () {
- this.muted = true
- }
-
- MuteStream.prototype.unmute = function () {
- this.muted = false
- }
-
- Object.defineProperty(MuteStream.prototype, '_onpipe', {
- value: onPipe,
- enumerable: false,
- writable: true,
- configurable: true
- })
-
- function onPipe (src) {
- this._src = src
- }
-
- Object.defineProperty(MuteStream.prototype, 'isTTY', {
- get: getIsTTY,
- set: setIsTTY,
- enumerable: true,
- configurable: true
- })
-
- function getIsTTY () {
- return( (this._dest) ? this._dest.isTTY
- : (this._src) ? this._src.isTTY
- : false
- )
- }
-
- // basically just get replace the getter/setter with a regular value
- function setIsTTY (isTTY) {
- Object.defineProperty(this, 'isTTY', {
- value: isTTY,
- enumerable: true,
- writable: true,
- configurable: true
- })
- }
-
- Object.defineProperty(MuteStream.prototype, 'rows', {
- get: function () {
- return( this._dest ? this._dest.rows
- : this._src ? <span class="branch-0 cbranch-no" title="branch not covered" >this._src.rows</span>
- : undefined )
- }, enumerable: true, configurable: true })
-
- Object.defineProperty(MuteStream.prototype, 'columns', {
- get: function () {
- return( this._dest ? this._dest.columns
- : this._src ? <span class="branch-0 cbranch-no" title="branch not covered" >this._src.columns</span>
- : undefined )
- }, enumerable: true, configurable: true })
-
-
- MuteStream.prototype.pipe = function (dest, options) {
- this._dest = dest
- return Stream.prototype.pipe.call(this, dest, options)
- }
-
- MuteStream.prototype.pause = function () {
- <span class="missing-if-branch" title="else path not taken" >E</span>if (this._src) return this._src.pause()
- }
-
- MuteStream.prototype.resume = function () {
- <span class="missing-if-branch" title="else path not taken" >E</span>if (this._src) return this._src.resume()
- }
-
- MuteStream.prototype.write = function (c) {
- if (this.muted) {
- if (!this.replace) return true
- <span class="missing-if-branch" title="if path not taken" >I</span>if (c.match(/^\u001b/)) {
- <span class="cstat-no" title="statement not covered" > if(c.indexOf(this._prompt) === 0) {</span>
- <span class="cstat-no" title="statement not covered" > c = c.substr(this._prompt.length);</span>
- <span class="cstat-no" title="statement not covered" > c = c.replace(/./g, this.replace);</span>
- <span class="cstat-no" title="statement not covered" > c = this._prompt + c;</span>
- }
- <span class="cstat-no" title="statement not covered" > this._hadControl = true</span>
- <span class="cstat-no" title="statement not covered" > return this.emit('data', c)</span>
- } else {
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this._prompt && <span class="branch-1 cbranch-no" title="branch not covered" >this._hadControl </span>&&
- <span class="branch-2 cbranch-no" title="branch not covered" > c.indexOf(this._prompt) === 0)</span> {
- <span class="cstat-no" title="statement not covered" > this._hadControl = false</span>
- <span class="cstat-no" title="statement not covered" > this.emit('data', this._prompt)</span>
- <span class="cstat-no" title="statement not covered" > c = c.substr(this._prompt.length)</span>
- }
- c = c.toString().replace(/./g, this.replace)
- }
- }
- this.emit('data', c)
- }
-
- MuteStream.prototype.end = function (c) {
- <span class="missing-if-branch" title="else path not taken" >E</span>if (this.muted) {
- <span class="missing-if-branch" title="if path not taken" >I</span>if (c && this.replace) {
- <span class="cstat-no" title="statement not covered" > c = c.toString().replace(/./g, this.replace)</span>
- } else {
- c = null
- }
- }
- <span class="missing-if-branch" title="if path not taken" >I</span>if (c) <span class="cstat-no" title="statement not covered" >this.emit('data', c)</span>
- this.emit('end')
- }
-
- function proxy (fn) { return <span class="fstat-no" title="function not covered" >function () {</span>
- <span class="cstat-no" title="statement not covered" > var d = this._dest</span>
- <span class="cstat-no" title="statement not covered" > var s = this._src</span>
- <span class="cstat-no" title="statement not covered" > if (d && d[fn]) <span class="cstat-no" title="statement not covered" >d[fn].apply(d, arguments)</span></span>
- <span class="cstat-no" title="statement not covered" > if (s && s[fn]) <span class="cstat-no" title="statement not covered" >s[fn].apply(s, arguments)</span></span>
- }}
-
- MuteStream.prototype.destroy = proxy('destroy')
- MuteStream.prototype.destroySoon = proxy('destroySoon')
- MuteStream.prototype.close = proxy('close')
- </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 Fri Feb 12 2016 22:19:00 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>
|