color_lib 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.travis.yml +7 -0
- data/CHANGELOG +96 -0
- data/Gemfile +2 -0
- data/LICENSE.txt +21 -0
- data/README.md +25 -0
- data/Rakefile +11 -0
- data/color_lib.gemspec +24 -0
- data/lib/color_lib.rb +139 -0
- data/lib/color_lib/cmyk.rb +280 -0
- data/lib/color_lib/css.rb +15 -0
- data/lib/color_lib/grayscale.rb +205 -0
- data/lib/color_lib/hsl.rb +221 -0
- data/lib/color_lib/palette.rb +4 -0
- data/lib/color_lib/palette/adobecolor.rb +265 -0
- data/lib/color_lib/palette/gimp.rb +103 -0
- data/lib/color_lib/palette/monocontrast.rb +169 -0
- data/lib/color_lib/pantone.rb +1499 -0
- data/lib/color_lib/rgb-colors.rb +343 -0
- data/lib/color_lib/rgb.rb +461 -0
- data/lib/color_lib/rgb/metallic.rb +31 -0
- data/lib/color_lib/version.rb +3 -0
- data/lib/color_lib/yiq.rb +79 -0
- data/lib/test/unit/assertions.rb +332 -0
- data/setup.rb +1588 -0
- data/test/test_adobecolor.rb +404 -0
- data/test/test_cmyk.rb +117 -0
- data/test/test_color.rb +129 -0
- data/test/test_css.rb +18 -0
- data/test/test_gimp.rb +87 -0
- data/test/test_grayscale.rb +110 -0
- data/test/test_hsl.rb +140 -0
- data/test/test_monocontrast.rb +131 -0
- data/test/test_rgb.rb +333 -0
- data/test/test_yiq.rb +62 -0
- metadata +132 -0
@@ -0,0 +1,404 @@
|
|
1
|
+
require "minitest/autorun"
|
2
|
+
require 'test/unit/assertions'
|
3
|
+
require 'color_lib'
|
4
|
+
require 'color_lib/palette/adobecolor'
|
5
|
+
|
6
|
+
module TestColorLib
|
7
|
+
module TestPalette
|
8
|
+
class TestAdobeColorLib < Minitest::Test
|
9
|
+
include Test::Unit::Assertions
|
10
|
+
include ColorLib::Palette
|
11
|
+
|
12
|
+
# This is based on the Visibone Anglo-Centric ColorLib Code List; this is
|
13
|
+
# an Adobe ColorLib swatch version 1 (RGB colours only).
|
14
|
+
VISIBONE_V1 = <<-EOS
|
15
|
+
AAEA2AAA/wD/AP8AAAAAAMwAzADMAAAAAACZAJkAmQAAAAAAZgBmAGYAAAAA
|
16
|
+
ADMAMwAzAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAP8AMwAzAAAAAADMAAAA
|
17
|
+
AAAAAAAA/wBmAGYAAAAAAMwAMwAzAAAAAACZAAAAAAAAAAAA/wCZAJkAAAAA
|
18
|
+
AMwAZgBmAAAAAACZADMAMwAAAAAAZgAAAAAAAAAAAP8AzADMAAAAAADMAJkA
|
19
|
+
mQAAAAAAmQBmAGYAAAAAAGYAMwAzAAAAAAAzAAAAAAAAAAAA/wAzAAAAAAAA
|
20
|
+
AP8AZgAzAAAAAADMADMAAAAAAAAA/wCZAGYAAAAAAMwAZgAzAAAAAACZADMA
|
21
|
+
AAAAAAAA/wBmAAAAAAAAAP8AmQAzAAAAAADMAGYAAAAAAAAA/wDMAJkAAAAA
|
22
|
+
AMwAmQBmAAAAAACZAGYAMwAAAAAAZgAzAAAAAAAAAP8AmQAAAAAAAAD/AMwA
|
23
|
+
ZgAAAAAAzACZADMAAAAAAJkAZgAAAAAAAADMAJkAAAAAAAAA/wDMADMAAAAA
|
24
|
+
AP8AzAAAAAAAAAD/AP8AAAAAAAAA/wD/ADMAAAAAAMwAzAAAAAAAAAD/AP8A
|
25
|
+
ZgAAAAAAzADMADMAAAAAAJkAmQAAAAAAAAD/AP8AmQAAAAAAzADMAGYAAAAA
|
26
|
+
AJkAmQAzAAAAAABmAGYAAAAAAAAA/wD/AMwAAAAAAMwAzACZAAAAAACZAJkA
|
27
|
+
ZgAAAAAAZgBmADMAAAAAADMAMwAAAAAAAADMAP8AAAAAAAAAzAD/ADMAAAAA
|
28
|
+
AJkAzAAAAAAAAADMAP8AZgAAAAAAmQDMADMAAAAAAGYAmQAAAAAAAACZAP8A
|
29
|
+
AAAAAAAAmQD/ADMAAAAAAGYAzAAAAAAAAADMAP8AmQAAAAAAmQDMAGYAAAAA
|
30
|
+
AGYAmQAzAAAAAAAzAGYAAAAAAAAAZgD/AAAAAAAAAJkA/wBmAAAAAABmAMwA
|
31
|
+
MwAAAAAAMwCZAAAAAAAAAGYA/wAzAAAAAAAzAMwAAAAAAAAAMwD/AAAAAAAA
|
32
|
+
AAAA/wAAAAAAAAAzAP8AMwAAAAAAAADMAAAAAAAAAGYA/wBmAAAAAAAzAMwA
|
33
|
+
MwAAAAAAAACZAAAAAAAAAJkA/wCZAAAAAABmAMwAZgAAAAAAMwCZADMAAAAA
|
34
|
+
AAAAZgAAAAAAAADMAP8AzAAAAAAAmQDMAJkAAAAAAGYAmQBmAAAAAAAzAGYA
|
35
|
+
MwAAAAAAAAAzAAAAAAAAAAAA/wAzAAAAAAAzAP8AZgAAAAAAAADMADMAAAAA
|
36
|
+
AGYA/wCZAAAAAAAzAMwAZgAAAAAAAACZADMAAAAAAAAA/wBmAAAAAAAzAP8A
|
37
|
+
mQAAAAAAAADMAGYAAAAAAJkA/wDMAAAAAABmAMwAmQAAAAAAMwCZAGYAAAAA
|
38
|
+
AAAAZgAzAAAAAAAAAP8AmQAAAAAAZgD/AMwAAAAAADMAzACZAAAAAAAAAJkA
|
39
|
+
ZgAAAAAAMwD/AMwAAAAAAAAAzACZAAAAAAAAAP8AzAAAAAAAAAD/AP8AAAAA
|
40
|
+
ADMA/wD/AAAAAAAAAMwAzAAAAAAAZgD/AP8AAAAAADMAzADMAAAAAAAAAJkA
|
41
|
+
mQAAAAAAmQD/AP8AAAAAAGYAzADMAAAAAAAzAJkAmQAAAAAAAABmAGYAAAAA
|
42
|
+
AMwA/wD/AAAAAACZAMwAzAAAAAAAZgCZAJkAAAAAADMAZgBmAAAAAAAAADMA
|
43
|
+
MwAAAAAAAADMAP8AAAAAADMAzAD/AAAAAAAAAJkAzAAAAAAAZgDMAP8AAAAA
|
44
|
+
ADMAmQDMAAAAAAAAAGYAmQAAAAAAAACZAP8AAAAAADMAmQD/AAAAAAAAAGYA
|
45
|
+
zAAAAAAAmQDMAP8AAAAAAGYAmQDMAAAAAAAzAGYAmQAAAAAAAAAzAGYAAAAA
|
46
|
+
AAAAZgD/AAAAAABmAJkA/wAAAAAAMwBmAMwAAAAAAAAAMwCZAAAAAAAzAGYA
|
47
|
+
/wAAAAAAAAAzAMwAAAAAAAAAMwD/AAAAAAAAAAAA/wAAAAAAMwAzAP8AAAAA
|
48
|
+
AAAAAADMAAAAAABmAGYA/wAAAAAAMwAzAMwAAAAAAAAAAACZAAAAAACZAJkA
|
49
|
+
/wAAAAAAZgBmAMwAAAAAADMAMwCZAAAAAAAAAAAAZgAAAAAAzADMAP8AAAAA
|
50
|
+
AJkAmQDMAAAAAABmAGYAmQAAAAAAMwAzAGYAAAAAAAAAAAAzAAAAAAAzAAAA
|
51
|
+
/wAAAAAAZgAzAP8AAAAAADMAAADMAAAAAACZAGYA/wAAAAAAZgAzAMwAAAAA
|
52
|
+
ADMAAACZAAAAAABmAAAA/wAAAAAAmQAzAP8AAAAAAGYAAADMAAAAAADMAJkA
|
53
|
+
/wAAAAAAmQBmAMwAAAAAAGYAMwCZAAAAAAAzAAAAZgAAAAAAmQAAAP8AAAAA
|
54
|
+
AMwAZgD/AAAAAACZADMAzAAAAAAAZgAAAJkAAAAAAMwAMwD/AAAAAACZAAAA
|
55
|
+
zAAAAAAAzAAAAP8AAAAAAP8AAAD/AAAAAAD/ADMA/wAAAAAAzAAAAMwAAAAA
|
56
|
+
AP8AZgD/AAAAAADMADMAzAAAAAAAmQAAAJkAAAAAAP8AmQD/AAAAAADMAGYA
|
57
|
+
zAAAAAAAmQAzAJkAAAAAAGYAAABmAAAAAAD/AMwA/wAAAAAAzACZAMwAAAAA
|
58
|
+
AJkAZgCZAAAAAABmADMAZgAAAAAAMwAAADMAAAAAAP8AAADMAAAAAAD/ADMA
|
59
|
+
zAAAAAAAzAAAAJkAAAAAAP8AZgDMAAAAAADMADMAmQAAAAAAmQAAAGYAAAAA
|
60
|
+
AP8AAACZAAAAAAD/ADMAmQAAAAAAzAAAAGYAAAAAAP8AmQDMAAAAAADMAGYA
|
61
|
+
mQAAAAAAmQAzAGYAAAAAAGYAAAAzAAAAAAD/AAAAZgAAAAAA/wBmAJkAAAAA
|
62
|
+
AMwAMwBmAAAAAACZAAAAMwAAAAAA/wAzAGYAAAAAAMwAAAAzAAAAAAD/AAAA
|
63
|
+
MwAAAA==
|
64
|
+
EOS
|
65
|
+
|
66
|
+
# This is based on the Visibone Anglo-Centric ColorLib Code List; this is
|
67
|
+
# an Adobe ColorLib swatch version 2 (with names).
|
68
|
+
VISIBONE_V2 = <<-EOS
|
69
|
+
AAIA2AAA/wD/AP8AAAAAAAAGAFcAaABpAHQAZQAAAADMAMwAzAAAAAAAAAoA
|
70
|
+
UABhAGwAZQAgAEcAcgBhAHkAAAAAmQCZAJkAAAAAAAALAEwAaQBnAGgAdAAg
|
71
|
+
AEcAcgBhAHkAAAAAZgBmAGYAAAAAAAAKAEQAYQByAGsAIABHAHIAYQB5AAAA
|
72
|
+
ADMAMwAzAAAAAAAADQBPAGIAcwBjAHUAcgBlACAARwByAGEAeQAAAAAAAAAA
|
73
|
+
AAAAAAAAAAYAQgBsAGEAYwBrAAAAAP8AAAAAAAAAAAAABABSAGUAZAAAAAD/
|
74
|
+
ADMAMwAAAAAAAA8ATABpAGcAaAB0ACAASABhAHIAZAAgAFIAZQBkAAAAAMwA
|
75
|
+
AAAAAAAAAAAADgBEAGEAcgBrACAASABhAHIAZAAgAFIAZQBkAAAAAP8AZgBm
|
76
|
+
AAAAAAAAEABMAGkAZwBoAHQAIABGAGEAZABlAGQAIABSAGUAZAAAAADMADMA
|
77
|
+
MwAAAAAAABEATQBlAGQAaQB1AG0AIABGAGEAZABlAGQAIABSAGUAZAAAAACZ
|
78
|
+
AAAAAAAAAAAAAA8ARABhAHIAawAgAEYAYQBkAGUAZAAgAFIAZQBkAAAAAP8A
|
79
|
+
mQCZAAAAAAAADgBQAGEAbABlACAARAB1AGwAbAAgAFIAZQBkAAAAAMwAZgBm
|
80
|
+
AAAAAAAADwBMAGkAZwBoAHQAIABEAHUAbABsACAAUgBlAGQAAAAAmQAzADMA
|
81
|
+
AAAAAAAOAEQAYQByAGsAIABEAHUAbABsACAAUgBlAGQAAAAAZgAAAAAAAAAA
|
82
|
+
AAARAE8AYgBzAGMAdQByAGUAIABEAHUAbABsACAAUgBlAGQAAAAA/wDMAMwA
|
83
|
+
AAAAAAAOAFAAYQBsAGUAIABXAGUAYQBrACAAUgBlAGQAAAAAzACZAJkAAAAA
|
84
|
+
AAAPAEwAaQBnAGgAdAAgAFcAZQBhAGsAIABSAGUAZAAAAACZAGYAZgAAAAAA
|
85
|
+
ABAATQBlAGQAaQB1AG0AIABXAGUAYQBrACAAUgBlAGQAAAAAZgAzADMAAAAA
|
86
|
+
AAAOAEQAYQByAGsAIABXAGUAYQBrACAAUgBlAGQAAAAAMwAAAAAAAAAAAAAR
|
87
|
+
AE8AYgBzAGMAdQByAGUAIABXAGUAYQBrACAAUgBlAGQAAAAA/wAzAAAAAAAA
|
88
|
+
AAAPAFIAZQBkAC0AUgBlAGQALQBPAHIAYQBuAGcAZQAAAAD/AGYAMwAAAAAA
|
89
|
+
ABEATABpAGcAaAB0ACAAUgBlAGQALQBPAHIAYQBuAGcAZQAAAADMADMAAAAA
|
90
|
+
AAAAABAARABhAHIAawAgAFIAZQBkAC0ATwByAGEAbgBnAGUAAAAA/wCZAGYA
|
91
|
+
AAAAAAARAEwAaQBnAGgAdAAgAE8AcgBhAG4AZwBlAC0AUgBlAGQAAAAAzABm
|
92
|
+
ADMAAAAAAAASAE0AZQBkAGkAdQBtACAATwByAGEAbgBnAGUALQBSAGUAZAAA
|
93
|
+
AACZADMAAAAAAAAAABAARABhAHIAawAgAE8AcgBhAG4AZwBlAC0AUgBlAGQA
|
94
|
+
AAAA/wBmAAAAAAAAAAASAE8AcgBhAG4AZwBlAC0ATwByAGEAbgBnAGUALQBS
|
95
|
+
AGUAZAAAAAD/AJkAMwAAAAAAABIATABpAGcAaAB0ACAASABhAHIAZAAgAE8A
|
96
|
+
cgBhAG4AZwBlAAAAAMwAZgAAAAAAAAAAEQBEAGEAcgBrACAASABhAHIAZAAg
|
97
|
+
AE8AcgBhAG4AZwBlAAAAAP8AzACZAAAAAAAAEQBQAGEAbABlACAARAB1AGwA
|
98
|
+
bAAgAE8AcgBhAG4AZwBlAAAAAMwAmQBmAAAAAAAAEgBMAGkAZwBoAHQAIABE
|
99
|
+
AHUAbABsACAATwByAGEAbgBnAGUAAAAAmQBmADMAAAAAAAARAEQAYQByAGsA
|
100
|
+
IABEAHUAbABsACAATwByAGEAbgBnAGUAAAAAZgAzAAAAAAAAAAAUAE8AYgBz
|
101
|
+
AGMAdQByAGUAIABEAHUAbABsACAATwByAGEAbgBnAGUAAAAA/wCZAAAAAAAA
|
102
|
+
AAAVAE8AcgBhAG4AZwBlAC0ATwByAGEAbgBnAGUALQBZAGUAbABsAG8AdwAA
|
103
|
+
AAD/AMwAZgAAAAAAABQATABpAGcAaAB0ACAATwByAGEAbgBnAGUALQBZAGUA
|
104
|
+
bABsAG8AdwAAAADMAJkAMwAAAAAAABUATQBlAGQAaQB1AG0AIABPAHIAYQBu
|
105
|
+
AGcAZQAtAFkAZQBsAGwAbwB3AAAAAJkAZgAAAAAAAAAAEwBEAGEAcgBrACAA
|
106
|
+
TwByAGEAbgBnAGUALQBZAGUAbABsAG8AdwAAAADMAJkAAAAAAAAAABMARABh
|
107
|
+
AHIAawAgAFkAZQBsAGwAbwB3AC0ATwByAGEAbgBnAGUAAAAA/wDMADMAAAAA
|
108
|
+
AAAUAEwAaQBnAGgAdAAgAFkAZQBsAGwAbwB3AC0ATwByAGEAbgBnAGUAAAAA
|
109
|
+
/wDMAAAAAAAAAAAVAFkAZQBsAGwAbwB3AC0AWQBlAGwAbABvAHcALQBPAHIA
|
110
|
+
YQBuAGcAZQAAAAD/AP8AAAAAAAAAAAcAWQBlAGwAbABvAHcAAAAA/wD/ADMA
|
111
|
+
AAAAAAASAEwAaQBnAGgAdAAgAEgAYQByAGQAIABZAGUAbABsAG8AdwAAAADM
|
112
|
+
AMwAAAAAAAAAABEARABhAHIAawAgAEgAYQByAGQAIABZAGUAbABsAG8AdwAA
|
113
|
+
AAD/AP8AZgAAAAAAABMATABpAGcAaAB0ACAARgBhAGQAZQBkACAAWQBlAGwA
|
114
|
+
bABvAHcAAAAAzADMADMAAAAAAAAUAE0AZQBkAGkAdQBtACAARgBhAGQAZQBk
|
115
|
+
ACAAWQBlAGwAbABvAHcAAAAAmQCZAAAAAAAAAAASAEQAYQByAGsAIABGAGEA
|
116
|
+
ZABlAGQAIABZAGUAbABsAG8AdwAAAAD/AP8AmQAAAAAAABEAUABhAGwAZQAg
|
117
|
+
AEQAdQBsAGwAIABZAGUAbABsAG8AdwAAAADMAMwAZgAAAAAAABIATABpAGcA
|
118
|
+
aAB0ACAARAB1AGwAbAAgAFkAZQBsAGwAbwB3AAAAAJkAmQAzAAAAAAAAEQBE
|
119
|
+
AGEAcgBrACAARAB1AGwAbAAgAFkAZQBsAGwAbwB3AAAAAGYAZgAAAAAAAAAA
|
120
|
+
FABPAGIAcwBjAHUAcgBlACAARAB1AGwAbAAgAFkAZQBsAGwAbwB3AAAAAP8A
|
121
|
+
/wDMAAAAAAAAEQBQAGEAbABlACAAVwBlAGEAawAgAFkAZQBsAGwAbwB3AAAA
|
122
|
+
AMwAzACZAAAAAAAAEgBMAGkAZwBoAHQAIABXAGUAYQBrACAAWQBlAGwAbABv
|
123
|
+
AHcAAAAAmQCZAGYAAAAAAAATAE0AZQBkAGkAdQBtACAAVwBlAGEAawAgAFkA
|
124
|
+
ZQBsAGwAbwB3AAAAAGYAZgAzAAAAAAAAEQBEAGEAcgBrACAAVwBlAGEAawAg
|
125
|
+
AFkAZQBsAGwAbwB3AAAAADMAMwAAAAAAAAAAFABPAGIAcwBjAHUAcgBlACAA
|
126
|
+
VwBlAGEAawAgAFkAZQBsAGwAbwB3AAAAAMwA/wAAAAAAAAAAFQBZAGUAbABs
|
127
|
+
AG8AdwAtAFkAZQBsAGwAbwB3AC0AUwBwAHIAaQBuAGcAAAAAzAD/ADMAAAAA
|
128
|
+
AAAUAEwAaQBnAGgAdAAgAFkAZQBsAGwAbwB3AC0AUwBwAHIAaQBuAGcAAAAA
|
129
|
+
mQDMAAAAAAAAAAATAEQAYQByAGsAIABZAGUAbABsAG8AdwAtAFMAcAByAGkA
|
130
|
+
bgBnAAAAAMwA/wBmAAAAAAAAFABMAGkAZwBoAHQAIABTAHAAcgBpAG4AZwAt
|
131
|
+
AFkAZQBsAGwAbwB3AAAAAJkAzAAzAAAAAAAAFQBNAGUAZABpAHUAbQAgAFMA
|
132
|
+
cAByAGkAbgBnAC0AWQBlAGwAbABvAHcAAAAAZgCZAAAAAAAAAAATAEQAYQBy
|
133
|
+
AGsAIABTAHAAcgBpAG4AZwAtAFkAZQBsAGwAbwB3AAAAAJkA/wAAAAAAAAAA
|
134
|
+
FQBTAHAAcgBpAG4AZwAtAFMAcAByAGkAbgBnAC0AWQBlAGwAbABvAHcAAAAA
|
135
|
+
mQD/ADMAAAAAAAASAEwAaQBnAGgAdAAgAEgAYQByAGQAIABTAHAAcgBpAG4A
|
136
|
+
ZwAAAABmAMwAAAAAAAAAABEARABhAHIAawAgAEgAYQByAGQAIABTAHAAcgBp
|
137
|
+
AG4AZwAAAADMAP8AmQAAAAAAABEAUABhAGwAZQAgAEQAdQBsAGwAIABTAHAA
|
138
|
+
cgBpAG4AZwAAAACZAMwAZgAAAAAAABIATABpAGcAaAB0ACAARAB1AGwAbAAg
|
139
|
+
AFMAcAByAGkAbgBnAAAAAGYAmQAzAAAAAAAAEQBEAGEAcgBrACAARAB1AGwA
|
140
|
+
bAAgAFMAcAByAGkAbgBnAAAAADMAZgAAAAAAAAAAFABPAGIAcwBjAHUAcgBl
|
141
|
+
ACAARAB1AGwAbAAgAFMAcAByAGkAbgBnAAAAAGYA/wAAAAAAAAAAFABTAHAA
|
142
|
+
cgBpAG4AZwAtAFMAcAByAGkAbgBnAC0ARwByAGUAZQBuAAAAAJkA/wBmAAAA
|
143
|
+
AAAAEwBMAGkAZwBoAHQAIABTAHAAcgBpAG4AZwAtAEcAcgBlAGUAbgAAAABm
|
144
|
+
AMwAMwAAAAAAABQATQBlAGQAaQB1AG0AIABTAHAAcgBpAG4AZwAtAEcAcgBl
|
145
|
+
AGUAbgAAAAAzAJkAAAAAAAAAABIARABhAHIAawAgAFMAcAByAGkAbgBnAC0A
|
146
|
+
RwByAGUAZQBuAAAAAGYA/wAzAAAAAAAAEwBMAGkAZwBoAHQAIABHAHIAZQBl
|
147
|
+
AG4ALQBTAHAAcgBpAG4AZwAAAAAzAMwAAAAAAAAAABIARABhAHIAawAgAEcA
|
148
|
+
cgBlAGUAbgAtAFMAcAByAGkAbgBnAAAAADMA/wAAAAAAAAAAEwBHAHIAZQBl
|
149
|
+
AG4ALQBHAHIAZQBlAG4ALQBTAHAAcgBpAG4AZwAAAAAAAP8AAAAAAAAAAAYA
|
150
|
+
RwByAGUAZQBuAAAAADMA/wAzAAAAAAAAEQBMAGkAZwBoAHQAIABIAGEAcgBk
|
151
|
+
ACAARwByAGUAZQBuAAAAAAAAzAAAAAAAAAAAEABEAGEAcgBrACAASABhAHIA
|
152
|
+
ZAAgAEcAcgBlAGUAbgAAAABmAP8AZgAAAAAAABIATABpAGcAaAB0ACAARgBh
|
153
|
+
AGQAZQBkACAARwByAGUAZQBuAAAAADMAzAAzAAAAAAAAEwBNAGUAZABpAHUA
|
154
|
+
bQAgAEYAYQBkAGUAZAAgAEcAcgBlAGUAbgAAAAAAAJkAAAAAAAAAABEARABh
|
155
|
+
AHIAawAgAEYAYQBkAGUAZAAgAEcAcgBlAGUAbgAAAACZAP8AmQAAAAAAABAA
|
156
|
+
UABhAGwAZQAgAEQAdQBsAGwAIABHAHIAZQBlAG4AAAAAZgDMAGYAAAAAAAAR
|
157
|
+
AEwAaQBnAGgAdAAgAEQAdQBsAGwAIABHAHIAZQBlAG4AAAAAMwCZADMAAAAA
|
158
|
+
AAAQAEQAYQByAGsAIABEAHUAbABsACAARwByAGUAZQBuAAAAAAAAZgAAAAAA
|
159
|
+
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
|
231
|
+
AHMAYwB1AHIAZQAgAEQAdQBsAGwAIABCAGwAdQBlAAAAAMwAzAD/AAAAAAAA
|
232
|
+
DwBQAGEAbABlACAAVwBlAGEAawAgAEIAbAB1AGUAAAAAmQCZAMwAAAAAAAAQ
|
233
|
+
AEwAaQBnAGgAdAAgAFcAZQBhAGsAIABCAGwAdQBlAAAAAGYAZgCZAAAAAAAA
|
234
|
+
EQBNAGUAZABpAHUAbQAgAFcAZQBhAGsAIABCAGwAdQBlAAAAADMAMwBmAAAA
|
235
|
+
AAAADwBEAGEAcgBrACAAVwBlAGEAawAgAEIAbAB1AGUAAAAAAAAAADMAAAAA
|
236
|
+
AAASAE8AYgBzAGMAdQByAGUAIABXAGUAYQBrACAAQgBsAHUAZQAAAAAzAAAA
|
237
|
+
/wAAAAAAABEAQgBsAHUAZQAtAEIAbAB1AGUALQBWAGkAbwBsAGUAdAAAAABm
|
238
|
+
ADMA/wAAAAAAABIATABpAGcAaAB0ACAAQgBsAHUAZQAtAFYAaQBvAGwAZQB0
|
239
|
+
AAAAADMAAADMAAAAAAAAEQBEAGEAcgBrACAAQgBsAHUAZQAtAFYAaQBvAGwA
|
240
|
+
ZQB0AAAAAJkAZgD/AAAAAAAAEgBMAGkAZwBoAHQAIABWAGkAbwBsAGUAdAAt
|
241
|
+
AEIAbAB1AGUAAAAAZgAzAMwAAAAAAAATAE0AZQBkAGkAdQBtACAAVgBpAG8A
|
242
|
+
bABlAHQALQBCAGwAdQBlAAAAADMAAACZAAAAAAAAEQBEAGEAcgBrACAAVgBp
|
243
|
+
AG8AbABlAHQALQBCAGwAdQBlAAAAAGYAAAD/AAAAAAAAEwBWAGkAbwBsAGUA
|
244
|
+
dAAtAFYAaQBvAGwAZQB0AC0AQgBsAHUAZQAAAACZADMA/wAAAAAAABIATABp
|
245
|
+
AGcAaAB0ACAASABhAHIAZAAgAFYAaQBvAGwAZQB0AAAAAGYAAADMAAAAAAAA
|
246
|
+
EQBEAGEAcgBrACAASABhAHIAZAAgAFYAaQBvAGwAZQB0AAAAAMwAmQD/AAAA
|
247
|
+
AAAAEQBQAGEAbABlACAARAB1AGwAbAAgAFYAaQBvAGwAZQB0AAAAAJkAZgDM
|
248
|
+
AAAAAAAAEgBMAGkAZwBoAHQAIABEAHUAbABsACAAVgBpAG8AbABlAHQAAAAA
|
249
|
+
ZgAzAJkAAAAAAAARAEQAYQByAGsAIABEAHUAbABsACAAVgBpAG8AbABlAHQA
|
250
|
+
AAAAMwAAAGYAAAAAAAAUAE8AYgBzAGMAdQByAGUAIABEAHUAbABsACAAVgBp
|
251
|
+
AG8AbABlAHQAAAAAmQAAAP8AAAAAAAAWAFYAaQBvAGwAZQB0AC0AVgBpAG8A
|
252
|
+
bABlAHQALQBNAGEAZwBlAG4AdABhAAAAAMwAZgD/AAAAAAAAFQBMAGkAZwBo
|
253
|
+
AHQAIABWAGkAbwBsAGUAdAAtAE0AYQBnAGUAbgB0AGEAAAAAmQAzAMwAAAAA
|
254
|
+
AAAWAE0AZQBkAGkAdQBtACAAVgBpAG8AbABlAHQALQBNAGEAZwBlAG4AdABh
|
255
|
+
AAAAAGYAAACZAAAAAAAAFABEAGEAcgBrACAAVgBpAG8AbABlAHQALQBNAGEA
|
256
|
+
ZwBlAG4AdABhAAAAAMwAMwD/AAAAAAAAFQBMAGkAZwBoAHQAIABNAGEAZwBl
|
257
|
+
AG4AdABhAC0AVgBpAG8AbABlAHQAAAAAmQAAAMwAAAAAAAAUAEQAYQByAGsA
|
258
|
+
IABNAGEAZwBlAG4AdABhAC0AVgBpAG8AbABlAHQAAAAAzAAAAP8AAAAAAAAX
|
259
|
+
AE0AYQBnAGUAbgB0AGEALQBNAGEAZwBlAG4AdABhAC0AVgBpAG8AbABlAHQA
|
260
|
+
AAAA/wAAAP8AAAAAAAAIAE0AYQBnAGUAbgB0AGEAAAAA/wAzAP8AAAAAAAAT
|
261
|
+
AEwAaQBnAGgAdAAgAEgAYQByAGQAIABNAGEAZwBlAG4AdABhAAAAAMwAAADM
|
262
|
+
AAAAAAAAEgBEAGEAcgBrACAASABhAHIAZAAgAE0AYQBnAGUAbgB0AGEAAAAA
|
263
|
+
/wBmAP8AAAAAAAAUAEwAaQBnAGgAdAAgAEYAYQBkAGUAZAAgAE0AYQBnAGUA
|
264
|
+
bgB0AGEAAAAAzAAzAMwAAAAAAAAVAE0AZQBkAGkAdQBtACAARgBhAGQAZQBk
|
265
|
+
ACAATQBhAGcAZQBuAHQAYQAAAACZAAAAmQAAAAAAABMARABhAHIAawAgAEYA
|
266
|
+
YQBkAGUAZAAgAE0AYQBnAGUAbgB0AGEAAAAA/wCZAP8AAAAAAAASAFAAYQBs
|
267
|
+
AGUAIABEAHUAbABsACAATQBhAGcAZQBuAHQAYQAAAADMAGYAzAAAAAAAABMA
|
268
|
+
TABpAGcAaAB0ACAARAB1AGwAbAAgAE0AYQBnAGUAbgB0AGEAAAAAmQAzAJkA
|
269
|
+
AAAAAAASAEQAYQByAGsAIABEAHUAbABsACAATQBhAGcAZQBuAHQAYQAAAABm
|
270
|
+
AAAAZgAAAAAAABUATwBiAHMAYwB1AHIAZQAgAEQAdQBsAGwAIABNAGEAZwBl
|
271
|
+
AG4AdABhAAAAAP8AzAD/AAAAAAAAEgBQAGEAbABlACAAVwBlAGEAawAgAE0A
|
272
|
+
YQBnAGUAbgB0AGEAAAAAzACZAMwAAAAAAAATAEwAaQBnAGgAdAAgAFcAZQBh
|
273
|
+
AGsAIABNAGEAZwBlAG4AdABhAAAAAJkAZgCZAAAAAAAAFABNAGUAZABpAHUA
|
274
|
+
bQAgAFcAZQBhAGsAIABNAGEAZwBlAG4AdABhAAAAAGYAMwBmAAAAAAAAEgBE
|
275
|
+
AGEAcgBrACAAVwBlAGEAawAgAE0AYQBnAGUAbgB0AGEAAAAAMwAAADMAAAAA
|
276
|
+
AAAVAE8AYgBzAGMAdQByAGUAIABXAGUAYQBrACAATQBhAGcAZQBuAHQAYQAA
|
277
|
+
AAD/AAAAzAAAAAAAABUATQBhAGcAZQBuAHQAYQAtAE0AYQBnAGUAbgB0AGEA
|
278
|
+
LQBQAGkAbgBrAAAAAP8AMwDMAAAAAAAAEwBMAGkAZwBoAHQAIABNAGEAZwBl
|
279
|
+
AG4AdABhAC0AUABpAG4AawAAAADMAAAAmQAAAAAAABIARABhAHIAawAgAE0A
|
280
|
+
YQBnAGUAbgB0AGEALQBQAGkAbgBrAAAAAP8AZgDMAAAAAAAAEwBMAGkAZwBo
|
281
|
+
AHQAIABQAGkAbgBrAC0ATQBhAGcAZQBuAHQAYQAAAADMADMAmQAAAAAAABQA
|
282
|
+
TQBlAGQAaQB1AG0AIABQAGkAbgBrAC0ATQBhAGcAZQBuAHQAYQAAAACZAAAA
|
283
|
+
ZgAAAAAAABIARABhAHIAawAgAFAAaQBuAGsALQBNAGEAZwBlAG4AdABhAAAA
|
284
|
+
AP8AAACZAAAAAAAAEgBQAGkAbgBrAC0AUABpAG4AawAtAE0AYQBnAGUAbgB0
|
285
|
+
AGEAAAAA/wAzAJkAAAAAAAAQAEwAaQBnAGgAdAAgAEgAYQByAGQAIABQAGkA
|
286
|
+
bgBrAAAAAMwAAABmAAAAAAAADwBEAGEAcgBrACAASABhAHIAZAAgAFAAaQBu
|
287
|
+
AGsAAAAA/wCZAMwAAAAAAAAPAFAAYQBsAGUAIABEAHUAbABsACAAUABpAG4A
|
288
|
+
awAAAADMAGYAmQAAAAAAABAATABpAGcAaAB0ACAARAB1AGwAbAAgAFAAaQBu
|
289
|
+
AGsAAAAAmQAzAGYAAAAAAAAPAEQAYQByAGsAIABEAHUAbABsACAAUABpAG4A
|
290
|
+
awAAAABmAAAAMwAAAAAAABIATwBiAHMAYwB1AHIAZQAgAEQAdQBsAGwAIABQ
|
291
|
+
AGkAbgBrAAAAAP8AAABmAAAAAAAADgBQAGkAbgBrAC0AUABpAG4AawAtAFIA
|
292
|
+
ZQBkAAAAAP8AZgCZAAAAAAAADwBMAGkAZwBoAHQAIABQAGkAbgBrAC0AUgBl
|
293
|
+
AGQAAAAAzAAzAGYAAAAAAAAQAE0AZQBkAGkAdQBtACAAUABpAG4AawAtAFIA
|
294
|
+
ZQBkAAAAAJkAAAAzAAAAAAAADgBEAGEAcgBrACAAUABpAG4AawAtAFIAZQBk
|
295
|
+
AAAAAP8AMwBmAAAAAAAADwBMAGkAZwBoAHQAIABSAGUAZAAtAFAAaQBuAGsA
|
296
|
+
AAAAzAAAADMAAAAAAAAOAEQAYQByAGsAIABSAGUAZAAtAFAAaQBuAGsAAAAA
|
297
|
+
/wAAADMAAAAAAAANAFIAZQBkAC0AUgBlAGQALQBQAGkAbgBrAAA=
|
298
|
+
EOS
|
299
|
+
|
300
|
+
EXERCISE = <<-EOS
|
301
|
+
AAIABwAAHgA8AFoAAAAAAAAEAFIARwBCAAAAAQKPGZn//wAAAAAABABIAFMA
|
302
|
+
QgAAAAIMzH//GZn//wAAAAUAQwBNAFkASwAAAAcbWOiQG1gAAAAAAAQATABB
|
303
|
+
AEIAAAAIFXwAAAAAAAAAAAAFAEcAcgBhAHkAAAAJCcQNrBGUBdwAAAAGAFcA
|
304
|
+
QwBNAFkASwAAAA0JxA2sEZQF3AAAAAsAVQBOAEsATgBPAFcATgAgADEAMwAA
|
305
|
+
EOS
|
306
|
+
# http://www.visibone.com/swatches/VisiBone.aco
|
307
|
+
# http://www.visibone.com/swatches/VisiBone2.aco
|
308
|
+
# http://www.visibone.com/swatches/VisiBone2_km.psppalette
|
309
|
+
# http://www.visibone.com/swatches/VisiBone2_km.pal
|
310
|
+
# http://www.visibone.com/swatches/VisiBone2_vaccc.ai
|
311
|
+
# http://www.visibone.com/swatches/VisiBone.gimp
|
312
|
+
# http://www.visibone.com/swatches/VisiBone.act
|
313
|
+
|
314
|
+
def setup
|
315
|
+
@filename = "test#{Process.pid}.aco"
|
316
|
+
end
|
317
|
+
|
318
|
+
def teardown
|
319
|
+
require 'fileutils'
|
320
|
+
FileUtils.rm_f @filename if File.exist? @filename
|
321
|
+
end
|
322
|
+
|
323
|
+
def test_version1
|
324
|
+
v1 = VISIBONE_V1.unpack("m*")[0]
|
325
|
+
@aco = AdobeColorLib.new(v1)
|
326
|
+
assert_equal(216, @aco.size)
|
327
|
+
assert_equal(1, @aco.version)
|
328
|
+
assert_equal({ :rgb => 216 }, @aco.statistics)
|
329
|
+
assert_equal(ColorLib::RGB::White, @aco[0])
|
330
|
+
assert_equal("#ff0033", @aco[-1].html)
|
331
|
+
assert_equal(v1, @aco.to_aco)
|
332
|
+
end
|
333
|
+
|
334
|
+
def test_version2
|
335
|
+
v2 = VISIBONE_V2.unpack("m*")[0]
|
336
|
+
@aco = AdobeColorLib.new(v2)
|
337
|
+
assert_equal(216, @aco.size)
|
338
|
+
assert_equal(2, @aco.version)
|
339
|
+
assert_equal({ :rgb => 216 }, @aco.statistics)
|
340
|
+
assert_equal(ColorLib::RGB::White, @aco[0])
|
341
|
+
assert_equal(ColorLib::RGB::White,
|
342
|
+
@aco["\000W\000h\000i\000t\000e"][0])
|
343
|
+
assert_equal("#ff0033", @aco[-1].html)
|
344
|
+
assert_equal("#ff0033",
|
345
|
+
@aco["\000R\000e\000d\000-\000R\000e\000d\000-\000P\000i\000n\000k"][0].html)
|
346
|
+
assert_equal(v2, @aco.to_aco)
|
347
|
+
end
|
348
|
+
|
349
|
+
def test_bogus
|
350
|
+
o = VISIBONE_V2.unpack("m*")[0]
|
351
|
+
v = o.dup
|
352
|
+
v[0, 2] = [322].pack("n") # break the version
|
353
|
+
assert_raises(RuntimeError) { AdobeColorLib.new(v) }
|
354
|
+
v = o.dup
|
355
|
+
v[2, 2] = [217].pack("n") # break the colour count
|
356
|
+
assert_raises(IndexError) { @aco = AdobeColorLib.new(v) }
|
357
|
+
v = o.dup
|
358
|
+
v[14, 2] = [99].pack("n") # break the NULL before the name
|
359
|
+
assert_raises(IndexError) { @aco = AdobeColorLib.new(v) }
|
360
|
+
v = o.dup
|
361
|
+
v[16, 2] = [18].pack("n") # break the length of the name
|
362
|
+
assert_raises(IndexError) { @aco = AdobeColorLib.new(v) }
|
363
|
+
v = o.dup
|
364
|
+
v[28, 2] = [99].pack("n") # break the trailing null of the name
|
365
|
+
end
|
366
|
+
|
367
|
+
def test_exercise
|
368
|
+
File.open(@filename, "wb") do |f|
|
369
|
+
f.write EXERCISE.unpack("m*")[0]
|
370
|
+
end
|
371
|
+
@aco = AdobeColorLib.from_file(@filename)
|
372
|
+
assert_equal(5, @aco.size)
|
373
|
+
assert_equal(7, @aco.instance_variable_get(:@order).size)
|
374
|
+
end
|
375
|
+
|
376
|
+
def test_each
|
377
|
+
v1 = VISIBONE_V1.unpack("m*")[0]
|
378
|
+
@aco = AdobeColorLib.new(v1)
|
379
|
+
@aco.each { |c| assert_kind_of(ColorLib::RGB, c) }
|
380
|
+
end
|
381
|
+
|
382
|
+
def test_each_name
|
383
|
+
v2 = VISIBONE_V2.unpack("m*")[0]
|
384
|
+
@aco = AdobeColorLib.new(v2)
|
385
|
+
assert_equal(216, @aco.size)
|
386
|
+
assert_equal(2, @aco.version)
|
387
|
+
@aco.each_name do |n, s|
|
388
|
+
assert_equal(0, n[0]) if RUBY_VERSION < "1.9"
|
389
|
+
assert_equal(1, s.size)
|
390
|
+
assert_kind_of(ColorLib::RGB, s[0])
|
391
|
+
end
|
392
|
+
end
|
393
|
+
|
394
|
+
def test_values_at
|
395
|
+
v2 = VISIBONE_V2.unpack("m*")[0]
|
396
|
+
@aco = AdobeColorLib.new(v2)
|
397
|
+
assert_equal(216, @aco.size)
|
398
|
+
assert_equal(2, @aco.version)
|
399
|
+
assert_equal([ColorLib::RGB::White, ColorLib::RGB.from_html("#ff0033")],
|
400
|
+
@aco.values_at(0, -1))
|
401
|
+
end
|
402
|
+
end
|
403
|
+
end
|
404
|
+
end
|
data/test/test_cmyk.rb
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'test/unit/assertions'
|
3
|
+
require 'color_lib'
|
4
|
+
|
5
|
+
module TestColorLib
|
6
|
+
class TestCMYK < Minitest::Test
|
7
|
+
include Test::Unit::Assertions
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@cmyk = ColorLib::CMYK.new(10, 20, 30, 40)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_cyan
|
14
|
+
assert_in_delta(0.1, @cmyk.c, ColorLib::COLOR_TOLERANCE)
|
15
|
+
assert_in_delta(10, @cmyk.cyan, ColorLib::COLOR_TOLERANCE)
|
16
|
+
@cmyk.cyan = 20
|
17
|
+
assert_in_delta(0.2, @cmyk.c, ColorLib::COLOR_TOLERANCE)
|
18
|
+
@cmyk.c = 2.0
|
19
|
+
assert_in_delta(100, @cmyk.cyan, ColorLib::COLOR_TOLERANCE)
|
20
|
+
@cmyk.c = -1.0
|
21
|
+
assert_in_delta(0.0, @cmyk.c, ColorLib::COLOR_TOLERANCE)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_magenta
|
25
|
+
assert_in_delta(0.2, @cmyk.m, ColorLib::COLOR_TOLERANCE)
|
26
|
+
assert_in_delta(20, @cmyk.magenta, ColorLib::COLOR_TOLERANCE)
|
27
|
+
@cmyk.magenta = 30
|
28
|
+
assert_in_delta(0.3, @cmyk.m, ColorLib::COLOR_TOLERANCE)
|
29
|
+
@cmyk.m = 2.0
|
30
|
+
assert_in_delta(100, @cmyk.magenta, ColorLib::COLOR_TOLERANCE)
|
31
|
+
@cmyk.m = -1.0
|
32
|
+
assert_in_delta(0.0, @cmyk.m, ColorLib::COLOR_TOLERANCE)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_yellow
|
36
|
+
assert_in_delta(0.3, @cmyk.y, ColorLib::COLOR_TOLERANCE)
|
37
|
+
assert_in_delta(30, @cmyk.yellow, ColorLib::COLOR_TOLERANCE)
|
38
|
+
@cmyk.yellow = 20
|
39
|
+
assert_in_delta(0.2, @cmyk.y, ColorLib::COLOR_TOLERANCE)
|
40
|
+
@cmyk.y = 2.0
|
41
|
+
assert_in_delta(100, @cmyk.yellow, ColorLib::COLOR_TOLERANCE)
|
42
|
+
@cmyk.y = -1.0
|
43
|
+
assert_in_delta(0.0, @cmyk.y, ColorLib::COLOR_TOLERANCE)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_black
|
47
|
+
assert_in_delta(0.4, @cmyk.k, ColorLib::COLOR_TOLERANCE)
|
48
|
+
assert_in_delta(40, @cmyk.black, ColorLib::COLOR_TOLERANCE)
|
49
|
+
@cmyk.black = 20
|
50
|
+
assert_in_delta(0.2, @cmyk.k, ColorLib::COLOR_TOLERANCE)
|
51
|
+
@cmyk.k = 2.0
|
52
|
+
assert_in_delta(100, @cmyk.black, ColorLib::COLOR_TOLERANCE)
|
53
|
+
@cmyk.k = -1.0
|
54
|
+
assert_in_delta(0.0, @cmyk.k, ColorLib::COLOR_TOLERANCE)
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_pdf
|
58
|
+
assert_equal("0.100 0.200 0.300 0.400 k", @cmyk.pdf_fill)
|
59
|
+
assert_equal("0.100 0.200 0.300 0.400 K", @cmyk.pdf_stroke)
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_to_cmyk
|
63
|
+
assert(@cmyk.to_cmyk == @cmyk)
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_to_grayscale
|
67
|
+
gs = nil
|
68
|
+
gs = @cmyk.to_grayscale
|
69
|
+
assert_kind_of(ColorLib::GrayScale, gs)
|
70
|
+
assert_in_delta(0.4185, gs.g, ColorLib::COLOR_TOLERANCE)
|
71
|
+
assert_kind_of(ColorLib::GreyScale, @cmyk.to_greyscale)
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_to_hsl
|
75
|
+
hsl = nil
|
76
|
+
hsl = @cmyk.to_hsl
|
77
|
+
assert_kind_of(ColorLib::HSL, hsl)
|
78
|
+
assert_in_delta(0.48, hsl.l, ColorLib::COLOR_TOLERANCE)
|
79
|
+
assert_in_delta(0.125, hsl.s, ColorLib::COLOR_TOLERANCE)
|
80
|
+
assert_in_delta(0.08333, hsl.h, ColorLib::COLOR_TOLERANCE)
|
81
|
+
assert_equal("hsl(30.00, 12.50%, 48.00%)", @cmyk.css_hsl)
|
82
|
+
assert_equal("hsla(30.00, 12.50%, 48.00%, 1.00)", @cmyk.css_hsla)
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_to_rgb
|
86
|
+
rgb = nil
|
87
|
+
rgb = @cmyk.to_rgb(true)
|
88
|
+
assert_kind_of(ColorLib::RGB, rgb)
|
89
|
+
assert_in_delta(0.5, rgb.r, ColorLib::COLOR_TOLERANCE)
|
90
|
+
assert_in_delta(0.4, rgb.g, ColorLib::COLOR_TOLERANCE)
|
91
|
+
assert_in_delta(0.3, rgb.b, ColorLib::COLOR_TOLERANCE)
|
92
|
+
|
93
|
+
rgb = @cmyk.to_rgb
|
94
|
+
assert_kind_of(ColorLib::RGB, rgb)
|
95
|
+
assert_in_delta(0.54, rgb.r, ColorLib::COLOR_TOLERANCE)
|
96
|
+
assert_in_delta(0.48, rgb.g, ColorLib::COLOR_TOLERANCE)
|
97
|
+
assert_in_delta(0.42, rgb.b, ColorLib::COLOR_TOLERANCE)
|
98
|
+
|
99
|
+
assert_equal("#8a7a6b", @cmyk.html)
|
100
|
+
assert_equal("rgb(54.00%, 48.00%, 42.00%)", @cmyk.css_rgb)
|
101
|
+
assert_equal("rgba(54.00%, 48.00%, 42.00%, 1.00)", @cmyk.css_rgba)
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_inspect
|
105
|
+
assert_equal("CMYK [10.00%, 20.00%, 30.00%, 40.00%]", @cmyk.inspect)
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_to_yiq
|
109
|
+
yiq = nil
|
110
|
+
yiq = @cmyk.to_yiq
|
111
|
+
assert_kind_of(ColorLib::YIQ, yiq)
|
112
|
+
assert_in_delta(0.4911, yiq.y, ColorLib::COLOR_TOLERANCE)
|
113
|
+
assert_in_delta(0.05502, yiq.i, ColorLib::COLOR_TOLERANCE)
|
114
|
+
assert_in_delta(0.0, yiq.q, ColorLib::COLOR_TOLERANCE)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|