- commit
- 0cb62ed86f87b01bdf7bfb0303fa4225bb1a1f0b
- parent
- 8399f77cf2270c250bf499ae521143c391b704ae
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2022-05-03 21:20
use @use for tests
Diffstat
| M | test/color.js | 214 | ++++++++++++++++++++++++++++++------------------------------ |
| M | test/contrast.js | 98 | ++++++++++++++++++++++++++++++------------------------------ |
2 files changed, 156 insertions, 156 deletions
diff --git a/test/color.js b/test/color.js
@@ -2,150 +2,150 @@ var assert = require('assert');
2 2 var shared = require('./shared');
3 3
4 4 describe('color', function() {
5 -1 var renderer = new shared.Renderer('@import "color";');
-1 5 var renderer = new shared.Renderer('@use "color";');
6 6
7 7 describe('lab', function() {
8 8 describe('lch', function() {
9 9 it('white', function() {
10 -1 assert.equal(renderer.value('lch(100, 0, 0rad)'), '#fff')
-1 10 assert.equal(renderer.value('color.lch(100, 0, 0rad)'), '#fff')
11 11 });
12 12 it('black', function() {
13 -1 assert.equal(renderer.value('lch(0, 0, 0rad)'), '#000')
-1 13 assert.equal(renderer.value('color.lch(0, 0, 0rad)'), '#000')
14 14 });
15 15 it('red (rad)', function() {
16 -1 assert.equal(renderer.value('lch(53.23288, 104.57421, .69818rad)'), 'red')
-1 16 assert.equal(renderer.value('color.lch(53.23288, 104.57421, .69818rad)'), 'red')
17 17 });
18 18 it('red (deg)', function() {
19 -1 assert.equal(renderer.value('lch(53.23288, 104.57421, 40deg)'), 'red')
-1 19 assert.equal(renderer.value('color.lch(53.23288, 104.57421, 40deg)'), 'red')
20 20 });
21 21 it('red (unitless)', function() {
22 -1 assert.equal(renderer.value('lch(53.23288, 104.57421, 40)'), 'red')
-1 22 assert.equal(renderer.value('color.lch(53.23288, 104.57421, 40)'), 'red')
23 23 });
24 24 it('blue', function() {
25 -1 assert.equal(renderer.value('lch(32.30259, 133.80605, -0.93744rad)'), 'blue')
-1 25 assert.equal(renderer.value('color.lch(32.30259, 133.80605, -0.93744rad)'), 'blue')
26 26 });
27 27 });
28 28
29 29 describe('pf-lightness', function() {
30 30 it('white', function() {
31 -1 shared.similar(renderer.value('pf-lightness(white)'), 100);
-1 31 shared.similar(renderer.value('color.pf-lightness(white)'), 100);
32 32 });
33 33 it('black', function() {
34 -1 shared.similar(renderer.value('pf-lightness(black)'), 0);
-1 34 shared.similar(renderer.value('color.pf-lightness(black)'), 0);
35 35 });
36 36 it('red', function() {
37 -1 shared.similar(renderer.value('pf-lightness(red)'), 53.23288);
-1 37 shared.similar(renderer.value('color.pf-lightness(red)'), 53.23288);
38 38 });
39 39 it('blue', function() {
40 -1 shared.similar(renderer.value('pf-lightness(blue)'), 32.30259);
-1 40 shared.similar(renderer.value('color.pf-lightness(blue)'), 32.30259);
41 41 });
42 42 });
43 43
44 44 describe('pf-chroma', function() {
45 45 it('white', function() {
46 -1 shared.similar(renderer.value('pf-chroma(white)'), 0, .0001);
-1 46 shared.similar(renderer.value('color.pf-chroma(white)'), 0, .0001);
47 47 });
48 48 it('black', function() {
49 -1 shared.similar(renderer.value('pf-chroma(black)'), 0);
-1 49 shared.similar(renderer.value('color.pf-chroma(black)'), 0);
50 50 });
51 51 it('red', function() {
52 -1 shared.similar(renderer.value('pf-chroma(red)'), 104.57421);
-1 52 shared.similar(renderer.value('color.pf-chroma(red)'), 104.57421);
53 53 });
54 54 it('blue', function() {
55 -1 shared.similar(renderer.value('pf-chroma(blue)'), 133.80605);
-1 55 shared.similar(renderer.value('color.pf-chroma(blue)'), 133.80605);
56 56 });
57 57 });
58 58
59 59 describe('pf-hue', function() {
60 60 it('white', function() {
61 -1 shared.similar(renderer.value('pf-hue(white)'), 0);
-1 61 shared.similar(renderer.value('color.pf-hue(white)'), 0);
62 62 });
63 63 it('black', function() {
64 -1 shared.similar(renderer.value('pf-hue(black)'), 0);
-1 64 shared.similar(renderer.value('color.pf-hue(black)'), 0);
65 65 });
66 66 it('red', function() {
67 -1 shared.similar(renderer.value('pf-hue(red)'), 40.0027);
-1 67 shared.similar(renderer.value('color.pf-hue(red)'), 40.0027);
68 68 });
69 69 it('yellow', function() {
70 -1 shared.similar(renderer.value('pf-hue(yellow)'), 102.85403);
-1 70 shared.similar(renderer.value('color.pf-hue(yellow)'), 102.85403);
71 71 });
72 72 it('green', function() {
73 -1 shared.similar(renderer.value('pf-hue(green)'), 136.0155);
-1 73 shared.similar(renderer.value('color.pf-hue(green)'), 136.0155);
74 74 });
75 75 it('blue', function() {
76 -1 shared.similar(renderer.value('pf-hue(blue)'), -53.71132);
-1 76 shared.similar(renderer.value('color.pf-hue(blue)'), -53.71132);
77 77 });
78 78 });
79 79
80 80 describe('pf-complement', function() {
81 81 it('white', function() {
82 -1 assert.equal(renderer.value('pf-complement(white)'), '#fff')
-1 82 assert.equal(renderer.value('color.pf-complement(white)'), '#fff')
83 83 });
84 84 it('red', function() {
85 -1 assert.equal(renderer.value('pf-complement(red)'), '#008ca1')
-1 85 assert.equal(renderer.value('color.pf-complement(red)'), '#008ca1')
86 86 });
87 87 it('yellow', function() {
88 -1 assert.equal(renderer.value('pf-complement(yellow)'), '#f5f6ff')
-1 88 assert.equal(renderer.value('color.pf-complement(yellow)'), '#f5f6ff')
89 89 });
90 90 });
91 91
92 92 describe('pf-color-distance', function() {
93 93 it('d(white, white) = 0', function() {
94 -1 assert.equal(renderer.value('pf-color-distance(white, white)'), 0)
-1 94 assert.equal(renderer.value('color.pf-color-distance(white, white)'), 0)
95 95 });
96 96 it('d(red, red) = 0', function() {
97 -1 assert.equal(renderer.value('pf-color-distance(red, red)'), 0)
-1 97 assert.equal(renderer.value('color.pf-color-distance(red, red)'), 0)
98 98 });
99 99 it('d(white, black) ~= 100', function() {
100 -1 shared.similar(renderer.value('pf-color-distance(white, black)'), 100);
-1 100 shared.similar(renderer.value('color.pf-color-distance(white, black)'), 100);
101 101 });
102 102 it('d(white, red)', function() {
103 -1 shared.similar(renderer.value('pf-color-distance(white, red)'), 114.55535);
-1 103 shared.similar(renderer.value('color.pf-color-distance(white, red)'), 114.55535);
104 104 });
105 105 it('d(red, blue)', function() {
106 -1 shared.similar(renderer.value('pf-color-distance(red, blue)'), 176.32554);
-1 106 shared.similar(renderer.value('color.pf-color-distance(red, blue)'), 176.32554);
107 107 });
108 108 it('d(blue, red)', function() {
109 -1 shared.similar(renderer.value('pf-color-distance(blue, red)'), 176.32554);
-1 109 shared.similar(renderer.value('color.pf-color-distance(blue, red)'), 176.32554);
110 110 });
111 111 });
112 112
113 113 describe('pf-mix', function() {
114 114 it('white, white', function() {
115 -1 assert.equal(renderer.value('pf-mix(white, white)'), '#fff')
-1 115 assert.equal(renderer.value('color.pf-mix(white, white)'), '#fff')
116 116 });
117 117 it('black, white', function() {
118 -1 assert.equal(renderer.value('pf-mix(black, white)'), '#777')
-1 118 assert.equal(renderer.value('color.pf-mix(black, white)'), '#777')
119 119 });
120 120 it('black, white, 0%', function() {
121 -1 assert.equal(renderer.value('pf-mix(black, white, 0%)'), '#fff')
-1 121 assert.equal(renderer.value('color.pf-mix(black, white, 0%)'), '#fff')
122 122 });
123 123 it('black, white, 100%', function() {
124 -1 assert.equal(renderer.value('pf-mix(black, white, 100%)'), '#000')
-1 124 assert.equal(renderer.value('color.pf-mix(black, white, 100%)'), '#000')
125 125 });
126 126 it('black, white, 20%', function() {
127 -1 assert.equal(renderer.value('pf-mix(black, white, 20%)'), '#c6c6c6')
-1 127 assert.equal(renderer.value('color.pf-mix(black, white, 20%)'), '#c6c6c6')
128 128 });
129 129 it('black, white, .2', function() {
130 -1 assert.equal(renderer.value('pf-mix(black, white, .2)'), '#c6c6c6')
-1 130 assert.equal(renderer.value('color.pf-mix(black, white, .2)'), '#c6c6c6')
131 131 });
132 132 it('blue, red', function() {
133 -1 assert.equal(renderer.value('pf-mix(blue, red)'), '#c20081')
-1 133 assert.equal(renderer.value('color.pf-mix(blue, red)'), '#c20081')
134 134 });
135 135 it('blue, red, 20%', function() {
136 -1 assert.equal(renderer.value('pf-mix(blue, red, 20%)'), '#e70051')
-1 136 assert.equal(renderer.value('color.pf-mix(blue, red, 20%)'), '#e70051')
137 137 });
138 138 it('green, red', function() {
139 -1 assert.equal(renderer.value('pf-mix(green, red)'), '#9d6e00')
-1 139 assert.equal(renderer.value('color.pf-mix(green, red)'), '#9d6e00')
140 140 });
141 141 it('yellow, blue', function() {
142 -1 assert.equal(renderer.value('pf-mix(yellow, blue)'), '#ff6b89')
-1 142 assert.equal(renderer.value('color.pf-mix(yellow, blue)'), '#ff6b89')
143 143 });
144 144 it('green, blue', function() {
145 -1 assert.equal(renderer.value('pf-mix(green, blue)'), '#006487')
-1 145 assert.equal(renderer.value('color.pf-mix(green, blue)'), '#006487')
146 146 });
147 147 it('white, blue', function() {
148 -1 assert.equal(renderer.value('pf-mix(white, blue)'), '#b38cff')
-1 148 assert.equal(renderer.value('color.pf-mix(white, blue)'), '#b38cff')
149 149 });
150 150 });
151 151 });
@@ -153,124 +153,124 @@ describe('color', function() {
153 153 describe('luv', function() {
154 154 describe('lch', function() {
155 155 it('white', function() {
156 -1 assert.equal(renderer.value('lch(100, 0, 0rad, "luv")'), '#fff')
-1 156 assert.equal(renderer.value('color.lch(100, 0, 0rad, "luv")'), '#fff')
157 157 });
158 158 it('black', function() {
159 -1 assert.equal(renderer.value('lch(0, 0, 0rad, "luv")'), '#000')
-1 159 assert.equal(renderer.value('color.lch(0, 0, 0rad, "luv")'), '#000')
160 160 });
161 161 it('red (rad)', function() {
162 -1 assert.equal(renderer.value('lch(53.23288, 179.07872, .21245rad, "luv")'), 'red')
-1 162 assert.equal(renderer.value('color.lch(53.23288, 179.07872, .21245rad, "luv")'), 'red')
163 163 });
164 164 it('red (deg)', function() {
165 -1 assert.equal(renderer.value('lch(53.23288, 179.07872, 12.1725deg, "luv")'), 'red')
-1 165 assert.equal(renderer.value('color.lch(53.23288, 179.07872, 12.1725deg, "luv")'), 'red')
166 166 });
167 167 it('red (unitless)', function() {
168 -1 assert.equal(renderer.value('lch(53.23288, 179.07872, 12.1725, "luv")'), 'red')
-1 168 assert.equal(renderer.value('color.lch(53.23288, 179.07872, 12.1725, "luv")'), 'red')
169 169 });
170 170 it('blue', function() {
171 -1 assert.equal(renderer.value('lch(32.30259, 130.69138, -1.64278rad, "luv")'), 'blue')
-1 171 assert.equal(renderer.value('color.lch(32.30259, 130.69138, -1.64278rad, "luv")'), 'blue')
172 172 });
173 173 });
174 174
175 175 describe('pf-lightness', function() {
176 176 it('white', function() {
177 -1 shared.similar(renderer.value('pf-lightness(white, "luv")'), 100);
-1 177 shared.similar(renderer.value('color.pf-lightness(white, "luv")'), 100);
178 178 });
179 179 it('black', function() {
180 -1 shared.similar(renderer.value('pf-lightness(black, "luv")'), 0);
-1 180 shared.similar(renderer.value('color.pf-lightness(black, "luv")'), 0);
181 181 });
182 182 it('red', function() {
183 -1 shared.similar(renderer.value('pf-lightness(red, "luv")'), 53.23288);
-1 183 shared.similar(renderer.value('color.pf-lightness(red, "luv")'), 53.23288);
184 184 });
185 185 it('blue', function() {
186 -1 shared.similar(renderer.value('pf-lightness(blue, "luv")'), 32.30259);
-1 186 shared.similar(renderer.value('color.pf-lightness(blue, "luv")'), 32.30259);
187 187 });
188 188 });
189 189
190 190 describe('pf-chroma', function() {
191 191 it('white', function() {
192 -1 shared.similar(renderer.value('pf-chroma(white, "luv")'), 0, .0001);
-1 192 shared.similar(renderer.value('color.pf-chroma(white, "luv")'), 0, .0001);
193 193 });
194 194 it('black', function() {
195 -1 shared.similar(renderer.value('pf-chroma(black, "luv")'), 0);
-1 195 shared.similar(renderer.value('color.pf-chroma(black, "luv")'), 0);
196 196 });
197 197 it('red', function() {
198 -1 shared.similar(renderer.value('pf-chroma(red, "luv")'), 179.07872);
-1 198 shared.similar(renderer.value('color.pf-chroma(red, "luv")'), 179.07872);
199 199 });
200 200 it('blue', function() {
201 -1 shared.similar(renderer.value('pf-chroma(blue, "luv")'), 130.69138);
-1 201 shared.similar(renderer.value('color.pf-chroma(blue, "luv")'), 130.69138);
202 202 });
203 203 });
204 204
205 205 describe('pf-hue', function() {
206 206 it('white', function() {
207 -1 shared.similar(renderer.value('pf-hue(white, "luv")'), 0);
-1 207 shared.similar(renderer.value('color.pf-hue(white, "luv")'), 0);
208 208 });
209 209 it('black', function() {
210 -1 shared.similar(renderer.value('pf-hue(black, "luv")'), 0);
-1 210 shared.similar(renderer.value('color.pf-hue(black, "luv")'), 0);
211 211 });
212 212 it('red', function() {
213 -1 shared.similar(renderer.value('pf-hue(red, "luv")'), 12.17245);
-1 213 shared.similar(renderer.value('color.pf-hue(red, "luv")'), 12.17245);
214 214 });
215 215 it('yellow', function() {
216 -1 shared.similar(renderer.value('pf-hue(yellow, "luv")'), 85.87536);
-1 216 shared.similar(renderer.value('color.pf-hue(yellow, "luv")'), 85.87536);
217 217 });
218 218 it('green', function() {
219 -1 shared.similar(renderer.value('pf-hue(green, "luv")'), 127.71994);
-1 219 shared.similar(renderer.value('color.pf-hue(green, "luv")'), 127.71994);
220 220 });
221 221 it('blue', function() {
222 -1 shared.similar(renderer.value('pf-hue(blue, "luv")'), -94.12464);
-1 222 shared.similar(renderer.value('color.pf-hue(blue, "luv")'), -94.12464);
223 223 });
224 224 });
225 225
226 226 describe('pf-complement', function() {
227 227 it('white', function() {
228 -1 assert.equal(renderer.value('pf-complement(white, "luv")'), '#fff')
-1 228 assert.equal(renderer.value('color.pf-complement(white, "luv")'), '#fff')
229 229 });
230 230 it('red', function() {
231 -1 assert.equal(renderer.value('pf-complement(red, "luv")'), '#008e8e')
-1 231 assert.equal(renderer.value('color.pf-complement(red, "luv")'), '#008e8e')
232 232 });
233 233 it('yellow', function() {
234 -1 assert.equal(renderer.value('pf-complement(yellow, "luv")'), '#f6f6ff')
-1 234 assert.equal(renderer.value('color.pf-complement(yellow, "luv")'), '#f6f6ff')
235 235 });
236 236 });
237 237
238 238 describe('pf-mix', function() {
239 239 it('white, white', function() {
240 -1 assert.equal(renderer.value('pf-mix(white, white, 50%, "luv")'), '#fff')
-1 240 assert.equal(renderer.value('color.pf-mix(white, white, 50%, "luv")'), '#fff')
241 241 });
242 242 it('black, white', function() {
243 -1 assert.equal(renderer.value('pf-mix(black, white, 50%, "luv")'), '#777')
-1 243 assert.equal(renderer.value('color.pf-mix(black, white, 50%, "luv")'), '#777')
244 244 });
245 245 it('black, white, 0%', function() {
246 -1 assert.equal(renderer.value('pf-mix(black, white, 0%, "luv")'), '#fff')
-1 246 assert.equal(renderer.value('color.pf-mix(black, white, 0%, "luv")'), '#fff')
247 247 });
248 248 it('black, white, 100%', function() {
249 -1 assert.equal(renderer.value('pf-mix(black, white, 100%, "luv")'), '#000')
-1 249 assert.equal(renderer.value('color.pf-mix(black, white, 100%, "luv")'), '#000')
250 250 });
251 251 it('black, white, 20%', function() {
252 -1 assert.equal(renderer.value('pf-mix(black, white, 20%, "luv")'), '#c6c6c6')
-1 252 assert.equal(renderer.value('color.pf-mix(black, white, 20%, "luv")'), '#c6c6c6')
253 253 });
254 254 it('black, white, .2', function() {
255 -1 assert.equal(renderer.value('pf-mix(black, white, .2, "luv")'), '#c6c6c6')
-1 255 assert.equal(renderer.value('color.pf-mix(black, white, .2, "luv")'), '#c6c6c6')
256 256 });
257 257 it('blue, red', function() {
258 -1 assert.equal(renderer.value('pf-mix(blue, red, 50%, "luv")'), '#bd0095')
-1 258 assert.equal(renderer.value('color.pf-mix(blue, red, 50%, "luv")'), '#bd0095')
259 259 });
260 260 it('blue, red, 20%', function() {
261 -1 assert.equal(renderer.value('pf-mix(blue, red, 20%, "luv")'), '#e40070')
-1 261 assert.equal(renderer.value('color.pf-mix(blue, red, 20%, "luv")'), '#e40070')
262 262 });
263 263 it('green, red', function() {
264 -1 assert.equal(renderer.value('pf-mix(green, red, 50%, "luv")'), '#a56a00')
-1 264 assert.equal(renderer.value('color.pf-mix(green, red, 50%, "luv")'), '#a56a00')
265 265 });
266 266 it('yellow, blue', function() {
267 -1 assert.equal(renderer.value('pf-mix(yellow, blue, 50%, "luv")'), '#ff66ab')
-1 267 assert.equal(renderer.value('color.pf-mix(yellow, blue, 50%, "luv")'), '#ff66ab')
268 268 });
269 269 it('green, blue', function() {
270 -1 assert.equal(renderer.value('pf-mix(green, blue, 50%, "luv")'), '#006678')
-1 270 assert.equal(renderer.value('color.pf-mix(green, blue, 50%, "luv")'), '#006678')
271 271 });
272 272 it('white, blue', function() {
273 -1 assert.equal(renderer.value('pf-mix(white, blue, 50%, "luv")'), '#9999e8')
-1 273 assert.equal(renderer.value('color.pf-mix(white, blue, 50%, "luv")'), '#9999e8')
274 274 });
275 275 });
276 276 });
@@ -278,109 +278,109 @@ describe('color', function() {
278 278 describe('hsl', function() {
279 279 describe('lch', function() {
280 280 it('white', function() {
281 -1 assert.equal(renderer.value('lch(100, 0, 0rad, "hsl")'), '#fff')
-1 281 assert.equal(renderer.value('color.lch(100, 0, 0rad, "hsl")'), '#fff')
282 282 });
283 283 it('black', function() {
284 -1 assert.equal(renderer.value('lch(0, 0, 0rad, "hsl")'), '#000')
-1 284 assert.equal(renderer.value('color.lch(0, 0, 0rad, "hsl")'), '#000')
285 285 });
286 286 it('red', function() {
287 -1 assert.equal(renderer.value('lch(50, 100, 0rad, "hsl")'), 'red')
-1 287 assert.equal(renderer.value('color.lch(50, 100, 0rad, "hsl")'), 'red')
288 288 });
289 289 it('blue (rad)', function() {
290 -1 assert.equal(renderer.value('lch(50, 100, 4.18879rad, "hsl")'), 'blue')
-1 290 assert.equal(renderer.value('color.lch(50, 100, 4.18879rad, "hsl")'), 'blue')
291 291 });
292 292 it('blue (deg)', function() {
293 -1 assert.equal(renderer.value('lch(50, 100, 240deg, "hsl")'), 'blue')
-1 293 assert.equal(renderer.value('color.lch(50, 100, 240deg, "hsl")'), 'blue')
294 294 });
295 295 it('blue (unitless)', function() {
296 -1 assert.equal(renderer.value('lch(50, 100, 240, "hsl")'), 'blue')
-1 296 assert.equal(renderer.value('color.lch(50, 100, 240, "hsl")'), 'blue')
297 297 });
298 298 });
299 299
300 300 describe('pf-lightness', function() {
301 301 it('white', function() {
302 -1 assert.equal(renderer.value('pf-lightness(white, "hsl")'), 100)
-1 302 assert.equal(renderer.value('color.pf-lightness(white, "hsl")'), 100)
303 303 });
304 304 it('black', function() {
305 -1 assert.equal(renderer.value('pf-lightness(black, "hsl")'), 0)
-1 305 assert.equal(renderer.value('color.pf-lightness(black, "hsl")'), 0)
306 306 });
307 307 it('red', function() {
308 -1 assert.equal(renderer.value('pf-lightness(red, "hsl")'), 50)
-1 308 assert.equal(renderer.value('color.pf-lightness(red, "hsl")'), 50)
309 309 });
310 310 it('blue', function() {
311 -1 assert.equal(renderer.value('pf-lightness(blue, "hsl")'), 50)
-1 311 assert.equal(renderer.value('color.pf-lightness(blue, "hsl")'), 50)
312 312 });
313 313 });
314 314
315 315 describe('pf-chroma', function() {
316 316 it('white', function() {
317 -1 assert.equal(renderer.value('pf-chroma(white, "hsl")'), 0)
-1 317 assert.equal(renderer.value('color.pf-chroma(white, "hsl")'), 0)
318 318 });
319 319 it('black', function() {
320 -1 assert.equal(renderer.value('pf-chroma(black, "hsl")'), 0)
-1 320 assert.equal(renderer.value('color.pf-chroma(black, "hsl")'), 0)
321 321 });
322 322 it('red', function() {
323 -1 assert.equal(renderer.value('pf-chroma(red, "hsl")'), 100)
-1 323 assert.equal(renderer.value('color.pf-chroma(red, "hsl")'), 100)
324 324 });
325 325 it('blue', function() {
326 -1 assert.equal(renderer.value('pf-chroma(blue, "hsl")'), 100)
-1 326 assert.equal(renderer.value('color.pf-chroma(blue, "hsl")'), 100)
327 327 });
328 328 });
329 329
330 330 describe('pf-hue', function() {
331 331 it('white', function() {
332 -1 shared.similar(renderer.value('pf-hue(white, "hsl")'), 0);
-1 332 shared.similar(renderer.value('color.pf-hue(white, "hsl")'), 0);
333 333 });
334 334 it('black', function() {
335 -1 shared.similar(renderer.value('pf-hue(black, "hsl")'), 0);
-1 335 shared.similar(renderer.value('color.pf-hue(black, "hsl")'), 0);
336 336 });
337 337 it('red', function() {
338 -1 shared.similar(renderer.value('pf-hue(red, "hsl")'), 0);
-1 338 shared.similar(renderer.value('color.pf-hue(red, "hsl")'), 0);
339 339 });
340 340 it('yellow', function() {
341 -1 shared.similar(renderer.value('pf-hue(yellow, "hsl")'), 60);
-1 341 shared.similar(renderer.value('color.pf-hue(yellow, "hsl")'), 60);
342 342 });
343 343 it('green', function() {
344 -1 shared.similar(renderer.value('pf-hue(green, "hsl")'), 120);
-1 344 shared.similar(renderer.value('color.pf-hue(green, "hsl")'), 120);
345 345 });
346 346 it('blue', function() {
347 -1 shared.similar(renderer.value('pf-hue(blue, "hsl")'), 240);
-1 347 shared.similar(renderer.value('color.pf-hue(blue, "hsl")'), 240);
348 348 });
349 349 });
350 350
351 351 describe('pf-complement', function() {
352 352 it('white', function() {
353 -1 assert.equal(renderer.value('pf-complement(white, "hsl")'), '#fff')
-1 353 assert.equal(renderer.value('color.pf-complement(white, "hsl")'), '#fff')
354 354 });
355 355 it('red', function() {
356 -1 assert.equal(renderer.value('pf-complement(red, "hsl")'), 'aqua')
-1 356 assert.equal(renderer.value('color.pf-complement(red, "hsl")'), 'aqua')
357 357 });
358 358 it('yellow', function() {
359 -1 assert.equal(renderer.value('pf-complement(yellow, "hsl")'), 'blue')
-1 359 assert.equal(renderer.value('color.pf-complement(yellow, "hsl")'), 'blue')
360 360 });
361 361 });
362 362
363 363 describe('pf-mix', function() {
364 364 it('white, white', function() {
365 -1 assert.equal(renderer.value('pf-mix(white, white, 50%, "hsl")'), '#fff')
-1 365 assert.equal(renderer.value('color.pf-mix(white, white, 50%, "hsl")'), '#fff')
366 366 });
367 367 it('black, white', function() {
368 -1 assert.equal(renderer.value('pf-mix(black, white, 50%, "hsl")'), 'gray')
-1 368 assert.equal(renderer.value('color.pf-mix(black, white, 50%, "hsl")'), 'gray')
369 369 });
370 370 it('black, white, 0%', function() {
371 -1 assert.equal(renderer.value('pf-mix(black, white, 0%, "hsl")'), '#fff')
-1 371 assert.equal(renderer.value('color.pf-mix(black, white, 0%, "hsl")'), '#fff')
372 372 });
373 373 it('black, white, 100%', function() {
374 -1 assert.equal(renderer.value('pf-mix(black, white, 100%, "hsl")'), '#000')
-1 374 assert.equal(renderer.value('color.pf-mix(black, white, 100%, "hsl")'), '#000')
375 375 });
376 376 it('blue, red', function() {
377 -1 assert.equal(renderer.value('pf-mix(blue, red, 50%, "hsl")'), '#f0f')
-1 377 assert.equal(renderer.value('color.pf-mix(blue, red, 50%, "hsl")'), '#f0f')
378 378 });
379 379 it('yellow, blue', function() {
380 -1 assert.equal(renderer.value('pf-mix(yellow, blue, 50%, "hsl")'), '#00ff80')
-1 380 assert.equal(renderer.value('color.pf-mix(yellow, blue, 50%, "hsl")'), '#00ff80')
381 381 });
382 382 it('white, blue', function() {
383 -1 assert.equal(renderer.value('pf-mix(white, blue, 50%, "hsl")'), '#9f9fdf')
-1 383 assert.equal(renderer.value('color.pf-mix(white, blue, 50%, "hsl")'), '#9f9fdf')
384 384 });
385 385 });
386 386 });
diff --git a/test/contrast.js b/test/contrast.js
@@ -2,142 +2,142 @@ var assert = require('assert');
2 2 var shared = require('./shared');
3 3
4 4 describe('contrast', function() {
5 -1 var renderer = new shared.Renderer('@import "contrast";');
-1 5 var renderer = new shared.Renderer('@use "contrast";');
6 6
7 7 describe('alpha-blend', function() {
8 8 it('fully opaque', function() {
9 -1 assert.equal(renderer.value('alpha-blend(white)'), '#fff')
10 -1 assert.equal(renderer.value('alpha-blend(black)'), '#000')
11 -1 assert.equal(renderer.value('alpha-blend(red)'), 'red')
-1 9 assert.equal(renderer.value('contrast.alpha-blend(white)'), '#fff')
-1 10 assert.equal(renderer.value('contrast.alpha-blend(black)'), '#000')
-1 11 assert.equal(renderer.value('contrast.alpha-blend(red)'), 'red')
12 12 });
13 13 it('fully transparent', function() {
14 -1 assert.equal(renderer.value('alpha-blend(rgba(white, 0), blue)'), 'blue')
15 -1 assert.equal(renderer.value('alpha-blend(rgba(black, 0), blue)'), 'blue')
16 -1 assert.equal(renderer.value('alpha-blend(rgba(red, 0), blue)'), 'blue')
17 -1 assert.equal(renderer.value('alpha-blend(rgba(blue, 0))'), '#fff')
-1 14 assert.equal(renderer.value('contrast.alpha-blend(rgba(white, 0), blue)'), 'blue')
-1 15 assert.equal(renderer.value('contrast.alpha-blend(rgba(black, 0), blue)'), 'blue')
-1 16 assert.equal(renderer.value('contrast.alpha-blend(rgba(red, 0), blue)'), 'blue')
-1 17 assert.equal(renderer.value('contrast.alpha-blend(rgba(blue, 0))'), '#fff')
18 18 });
19 19 it('50%', function() {
20 -1 assert.equal(renderer.value('alpha-blend(rgba(white, .5), blue)'), '#8080ff')
21 -1 assert.equal(renderer.value('alpha-blend(rgba(black, .5), blue)'), 'navy')
22 -1 assert.equal(renderer.value('alpha-blend(rgba(red, .5), blue)'), 'purple')
23 -1 assert.equal(renderer.value('alpha-blend(rgba(blue, .5))'), '#8080ff')
-1 20 assert.equal(renderer.value('contrast.alpha-blend(rgba(white, .5), blue)'), '#8080ff')
-1 21 assert.equal(renderer.value('contrast.alpha-blend(rgba(black, .5), blue)'), 'navy')
-1 22 assert.equal(renderer.value('contrast.alpha-blend(rgba(red, .5), blue)'), 'purple')
-1 23 assert.equal(renderer.value('contrast.alpha-blend(rgba(blue, .5))'), '#8080ff')
24 24 });
25 25 it('13%', function() {
26 -1 assert.equal(renderer.value('alpha-blend(rgba(white, .13), blue)'), '#2121ff')
27 -1 assert.equal(renderer.value('alpha-blend(rgba(black, .13), blue)'), '#0000de')
28 -1 assert.equal(renderer.value('alpha-blend(rgba(red, .13), blue)'), '#2100de')
29 -1 assert.equal(renderer.value('alpha-blend(rgba(blue, .13))'), '#dedeff')
-1 26 assert.equal(renderer.value('contrast.alpha-blend(rgba(white, .13), blue)'), '#2121ff')
-1 27 assert.equal(renderer.value('contrast.alpha-blend(rgba(black, .13), blue)'), '#0000de')
-1 28 assert.equal(renderer.value('contrast.alpha-blend(rgba(red, .13), blue)'), '#2100de')
-1 29 assert.equal(renderer.value('contrast.alpha-blend(rgba(blue, .13))'), '#dedeff')
30 30 });
31 31 it('transparent background', function() {
32 -1 assert.equal(renderer.value('alpha-blend(rgba(white, .5), rgba(blue, .5))'), 'rgba(170,170,255,.75)')
-1 32 assert.equal(renderer.value('contrast.alpha-blend(rgba(white, .5), rgba(blue, .5))'), 'rgba(170,170,255,.75)')
33 33 });
34 34 it('both fully transparent', function() {
35 -1 assert.equal(renderer.value('alpha-blend(rgba(white, 0), rgba(black, 0))'), 'rgba(255,255,255,0)')
-1 35 assert.equal(renderer.value('contrast.alpha-blend(rgba(white, 0), rgba(black, 0))'), 'rgba(255,255,255,0)')
36 36 });
37 37 });
38 38
39 39 describe('luma', function() {
40 40 it('white', function() {
41 -1 assert.equal(renderer.value('luma(white)'), '1')
-1 41 assert.equal(renderer.value('contrast.luma(white)'), '1')
42 42 });
43 43 it('black', function() {
44 -1 assert.equal(renderer.value('luma(black)'), '0')
-1 44 assert.equal(renderer.value('contrast.luma(black)'), '0')
45 45 });
46 46 it('red', function() {
47 -1 assert.equal(renderer.value('luma(#f00)'), '.2126')
-1 47 assert.equal(renderer.value('contrast.luma(#f00)'), '.2126')
48 48 });
49 49 it('green', function() {
50 -1 assert.equal(renderer.value('luma(#0f0)'), '.7152')
-1 50 assert.equal(renderer.value('contrast.luma(#0f0)'), '.7152')
51 51 });
52 52 it('blue', function() {
53 -1 assert.equal(renderer.value('luma(#00f)'), '.0722')
-1 53 assert.equal(renderer.value('contrast.luma(#00f)'), '.0722')
54 54 });
55 55 it('yellow', function() {
56 -1 assert.equal(renderer.value('luma(yellow)'), '.9278')
-1 56 assert.equal(renderer.value('contrast.luma(yellow)'), '.9278')
57 57 });
58 58 it('cyan', function() {
59 -1 assert.equal(renderer.value('luma(cyan)'), '.7874')
-1 59 assert.equal(renderer.value('contrast.luma(cyan)'), '.7874')
60 60 });
61 61 it('random', function() {
62 -1 shared.similar(renderer.value('luma(rgb(12, 180, 92))'), .3349, .02);
-1 62 shared.similar(renderer.value('contrast.luma(rgb(12, 180, 92))'), .3349, .02);
63 63 });
64 64 it('white with alpha', function() {
65 -1 assert.equal(renderer.value('luma(rgba(255,255,255,.5))'), '1')
-1 65 assert.equal(renderer.value('contrast.luma(rgba(255,255,255,.5))'), '1')
66 66 });
67 67 it('black with alpha', function() {
68 -1 assert.equal(renderer.value('luma(rgba(0,0,0,.5))'), '0')
-1 68 assert.equal(renderer.value('contrast.luma(rgba(0,0,0,.5))'), '0')
69 69 });
70 70 });
71 71
72 72 describe('contrast', function() {
73 73 it('white-black', function() {
74 -1 assert.equal(renderer.value('contrast(white, black)'), '21')
-1 74 assert.equal(renderer.value('contrast.contrast(white, black)'), '21')
75 75 });
76 76 it('white-white', function() {
77 -1 assert.equal(renderer.value('contrast(white, white)'), '1')
-1 77 assert.equal(renderer.value('contrast.contrast(white, white)'), '1')
78 78 });
79 79 it('black-black', function() {
80 -1 assert.equal(renderer.value('contrast(black, black)'), '1')
-1 80 assert.equal(renderer.value('contrast.contrast(black, black)'), '1')
81 81 });
82 82 it('red-red', function() {
83 -1 assert.equal(renderer.value('contrast(red, red)'), '1')
-1 83 assert.equal(renderer.value('contrast.contrast(red, red)'), '1')
84 84 });
85 85 it('red-lightblue', function() {
86 -1 shared.similar(renderer.value('contrast(red, #676eff)'), 1, .02);
-1 86 shared.similar(renderer.value('contrast.contrast(red, #676eff)'), 1, .02);
87 87 });
88 88 });
89 89
90 90 describe('contrast-color', function() {
91 91 it('white', function() {
92 -1 assert.equal(renderer.value('contrast-color(white)'), '#000')
-1 92 assert.equal(renderer.value('contrast.contrast-color(white)'), '#000')
93 93 });
94 94 it('black', function() {
95 -1 assert.equal(renderer.value('contrast-color(black)'), '#fff')
-1 95 assert.equal(renderer.value('contrast.contrast-color(black)'), '#fff')
96 96 });
97 97 it('red', function() {
98 -1 assert.equal(renderer.value('contrast-color(#f00)'), '#000')
-1 98 assert.equal(renderer.value('contrast.contrast-color(#f00)'), '#000')
99 99 });
100 100 it('green', function() {
101 -1 assert.equal(renderer.value('contrast-color(#0f0)'), '#000')
-1 101 assert.equal(renderer.value('contrast.contrast-color(#0f0)'), '#000')
102 102 });
103 103 it('blue', function() {
104 -1 assert.equal(renderer.value('contrast-color(#00f)'), '#fff')
-1 104 assert.equal(renderer.value('contrast.contrast-color(#00f)'), '#fff')
105 105 });
106 106 it('yellow', function() {
107 -1 assert.equal(renderer.value('contrast-color(yellow)'), '#000')
-1 107 assert.equal(renderer.value('contrast.contrast-color(yellow)'), '#000')
108 108 });
109 109 it('cyan', function() {
110 -1 assert.equal(renderer.value('contrast-color(cyan)'), '#000')
-1 110 assert.equal(renderer.value('contrast.contrast-color(cyan)'), '#000')
111 111 });
112 112 it('light', function() {
113 -1 assert.equal(renderer.value('contrast-color(white, #111, #eee)'), '#111')
-1 113 assert.equal(renderer.value('contrast.contrast-color(white, #111, #eee)'), '#111')
114 114 });
115 115 it('dark', function() {
116 -1 assert.equal(renderer.value('contrast-color(black, #111, #eee)'), '#eee')
-1 116 assert.equal(renderer.value('contrast.contrast-color(black, #111, #eee)'), '#eee')
117 117 });
118 118 it('middle', function() {
119 -1 assert.equal(renderer.value('contrast-color(#555, #111, #eee)'), '#eee')
-1 119 assert.equal(renderer.value('contrast.contrast-color(#555, #111, #eee)'), '#eee')
120 120 });
121 121 it('swapped', function() {
122 -1 assert.equal(renderer.value('contrast-color(white, #eee, #111)'), '#111')
-1 122 assert.equal(renderer.value('contrast.contrast-color(white, #eee, #111)'), '#111')
123 123 });
124 124 });
125 125
126 126 describe('contrast-stretch', function() {
127 127 it('white-black', function() {
128 -1 assert.equal(renderer.value('contrast-stretch(white, black)'), '#000')
-1 128 assert.equal(renderer.value('contrast.contrast-stretch(white, black)'), '#000')
129 129 });
130 130 it('white-#333', function() {
131 -1 assert.equal(renderer.value('contrast-stretch(white, #333)'), '#333')
-1 131 assert.equal(renderer.value('contrast.contrast-stretch(white, #333)'), '#333')
132 132 });
133 133 it('white-#333-21', function() {
134 -1 assert.equal(renderer.value('contrast-stretch(white, #333, 21)'), '#000')
-1 134 assert.equal(renderer.value('contrast.contrast-stretch(white, #333, 21)'), '#000')
135 135 });
136 136 it('#333-blue-7', function() {
137 -1 assert.equal(renderer.value('contrast-stretch(#333, blue, 7)'), '#bbf')
-1 137 assert.equal(renderer.value('contrast.contrast-stretch(#333, blue, 7)'), '#bbf')
138 138 });
139 139 it('#333-blue-AAA', function() {
140 -1 assert.equal(renderer.value('contrast-stretch(#333, blue, "AAA")'), '#bbf')
-1 140 assert.equal(renderer.value('contrast.contrast-stretch(#333, blue, "AAA")'), '#bbf')
141 141 });
142 142 });
143 143 });