浏览代码

Tests: Added target parameter Part II

Mugen87 7 年之前
父节点
当前提交
fa19d8be06

+ 0 - 2
test/three.source.unit.js

@@ -2,8 +2,6 @@
  * @author TristanVALCKE / https://github.com/Itee
  */
 
-import './unit/qunit-utils.js';
-
 //src
 import './unit/src/constants.tests';
 import './unit/src/polyfills.tests';

+ 24 - 30
test/unit/src/core/Object3D.tests.js

@@ -134,16 +134,19 @@ export default QUnit.module( 'Core', () => {
 			var axis = new Vector3( 0, 1, 0 );
 			var angle = Math.PI;
 			var expected = new Euler( - Math.PI, 0, - Math.PI );
+			var euler = new Euler();
 
 			a.setRotationFromAxisAngle( axis, angle );
-			assert.ok( eulerEquals( a.getWorldRotation(), expected ), "Correct values after rotation" );
+			euler.setFromQuaternion( a.getWorldQuaternion( new Quaternion() ) );
+			assert.ok( eulerEquals( euler, expected ), "Correct values after rotation" );
 
 			axis.set( 1, 0, 0 );
 			var angle = 0;
 			expected.set( 0, 0, 0 );
 
 			a.setRotationFromAxisAngle( axis, angle );
-			assert.ok( eulerEquals( a.getWorldRotation(), expected ), "Correct values after zeroing" );
+			euler.setFromQuaternion( a.getWorldQuaternion( new Quaternion() ) );
+			assert.ok( eulerEquals( euler, expected ), "Correct values after zeroing" );
 
 		} );
 
@@ -152,9 +155,11 @@ export default QUnit.module( 'Core', () => {
 			var a = new Object3D();
 			var rotation = new Euler( ( 45 / RadToDeg ), 0, Math.PI );
 			var expected = rotation.clone(); // bit obvious
+			var euler = new Euler();
 
 			a.setRotationFromEuler( rotation );
-			assert.ok( eulerEquals( a.getWorldRotation(), expected ), "Correct values after rotation" );
+			euler.setFromQuaternion( a.getWorldQuaternion( new Quaternion() ) );
+			assert.ok( eulerEquals( euler, expected ), "Correct values after rotation" );
 
 		} );
 
@@ -165,10 +170,12 @@ export default QUnit.module( 'Core', () => {
 			var eye = new Vector3( 0, 0, 0 );
 			var target = new Vector3( 0, 1, - 1 );
 			var up = new Vector3( 0, 1, 0 );
+			var euler = new Euler();
 
 			m.lookAt( eye, target, up );
 			a.setRotationFromMatrix( m );
-			assert.numEqual( a.getWorldRotation().x * RadToDeg, 45, "Correct rotation angle" );
+			euler.setFromQuaternion( a.getWorldQuaternion( new Quaternion() ) );
+			assert.numEqual( euler.x * RadToDeg, 45, "Correct rotation angle" );
 
 		} );
 
@@ -176,10 +183,11 @@ export default QUnit.module( 'Core', () => {
 
 			var a = new Object3D();
 			var rotation = new Quaternion().setFromEuler( new Euler( Math.PI, 0, - Math.PI ) );
-			var expected = new Euler( Math.PI, 0, - Math.PI );
+			var euler = new Euler();
 
 			a.setRotationFromQuaternion( rotation );
-			assert.ok( eulerEquals( a.getWorldRotation(), expected ), "Correct values after rotation" );
+			euler.setFromQuaternion( a.getWorldQuaternion( new Quaternion() ) );
+			assert.ok( eulerEquals( euler, new Euler( Math.PI, 0, - Math.PI ) ), "Correct values after rotation" );
 
 		} );
 
@@ -354,23 +362,21 @@ export default QUnit.module( 'Core', () => {
 			var expectedSingle = new Vector3( x, y, z );
 			var expectedParent = new Vector3( x, y, 0 );
 			var expectedChild = new Vector3( x, y, 7 + ( z - z ) );
+			var position = new Vector3();
 
 			a.translateX( x );
 			a.translateY( y );
 			a.translateZ( z );
 
-			assert.deepEqual(
-				a.getWorldPosition(), expectedSingle,
-				"WorldPosition as expected for single object"
-			);
+			assert.deepEqual( a.getWorldPosition( position ), expectedSingle, "WorldPosition as expected for single object" );
 
 			// translate child and then parent
 			b.translateZ( 7 );
 			a.add( b );
 			a.translateZ( - z );
 
-			assert.deepEqual( a.getWorldPosition(), expectedParent, "WorldPosition as expected for parent" );
-			assert.deepEqual( b.getWorldPosition(), expectedChild, "WorldPosition as expected for child" );
+			assert.deepEqual( a.getWorldPosition( position ), expectedParent, "WorldPosition as expected for parent" );
+			assert.deepEqual( b.getWorldPosition( position ), expectedChild, "WorldPosition as expected for child" );
 
 		} );
 
@@ -380,18 +386,6 @@ export default QUnit.module( 'Core', () => {
 
 		} );
 
-		QUnit.test( "getWorldRotation", ( assert ) => {
-
-			var obj = new Object3D();
-
-			obj.lookAt( new Vector3( 0, - 1, 1 ) );
-			assert.numEqual( obj.getWorldRotation().x * RadToDeg, 45, "x is equal" );
-
-			obj.lookAt( new Vector3( 1, 0, 0 ) );
-			assert.numEqual( obj.getWorldRotation().y * RadToDeg, 90, "y is equal" );
-
-		} );
-
 		QUnit.test( "getWorldScale", ( assert ) => {
 
 			var a = new Object3D();
@@ -400,7 +394,7 @@ export default QUnit.module( 'Core', () => {
 
 			a.applyMatrix( m );
 
-			assert.deepEqual( a.getWorldScale(), expected, "WorldScale as expected" );
+			assert.deepEqual( a.getWorldScale( new Vector3() ), expected, "WorldScale as expected" );
 
 		} );
 
@@ -408,15 +402,15 @@ export default QUnit.module( 'Core', () => {
 
 			var a = new Object3D();
 			var expected = new Vector3( 0, - 0.5 * Math.sqrt( 2 ), 0.5 * Math.sqrt( 2 ) );
-			var dir;
+			var direction = new Vector3();
 
 			a.lookAt( new Vector3( 0, - 1, 1 ) );
-			dir = a.getWorldDirection();
+			a.getWorldDirection( direction );
 
 			assert.ok(
-				Math.abs( dir.x - expected.x ) <= eps &&
-				Math.abs( dir.y - expected.y ) <= eps &&
-				Math.abs( dir.z - expected.z ) <= eps,
+				Math.abs( direction.x - expected.x ) <= eps &&
+				Math.abs( direction.y - expected.y ) <= eps &&
+				Math.abs( direction.z - expected.z ) <= eps,
 				"Direction has the expected values"
 			);
 

+ 4 - 2
test/unit/src/math/Color.tests.js

@@ -76,8 +76,9 @@ export default QUnit.module( 'Maths', () => {
 		QUnit.test( "setHSL", ( assert ) => {
 
 			var c = new Color();
+			var hsl = { h: 0, s: 0, l: 0 };
 			c.setHSL( 0.75, 1.0, 0.25 );
-			var hsl = c.getHSL();
+			c.getHSL( hsl );
 
 			assert.ok( hsl.h == 0.75, "hue: " + hsl.h );
 			assert.ok( hsl.s == 1.00, "saturation: " + hsl.s );
@@ -170,7 +171,8 @@ export default QUnit.module( 'Maths', () => {
 		QUnit.test( "getHSL", ( assert ) => {
 
 			var c = new Color( 0x80ffff );
-			var hsl = c.getHSL();
+			var hsl = { h: 0, s: 0, l: 0 };
+			c.getHSL( hsl );
 
 			assert.ok( hsl.h == 0.5, "hue: " + hsl.h );
 			assert.ok( hsl.s == 1.0, "saturation: " + hsl.s );

+ 19 - 18
test/unit/src/math/Triangle.tests.js

@@ -270,37 +270,38 @@ export default QUnit.module( 'Maths', () => {
 		QUnit.test( "closestPointToPoint", ( assert ) => {
 
 			var a = new Triangle( new Vector3( - 1, 0, 0 ), new Vector3( 1, 0, 0 ), new Vector3( 0, 1, 0 ) );
+			var point = new Vector3();
 
 			// point lies inside the triangle
-			var b0 = a.closestPointToPoint( new Vector3( 0, 0.5, 0 ) );
-			assert.ok( b0.equals( new Vector3( 0, 0.5, 0 ) ), "Passed!" );
+			a.closestPointToPoint( new Vector3( 0, 0.5, 0 ), point );
+			assert.ok( point.equals( new Vector3( 0, 0.5, 0 ) ), "Passed!" );
 
 			// point lies on a vertex
-			var b0 = a.closestPointToPoint( a.a );
-			assert.ok( b0.equals( a.a ), "Passed!" );
+			a.closestPointToPoint( a.a, point );
+			assert.ok( point.equals( a.a ), "Passed!" );
 
-			var b0 = a.closestPointToPoint( a.b );
-			assert.ok( b0.equals( a.b ), "Passed!" );
+			a.closestPointToPoint( a.b, point );
+			assert.ok( point.equals( a.b ), "Passed!" );
 
-			var b0 = a.closestPointToPoint( a.c );
-			assert.ok( b0.equals( a.c ), "Passed!" );
+			a.closestPointToPoint( a.c, point );
+			assert.ok( point.equals( a.c ), "Passed!" );
 
 			// point lies on an edge
-			var b0 = a.closestPointToPoint( zero3.clone() );
-			assert.ok( b0.equals( zero3.clone() ), "Passed!" );
+			a.closestPointToPoint( zero3.clone(), point );
+			assert.ok( point.equals( zero3.clone() ), "Passed!" );
 
 			// point lies outside the triangle
-			var b0 = a.closestPointToPoint( new Vector3( - 2, 0, 0 ) );
-			assert.ok( b0.equals( new Vector3( - 1, 0, 0 ) ), "Passed!" );
+			a.closestPointToPoint( new Vector3( - 2, 0, 0 ), point );
+			assert.ok( point.equals( new Vector3( - 1, 0, 0 ) ), "Passed!" );
 
-			var b0 = a.closestPointToPoint( new Vector3( 2, 0, 0 ) );
-			assert.ok( b0.equals( new Vector3( 1, 0, 0 ) ), "Passed!" );
+			a.closestPointToPoint( new Vector3( 2, 0, 0 ), point );
+			assert.ok( point.equals( new Vector3( 1, 0, 0 ) ), "Passed!" );
 
-			var b0 = a.closestPointToPoint( new Vector3( 0, 2, 0 ) );
-			assert.ok( b0.equals( new Vector3( 0, 1, 0 ) ), "Passed!" );
+			a.closestPointToPoint( new Vector3( 0, 2, 0 ), point );
+			assert.ok( point.equals( new Vector3( 0, 1, 0 ) ), "Passed!" );
 
-			var b0 = a.closestPointToPoint( new Vector3( 0, - 2, 0 ) );
-			assert.ok( b0.equals( new Vector3( 0, 0, 0 ) ), "Passed!" );
+			a.closestPointToPoint( new Vector3( 0, - 2, 0 ), point );
+			assert.ok( point.equals( new Vector3( 0, 0, 0 ) ), "Passed!" );
 
 		} );