Browse Source

Added tests for setHSL() and getHSL()

Pavan Kumar Sunkara 12 years ago
parent
commit
9562459089
2 changed files with 25 additions and 6 deletions
  1. 3 3
      src/math/Color.js
  2. 22 3
      test/unit/math/Color.js

+ 3 - 3
src/math/Color.js

@@ -97,9 +97,9 @@ THREE.extend( THREE.Color.prototype, {
 
 			q = ( 2.0 * l ) - p;
 
-			this.r = f( p, q, h + 1.0/3 );
-			this.g = f( p, q, h );
-			this.b = f( p, q, h - 1.0/3 );
+			this.r = f( q, p, h + 1.0/3 );
+			this.g = f( q, p, h );
+			this.b = f( q, p, h - 1.0/3 );
 
 		}
 

+ 22 - 3
test/unit/math/Color.js

@@ -157,13 +157,32 @@ test( "getHexString", function(){
 });
 
 test( "getStyle", function(){
-    var c = new THREE.Color('plum');    
+    var c = new THREE.Color('plum');
     var res = c.getStyle();
     ok( res == 'rgb(221,160,221)', "style: " + res );
 });
 
+test( "getHSL", function () {
+    var c = new THREE.Color( 0x80ffff );
+    var hsl = c.getHSL();
+
+    ok( hsl.h == 0.5, "hue: " + hsl.h );
+    ok( hsl.s == 1.0, "saturation: " + hsl.s );
+    ok( (Math.round(parseFloat(hsl.l)*100)/100) == 0.75, "lightness: " + hsl.l );
+});
+
+test( "setHSL", function () {
+    var c = new THREE.Color();
+    c.setHSL(0.75, 1.0, 0.25);
+    var hsl = c.getHSL();
+
+    ok( hsl.h == 0.75, "hue: " + hsl.h );
+    ok( hsl.s == 1.00, "saturation: " + hsl.s );
+    ok( hsl.l == 0.25, "lightness: " + hsl.l );
+});
+
 test( "getHSV", function(){
-    var c = new THREE.Color('maroon');    
+    var c = new THREE.Color('maroon');
     var hsv = c.getHSV();
 
     ok( hsv.h == 0, "hue: " + hsv.h );
@@ -173,7 +192,7 @@ test( "getHSV", function(){
 });
 
 test( "setHSV", function(){
-    var c = new THREE.Color();    
+    var c = new THREE.Color();
     c.setHSV(0, 1, 1);
     var hsv = c.getHSV();
     ok( hsv.h == 0, "hue: " + hsv.h );