@@ -18,8 +18,174 @@ test( "copy", function(){
1818
1919test ( "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