InterleavedBufferAttribute.tests.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. /* global QUnit */
  2. import { InterleavedBufferAttribute } from '../../../../src/core/InterleavedBufferAttribute.js';
  3. import { InterleavedBuffer } from '../../../../src/core/InterleavedBuffer.js';
  4. export default QUnit.module( 'Core', () => {
  5. QUnit.module( 'InterleavedBufferAttribute', () => {
  6. // INSTANCING
  7. QUnit.test( 'Instancing', ( assert ) => {
  8. const object = new InterleavedBufferAttribute();
  9. assert.ok( object, 'Can instantiate an InterleavedBufferAttribute.' );
  10. } );
  11. // PROPERTIES
  12. QUnit.todo( 'name', ( assert ) => {
  13. assert.ok( false, 'everything\'s gonna be alright' );
  14. } );
  15. QUnit.todo( 'data', ( assert ) => {
  16. assert.ok( false, 'everything\'s gonna be alright' );
  17. } );
  18. QUnit.todo( 'itemSize', ( assert ) => {
  19. assert.ok( false, 'everything\'s gonna be alright' );
  20. } );
  21. QUnit.todo( 'offset', ( assert ) => {
  22. assert.ok( false, 'everything\'s gonna be alright' );
  23. } );
  24. QUnit.todo( 'normalized', ( assert ) => {
  25. assert.ok( false, 'everything\'s gonna be alright' );
  26. } );
  27. QUnit.test( 'count', ( assert ) => {
  28. const buffer = new InterleavedBuffer( new Float32Array( [ 1, 2, 3, 7, 8, 9 ] ), 3 );
  29. const instance = new InterleavedBufferAttribute( buffer, 2, 0 );
  30. assert.ok( instance.count === 2, 'count is calculated via array length / stride' );
  31. } );
  32. QUnit.todo( 'array', ( assert ) => {
  33. assert.ok( false, 'everything\'s gonna be alright' );
  34. } );
  35. QUnit.todo( 'needsUpdate', ( assert ) => {
  36. // set needsUpdate( value )
  37. assert.ok( false, 'everything\'s gonna be alright' );
  38. } );
  39. // PUBLIC
  40. QUnit.test( 'isInterleavedBufferAttribute', ( assert ) => {
  41. const object = new InterleavedBufferAttribute();
  42. assert.ok(
  43. object.isInterleavedBufferAttribute,
  44. 'InterleavedBufferAttribute.isInterleavedBufferAttribute should be true'
  45. );
  46. } );
  47. QUnit.todo( 'applyMatrix4', ( assert ) => {
  48. assert.ok( false, 'everything\'s gonna be alright' );
  49. } );
  50. QUnit.todo( 'applyNormalMatrix', ( assert ) => {
  51. assert.ok( false, 'everything\'s gonna be alright' );
  52. } );
  53. QUnit.todo( 'transformDirection', ( assert ) => {
  54. assert.ok( false, 'everything\'s gonna be alright' );
  55. } );
  56. // setY, setZ and setW are calculated in the same way so not QUnit.testing this
  57. // TODO: ( you can't be sure that will be the case in future, or a mistake was introduce in one off them ! )
  58. QUnit.test( 'setX', ( assert ) => {
  59. let buffer = new InterleavedBuffer( new Float32Array( [ 1, 2, 3, 7, 8, 9 ] ), 3 );
  60. let instance = new InterleavedBufferAttribute( buffer, 2, 0 );
  61. instance.setX( 0, 123 );
  62. instance.setX( 1, 321 );
  63. assert.ok( instance.data.array[ 0 ] === 123 &&
  64. instance.data.array[ 3 ] === 321, 'x was calculated correct based on index and default offset' );
  65. buffer = new InterleavedBuffer( new Float32Array( [ 1, 2, 3, 7, 8, 9 ] ), 3 );
  66. instance = new InterleavedBufferAttribute( buffer, 2, 1 );
  67. instance.setX( 0, 123 );
  68. instance.setX( 1, 321 );
  69. // the offset was defined as 1, so go one step futher in the array
  70. assert.ok( instance.data.array[ 1 ] === 123 &&
  71. instance.data.array[ 4 ] === 321, 'x was calculated correct based on index and default offset' );
  72. } );
  73. QUnit.todo( 'setY', ( assert ) => {
  74. assert.ok( false, 'everything\'s gonna be alright' );
  75. } );
  76. QUnit.todo( 'setZ', ( assert ) => {
  77. assert.ok( false, 'everything\'s gonna be alright' );
  78. } );
  79. QUnit.todo( 'setW', ( assert ) => {
  80. assert.ok( false, 'everything\'s gonna be alright' );
  81. } );
  82. QUnit.todo( 'getX', ( assert ) => {
  83. assert.ok( false, 'everything\'s gonna be alright' );
  84. } );
  85. QUnit.todo( 'getY', ( assert ) => {
  86. assert.ok( false, 'everything\'s gonna be alright' );
  87. } );
  88. QUnit.todo( 'getZ', ( assert ) => {
  89. assert.ok( false, 'everything\'s gonna be alright' );
  90. } );
  91. QUnit.todo( 'getW', ( assert ) => {
  92. assert.ok( false, 'everything\'s gonna be alright' );
  93. } );
  94. QUnit.todo( 'setXY', ( assert ) => {
  95. assert.ok( false, 'everything\'s gonna be alright' );
  96. } );
  97. QUnit.todo( 'setXYZ', ( assert ) => {
  98. assert.ok( false, 'everything\'s gonna be alright' );
  99. } );
  100. QUnit.todo( 'setXYZW', ( assert ) => {
  101. assert.ok( false, 'everything\'s gonna be alright' );
  102. } );
  103. QUnit.todo( 'clone', ( assert ) => {
  104. assert.ok( false, 'everything\'s gonna be alright' );
  105. } );
  106. QUnit.todo( 'toJSON', ( assert ) => {
  107. assert.ok( false, 'everything\'s gonna be alright' );
  108. } );
  109. } );
  110. } );
粤ICP备19079148号