SetGeometryValueCommand.tests.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. QUnit.module( "SetGeometryValueCommand" );
  2. QUnit.test( "Test SetGeometryValueCommand (Undo and Redo)", function( assert ) {
  3. var editor = new Editor();
  4. var box = aBox( 'The Box' );
  5. var cmd = new AddObjectCommand( box );
  6. cmd.updatable = false;
  7. editor.execute( cmd );
  8. var testData = [
  9. { uuid: THREE.Math.generateUUID(), name: 'Bruno' },
  10. { uuid: THREE.Math.generateUUID(), name: 'Jack' }
  11. ];
  12. for ( var i = 0; i < testData.length; i ++ ) {
  13. var keys = Object.keys( testData[ i ] );
  14. keys.map( function( key ) {
  15. cmd = new SetGeometryValueCommand( box, key, testData[ i ][ key ] );
  16. cmd.updatable = false;
  17. editor.execute( cmd );
  18. } );
  19. }
  20. assert.ok( box.geometry.name == testData[ 1 ].name, "OK, box.geometry.name is correct after executes" );
  21. assert.ok( box.geometry.uuid == testData[ 1 ].uuid, "OK, box.geometry.uuid is correct after executes" );
  22. editor.undo();
  23. editor.undo();
  24. assert.ok( box.geometry.name == testData[ 0 ].name, "OK, box.geometry.name is correct after undos" );
  25. assert.ok( box.geometry.uuid == testData[ 0 ].uuid, "OK, box.geometry.uuid is correct after undos" );
  26. editor.redo();
  27. editor.redo();
  28. assert.ok( box.geometry.name == testData[ 1 ].name, "OK, box.geometry.name is correct after executes" );
  29. assert.ok( box.geometry.uuid == testData[ 1 ].uuid, "OK, box.geometry.uuid is correct after executes" );
  30. } );