-
Notifications
You must be signed in to change notification settings - Fork 705
/
Copy pathtests.html
109 lines (95 loc) · 2.11 KB
/
tests.html
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Color Conversion Tests</title>
<link rel="stylesheet" href="https://test.mavo.io/style.css" />
<style>
.matrix {
white-space: pre;
font-family: Consolas, Monaco, monospace;
}
</style>
<script src="https://blissfuljs.com/bliss.shy.js"></script>
<script src="https://test.mavo.io/test.js"></script>
<!-- <script src="math.js"></script> -->
<script src="conversions.js"></script>
<script src="utilities.js"></script>
<script src="multiply-matrices.js"></script>
<script src="tests.js"></script>
<script>
function reftest(title, conversion, args, result) {
let ref, test;
try {
ref = `<pre>${conversion(...args)}</pre>`;
}
catch (e) {
ref = e;
throw e;
}
document.currentScript.after(
$.create("tr", {
title,
contents: [
{tag: "td", innerHTML: ref },
{tag: "td", innerHTML: `<pre>${result}</pre>`}
]
})
);
}
</script>
</head>
<body>
<h1>Color Conversion Tests</h1>
<section>
<h1>sRGB to LCH</h1>
<table class="reftest">
<tbody>
<script>
for (let test of tests) {
reftest(`sRGB ${test.RGB} to LCH`, sRGB_to_LCH, [test.RGB], test.LCH);
}
</script>
</tbody>
</table>
</section>
<section>
<h1>sRGB to XYZ</h1>
<table class="reftest">
<tbody>
<script>
for (let test of tests) {
reftest(`sRGB ${test.RGB} to XYZ`, a => lin_sRGB_to_XYZ(lin_sRGB(a)), [test.RGB], test.XYZ);
reftest(`P3 ${test.RGB} to LCH`, P3_to_LCH, [test.RGB], test.P3_to_LCH);
reftest(`P3 ${test.RGB} to XYZ`, a => lin_P3_to_XYZ(lin_P3(a)), [test.RGB], test.P3_to_XYZ);
}
</script>
</tbody>
</table>
</section>
<section>
<h1>P3 to LCH</h1>
<table class="reftest">
<tbody>
<script>
for (let test of tests) {
reftest(`P3 ${test.RGB} to LCH`, P3_to_LCH, [test.RGB], test.P3_to_LCH);
}
</script>
</tbody>
</table>
</section>
<section>
<h1>P3 to XYZ</h1>
<table class="reftest">
<tbody>
<script>
for (let test of tests) {
reftest(`P3 ${test.RGB} to XYZ`, a => lin_P3_to_XYZ(lin_P3(a)), [test.RGB], test.P3_to_XYZ);
}
</script>
</tbody>
</table>
</section>
</body>
</html>