mlpm
Version:
the client for mlpm, a MarkLogic package manager
355 lines (353 loc) • 12.4 kB
HTML
<html lang="en">
<head>
<title>Code coverage report for lib/util.js</title>
<meta charset="utf-8">
<link rel="stylesheet" href="../prettify.css">
<link rel="stylesheet" href="../base.css">
<style type='text/css'>
div.coverage-summary .sorter {
background-image: url(../sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class="header low">
<h1>Code coverage report for <span class="entity">lib/util.js</span></h1>
<h2>
Statements: <span class="metric">25% <small>(11 / 44)</small></span>
Branches: <span class="metric">0% <small>(0 / 13)</small></span>
Functions: <span class="metric">0% <small>(0 / 14)</small></span>
Lines: <span class="metric">28.21% <small>(11 / 39)</small></span>
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
</h2>
<div class="path"><a href="../index.html">All files</a> » <a href="index.html">lib/</a> » util.js</div>
</div>
<div class="body">
<pre><table class="coverage">
<tr><td class="line-count">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</td><td class="line-coverage"><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-yes">1</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-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-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-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-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-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-no"> </span>
<span class="cline-any cline-neutral"> </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-neutral"> </span>
<span class="cline-any cline-yes">1</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-no"> </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-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-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-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-neutral"> </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-neutral"> </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-no"> </span>
<span class="cline-any cline-neutral"> </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-no"> </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-no"> </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-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-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict'
var fs = require('fs')
, byline = require('byline')
, prompt = require('prompt')
// , process = require('process')
<span class="fstat-no" title="function not covered" >function promptAdmin(cb) {</span>
<span class="cstat-no" title="statement not covered" > var schema = {</span>
properties: {
user: {
description: 'username',
message: 'username is required',
required: true
},
pass: {
description: 'password',
message: 'password is required',
required: true,
hidden: true
}
}
}
<span class="cstat-no" title="statement not covered" > console.log('enter admin credentials')</span>
<span class="cstat-no" title="statement not covered" > prompt.start()</span>
<span class="cstat-no" title="statement not covered" > prompt.get(schema, cb)</span>
}
<span class="fstat-no" title="function not covered" >function getAuth(admin, cb) {</span>
<span class="cstat-no" title="statement not covered" > if ( !cb ) {</span>
<span class="cstat-no" title="statement not covered" > cb = admin</span>
<span class="cstat-no" title="statement not covered" > admin = null</span>
}
<span class="cstat-no" title="statement not covered" > if ( admin ) <span class="cstat-no" title="statement not covered" >return promptAdmin(cb)</span></span>
<span class="cstat-no" title="statement not covered" > getConfig(<span class="fstat-no" title="function not covered" >function (err, data) {</span></span>
<span class="cstat-no" title="statement not covered" > if (err) <span class="cstat-no" title="statement not covered" >return cb(err)</span></span>
<span class="cstat-no" title="statement not covered" > if ( !data.token ) <span class="cstat-no" title="statement not covered" >return cb(new Error('no token'))</span></span>
<span class="cstat-no" title="statement not covered" > cb(null, data.token)</span>
})
}
<span class="fstat-no" title="function not covered" >function readJson(path, cb) {</span>
<span class="cstat-no" title="statement not covered" > fs.readFile(path, 'utf8', <span class="fstat-no" title="function not covered" >function (err, data) {</span></span>
<span class="cstat-no" title="statement not covered" > if (err) <span class="cstat-no" title="statement not covered" >return cb(err)</span></span>
<span class="cstat-no" title="statement not covered" > try { <span class="cstat-no" title="statement not covered" >var json = JSON.parse(data) }</span></span>
catch (err) { <span class="cstat-no" title="statement not covered" >return cb(err) }</span>
<span class="cstat-no" title="statement not covered" > cb(null, json)</span>
})
}
<span class="fstat-no" title="function not covered" >function formatJson(data) {</span>
<span class="cstat-no" title="statement not covered" > return JSON.stringify(data, null, 2) + '\n'</span>
}
<span class="fstat-no" title="function not covered" >function writeJson(path, data, cb) {</span>
<span class="cstat-no" title="statement not covered" > fs.writeFile(path, formatJson(data), cb)</span>
}
<span class="fstat-no" title="function not covered" >function getUserHome() {</span>
<span class="cstat-no" title="statement not covered" > return process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE</span>
}
<span class="fstat-no" title="function not covered" >function getConfig(cb) {</span>
// TODO: store as props/INI instead of JSON ?
<span class="cstat-no" title="statement not covered" > readJson( getUserHome() + '/.mlpmrc', cb )</span>
}
<span class="fstat-no" title="function not covered" >function saveConfig(data, cb) {</span>
// TODO: store as props/INI instead of JSON ?
<span class="cstat-no" title="statement not covered" > writeJson( getUserHome() + '/.mlpmrc', data, cb )</span>
}
<span class="fstat-no" title="function not covered" >function readByLine(filePath, cb) {</span>
<span class="cstat-no" title="statement not covered" > var fileStream = fs.createReadStream(filePath, { encoding: 'utf-8' })</span>
, lineStream = byline.createStream(fileStream)
<span class="cstat-no" title="statement not covered" > lineStream.on('data', <span class="fstat-no" title="function not covered" >function(line) {</span></span>
<span class="cstat-no" title="statement not covered" > lineStream.pause()</span>
<span class="cstat-no" title="statement not covered" > cb(line.toString(),</span>
<span class="fstat-no" title="function not covered" > function() {</span> <span class="cstat-no" title="statement not covered" >lineStream.resume() }</span>,
<span class="fstat-no" title="function not covered" > function() {</span>
// TODO: backwards compat?
// if ( fileStream.destroy ) return fileStream.destroy()
<span class="cstat-no" title="statement not covered" > fileStream.unpipe()</span>
})
})
}
module.exports = {
getAuth: getAuth,
readJson: readJson,
formatJson: formatJson,
writeJson: writeJson,
getConfig: getConfig,
saveConfig: saveConfig,
readByLine: readByLine
}
</pre></td></tr>
</table></pre>
</div>
<div class="footer">
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Fri Oct 02 2015 21:00:31 GMT-0400 (EDT)</div>
</div>
<script src="../prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="../sorter.js"></script>
</body>
</html>