TestMassUndoAndRedo.js 812 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. module("MassUndoAndRedo");
  2. test( "MassUndoAndRedo (stress test)", function() {
  3. var editor = new Editor();
  4. var MAX_OBJECTS = 100;
  5. // add objects
  6. var i = 0;
  7. while( i < MAX_OBJECTS ) {
  8. var object = aSphere( 'Sphere #' + i );
  9. var cmd = new CmdAddObject( object );
  10. cmd.updatable = false;
  11. editor.execute( cmd );
  12. i++;
  13. }
  14. ok( editor.scene.children.lenght = MAX_OBJECTS,
  15. "OK, " + MAX_OBJECTS + " objects have been added" );
  16. // remove all objects
  17. i = 0;
  18. while( i < MAX_OBJECTS ) {
  19. editor.undo();
  20. i++;
  21. }
  22. ok( editor.scene.children.length == 0,
  23. "OK, all objects have been removed by undos" );
  24. i = 0;
  25. while( i < MAX_OBJECTS ) {
  26. editor.redo();
  27. i++;
  28. }
  29. ok( editor.scene.children.lenght = MAX_OBJECTS,
  30. "OK, " + MAX_OBJECTS + " objects have been added again by redos" );
  31. });