forked from enviPath/enviPy
Current Dev State
This commit is contained in:
446
static/js/ketcher2/node_modules/svg-pathdata/coverage/src/a2c.js.html
generated
vendored
Normal file
446
static/js/ketcher2/node_modules/svg-pathdata/coverage/src/a2c.js.html
generated
vendored
Normal file
@ -0,0 +1,446 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for src/a2c.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> a2c.js
|
||||
</h1>
|
||||
<div class='clearfix'>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">94.37% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>67/71</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">85.42% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>41/48</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">100% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>5/5</span>
|
||||
</div>
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">94.29% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>66/70</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
|
||||
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</td><td class="line-coverage quiet"><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-yes">1×</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">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-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">28×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">28×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">8×</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-yes">4×</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-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-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">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-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">4×</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-yes">4×</span>
|
||||
<span class="cline-any cline-yes">2×</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-yes">4×</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">8×</span>
|
||||
<span class="cline-any cline-yes">8×</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">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">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-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">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-yes">48×</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">1×</span>
|
||||
<span class="cline-any cline-yes">1×</span>
|
||||
<span class="cline-any cline-yes">56×</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">56×</span>
|
||||
<span class="cline-any cline-yes">28×</span>
|
||||
<span class="cline-any cline-yes">28×</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">28×</span>
|
||||
<span class="cline-any cline-yes">28×</span>
|
||||
<span class="cline-any cline-yes">28×</span>
|
||||
<span class="cline-any cline-yes">28×</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">1×</span>
|
||||
<span class="cline-any cline-yes">154×</span>
|
||||
<span class="cline-any cline-yes">28×</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">// Borrowed from https://github.com/PPvG/svg-path/blob/master/lib/Path.js#L208
|
||||
// that were borrowed from https://github.com/DmitryBaranovskiy/raphael/blob/4d97d4ff5350bb949b88e6d78b877f76ea8b5e24/raphael.js#L2216-L2304
|
||||
// (MIT licensed; http://raphaeljs.com/license.html).
|
||||
|
||||
module.exports = a2c;
|
||||
|
||||
// LOL
|
||||
var PI = Math.PI;
|
||||
var math = Math;
|
||||
var abs = Math.abs;
|
||||
var split = "split";
|
||||
var concat = "concat";
|
||||
var apply = "apply";
|
||||
var has = "hasOwnProperty";
|
||||
|
||||
function a2c(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {
|
||||
// for more information of where this math came from visit:
|
||||
// http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
|
||||
var _120 = PI * 120 / 180,
|
||||
rad = PI / 180 * (+angle || 0),
|
||||
res = [],
|
||||
xy,
|
||||
rotate = cacher(function (x, y, rad) {
|
||||
var X = x * math.cos(rad) - y * math.sin(rad),
|
||||
Y = x * math.sin(rad) + y * math.cos(rad);
|
||||
return {x: X, y: Y};
|
||||
});
|
||||
if (!recursive) {
|
||||
xy = rotate(x1, y1, -rad);
|
||||
x1 = xy.x;
|
||||
y1 = xy.y;
|
||||
xy = rotate(x2, y2, -rad);
|
||||
x2 = xy.x;
|
||||
y2 = xy.y;
|
||||
var cos = math.cos(PI / 180 * angle),
|
||||
sin = math.sin(PI / 180 * angle),
|
||||
x = (x1 - x2) / 2,
|
||||
y = (y1 - y2) / 2;
|
||||
var h = (x * x) / (rx * rx) + (y * y) / (ry * ry);
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (h > 1) {
|
||||
<span class="cstat-no" title="statement not covered" > h = math.sqrt(h);</span>
|
||||
<span class="cstat-no" title="statement not covered" > rx = h * rx;</span>
|
||||
<span class="cstat-no" title="statement not covered" > ry = h * ry;</span>
|
||||
}
|
||||
var rx2 = rx * rx,
|
||||
ry2 = ry * ry,
|
||||
k = (large_arc_flag == sweep_flag ? -1 : 1) *
|
||||
math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),
|
||||
cx = k * rx * y / ry + (x1 + x2) / 2,
|
||||
cy = k * -ry * x / rx + (y1 + y2) / 2,
|
||||
f1 = math.asin(((y1 - cy) / ry).toFixed(9)),
|
||||
f2 = math.asin(((y2 - cy) / ry).toFixed(9));
|
||||
|
||||
f1 = x1 < cx ? PI - f1 : f1;
|
||||
f2 = x2 < cx ? <span class="branch-0 cbranch-no" title="branch not covered" >PI - f2 </span>: f2;
|
||||
f1 < 0 && (f1 = PI * 2 + f1);
|
||||
f2 < 0 && (<span class="branch-1 cbranch-no" title="branch not covered" >f2 = PI * 2 + f2)</span>;
|
||||
if (sweep_flag && f1 > f2) {
|
||||
f1 = f1 - PI * 2;
|
||||
}
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!sweep_flag && f2 > f1) {
|
||||
<span class="cstat-no" title="statement not covered" > f2 = f2 - PI * 2;</span>
|
||||
}
|
||||
} else {
|
||||
f1 = recursive[0];
|
||||
f2 = recursive[1];
|
||||
cx = recursive[2];
|
||||
cy = recursive[3];
|
||||
}
|
||||
var df = f2 - f1;
|
||||
if (abs(df) > _120) {
|
||||
var f2old = f2,
|
||||
x2old = x2,
|
||||
y2old = y2;
|
||||
f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);
|
||||
x2 = cx + rx * math.cos(f2);
|
||||
y2 = cy + ry * math.sin(f2);
|
||||
res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);
|
||||
}
|
||||
df = f2 - f1;
|
||||
var c1 = math.cos(f1),
|
||||
s1 = math.sin(f1),
|
||||
c2 = math.cos(f2),
|
||||
s2 = math.sin(f2),
|
||||
t = math.tan(df / 4),
|
||||
hx = 4 / 3 * rx * t,
|
||||
hy = 4 / 3 * ry * t,
|
||||
m1 = [x1, y1],
|
||||
m2 = [x1 + hx * s1, y1 - hy * c1],
|
||||
m3 = [x2 + hx * s2, y2 - hy * c2],
|
||||
m4 = [x2, y2];
|
||||
m2[0] = 2 * m1[0] - m2[0];
|
||||
m2[1] = 2 * m1[1] - m2[1];
|
||||
if (recursive) {
|
||||
return [m2, m3, m4][concat](res);
|
||||
} else {
|
||||
res = [m2, m3, m4][concat](res).join()[split](",");
|
||||
var newres = [];
|
||||
for (var i = 0, ii = res.length; i < ii; i++) {
|
||||
newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;
|
||||
}
|
||||
return newres;
|
||||
}
|
||||
}
|
||||
function cacher(f, scope, postprocessor) {
|
||||
function newf() {
|
||||
var arg = Array.prototype.slice.call(arguments, 0),
|
||||
args = arg.join("\u2400"),
|
||||
cache = newf.cache = newf.cache || {},
|
||||
count = newf.count = newf.count || [];
|
||||
if (cache[has](args)) {
|
||||
repush(count, args);
|
||||
return postprocessor ? <span class="branch-0 cbranch-no" title="branch not covered" >postprocessor(cache[args]) </span>: cache[args];
|
||||
}
|
||||
count.length >= 1e3 && <span class="branch-1 cbranch-no" title="branch not covered" >delete cache[count.shift()];</span>
|
||||
count.push(args);
|
||||
cache[args] = f[apply](scope, arg);
|
||||
return postprocessor ? <span class="branch-0 cbranch-no" title="branch not covered" >postprocessor(cache[args]) </span>: cache[args];
|
||||
}
|
||||
return newf;
|
||||
}
|
||||
|
||||
function repush(array, item) {
|
||||
for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) {
|
||||
return array.push(array.splice(i, 1)[0]);
|
||||
}
|
||||
}
|
||||
</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 Mon Nov 07 2016 15:21:32 GMT+0100 (CET)
|
||||
</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user