TestCmdSetGeometryValue.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. module( "CmdSetGeometryValue" );
  2. test( "Test CmdSetGeometryValue (Undo and Redo)", function() {
  3. var editor = new Editor();
  4. var box = aBox( 'The Box' );
  5. var cmd = new CmdAddObject( 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 CmdSetGeometryValue( box, key, testData[ i ][ key ] );
  16. cmd.updatable = false;
  17. editor.execute( cmd );
  18. });
  19. }
  20. ok( box.geometry.name == testData[ 1 ].name, "OK, box.geometry.name is correct after executes" );
  21. ok( box.geometry.uuid == testData[ 1 ].uuid, "OK, box.geometry.uuid is correct after executes" );
  22. editor.undo();
  23. editor.undo();
  24. ok( box.geometry.name == testData[ 0 ].name, "OK, box.geometry.name is correct after undos" );
  25. ok( box.geometry.uuid == testData[ 0 ].uuid, "OK, box.geometry.uuid is correct after undos" );
  26. editor.redo();
  27. editor.redo();
  28. ok( box.geometry.name == testData[ 1 ].name, "OK, box.geometry.name is correct after executes" );
  29. ok( box.geometry.uuid == testData[ 1 ].uuid, "OK, box.geometry.uuid is correct after executes" );
  30. });