colorable 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -62,7 +62,7 @@ module Colorable
62
62
  end
63
63
 
64
64
  def to_s
65
- "#<%s %d/%d pos='%s/%s/%s'>" % [:Colorset, @pos, size, at.name, at.rgb, at.hsb]
65
+ "#<%s %d/%d pos='%s<%s/%s>'>" % [self.class, @pos, size, at.name, at._rgb, at._hsb]
66
66
  end
67
67
  alias :inspect :to_s
68
68
 
@@ -90,11 +90,11 @@ module Colorable
90
90
  order_cond =
91
91
  case order
92
92
  when *rgb_part
93
- ->color{ color.rgb.move_to_top rgb_part.index(order) }
93
+ ->color{ color._rgb.move_to_top rgb_part.index(order) }
94
94
  when *hsb_part
95
- ->color{ color.hsb.move_to_top hsb_part.index(order) }
95
+ ->color{ color._hsb.move_to_top hsb_part.index(order) }
96
96
  when :name, :rgb, :hsb, :hsv, :hex
97
- ->color{ color.send order }
97
+ ->color{ color.send "_#{order}" }
98
98
  end
99
99
 
100
100
  case opt[:dir].intern
@@ -1,3 +1,3 @@
1
1
  module Colorable
2
- VERSION = "0.1.4"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -35,28 +35,45 @@ describe RGB do
35
35
  before(:all) { @rgb = RGB.new(100, 100, 100) }
36
36
  subject { @rgb + [0, 50, 100] }
37
37
  its(:rgb) { should eql [100, 150, 200] }
38
- it "keep original same" do @rgb.rgb.should eql [100, 100, 100] end
38
+ it "keep original same" do
39
+ @rgb.rgb.should eql [100, 100, 100]
40
+ end
39
41
  end
40
42
 
41
43
  context "when '+' makes out of RGB range or rack of numbers" do
42
44
  it "raise ArgumentError" do
43
- expect { RGB.new(100, 100, 100) + [0, 50, 200] }.to raise_error ArgumentError
44
- expect { RGB.new(100, 100, 100) + [0, -150, 0] }.to raise_error ArgumentError
45
45
  expect { RGB.new(100, 100, 100) + [0, 150] }.to raise_error ArgumentError
46
46
  end
47
+
48
+ it "not raise ArgumentError" do
49
+ expect { RGB.new(100, 100, 100) + [0, 50, 200] }.not_to raise_error ArgumentError
50
+ expect { RGB.new(100, 100, 100) + [0, -150, 0] }.not_to raise_error ArgumentError
51
+ end
47
52
  end
48
53
 
49
54
  context "pass a Fixnum" do
50
55
  before(:all) { @rgb = RGB.new(100, 100, 100) }
51
56
  it { (@rgb + 50).rgb.should eql [150, 150, 150] }
52
- it "raise ArgumentError" do
53
- expect { @rgb + 160 }.to raise_error ArgumentError
57
+ it "not raise ArgumentError" do
58
+ expect { @rgb + 160 }.not_to raise_error ArgumentError
54
59
  end
55
60
  end
56
61
 
57
62
  context "coerce make Fixnum#+ accept rgb object" do
58
63
  it { (10 + RGB.new(100, 100, 100)).rgb.should eql [110, 110, 110] }
59
64
  end
65
+
66
+ context "pass a RGB object" do
67
+ before(:each) do
68
+ @a = RGB.new(100, 100, 255)
69
+ @b = RGB.new(255, 100, 100)
70
+ @c = RGB.new(100, 255, 100)
71
+ end
72
+ it { (@a + @b).rgb.should eql [255, 200, 255] }
73
+ it { (@b + @c).rgb.should eql [255, 255, 200] }
74
+ it { (@a + @c).rgb.should eql [200, 255, 255] }
75
+ it { (@a + @b + @c).rgb.should eql [255, 255, 255] }
76
+ end
60
77
  end
61
78
 
62
79
  describe "#-" do
@@ -64,22 +81,64 @@ describe RGB do
64
81
  before(:all) { @rgb = RGB.new(100, 100, 100) }
65
82
  subject { @rgb - [0, 50, 100] }
66
83
  its(:rgb) { should eql [100, 50, 0] }
67
- it "keep original same" do @rgb.rgb.should eql [100, 100, 100] end
84
+ it "keep original same" do
85
+ @rgb.rgb.should eql [100, 100, 100]
86
+ end
68
87
  end
69
88
 
70
89
  context "when '-' makes out of RGB range" do
71
- it "raise ArgumentError" do
72
- expect { RGB.new(100, 100, 100) - [0, 50, 200] }.to raise_error ArgumentError
73
- expect { RGB.new(100, 100, 100) - [0, -250, 0] }.to raise_error ArgumentError
90
+ it "not raise ArgumentError" do
91
+ expect { RGB.new(100, 100, 100) - [0, 50, 200] }.not_to raise_error ArgumentError
92
+ expect { RGB.new(100, 100, 100) - [0, -250, 0] }.not_to raise_error ArgumentError
74
93
  end
75
94
  end
76
95
 
77
96
  context "pass a Fixnum" do
78
97
  before(:all) { @rgb = RGB.new(100, 100, 100) }
79
98
  it { (@rgb - 50).rgb.should eql [50, 50, 50] }
80
- it "raise ArgumentError" do
81
- expect { @rgb - 160 }.to raise_error ArgumentError
99
+ it "not raise ArgumentError" do
100
+ expect { @rgb - 160 }.not_to raise_error ArgumentError
101
+ end
102
+ end
103
+
104
+ context "pass a RGB object" do
105
+ before(:each) do
106
+ @a = RGB.new(100, 100, 255)
107
+ @b = RGB.new(255, 100, 100)
108
+ @c = RGB.new(100, 255, 100)
82
109
  end
110
+ it { (@a - @b).rgb.should eql [100, 0, 100] }
111
+ it { (@b - @c).rgb.should eql [100, 100, 0] }
112
+ it { (@a - @c).rgb.should eql [0, 100, 100] }
113
+ it { (@a - @b - @c).rgb.should eql [0, 0, 0] }
114
+ end
115
+ end
116
+
117
+ describe "#*" do
118
+ context "pass a RGB object" do
119
+ before(:each) do
120
+ @a = RGB.new(100, 100, 255)
121
+ @b = RGB.new(255, 100, 100)
122
+ @c = RGB.new(100, 255, 100)
123
+ end
124
+ it { (@a * @b).rgb.should eql [100, 39, 100] }
125
+ it { (@b * @c).rgb.should eql [100, 100, 39] }
126
+ it { (@a * @c).rgb.should eql [39, 100, 100] }
127
+ it { (@a * @b * @c).rgb.should eql [39, 39, 39] }
128
+ end
129
+ end
130
+
131
+ describe "#/" do
132
+ context "pass a RGB object" do
133
+ before(:each) do
134
+ @a = RGB.new(100, 100, 255)
135
+ @b = RGB.new(255, 100, 100)
136
+ @c = RGB.new(100, 255, 100)
137
+ end
138
+ it { (@a / @b).rgb.should eql [255, 161, 255] }
139
+ it { (@b / @c).rgb.should eql [255, 255, 161] }
140
+ it { (@a / @c).rgb.should eql [161, 255, 255] }
141
+ it { (@a / @b / @c).rgb.should eql [255, 255, 255] }
83
142
  end
84
143
  end
85
144
 
@@ -139,11 +198,14 @@ describe HSB do
139
198
 
140
199
  context "when '+' makes out of HSB range or rack of numbers" do
141
200
  it "raise ArgumentError" do
142
- expect { HSB.new(300, 70, 90) + [0, 50, 0] }.to raise_error ArgumentError
143
- expect { HSB.new(300, 70, 90) + [0, 0, -100] }.to raise_error ArgumentError
144
201
  expect { HSB.new(300, 70, 90) + [0, 5] }.to raise_error ArgumentError
145
202
  expect { HSB.new(300, 70, 90) + 5 }.to raise_error ArgumentError
146
203
  end
204
+
205
+ it "not raise ArgumentError" do
206
+ expect { HSB.new(300, 70, 90) + [60, 50, 0] }.not_to raise_error ArgumentError
207
+ expect { HSB.new(300, 70, 90) + [0, 0, -100] }.not_to raise_error ArgumentError
208
+ end
147
209
  end
148
210
  end
149
211
 
@@ -156,9 +218,9 @@ describe HSB do
156
218
  end
157
219
 
158
220
  context "when '-' makes out of HSB range" do
159
- it "raise ArgumentError" do
160
- expect { HSB.new(300, 7, 90) - [305, 0, 10] }.to raise_error ArgumentError
161
- expect { HSB.new(300, 70, 90) - [0, -35, 0] }.to raise_error ArgumentError
221
+ it "not raise ArgumentError" do
222
+ expect { HSB.new(300, 7, 90) - [305, 0, 10] }.not_to raise_error ArgumentError
223
+ expect { HSB.new(300, 70, 90) - [0, -35, 0] }.not_to raise_error ArgumentError
162
224
  end
163
225
  end
164
226
  end
@@ -283,12 +345,17 @@ describe HEX do
283
345
  it { (@hex + '#00ffcc').hex.should eql '#FFFFCC'}
284
346
  it { (@hex + '00FFCC').hex.should eql '#FFFFCC'}
285
347
  it { (@hex + '#0FC').hex.should eql '#FFFFCC'}
286
- it "keep original" do @hex.hex.should eql '#FF0000' end
348
+ it "keep original" do
349
+ @hex.hex.should eql '#FF0000'
350
+ end
287
351
  end
288
352
 
289
- context "out of HEX range" do
353
+ context "out of HEX range or Array" do
354
+ it "not raise ArgumentError" do
355
+ expect { HEX.new('#FF0000') + '#010000' }.not_to raise_error ArgumentError
356
+ end
357
+
290
358
  it "raise ArgumentError" do
291
- expect { HEX.new('#FF0000') + '#010000' }.to raise_error ArgumentError
292
359
  expect { HEX.new('#FF0000') + '#00ffgg' }.to raise_error ArgumentError
293
360
  expect { HEX.new('#000000') + [0, 50, 100] }.to raise_error ArgumentError
294
361
  end
@@ -297,8 +364,8 @@ describe HEX do
297
364
  context "pass a Fixnum" do
298
365
  before(:all) { @hex = HEX.new('#000000') }
299
366
  it { (@hex + 255).hex.should eql '#FFFFFF' }
300
- it "raise ArgumentError" do
301
- expect { @hex + 260 }.to raise_error ArgumentError
367
+ it "not raise ArgumentError" do
368
+ expect { @hex + 260 }.not_to raise_error ArgumentError
302
369
  end
303
370
  end
304
371
 
@@ -314,13 +381,18 @@ describe HEX do
314
381
  it { (@hex - '#00ffcc').hex.should eql '#000033'}
315
382
  it { (@hex - '00FFCC').hex.should eql '#000033'}
316
383
  it { (@hex - '#0FC').hex.should eql '#000033'}
317
- it "keep original" do @hex.hex.should eql '#00FFFF' end
384
+ it "keep original" do
385
+ @hex.hex.should eql '#00FFFF'
386
+ end
318
387
  end
319
388
 
320
- context "out of HEX range" do
389
+ context "out of HEX range or Array" do
390
+ it "not raise ArgumentError" do
391
+ expect { HEX.new('#FF0000') - '#000100' }.not_to raise_error ArgumentError
392
+ expect { HEX.new('#FF0000') - '#0000cc' }.not_to raise_error ArgumentError
393
+ end
394
+
321
395
  it "raise ArgumentError" do
322
- expect { HEX.new('#FF0000') - '#000100' }.to raise_error ArgumentError
323
- expect { HEX.new('#FF0000') - '#0000cc' }.to raise_error ArgumentError
324
396
  expect { HEX.new('#000000') - [0, 50, 100] }.to raise_error ArgumentError
325
397
  end
326
398
  end
@@ -328,8 +400,8 @@ describe HEX do
328
400
  context "pass a Fixnum" do
329
401
  before(:all) { @hex = HEX.new('#FFFFFF') }
330
402
  it { (@hex - 255).hex.should eql '#000000' }
331
- it "raise ArgumentError" do
332
- expect { @hex + 260 }.to raise_error ArgumentError
403
+ it "not raise ArgumentError" do
404
+ expect { @hex + 260 }.not_to raise_error ArgumentError
333
405
  end
334
406
  end
335
407
 
@@ -5,19 +5,19 @@ describe Color do
5
5
  describe ".new" do
6
6
  context "with a string" do
7
7
  context "of valid colorname" do
8
- it { Color.new("Alice Blue").name.to_s.should eql "Alice Blue" }
9
- it { Color.new("Khaki").name.to_s.should eql "Khaki" }
10
- it { Color.new("Mint Cream").name.to_s.should eql "Mint Cream" }
11
- it { Color.new("Thistle").name.to_s.should eql "Thistle" }
8
+ it { Color.new("Alice Blue").name.should eql "Alice Blue" }
9
+ it { Color.new("Khaki").name.should eql "Khaki" }
10
+ it { Color.new("Mint Cream").name.should eql "Mint Cream" }
11
+ it { Color.new("Thistle").name.should eql "Thistle" }
12
12
  end
13
13
 
14
14
  context "of valid name variations" do
15
- it { Color.new("AliceBlue").name.to_s.should eql "Alice Blue" }
16
- it { Color.new("aliceblue").name.to_s.should eql "Alice Blue" }
17
- it { Color.new("aliceblue").name.to_s.should eql "Alice Blue" }
18
- it { Color.new(:AliceBlue).name.to_s.should eql "Alice Blue" }
19
- it { Color.new(:aliceblue).name.to_s.should eql "Alice Blue" }
20
- it { Color.new(:alice_blue).name.to_s.should eql "Alice Blue" }
15
+ it { Color.new("AliceBlue").name.should eql "Alice Blue" }
16
+ it { Color.new("aliceblue").name.should eql "Alice Blue" }
17
+ it { Color.new("aliceblue").name.should eql "Alice Blue" }
18
+ it { Color.new(:AliceBlue).name.should eql "Alice Blue" }
19
+ it { Color.new(:aliceblue).name.should eql "Alice Blue" }
20
+ it { Color.new(:alice_blue).name.should eql "Alice Blue" }
21
21
  end
22
22
 
23
23
  context "of invalid name" do
@@ -30,9 +30,9 @@ describe Color do
30
30
 
31
31
  context "with a HEX string" do
32
32
  context "of valid HEX" do
33
- it { Color.new("#FFFFFF").hex.to_s.should eql "#FFFFFF" }
34
- it { Color.new("#00F").hex.to_s.should eql "#0000FF" }
35
- it { Color.new("000000").hex.to_s.should eql "#000000" }
33
+ it { Color.new("#FFFFFF").hex.should eql "#FFFFFF" }
34
+ it { Color.new("#00F").hex.should eql "#0000FF" }
35
+ it { Color.new("000000").hex.should eql "#000000" }
36
36
  end
37
37
 
38
38
  context "of invalid HEX" do
@@ -45,10 +45,10 @@ describe Color do
45
45
 
46
46
  context "with an array" do
47
47
  context "of valid RGB value" do
48
- it { Color.new([240, 248, 255]).rgb.to_a.should eql [240, 248, 255] }
49
- it { Color.new([240, 230, 140]).rgb.to_a.should eql [240, 230, 140] }
50
- it { Color.new([245, 255, 250]).rgb.to_a.should eql [245, 255, 250] }
51
- it { Color.new([216, 191, 216]).rgb.to_a.should eql [216, 191, 216] }
48
+ it { Color.new([240, 248, 255]).rgb.should eql [240, 248, 255] }
49
+ it { Color.new([240, 230, 140]).rgb.should eql [240, 230, 140] }
50
+ it { Color.new([245, 255, 250]).rgb.should eql [245, 255, 250] }
51
+ it { Color.new([216, 191, 216]).rgb.should eql [216, 191, 216] }
52
52
  end
53
53
 
54
54
  context "of invalid RGB value" do
@@ -60,24 +60,31 @@ describe Color do
60
60
  end
61
61
 
62
62
  context "with a RGB or HSB object" do
63
- it { Color.new(RGB.new 240, 248, 255).name.to_s.should eql "Alice Blue" }
64
- it { Color.new(HSB.new 208, 6, 100).name.to_s.should eql "Alice Blue" }
65
- it { Color.new(HEX.new '#F0F8FF').name.to_s.should eql "Alice Blue" }
63
+ it { Color.new(RGB.new 240, 248, 255).name.should eql "Alice Blue" }
64
+ it { Color.new(HSB.new 208, 6, 100).name.should eql "Alice Blue" }
65
+ it { Color.new(HEX.new '#F0F8FF').name.should eql "Alice Blue" }
66
66
  end
67
67
  end
68
68
 
69
+ describe "#_name,#_hex,#_rgb,#_hsb" do
70
+ it { Color.new("Alice Blue")._name.should be_instance_of NAME }
71
+ it { Color.new("Alice Blue")._hex.should be_instance_of HEX }
72
+ it { Color.new("Alice Blue")._rgb.should be_instance_of RGB }
73
+ it { Color.new("Alice Blue")._hsb.should be_instance_of HSB }
74
+ end
75
+
69
76
  describe "#hex" do
70
- it { Color.new("Alice Blue").hex.to_s.should eql "#F0F8FF" }
71
- it { Color.new("Khaki").hex.to_s.should eql "#F0E68C" }
72
- it { Color.new("Mint Cream").hex.to_s.should eql "#F5FFFA" }
73
- it { Color.new("Thistle").hex.to_s.should eql "#D8BFD8" }
77
+ it { Color.new("Alice Blue").hex.should eql "#F0F8FF" }
78
+ it { Color.new("Khaki").hex.should eql "#F0E68C" }
79
+ it { Color.new("Mint Cream").hex.should eql "#F5FFFA" }
80
+ it { Color.new("Thistle").hex.should eql "#D8BFD8" }
74
81
  end
75
82
 
76
83
  describe "#hsb" do
77
- it { Color.new("Alice Blue").hsb.to_a.should eql [208, 6, 100] }
78
- it { Color.new("Khaki").hsb.to_a.should eql [55, 42, 94] }
79
- it { Color.new("Mint Cream").hsb.to_a.should eql [150, 4, 100] }
80
- it { Color.new("Thistle").hsb.to_a.should eql [300, 12, 85] }
84
+ it { Color.new("Alice Blue").hsb.should eql [208, 6, 100] }
85
+ it { Color.new("Khaki").hsb.should eql [55, 42, 94] }
86
+ it { Color.new("Mint Cream").hsb.should eql [150, 4, 100] }
87
+ it { Color.new("Thistle").hsb.should eql [300, 12, 85] }
81
88
  end
82
89
 
83
90
  describe '#red, #green, #blue, #hue, #sat, #bright' do
@@ -119,7 +126,7 @@ describe Color do
119
126
  end
120
127
 
121
128
  context "when color is not in X11 colorset" do
122
- it { Color.new([100,10,10]).name.should be_nil }
129
+ it { Color.new([100,10,10]).name.should be_empty }
123
130
  end
124
131
  end
125
132
 
@@ -152,7 +159,7 @@ describe Color do
152
159
  end
153
160
 
154
161
  context "when color is not in X11 colorset" do
155
- it { Color.new([100,10,10]).name.should be_nil }
162
+ it { Color.new([100,10,10]).name.should be_empty }
156
163
  end
157
164
  end
158
165
 
@@ -177,10 +184,6 @@ describe Color do
177
184
  end
178
185
 
179
186
  describe "#to_s" do
180
- context "default" do
181
- it { Color.new(:alice_blue).to_s.should eql "Alice Blue" }
182
- end
183
-
184
187
  context "with name mode" do
185
188
  before do
186
189
  @c = Color.new(:alice_blue)
@@ -209,6 +212,11 @@ describe Color do
209
212
  end
210
213
  end
211
214
 
215
+ describe "#inspect" do
216
+ subject { Color.new :alice_blue }
217
+ its(:inspect) { should eql "#<Colorable::Color 'Alice Blue<rgb(240,248,255)/hsb(208,6,100)/#F0F8FF>'>"}
218
+ end
219
+
212
220
  describe "#+" do
213
221
  context "with :NAME mode" do
214
222
  before { @c = Color.new :khaki }
@@ -235,6 +243,24 @@ describe Color do
235
243
  it { @c2.to_s.should eql "hsb(350,20,85)" }
236
244
  it { @c.to_s.should eql "hsb(250,10,80)" }
237
245
  end
246
+
247
+ context "pass a RGB object" do
248
+ before(:each) do
249
+ @a = Color.new('Red')
250
+ @b = Color.new('Green')
251
+ @c = Color.new('Blue')
252
+ @d = Color.new([255, 0, 0])
253
+ @e = Color.new([0, 255, 0])
254
+ @f = Color.new([0, 0, 255])
255
+ end
256
+ it { (@a + @b).to_s.should eql "Yellow" }
257
+ it { (@b + @c).to_s.should eql "Aqua" }
258
+ it { (@a + @c).to_s.should eql "Fuchsia" }
259
+ it { (@a + @b + @c).to_s.should eql "White" }
260
+ it { (@e + @a).to_s.should eql "rgb(255,255,0)" }
261
+ it { (@f + @b).to_s.should eql "rgb(0,255,255)" }
262
+ it { (@d + @e + @f).to_s.should eql "rgb(255,255,255)" }
263
+ end
238
264
  end
239
265
 
240
266
  describe "#-" do
@@ -263,6 +289,64 @@ describe Color do
263
289
  it { @c.to_s.should eql "hsb(350,20,85)" }
264
290
  it { @c2.to_s.should eql "hsb(250,10,80)" }
265
291
  end
292
+
293
+ context "pass a RGB object" do
294
+ before(:each) do
295
+ @a = Color.new('Red')
296
+ @b = Color.new('Green')
297
+ @c = Color.new('Blue')
298
+ @d = Color.new([255, 0, 0])
299
+ @e = Color.new([0, 255, 0])
300
+ @f = Color.new([0, 0, 255])
301
+ end
302
+ it { (@a - @b).to_s.should eql "Black" }
303
+ it { (@b - @c).to_s.should eql "Black" }
304
+ it { (@a - @c).to_s.should eql "Black" }
305
+ it { (@a - @b - @c).to_s.should eql "Black" }
306
+ it { (@e - @a).to_s.should eql "rgb(0,0,0)" }
307
+ it { (@f - @b).to_s.should eql "rgb(0,0,0)" }
308
+ it { (@d - @e - @f).to_s.should eql "rgb(0,0,0)" }
309
+ end
310
+ end
311
+
312
+ describe "#*" do
313
+ context "pass a RGB object" do
314
+ before(:each) do
315
+ @a = Color.new('Red')
316
+ @b = Color.new('Green')
317
+ @c = Color.new('Blue')
318
+ @d = Color.new([255, 0, 0])
319
+ @e = Color.new([0, 255, 0])
320
+ @f = Color.new([0, 0, 255])
321
+ end
322
+ it { (@a * @b).to_s.should eql "Black" }
323
+ it { (@b * @c).to_s.should eql "Black" }
324
+ it { (@a * @c).to_s.should eql "Black" }
325
+ it { (@a * @b * @c).to_s.should eql "Black" }
326
+ it { (@e * @a).to_s.should eql "rgb(0,0,0)" }
327
+ it { (@f * @b).to_s.should eql "rgb(0,0,0)" }
328
+ it { (@d * @e * @f).to_s.should eql "rgb(0,0,0)" }
329
+ end
330
+ end
331
+
332
+ describe "#/" do
333
+ context "pass a RGB object" do
334
+ before(:each) do
335
+ @a = Color.new('Red')
336
+ @b = Color.new('Green')
337
+ @c = Color.new('Blue')
338
+ @d = Color.new([255, 0, 0])
339
+ @e = Color.new([0, 255, 0])
340
+ @f = Color.new([0, 0, 255])
341
+ end
342
+ it { (@a / @b).to_s.should eql "Yellow" }
343
+ it { (@b / @c).to_s.should eql "Aqua" }
344
+ it { (@a / @c).to_s.should eql "Fuchsia" }
345
+ it { (@a / @b / @c).to_s.should eql "White" }
346
+ it { (@e / @a).to_s.should eql "rgb(255,255,0)" }
347
+ it { (@f / @b).to_s.should eql "rgb(0,255,255)" }
348
+ it { (@d / @e / @f).to_s.should eql "rgb(255,255,255)" }
349
+ end
266
350
  end
267
351
 
268
352
  describe "#dark?" do
@@ -273,12 +357,12 @@ describe Color do
273
357
  describe "#info" do
274
358
  it 'returns data of the color' do
275
359
  info = {
276
- NAME:'Black',
277
- RGB:[0, 0, 0],
278
- HSB:[0, 0, 0],
279
- HEX:'#000000',
280
- MODE: :NAME,
281
- DARK:true
360
+ name:'Black',
361
+ rgb:[0, 0, 0],
362
+ hsb:[0, 0, 0],
363
+ hex:'#000000',
364
+ mode: :NAME,
365
+ dark:true
282
366
  }
283
367
  Color.new(:black).info.should eql info
284
368
  end