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