Sfoglia il codice sorgente

Clean up tests on BufferGeometryUtils and GLTFExporter.

Don McCurdy 5 anni fa
parent
commit
a1ad7e3ed4

+ 2 - 2
test/unit/example/exporters/GLTFExporter.tests.js

@@ -6,7 +6,7 @@
 import { GLTFExporter } from '../../../../examples/jsm/exporters/GLTFExporter';
 
 import { AnimationClip } from '../../../../src/animation/AnimationClip';
-import { BoxGeometry } from '../../../../src/geometries/BoxGeometry';
+import { BoxBufferGeometry } from '../../../../src/geometries/BoxGeometry';
 import { BufferAttribute } from '../../../../src/core/BufferAttribute';
 import { BufferGeometry } from '../../../../src/core/BufferGeometry';
 import { Mesh } from '../../../../src/objects/Mesh';
@@ -59,7 +59,7 @@ export default QUnit.module( 'Exporters', () => {
 			var done = assert.async();
 
 			var box = new Mesh(
-				new BoxGeometry( 1, 1, 1 ),
+				new BoxBufferGeometry( 1, 1, 1 ),
 				new MeshStandardMaterial( { color: 0xFF0000 } )
 			);
 

+ 107 - 103
test/unit/example/utils/BufferGeometryUtils.tests.js

@@ -9,164 +9,168 @@ import { BufferAttribute } from '../../../../src/core/BufferAttribute';
 import { BufferGeometry } from '../../../../src/core/BufferGeometry';
 import { TriangleStripDrawMode, TriangleFanDrawMode } from '../../../../src/constants';
 
-export default QUnit.module( 'BufferGeometryUtils', () => {
+export default QUnit.module( 'Utils', () => {
 
-	QUnit.test( 'mergeBufferAttributes - basic', ( assert ) => {
+	QUnit.module( 'BufferGeometryUtils', () => {
 
-		var array1 = new Float32Array( [ 1, 2, 3, 4 ] );
-		var attr1 = new BufferAttribute( array1, 2, false );
+		QUnit.test( 'mergeBufferAttributes - basic', ( assert ) => {
 
-		var array2 = new Float32Array( [ 5, 6, 7, 8 ] );
-		var attr2 = new BufferAttribute( array2, 2, false );
+			var array1 = new Float32Array( [ 1, 2, 3, 4 ] );
+			var attr1 = new BufferAttribute( array1, 2, false );
 
-		var mergedAttr = BufferGeometryUtils.mergeBufferAttributes( [ attr1, attr2 ] );
+			var array2 = new Float32Array( [ 5, 6, 7, 8 ] );
+			var attr2 = new BufferAttribute( array2, 2, false );
 
-		assert.smartEqual( Array.from( mergedAttr.array ), [ 1, 2, 3, 4, 5, 6, 7, 8 ], 'merges elements' );
-		assert.equal( mergedAttr.itemSize, 2, 'retains .itemSize' );
-		assert.equal( mergedAttr.normalized, false, 'retains .normalized' );
+			var mergedAttr = BufferGeometryUtils.mergeBufferAttributes( [ attr1, attr2 ] );
 
-	} );
+			assert.smartEqual( Array.from( mergedAttr.array ), [ 1, 2, 3, 4, 5, 6, 7, 8 ], 'merges elements' );
+			assert.equal( mergedAttr.itemSize, 2, 'retains .itemSize' );
+			assert.equal( mergedAttr.normalized, false, 'retains .normalized' );
 
-	QUnit.test( 'mergeBufferAttributes - invalid', ( assert ) => {
+		} );
 
-		var array1 = new Float32Array( [ 1, 2, 3, 4 ] );
-		var attr1 = new BufferAttribute( array1, 2, false );
+		QUnit.test( 'mergeBufferAttributes - invalid', ( assert ) => {
 
-		var array2 = new Float32Array( [ 5, 6, 7, 8 ] );
-		var attr2 = new BufferAttribute( array2, 4, false );
+			var array1 = new Float32Array( [ 1, 2, 3, 4 ] );
+			var attr1 = new BufferAttribute( array1, 2, false );
 
-		assert.notOk( BufferGeometryUtils.mergeBufferAttributes( [ attr1, attr2 ] ) );
+			var array2 = new Float32Array( [ 5, 6, 7, 8 ] );
+			var attr2 = new BufferAttribute( array2, 4, false );
 
-		attr2.itemSize = 2;
-		attr2.normalized = true;
+			assert.notOk( BufferGeometryUtils.mergeBufferAttributes( [ attr1, attr2 ] ) );
 
-		assert.notOk( BufferGeometryUtils.mergeBufferAttributes( [ attr1, attr2 ] ) );
+			attr2.itemSize = 2;
+			attr2.normalized = true;
 
-		attr2.normalized = false;
+			assert.notOk( BufferGeometryUtils.mergeBufferAttributes( [ attr1, attr2 ] ) );
 
-		assert.ok( BufferGeometryUtils.mergeBufferAttributes( [ attr1, attr2 ] ) );
+			attr2.normalized = false;
 
-	} );
+			assert.ok( BufferGeometryUtils.mergeBufferAttributes( [ attr1, attr2 ] ) );
 
-	QUnit.test( 'mergeBufferGeometries - basic', ( assert ) => {
+		} );
 
-		var geometry1 = new BufferGeometry();
-		geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
+		QUnit.test( 'mergeBufferGeometries - basic', ( assert ) => {
 
-		var geometry2 = new BufferGeometry();
-		geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 4, 5, 6 ] ), 1, false ) );
+			var geometry1 = new BufferGeometry();
+			geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
 
-		var mergedGeometry = BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] );
+			var geometry2 = new BufferGeometry();
+			geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 4, 5, 6 ] ), 1, false ) );
 
-		assert.ok( mergedGeometry, 'merge succeeds' );
-		assert.smartEqual( Array.from( mergedGeometry.attributes.position.array ), [ 1, 2, 3, 4, 5, 6 ], 'merges elements' );
-		assert.equal( mergedGeometry.attributes.position.itemSize, 1, 'retains .itemSize' );
+			var mergedGeometry = BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] );
 
-	} );
+			assert.ok( mergedGeometry, 'merge succeeds' );
+			assert.smartEqual( Array.from( mergedGeometry.attributes.position.array ), [ 1, 2, 3, 4, 5, 6 ], 'merges elements' );
+			assert.equal( mergedGeometry.attributes.position.itemSize, 1, 'retains .itemSize' );
 
-	QUnit.test( 'mergeBufferGeometries - indexed', ( assert ) => {
+		} );
 
-		var geometry1 = new BufferGeometry();
-		geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
-		geometry1.setIndex( new BufferAttribute( new Uint16Array( [ 0, 1, 2, 2, 1, 0 ] ), 1, false ) );
+		QUnit.test( 'mergeBufferGeometries - indexed', ( assert ) => {
 
-		var geometry2 = new BufferGeometry();
-		geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 4, 5, 6 ] ), 1, false ) );
-		geometry2.setIndex( new BufferAttribute( new Uint16Array( [ 0, 1, 2 ] ), 1, false ) );
+			var geometry1 = new BufferGeometry();
+			geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
+			geometry1.setIndex( new BufferAttribute( new Uint16Array( [ 0, 1, 2, 2, 1, 0 ] ), 1, false ) );
 
-		var mergedGeometry = BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] );
+			var geometry2 = new BufferGeometry();
+			geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 4, 5, 6 ] ), 1, false ) );
+			geometry2.setIndex( new BufferAttribute( new Uint16Array( [ 0, 1, 2 ] ), 1, false ) );
 
-		assert.ok( mergedGeometry, 'merge succeeds' );
-		assert.smartEqual( Array.from( mergedGeometry.attributes.position.array ), [ 1, 2, 3, 4, 5, 6 ], 'merges elements' );
-		assert.smartEqual( Array.from( mergedGeometry.index.array ), [ 0, 1, 2, 2, 1, 0, 3, 4, 5 ], 'merges indices' );
-		assert.equal( mergedGeometry.attributes.position.itemSize, 1, 'retains .itemSize' );
+			var mergedGeometry = BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] );
 
-	} );
+			assert.ok( mergedGeometry, 'merge succeeds' );
+			assert.smartEqual( Array.from( mergedGeometry.attributes.position.array ), [ 1, 2, 3, 4, 5, 6 ], 'merges elements' );
+			assert.smartEqual( Array.from( mergedGeometry.index.array ), [ 0, 1, 2, 2, 1, 0, 3, 4, 5 ], 'merges indices' );
+			assert.equal( mergedGeometry.attributes.position.itemSize, 1, 'retains .itemSize' );
 
-	QUnit.test( 'mergeBufferGeometries - morph targets', ( assert ) => {
+		} );
 
-		var geometry1 = new BufferGeometry();
-		geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
-		geometry1.morphAttributes.position = [
-			new BufferAttribute( new Float32Array( [ 10, 20, 30 ] ), 1, false ),
-			new BufferAttribute( new Float32Array( [ 100, 200, 300 ] ), 1, false )
-		];
+		QUnit.test( 'mergeBufferGeometries - morph targets', ( assert ) => {
 
-		var geometry2 = new BufferGeometry();
-		geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 4, 5, 6 ] ), 1, false ) );
-		geometry2.morphAttributes.position = [
-			new BufferAttribute( new Float32Array( [ 40, 50, 60 ] ), 1, false ),
-			new BufferAttribute( new Float32Array( [ 400, 500, 600 ] ), 1, false )
-		];
+			var geometry1 = new BufferGeometry();
+			geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
+			geometry1.morphAttributes.position = [
+				new BufferAttribute( new Float32Array( [ 10, 20, 30 ] ), 1, false ),
+				new BufferAttribute( new Float32Array( [ 100, 200, 300 ] ), 1, false )
+			];
 
-		var mergedGeometry = BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] );
+			var geometry2 = new BufferGeometry();
+			geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 4, 5, 6 ] ), 1, false ) );
+			geometry2.morphAttributes.position = [
+				new BufferAttribute( new Float32Array( [ 40, 50, 60 ] ), 1, false ),
+				new BufferAttribute( new Float32Array( [ 400, 500, 600 ] ), 1, false )
+			];
 
-		assert.ok( mergedGeometry, 'merge succeeds' );
-		assert.smartEqual( Array.from( mergedGeometry.attributes.position.array ), [ 1, 2, 3, 4, 5, 6 ], 'merges elements' );
-		assert.smartEqual( Array.from( mergedGeometry.morphAttributes.position[ 0 ].array ), [ 10, 20, 30, 40, 50, 60 ], 'merges morph targets' );
-		assert.smartEqual( Array.from( mergedGeometry.morphAttributes.position[ 1 ].array ), [ 100, 200, 300, 400, 500, 600 ], 'merges morph targets' );
-		assert.equal( mergedGeometry.attributes.position.itemSize, 1, 'retains .itemSize' );
+			var mergedGeometry = BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] );
 
-	} );
+			assert.ok( mergedGeometry, 'merge succeeds' );
+			assert.smartEqual( Array.from( mergedGeometry.attributes.position.array ), [ 1, 2, 3, 4, 5, 6 ], 'merges elements' );
+			assert.smartEqual( Array.from( mergedGeometry.morphAttributes.position[ 0 ].array ), [ 10, 20, 30, 40, 50, 60 ], 'merges morph targets' );
+			assert.smartEqual( Array.from( mergedGeometry.morphAttributes.position[ 1 ].array ), [ 100, 200, 300, 400, 500, 600 ], 'merges morph targets' );
+			assert.equal( mergedGeometry.attributes.position.itemSize, 1, 'retains .itemSize' );
 
-	QUnit.test( 'mergeBufferGeometries - invalid', ( assert ) => {
+		} );
 
-		var geometry1 = new BufferGeometry();
-		geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
-		geometry1.setIndex( new BufferAttribute( new Uint16Array( [ 0, 1, 2 ] ), 1, false ) );
+		QUnit.test( 'mergeBufferGeometries - invalid', ( assert ) => {
 
-		var geometry2 = new BufferGeometry();
-		geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 4, 5, 6 ] ), 1, false ) );
+			var geometry1 = new BufferGeometry();
+			geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
+			geometry1.setIndex( new BufferAttribute( new Uint16Array( [ 0, 1, 2 ] ), 1, false ) );
 
-		assert.notOk( BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] ) );
+			var geometry2 = new BufferGeometry();
+			geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( [ 4, 5, 6 ] ), 1, false ) );
 
-		geometry2.setIndex( new BufferAttribute( new Uint16Array( [ 0, 1, 2 ] ), 1, false ) );
+			assert.notOk( BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] ) );
 
-		assert.ok( BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] ) );
+			geometry2.setIndex( new BufferAttribute( new Uint16Array( [ 0, 1, 2 ] ), 1, false ) );
 
-		geometry2.setAttribute( 'foo', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
+			assert.ok( BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] ) );
 
-		assert.notOk( BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] ) );
+			geometry2.setAttribute( 'foo', new BufferAttribute( new Float32Array( [ 1, 2, 3 ] ), 1, false ) );
 
-	} );
+			assert.notOk( BufferGeometryUtils.mergeBufferGeometries( [ geometry1, geometry2 ] ) );
+
+		} );
+
+		QUnit.test( 'toTrianglesDrawMode()', ( assert ) => {
 
-	QUnit.test( 'toTrianglesDrawMode()', ( assert ) => {
+			// TRIANGLE_STRIP
 
-		// TRIANGLE_STRIP
+			const vertices1 = [];
 
-		const vertices1 = [];
+			vertices1.push( 0, 0, 0 ); // v0
+			vertices1.push( 1, 0, 0 ); // v1
+			vertices1.push( 0, 1, 0 ); // v2
+			vertices1.push( 2, 0, 0 ); // v3
+			vertices1.push( 2, 1, 0 ); // v4
+			vertices1.push( 3, 0, 0 ); // v5
 
-		vertices1.push( 0, 0, 0 ); // v0
-		vertices1.push( 1, 0, 0 ); // v1
-		vertices1.push( 0, 1, 0 ); // v2
-		vertices1.push( 2, 0, 0 ); // v3
-		vertices1.push( 2, 1, 0 ); // v4
-		vertices1.push( 3, 0, 0 ); // v5
+			var geometry1 = new BufferGeometry();
 
-		var geometry1 = new BufferGeometry();
+			geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( vertices1 ), 3 ) );
+			geometry1 = BufferGeometryUtils.toTrianglesDrawMode( geometry1, TriangleStripDrawMode );
 
-		geometry1.setAttribute( 'position', new BufferAttribute( new Float32Array( vertices1 ), 3 ) );
-		geometry1 = BufferGeometryUtils.toTrianglesDrawMode( geometry1, TriangleStripDrawMode );
+			assert.deepEqual( geometry1.index.array, new Uint16Array( [ 0, 1, 2, 3, 2, 1, 2, 3, 4, 5, 4, 3 ] ), 'correct triangle indices from triangle strip' );
 
-		assert.deepEqual( geometry1.index.array, new Uint16Array( [ 0, 1, 2, 3, 2, 1, 2, 3, 4, 5, 4, 3 ] ), 'correct triangle indices from triangle strip' );
+			// TRIANGLE_FAN
 
-		// TRIANGLE_FAN
+			const vertices2 = [];
 
-		const vertices2 = [];
+			vertices2.push( 0, 0, 0 ); // v0
+			vertices2.push( 1, 0, 0 ); // v1
+			vertices2.push( 1, 1, 0 ); // v2
+			vertices2.push( 0, 1, 0 ); // v3
+			vertices2.push( - 1, 1, 0 ); // v4
+			vertices2.push( - 1, 0, 0 ); // v5
 
-		vertices2.push( 0, 0, 0 ); // v0
-		vertices2.push( 1, 0, 0 ); // v1
-		vertices2.push( 1, 1, 0 ); // v2
-		vertices2.push( 0, 1, 0 ); // v3
-		vertices2.push( - 1, 1, 0 ); // v4
-		vertices2.push( - 1, 0, 0 ); // v5
+			var geometry2 = new BufferGeometry();
 
-		var geometry2 = new BufferGeometry();
+			geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( vertices2 ), 3 ) );
+			geometry2 = BufferGeometryUtils.toTrianglesDrawMode( geometry2, TriangleFanDrawMode );
 
-		geometry2.setAttribute( 'position', new BufferAttribute( new Float32Array( vertices2 ), 3 ) );
-		geometry2 = BufferGeometryUtils.toTrianglesDrawMode( geometry2, TriangleFanDrawMode );
+			assert.deepEqual( geometry2.index.array, new Uint16Array( [ 0, 1, 2, 0, 2, 3, 0, 3, 4, 0, 4, 5 ] ), 'correct triangle indices from triangle fan' );
 
-		assert.deepEqual( geometry2.index.array, new Uint16Array( [ 0, 1, 2, 0, 2, 3, 0, 3, 4, 0, 4, 5 ] ), 'correct triangle indices from triangle fan' );
+		} );
 
 	} );