InterleavedBufferAttribute.tests.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /* global QUnit */
  2. import { InterleavedBuffer } from '../../../../src/core/InterleavedBuffer.js';
  3. import { InterleavedBufferAttribute } from '../../../../src/core/InterleavedBufferAttribute.js';
  4. export default QUnit.module( 'Core', () => {
  5. QUnit.module( 'InterleavedBufferAttribute', () => {
  6. // INSTANCING
  7. QUnit.todo( 'Instancing', ( assert ) => {
  8. assert.ok( false, 'everything\'s gonna be alright' );
  9. } );
  10. // PROPERTIES
  11. QUnit.test( 'count', ( assert ) => {
  12. var buffer = new InterleavedBuffer( new Float32Array( [ 1, 2, 3, 7, 8, 9 ] ), 3 );
  13. var instance = new InterleavedBufferAttribute( buffer, 2, 0 );
  14. assert.ok( instance.count === 2, 'count is calculated via array length / stride' );
  15. } );
  16. QUnit.todo( 'array', ( assert ) => {
  17. assert.ok( false, 'everything\'s gonna be alright' );
  18. } );
  19. // PUBLIC STUFF
  20. // setY, setZ and setW are calculated in the same way so not QUnit.testing this
  21. // TODO: ( you can't be sure that will be the case in future, or a mistake was introduce in one off them ! )
  22. QUnit.test( 'setX', ( assert ) => {
  23. var buffer = new InterleavedBuffer( new Float32Array( [ 1, 2, 3, 7, 8, 9 ] ), 3 );
  24. var instance = new InterleavedBufferAttribute( buffer, 2, 0 );
  25. instance.setX( 0, 123 );
  26. instance.setX( 1, 321 );
  27. assert.ok( instance.data.array[ 0 ] === 123 &&
  28. instance.data.array[ 3 ] === 321, 'x was calculated correct based on index and default offset' );
  29. var buffer = new InterleavedBuffer( new Float32Array( [ 1, 2, 3, 7, 8, 9 ] ), 3 );
  30. var instance = new InterleavedBufferAttribute( buffer, 2, 1 );
  31. instance.setX( 0, 123 );
  32. instance.setX( 1, 321 );
  33. // the offset was defined as 1, so go one step futher in the array
  34. assert.ok( instance.data.array[ 1 ] === 123 &&
  35. instance.data.array[ 4 ] === 321, 'x was calculated correct based on index and default offset' );
  36. } );
  37. QUnit.todo( 'setY', ( assert ) => {
  38. assert.ok( false, 'everything\'s gonna be alright' );
  39. } );
  40. QUnit.todo( 'setZ', ( assert ) => {
  41. assert.ok( false, 'everything\'s gonna be alright' );
  42. } );
  43. QUnit.todo( 'setW', ( assert ) => {
  44. assert.ok( false, 'everything\'s gonna be alright' );
  45. } );
  46. QUnit.todo( 'getX', ( assert ) => {
  47. assert.ok( false, 'everything\'s gonna be alright' );
  48. } );
  49. QUnit.todo( 'getY', ( assert ) => {
  50. assert.ok( false, 'everything\'s gonna be alright' );
  51. } );
  52. QUnit.todo( 'getZ', ( assert ) => {
  53. assert.ok( false, 'everything\'s gonna be alright' );
  54. } );
  55. QUnit.todo( 'getW', ( assert ) => {
  56. assert.ok( false, 'everything\'s gonna be alright' );
  57. } );
  58. QUnit.todo( 'setXY', ( assert ) => {
  59. assert.ok( false, 'everything\'s gonna be alright' );
  60. } );
  61. QUnit.todo( 'setXYZ', ( assert ) => {
  62. assert.ok( false, 'everything\'s gonna be alright' );
  63. } );
  64. QUnit.todo( 'setXYZW', ( assert ) => {
  65. assert.ok( false, 'everything\'s gonna be alright' );
  66. } );
  67. } );
  68. } );