color 1.7.1 → 2.0.0.pre.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +5 -13
  2. data/CHANGELOG.md +298 -0
  3. data/CODE_OF_CONDUCT.md +128 -0
  4. data/CONTRIBUTING.md +70 -0
  5. data/CONTRIBUTORS.md +10 -0
  6. data/LICENCE.md +27 -0
  7. data/Manifest.txt +11 -21
  8. data/README.md +54 -0
  9. data/Rakefile +74 -53
  10. data/SECURITY.md +34 -0
  11. data/lib/color/cielab.rb +348 -0
  12. data/lib/color/cmyk.rb +279 -213
  13. data/lib/color/grayscale.rb +128 -160
  14. data/lib/color/hsl.rb +205 -173
  15. data/lib/color/rgb/colors.rb +177 -163
  16. data/lib/color/rgb.rb +534 -537
  17. data/lib/color/version.rb +5 -0
  18. data/lib/color/xyz.rb +214 -0
  19. data/lib/color/yiq.rb +91 -46
  20. data/lib/color.rb +208 -141
  21. data/test/fixtures/cielab.json +444 -0
  22. data/test/minitest_helper.rb +20 -4
  23. data/test/test_cmyk.rb +49 -71
  24. data/test/test_color.rb +58 -106
  25. data/test/test_grayscale.rb +35 -56
  26. data/test/test_hsl.rb +72 -76
  27. data/test/test_rgb.rb +195 -267
  28. data/test/test_yiq.rb +12 -30
  29. metadata +165 -150
  30. checksums.yaml.gz.sig +0 -0
  31. data/.autotest +0 -5
  32. data/.gemtest +0 -0
  33. data/.hoerc +0 -2
  34. data/.minitest.rb +0 -2
  35. data/.travis.yml +0 -35
  36. data/Contributing.rdoc +0 -60
  37. data/Gemfile +0 -9
  38. data/History.rdoc +0 -172
  39. data/Licence.rdoc +0 -27
  40. data/README.rdoc +0 -50
  41. data/lib/color/css.rb +0 -7
  42. data/lib/color/palette/adobecolor.rb +0 -260
  43. data/lib/color/palette/gimp.rb +0 -104
  44. data/lib/color/palette/monocontrast.rb +0 -164
  45. data/lib/color/palette.rb +0 -4
  46. data/lib/color/rgb/contrast.rb +0 -57
  47. data/lib/color/rgb/metallic.rb +0 -28
  48. data/test/test_adobecolor.rb +0 -405
  49. data/test/test_css.rb +0 -19
  50. data/test/test_gimp.rb +0 -87
  51. data/test/test_monocontrast.rb +0 -130
  52. data.tar.gz.sig +0 -0
  53. metadata.gz.sig +0 -0
@@ -0,0 +1,444 @@
1
+ [
2
+ {
3
+ "c1": {
4
+ "L": "50.0000",
5
+ "a": "2.6772",
6
+ "b": "-79.7751"
7
+ },
8
+ "c2": {
9
+ "L": "50.0000",
10
+ "a": "0.0000",
11
+ "b": "-82.7485"
12
+ },
13
+ "∂E2000": "2.0425"
14
+ },
15
+ {
16
+ "c1": {
17
+ "L": "50.0000",
18
+ "a": "3.1571",
19
+ "b": "-77.2803"
20
+ },
21
+ "c2": {
22
+ "L": "50.0000",
23
+ "a": "0.0000",
24
+ "b": "-82.7485"
25
+ },
26
+ "∂E2000": "2.8615"
27
+ },
28
+ {
29
+ "c1": {
30
+ "L": "50.0000",
31
+ "a": "2.8361",
32
+ "b": "-74.0200"
33
+ },
34
+ "c2": {
35
+ "L": "50.0000",
36
+ "a": "0.0000",
37
+ "b": "-82.7485"
38
+ },
39
+ "∂E2000": "3.4412"
40
+ },
41
+ {
42
+ "c1": {
43
+ "L": "50.0000",
44
+ "a": "-1.3802",
45
+ "b": "-84.2814"
46
+ },
47
+ "c2": {
48
+ "L": "50.0000",
49
+ "a": "0.0000",
50
+ "b": "-82.7485"
51
+ },
52
+ "∂E2000": "1.0000"
53
+ },
54
+ {
55
+ "c1": {
56
+ "L": "50.0000",
57
+ "a": "-1.1848",
58
+ "b": "-84.8006"
59
+ },
60
+ "c2": {
61
+ "L": "50.0000",
62
+ "a": "0.0000",
63
+ "b": "-82.7485"
64
+ },
65
+ "∂E2000": "1.0000"
66
+ },
67
+ {
68
+ "c1": {
69
+ "L": "50.0000",
70
+ "a": "-0.9009",
71
+ "b": "-85.5211"
72
+ },
73
+ "c2": {
74
+ "L": "50.0000",
75
+ "a": "0.0000",
76
+ "b": "-82.7485"
77
+ },
78
+ "∂E2000": "1.0000"
79
+ },
80
+ {
81
+ "c1": {
82
+ "L": "50.0000",
83
+ "a": "0.0000",
84
+ "b": "0.0000"
85
+ },
86
+ "c2": {
87
+ "L": "50.0000",
88
+ "a": "-1.0000",
89
+ "b": "2.0000"
90
+ },
91
+ "∂E2000": "2.3669"
92
+ },
93
+ {
94
+ "c1": {
95
+ "L": "50.0000",
96
+ "a": "-1.0000",
97
+ "b": "2.0000"
98
+ },
99
+ "c2": {
100
+ "L": "50.0000",
101
+ "a": "0.0000",
102
+ "b": "0.0000"
103
+ },
104
+ "∂E2000": "2.3669"
105
+ },
106
+ {
107
+ "c1": {
108
+ "L": "50.0000",
109
+ "a": "2.4900",
110
+ "b": "-0.0010"
111
+ },
112
+ "c2": {
113
+ "L": "50.0000",
114
+ "a": "-2.4900",
115
+ "b": "0.0009"
116
+ },
117
+ "∂E2000": "7.1792"
118
+ },
119
+ {
120
+ "c1": {
121
+ "L": "50.0000",
122
+ "a": "2.4900",
123
+ "b": "-0.0010"
124
+ },
125
+ "c2": {
126
+ "L": "50.0000",
127
+ "a": "-2.4900",
128
+ "b": "0.0010"
129
+ },
130
+ "∂E2000": "7.1792"
131
+ },
132
+ {
133
+ "c1": {
134
+ "L": "50.0000",
135
+ "a": "2.4900",
136
+ "b": "-0.0010"
137
+ },
138
+ "c2": {
139
+ "L": "50.0000",
140
+ "a": "-2.4900",
141
+ "b": "0.0011"
142
+ },
143
+ "∂E2000": "7.2195"
144
+ },
145
+ {
146
+ "c1": {
147
+ "L": "50.0000",
148
+ "a": "2.4900",
149
+ "b": "-0.0010"
150
+ },
151
+ "c2": {
152
+ "L": "50.0000",
153
+ "a": "-2.4900",
154
+ "b": "0.0012"
155
+ },
156
+ "∂E2000": "7.2195"
157
+ },
158
+ {
159
+ "c1": {
160
+ "L": "50.0000",
161
+ "a": "-0.0010",
162
+ "b": "2.4900"
163
+ },
164
+ "c2": {
165
+ "L": "50.0000",
166
+ "a": "0.0009",
167
+ "b": "-2.4900"
168
+ },
169
+ "∂E2000": "4.8045"
170
+ },
171
+ {
172
+ "c1": {
173
+ "L": "50.0000",
174
+ "a": "-0.0010",
175
+ "b": "2.4900"
176
+ },
177
+ "c2": {
178
+ "L": "50.0000",
179
+ "a": "0.0010",
180
+ "b": "-2.4900"
181
+ },
182
+ "∂E2000": "4.8045"
183
+ },
184
+ {
185
+ "c1": {
186
+ "L": "50.0000",
187
+ "a": "-0.0010",
188
+ "b": "2.4900"
189
+ },
190
+ "c2": {
191
+ "L": "50.0000",
192
+ "a": "0.0011",
193
+ "b": "-2.4900"
194
+ },
195
+ "∂E2000": "4.7461"
196
+ },
197
+ {
198
+ "c1": {
199
+ "L": "50.0000",
200
+ "a": "2.5000",
201
+ "b": "0.0000"
202
+ },
203
+ "c2": {
204
+ "L": "50.0000",
205
+ "a": "0.0000",
206
+ "b": "-2.5000"
207
+ },
208
+ "∂E2000": "4.3065"
209
+ },
210
+ {
211
+ "c1": {
212
+ "L": "50.0000",
213
+ "a": "2.5000",
214
+ "b": "0.0000"
215
+ },
216
+ "c2": {
217
+ "L": "73.0000",
218
+ "a": "25.0000",
219
+ "b": "-18.0000"
220
+ },
221
+ "∂E2000": "27.1492"
222
+ },
223
+ {
224
+ "c1": {
225
+ "L": "50.0000",
226
+ "a": "2.5000",
227
+ "b": "0.0000"
228
+ },
229
+ "c2": {
230
+ "L": "61.0000",
231
+ "a": "-5.0000",
232
+ "b": "29.0000"
233
+ },
234
+ "∂E2000": "22.8977"
235
+ },
236
+ {
237
+ "c1": {
238
+ "L": "50.0000",
239
+ "a": "2.5000",
240
+ "b": "0.0000"
241
+ },
242
+ "c2": {
243
+ "L": "56.0000",
244
+ "a": "-27.0000",
245
+ "b": "-3.0000"
246
+ },
247
+ "∂E2000": "31.9030"
248
+ },
249
+ {
250
+ "c1": {
251
+ "L": "50.0000",
252
+ "a": "2.5000",
253
+ "b": "0.0000"
254
+ },
255
+ "c2": {
256
+ "L": "58.0000",
257
+ "a": "24.0000",
258
+ "b": "15.0000"
259
+ },
260
+ "∂E2000": "19.4535"
261
+ },
262
+ {
263
+ "c1": {
264
+ "L": "50.0000",
265
+ "a": "2.5000",
266
+ "b": "0.0000"
267
+ },
268
+ "c2": {
269
+ "L": "50.0000",
270
+ "a": "3.1736",
271
+ "b": "0.5854"
272
+ },
273
+ "∂E2000": "1.0000"
274
+ },
275
+ {
276
+ "c1": {
277
+ "L": "50.0000",
278
+ "a": "2.5000",
279
+ "b": "0.0000"
280
+ },
281
+ "c2": {
282
+ "L": "50.0000",
283
+ "a": "3.2972",
284
+ "b": "0.0000"
285
+ },
286
+ "∂E2000": "1.0000"
287
+ },
288
+ {
289
+ "c1": {
290
+ "L": "50.0000",
291
+ "a": "2.5000",
292
+ "b": "0.0000"
293
+ },
294
+ "c2": {
295
+ "L": "50.0000",
296
+ "a": "1.8634",
297
+ "b": "0.5757"
298
+ },
299
+ "∂E2000": "1.0000"
300
+ },
301
+ {
302
+ "c1": {
303
+ "L": "50.0000",
304
+ "a": "2.5000",
305
+ "b": "0.0000"
306
+ },
307
+ "c2": {
308
+ "L": "50.0000",
309
+ "a": "3.2592",
310
+ "b": "0.3350"
311
+ },
312
+ "∂E2000": "1.0000"
313
+ },
314
+ {
315
+ "c1": {
316
+ "L": "60.2574",
317
+ "a": "-34.0099",
318
+ "b": "36.2677"
319
+ },
320
+ "c2": {
321
+ "L": "60.4626",
322
+ "a": "-34.1751",
323
+ "b": "39.4387"
324
+ },
325
+ "∂E2000": "1.2644"
326
+ },
327
+ {
328
+ "c1": {
329
+ "L": "63.0109",
330
+ "a": "-31.0961",
331
+ "b": "-5.8663"
332
+ },
333
+ "c2": {
334
+ "L": "62.8187",
335
+ "a": "-29.7946",
336
+ "b": "-4.0864"
337
+ },
338
+ "∂E2000": "1.2630"
339
+ },
340
+ {
341
+ "c1": {
342
+ "L": "61.2901",
343
+ "a": "3.7196",
344
+ "b": "-5.3901"
345
+ },
346
+ "c2": {
347
+ "L": "61.4292",
348
+ "a": "2.2480",
349
+ "b": "-4.9620"
350
+ },
351
+ "∂E2000": "1.8731"
352
+ },
353
+ {
354
+ "c1": {
355
+ "L": "35.0831",
356
+ "a": "-44.1164",
357
+ "b": "3.7933"
358
+ },
359
+ "c2": {
360
+ "L": "35.0232",
361
+ "a": "-40.0716",
362
+ "b": "1.5901"
363
+ },
364
+ "∂E2000": "1.8645"
365
+ },
366
+ {
367
+ "c1": {
368
+ "L": "22.7233",
369
+ "a": "20.0904",
370
+ "b": "-46.6940"
371
+ },
372
+ "c2": {
373
+ "L": "23.0331",
374
+ "a": "14.9730",
375
+ "b": "-42.5619"
376
+ },
377
+ "∂E2000": "2.0373"
378
+ },
379
+ {
380
+ "c1": {
381
+ "L": "36.4612",
382
+ "a": "47.8580",
383
+ "b": "18.3852"
384
+ },
385
+ "c2": {
386
+ "L": "36.2715",
387
+ "a": "50.5065",
388
+ "b": "21.2231"
389
+ },
390
+ "∂E2000": "1.4146"
391
+ },
392
+ {
393
+ "c1": {
394
+ "L": "90.8027",
395
+ "a": "-2.0831",
396
+ "b": "1.4410"
397
+ },
398
+ "c2": {
399
+ "L": "91.1528",
400
+ "a": "-1.6435",
401
+ "b": "0.0447"
402
+ },
403
+ "∂E2000": "1.4441"
404
+ },
405
+ {
406
+ "c1": {
407
+ "L": "90.9257",
408
+ "a": "-0.5406",
409
+ "b": "-0.9208"
410
+ },
411
+ "c2": {
412
+ "L": "88.6381",
413
+ "a": "-0.8985",
414
+ "b": "-0.7239"
415
+ },
416
+ "∂E2000": "1.5381"
417
+ },
418
+ {
419
+ "c1": {
420
+ "L": "6.7747",
421
+ "a": "-0.2908",
422
+ "b": "-2.4247"
423
+ },
424
+ "c2": {
425
+ "L": "5.8714",
426
+ "a": "-0.0985",
427
+ "b": "-2.2286"
428
+ },
429
+ "∂E2000": "0.6377"
430
+ },
431
+ {
432
+ "c1": {
433
+ "L": "2.0776",
434
+ "a": "0.0795",
435
+ "b": "-1.1350"
436
+ },
437
+ "c2": {
438
+ "L": "0.9033",
439
+ "a": "-0.0636",
440
+ "b": "-0.5514"
441
+ },
442
+ "∂E2000": "0.9082"
443
+ }
444
+ ]
@@ -1,6 +1,22 @@
1
- # -*- ruby encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
- require 'color'
3
+ require "color"
4
+ require "color/rgb/colors"
4
5
 
5
- gem 'minitest'
6
- require 'minitest/autorun'
6
+ gem "minitest"
7
+ require "minitest/autorun"
8
+ require "minitest/focus"
9
+
10
+ if ENV["STRICT"]
11
+ $VERBOSE = true
12
+ Warning[:deprecated] = true
13
+ require "minitest/error_on_warning"
14
+ end
15
+
16
+ module Minitest::ColorExtensions
17
+ def assert_in_tolerance(expected, actual, msg = nil)
18
+ assert_in_delta expected, actual, Color::TOLERANCE, msg
19
+ end
20
+
21
+ Minitest::Test.send(:include, self)
22
+ end
data/test/test_cmyk.rb CHANGED
@@ -1,61 +1,33 @@
1
- # -*- ruby encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
- require 'color'
4
- require 'minitest_helper'
3
+ require "color"
4
+ require "minitest_helper"
5
5
 
6
6
  module TestColor
7
7
  class TestCMYK < Minitest::Test
8
8
  def setup
9
- @cmyk = Color::CMYK.new(10, 20, 30, 40)
9
+ @cmyk = Color::CMYK.from_percentage(10, 20, 30, 40)
10
10
  end
11
11
 
12
12
  def test_cyan
13
- assert_in_delta(0.1, @cmyk.c, Color::COLOR_TOLERANCE)
14
- assert_in_delta(10, @cmyk.cyan, Color::COLOR_TOLERANCE)
15
- @cmyk.cyan = 20
16
- assert_in_delta(0.2, @cmyk.c, Color::COLOR_TOLERANCE)
17
- @cmyk.c = 2.0
18
- assert_in_delta(100, @cmyk.cyan, Color::COLOR_TOLERANCE)
19
- @cmyk.c = -1.0
20
- assert_in_delta(0.0, @cmyk.c, Color::COLOR_TOLERANCE)
13
+ assert_in_tolerance(0.1, @cmyk.c)
14
+ assert_in_tolerance(10, @cmyk.cyan)
15
+ assert_in_tolerance(0.0, Color::CMYK[-1.0, 20, 30, 40].cyan)
21
16
  end
22
17
 
23
18
  def test_magenta
24
- assert_in_delta(0.2, @cmyk.m, Color::COLOR_TOLERANCE)
25
- assert_in_delta(20, @cmyk.magenta, Color::COLOR_TOLERANCE)
26
- @cmyk.magenta = 30
27
- assert_in_delta(0.3, @cmyk.m, Color::COLOR_TOLERANCE)
28
- @cmyk.m = 2.0
29
- assert_in_delta(100, @cmyk.magenta, Color::COLOR_TOLERANCE)
30
- @cmyk.m = -1.0
31
- assert_in_delta(0.0, @cmyk.m, Color::COLOR_TOLERANCE)
19
+ assert_in_tolerance(0.2, @cmyk.m)
20
+ assert_in_tolerance(20, @cmyk.magenta)
32
21
  end
33
22
 
34
23
  def test_yellow
35
- assert_in_delta(0.3, @cmyk.y, Color::COLOR_TOLERANCE)
36
- assert_in_delta(30, @cmyk.yellow, Color::COLOR_TOLERANCE)
37
- @cmyk.yellow = 20
38
- assert_in_delta(0.2, @cmyk.y, Color::COLOR_TOLERANCE)
39
- @cmyk.y = 2.0
40
- assert_in_delta(100, @cmyk.yellow, Color::COLOR_TOLERANCE)
41
- @cmyk.y = -1.0
42
- assert_in_delta(0.0, @cmyk.y, Color::COLOR_TOLERANCE)
24
+ assert_in_tolerance(0.3, @cmyk.y)
25
+ assert_in_tolerance(30, @cmyk.yellow)
43
26
  end
44
27
 
45
28
  def test_black
46
- assert_in_delta(0.4, @cmyk.k, Color::COLOR_TOLERANCE)
47
- assert_in_delta(40, @cmyk.black, Color::COLOR_TOLERANCE)
48
- @cmyk.black = 20
49
- assert_in_delta(0.2, @cmyk.k, Color::COLOR_TOLERANCE)
50
- @cmyk.k = 2.0
51
- assert_in_delta(100, @cmyk.black, Color::COLOR_TOLERANCE)
52
- @cmyk.k = -1.0
53
- assert_in_delta(0.0, @cmyk.k, Color::COLOR_TOLERANCE)
54
- end
55
-
56
- def test_pdf
57
- assert_equal("0.100 0.200 0.300 0.400 k", @cmyk.pdf_fill)
58
- assert_equal("0.100 0.200 0.300 0.400 K", @cmyk.pdf_stroke)
29
+ assert_in_tolerance(0.4, @cmyk.k)
30
+ assert_in_tolerance(40, @cmyk.black)
59
31
  end
60
32
 
61
33
  def test_to_cmyk
@@ -64,49 +36,55 @@ module TestColor
64
36
 
65
37
  def test_to_grayscale
66
38
  gs = @cmyk.to_grayscale
67
- assert_kind_of(Color::GrayScale, gs)
68
- assert_in_delta(0.4185, gs.g, Color::COLOR_TOLERANCE)
69
- assert_kind_of(Color::GreyScale, @cmyk.to_greyscale)
39
+ assert_kind_of(Color::Grayscale, gs)
40
+ assert_in_tolerance(0.4185, gs.g)
41
+ assert_kind_of(Color::Grayscale, @cmyk.to_grayscale)
70
42
  end
71
43
 
72
- def test_to_hsl
73
- hsl = @cmyk.to_hsl
74
- assert_kind_of(Color::HSL, hsl)
75
- assert_in_delta(0.48, hsl.l, Color::COLOR_TOLERANCE)
76
- assert_in_delta(0.125, hsl.s, Color::COLOR_TOLERANCE)
77
- assert_in_delta(0.08333, hsl.h, Color::COLOR_TOLERANCE)
78
- assert_equal("hsl(30.00, 12.50%, 48.00%)", @cmyk.css_hsl)
79
- assert_equal("hsla(30.00, 12.50%, 48.00%, 1.00)", @cmyk.css_hsla)
80
- end
44
+ # def test_to_hsl
45
+ # hsl = @cmyk.to_hsl
46
+ # assert_kind_of(Color::HSL, hsl)
47
+ # assert_in_tolerance(0.48, hsl.l)
48
+ # assert_in_tolerance(0.125, hsl.s)
49
+ # assert_in_tolerance(0.08333, hsl.h)
50
+ # end
81
51
 
82
52
  def test_to_rgb
83
- rgb = @cmyk.to_rgb(true)
53
+ rgb = @cmyk.to_rgb(rgb_method: :adobe)
84
54
  assert_kind_of(Color::RGB, rgb)
85
- assert_in_delta(0.5, rgb.r, Color::COLOR_TOLERANCE)
86
- assert_in_delta(0.4, rgb.g, Color::COLOR_TOLERANCE)
87
- assert_in_delta(0.3, rgb.b, Color::COLOR_TOLERANCE)
55
+ assert_in_tolerance(0.5, rgb.r)
56
+ assert_in_tolerance(0.4, rgb.g)
57
+ assert_in_tolerance(0.3, rgb.b)
88
58
 
89
59
  rgb = @cmyk.to_rgb
90
60
  assert_kind_of(Color::RGB, rgb)
91
- assert_in_delta(0.54, rgb.r, Color::COLOR_TOLERANCE)
92
- assert_in_delta(0.48, rgb.g, Color::COLOR_TOLERANCE)
93
- assert_in_delta(0.42, rgb.b, Color::COLOR_TOLERANCE)
94
-
95
- assert_equal("#8a7a6b", @cmyk.html)
96
- assert_equal("rgb(54.00%, 48.00%, 42.00%)", @cmyk.css_rgb)
97
- assert_equal("rgba(54.00%, 48.00%, 42.00%, 1.00)", @cmyk.css_rgba)
61
+ assert_in_tolerance(0.54, rgb.r)
62
+ assert_in_tolerance(0.48, rgb.g)
63
+ assert_in_tolerance(0.42, rgb.b)
98
64
  end
99
65
 
100
66
  def test_inspect
101
- assert_equal("CMYK [10.00%, 20.00%, 30.00%, 40.00%]", @cmyk.inspect)
67
+ assert_equal("CMYK [10.00% 20.00% 30.00% 40.00%]", @cmyk.inspect)
102
68
  end
103
69
 
104
- def test_to_yiq
105
- yiq = @cmyk.to_yiq
106
- assert_kind_of(Color::YIQ, yiq)
107
- assert_in_delta(0.4911, yiq.y, Color::COLOR_TOLERANCE)
108
- assert_in_delta(0.05502, yiq.i, Color::COLOR_TOLERANCE)
109
- assert_in_delta(0.0, yiq.q, Color::COLOR_TOLERANCE)
70
+ def test_css
71
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00%, rgb(54.00% 48.00% 42.00%))", @cmyk.css)
72
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00% / 0.50, rgb(54.00% 48.00% 42.00% / 0.50))", @cmyk.css(alpha: 0.5))
73
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00%)", @cmyk.css(fallback: false))
74
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00% / 0.50)", @cmyk.css(alpha: 0.5, fallback: false))
75
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00%, rgb(0 0 100.00%))", @cmyk.css(fallback: Color::RGB::Blue))
76
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00% / 0.50, rgb(0 0 100.00% / 0.50))", @cmyk.css(alpha: 0.5, fallback: Color::RGB::Blue))
77
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00% / 0.50, rgb(0 0 100.00%))", @cmyk.css(alpha: 0.5, fallback: {color: Color::RGB::Blue}))
78
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00% / 0.50, rgb(0 0 100.00% / 0.30))", @cmyk.css(alpha: 0.5, fallback: {color: Color::RGB::Blue, alpha: 0.3}))
79
+ assert_equal("device-cmyk(10.00% 20.00% 30.00% 40.00% / 0.50, rgb(54.00% 48.00% 42.00% / 0.30))", @cmyk.css(alpha: 0.5, fallback: {alpha: 0.3}))
110
80
  end
81
+
82
+ # def test_to_yiq
83
+ # yiq = @cmyk.to_yiq
84
+ # assert_kind_of(Color::YIQ, yiq)
85
+ # assert_in_tolerance(0.4911, yiq.y)
86
+ # assert_in_tolerance(0.05502, yiq.i)
87
+ # assert_in_tolerance(0.0, yiq.q)
88
+ # end
111
89
  end
112
90
  end