Skip to content

Commit 0642eea

Browse files
committed
up Color.js test coverage to 78%
1 parent 9265c01 commit 0642eea

1 file changed

Lines changed: 167 additions & 1 deletion

File tree

test/unit/math/Color.js

Lines changed: 167 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,174 @@ test( "copy", function(){
1818

1919
test( "setRGB", function(){
2020
var c = new THREE.Color()
21-
c.setRGB(0, 1, 2);
21+
c.setRGB(0, 1, 1);
2222
ok( c.r == 0, "Red: " + c.r );
2323
ok( c.g == 1, "Green: " + c.g );
2424
ok( c.b == 1, "Blue: " + c.b );
2525
});
26+
27+
test( "copyGammaToLinear", function(){
28+
var c = new THREE.Color();
29+
var c2 = new THREE.Color();
30+
c2.setRGB(2, 2, 2)
31+
c.copyGammaToLinear(c2)
32+
ok( c.r == 4, "Red c: " + c.r + " Red c2: " + c2.r);
33+
ok( c.g == 4, "Green c: " + c.g + " Green c2: " + c2.g);
34+
ok( c.b == 4, "Blue c: " + c.g + " Blue c2: " + c2.b);
35+
});
36+
37+
test( "copyLinearToGamma", function(){
38+
var c = new THREE.Color();
39+
var c2 = new THREE.Color();
40+
c2.setRGB(4, 4, 4)
41+
c.copyLinearToGamma(c2)
42+
ok( c.r == 2, "Red c: " + c.r + " Red c2: " + c2.r);
43+
ok( c.g == 2, "Green c: " + c.g + " Green c2: " + c2.g);
44+
ok( c.b == 2, "Blue c: " + c.g + " Blue c2: " + c2.b);
45+
});
46+
47+
48+
test( "convertGammaToLinear", function(){
49+
var c = new THREE.Color();
50+
c.setRGB(2, 2, 2)
51+
c.convertGammaToLinear()
52+
ok( c.r == 4, "Red: " + c.r );
53+
ok( c.g == 4, "Green: " + c.g );
54+
ok( c.b == 4, "Blue: " + c.b );
55+
});
56+
57+
58+
test( "convertLinearToGamma", function(){
59+
var c = new THREE.Color();
60+
c.setRGB(4, 4, 4)
61+
c.convertLinearToGamma()
62+
ok( c.r == 2, "Red: " + c.r );
63+
ok( c.g == 2, "Green: " + c.g );
64+
ok( c.b == 2, "Blue: " + c.b );
65+
});
66+
67+
test("setWithNum", function(){
68+
var c = new THREE.Color();
69+
c.set(0xFF0000);
70+
ok( c.r == 1, "Red: " + c.r );
71+
ok( c.g == 0, "Green: " + c.g );
72+
ok( c.b == 0, "Blue: " + c.b );
73+
});
74+
75+
76+
test( "setWithString", function(){
77+
var c = new THREE.Color();
78+
c.set('red');
79+
ok( c.r == 1, "Red: " + c.r );
80+
ok( c.g == 0, "Green: " + c.g );
81+
ok( c.b == 0, "Blue: " + c.b );
82+
});
83+
84+
85+
test( "clone", function(){
86+
var c = new THREE.Color('red');
87+
var c2 = c.clone();
88+
ok( c2.r == 1, "Red c: " + c.r + " Red c2: " + c2.r);
89+
ok( c2.g == 0, "Green c: " + c.g + " Green c2: " + c2.g);
90+
ok( c2.b == 0, "Blue c: " + c.g + " Blue c2: " + c2.b);
91+
});
92+
93+
test( "lerpSelf", function(){
94+
var c = new THREE.Color();
95+
var c2 = new THREE.Color();
96+
c.setRGB(0, 0, 0);
97+
c.lerpSelf(c2, 2);
98+
ok( c.r == 2, "Red: " + c.r );
99+
ok( c.g == 2, "Green: " + c.g );
100+
ok( c.b == 2, "Blue: " + c.b );
101+
102+
});
103+
104+
105+
test( "setStyleRGBRed", function(){
106+
var c = new THREE.Color();
107+
c.setStyle('rgb(255,0,0)');
108+
ok( c.r == 1, "Red: " + c.r );
109+
ok( c.g == 0, "Green: " + c.g );
110+
ok( c.b == 0, "Blue: " + c.b );
111+
});
112+
113+
test( "setStyleRGBPercentRed", function(){
114+
var c = new THREE.Color();
115+
c.setStyle('rgb(100%,0%,0%)');
116+
ok( c.r == 1, "Red: " + c.r );
117+
ok( c.g == 0, "Green: " + c.g );
118+
ok( c.b == 0, "Blue: " + c.b );
119+
});
120+
121+
test( "setStyleHexRed", function(){
122+
var c = new THREE.Color();
123+
c.setStyle('#ff0000');
124+
ok( c.r == 1, "Red: " + c.r );
125+
ok( c.g == 0, "Green: " + c.g );
126+
ok( c.b == 0, "Blue: " + c.b );
127+
});
128+
129+
test( "setStyleHex2Red", function(){
130+
var c = new THREE.Color();
131+
c.setStyle('#f00');
132+
ok( c.r == 1, "Red: " + c.r );
133+
ok( c.g == 0, "Green: " + c.g );
134+
ok( c.b == 0, "Blue: " + c.b );
135+
});
136+
137+
test( "setStyleColorName", function(){
138+
var c = new THREE.Color();
139+
c.setStyle('red');
140+
ok( c.r == 1, "Red: " + c.r );
141+
ok( c.g == 0, "Green: " + c.g );
142+
ok( c.b == 0, "Blue: " + c.b );
143+
});
144+
145+
146+
test( "getHex", function(){
147+
var c = new THREE.Color('red');
148+
var res = c.getHex();
149+
ok( res == 0xFF0000, "Hex: " + res );
150+
});
151+
152+
test( "setHex", function(){
153+
var c = new THREE.Color();
154+
c.setHex(0xFF0000);
155+
ok( c.r == 1, "Red: " + c.r );
156+
ok( c.g == 0, "Green: " + c.g );
157+
ok( c.b == 0, "Blue: " + c.b );
158+
});
159+
160+
test( "getHexString", function(){
161+
var c = new THREE.Color('red');
162+
var res = c.getHexString();
163+
ok( res == 'ff0000', "Hex: " + res );
164+
});
165+
166+
test( "getStyle", function(){
167+
var c = new THREE.Color('red');
168+
var res = c.getStyle();
169+
ok( res == 'rgb(255,0,0)', "style: " + res );
170+
});
171+
172+
test( "getHSV", function(){
173+
var c = new THREE.Color('red');
174+
var hsv = c.getHSV();
175+
176+
ok( hsv.h == 0, "hue: " + hsv.h );
177+
ok( hsv.s == 1, "saturation: " + hsv.s );
178+
ok( hsv.v == 1, "value: " + hsv.v );
179+
});
180+
181+
test( "setHSV", function(){
182+
var c = new THREE.Color();
183+
c.setHSV(0, 1, 1);
184+
var hsv = c.getHSV();
185+
ok( hsv.h == 0, "hue: " + hsv.h );
186+
ok( hsv.s == 1, "saturation: " + hsv.s );
187+
ok( hsv.v == 1, "value: " + hsv.v );
188+
});
189+
190+
// xxx todo more hsv tests
191+

0 commit comments

Comments
 (0)