kudo
Version:
check someone's code quality in git repository
439 lines (437 loc) • 18.9 kB
HTML
<html lang="en">
<head>
<title>Code coverage report for lib/git.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 high">
<h1>Code coverage report for <span class="entity">lib/git.js</span></h1>
<h2>
Statements: <span class="metric">98.28% <small>(57 / 58)</small></span>
Branches: <span class="metric">75% <small>(6 / 8)</small></span>
Functions: <span class="metric">100% <small>(13 / 13)</small></span>
Lines: <span class="metric">98.28% <small>(57 / 58)</small></span>
Ignored: <span class="metric">4 statements, 2 functions, 1 branch</span>
</h2>
<div class="path"><a href="../index.html">All files</a> » <a href="index.html">lib/</a> » git.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
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</td><td class="line-coverage"><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">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-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-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-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-yes">1</span>
<span class="cline-any cline-yes">1</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-yes">4</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">1</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">12</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">12</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-yes">1</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">8</span>
<span class="cline-any cline-yes">21</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">8</span>
<span class="cline-any cline-yes">8</span>
<span class="cline-any cline-yes">8</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-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">11</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">11</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">4</span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-yes">1</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-yes">4</span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-yes">3</span>
<span class="cline-any cline-yes">3</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">3</span>
<span class="cline-any cline-yes">3</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">4</span>
<span class="cline-any cline-yes">26</span>
<span class="cline-any cline-yes">26</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">4</span>
<span class="cline-any cline-yes">3</span>
<span class="cline-any cline-yes">3</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">4</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-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">/**
* @file git 运行辅助类
* @author chris<wfsr@foxmail.com>
*/
'use strict';
var _createClass = require('babel-runtime/helpers/create-class')['default'];
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
var _slicedToArray = require('babel-runtime/helpers/sliced-to-array')['default'];
var _Symbol = require('babel-runtime/core-js/symbol')['default'];
var _Promise = require('babel-runtime/core-js/promise')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _config = require('./config');
var spawn = (function () {
// istanbul ignore next
return process.env.comspec ? <span class="fstat-skip" title="function not covered" ><span class="branch-0 cbranch-skip" title="branch not covered" >function (command, args, options) {</span></span>
<span class="cstat-skip" title="statement not covered" > var spawn = require('child_process').spawn;</span>
<span class="cstat-skip" title="statement not covered" > return spawn(process.env.comspec, ['/c', command].concat(args), options);</span>
} : function (command, args, options) {
var spawn = require('child_process').spawn;
return spawn(command, args, options);
};
})();
var queue = _Symbol('queue');
var _run = _Symbol('run');
var Git = (function () {
function Git() {
_classCallCheck(this, Git);
this[queue] = [];
}
/**
* 执行 git 子命令
*
* @public
* @param {string[]} args 命令参数
* @return {Promise.<string>}
*/
_createClass(Git, [{
key: 'run',
value: function run() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var self = this;
return new _Promise(function (resolve, reject) {
self[queue].push([resolve, reject, args]);
self[_run]();
});
}
/**
* 执行命令队列
*
* @private
*/
}, {
key: _run,
value: function value() {
var list = this[queue];
if (!list.length || list.child) {
return;
}
var buffer = [];
var length = 0;
var _list$shift = list.shift();
var _list$shift2 = _slicedToArray(_list$shift, 3);
var resolve = _list$shift2[0];
var reject = _list$shift2[1];
var args = _list$shift2[2];
var child = list.child = spawn('git', args);
// istanbul ignore next
child.on('error', <span class="fstat-skip" title="function not covered" >function (error) {</span>
<span class="cstat-skip" title="statement not covered" > child.stdout.removeAllListeners();</span>
<span class="cstat-skip" title="statement not covered" > reject(error);</span>
});
var self = this;
child.on('exit', function () {
child.removeAllListeners();
list.child = null;
process.nextTick(function () {
self[_run]();
});
});
child.stdout.on('data', function (data) {
buffer.push(data);
length += data.length;
});
child.stdout.on('finish', function () {
child.stdout.removeAllListeners();
resolve(Buffer.concat(buffer, length).toString());
});
if (_config.options.logit) {
<span class="cstat-no" title="statement not covered" > console.log('git', args.join(' '));</span>
}
}
}]);
return Git;
})();
exports['default'] = Git;
var git = new Git();
exports.git = git;
//# sourceMappingURL=data:application/json;base64,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RSxDQUFDLE1BQU0sRUFBRSxVQUFVLElBQUksRUFBRTtBQUNwQyxzQkFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsQixzQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDekIsQ0FBQyxDQUFDOztBQUVILGlCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWTtBQUNsQyxxQkFBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0FBQ2xDLHVCQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUNyRCxDQUFDLENBQUM7O0FBRUgsZ0JBQUksZ0JBQVEsS0FBSyxFQUFFO0FBQ2YsdUJBQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN0QztTQUNKOzs7V0FwRWdCLEdBQUc7OztxQkFBSCxHQUFHO0FBd0VqQixJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDIiwiZmlsZSI6ImdpdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgZ2l0IOi/kOihjOi+heWKqeexu1xuICogQGF1dGhvciBjaHJpczx3ZnNyQGZveG1haWwuY29tPlxuICovXG5cbmltcG9ydCB7b3B0aW9uc30gZnJvbSAnLi9jb25maWcnO1xuXG5sZXQgc3Bhd24gPSAoZnVuY3Rpb24gKCkge1xuICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgcmV0dXJuIHByb2Nlc3MuZW52LmNvbXNwZWNcbiAgICA/IGZ1bmN0aW9uIChjb21tYW5kLCBhcmdzLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBzcGF3biA9IHJlcXVpcmUoJ2NoaWxkX3Byb2Nlc3MnKS5zcGF3bjtcbiAgICAgICAgcmV0dXJuIHNwYXduKFxuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuY29tc3BlYyxcbiAgICAgICAgICAgIFsnL2MnLCBjb21tYW5kXS5jb25jYXQoYXJncyksXG4gICAgICAgICAgICBvcHRpb25zXG4gICAgICAgICk7XG4gICAgfVxuICAgIDogZnVuY3Rpb24gKGNvbW1hbmQsIGFyZ3MsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIHNwYXduID0gcmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLnNwYXduO1xuICAgICAgICByZXR1cm4gc3Bhd24oY29tbWFuZCwgYXJncywgb3B0aW9ucyk7XG4gICAgfTtcbn0pKCk7XG5cbmxldCBxdWV1ZSA9IFN5bWJvbCgncXVldWUnKTtcbmxldCBydW4gPSBTeW1ib2woJ3J1bicpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHaXQge1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXNbcXVldWVdID0gW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5omn6KGMIGdpdCDlrZDlkb3ku6RcbiAgICAgKlxuICAgICAqIEBwdWJsaWNcbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhcmdzICDlkb3ku6Tlj4LmlbBcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlLjxzdHJpbmc+fVxuICAgICAqL1xuICAgIHJ1biguLi5hcmdzKSB7XG4gICAgICAgIGxldCBzZWxmID0gdGhpcztcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIHNlbGZbcXVldWVdLnB1c2goW3Jlc29sdmUsIHJlamVjdCwgYXJnc10pO1xuICAgICAgICAgICAgc2VsZltydW5dKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaJp+ihjOWRveS7pOmYn+WIl1xuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBbcnVuXSgpIHtcbiAgICAgICAgbGV0IGxpc3QgPSB0aGlzW3F1ZXVlXTtcblxuICAgICAgICBpZiAoIWxpc3QubGVuZ3RoIHx8IGxpc3QuY2hpbGQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBidWZmZXIgPSBbXTtcbiAgICAgICAgbGV0IGxlbmd0aCA9IDA7XG4gICAgICAgIGxldCBbcmVzb2x2ZSwgcmVqZWN0LCBhcmdzXSA9IGxpc3Quc2hpZnQoKTtcblxuICAgICAgICBsZXQgY2hpbGQgPSBsaXN0LmNoaWxkID0gc3Bhd24oJ2dpdCcsIGFyZ3MpO1xuXG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgIGNoaWxkLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgY2hpbGQuc3Rkb3V0LnJlbW92ZUFsbExpc3RlbmVycygpO1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgICAgICBjaGlsZC5vbignZXhpdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNoaWxkLnJlbW92ZUFsbExpc3RlbmVycygpO1xuICAgICAgICAgICAgbGlzdC5jaGlsZCA9IG51bGw7XG5cbiAgICAgICAgICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHNlbGZbcnVuXSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNoaWxkLnN0ZG91dC5vbignZGF0YScsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICBidWZmZXIucHVzaChkYXRhKTtcbiAgICAgICAgICAgIGxlbmd0aCArPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY2hpbGQuc3Rkb3V0Lm9uKCdmaW5pc2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjaGlsZC5zdGRvdXQucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICByZXNvbHZlKEJ1ZmZlci5jb25jYXQoYnVmZmVyLCBsZW5ndGgpLnRvU3RyaW5nKCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAob3B0aW9ucy5sb2dpdCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2dpdCcsIGFyZ3Muam9pbignICcpKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5leHBvcnQgbGV0IGdpdCA9IG5ldyBHaXQoKTtcbiJdfQ==</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 Thu Sep 17 2015 10:53:44 GMT+0800 (CST)</div>
</div>
<script src="../prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="../sorter.js"></script>
</body>
</html>