MassUndoAndRedo.tests.js 869 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. QUnit.module( "MassUndoAndRedo" );
  2. QUnit.test( "MassUndoAndRedo (stress test)", function( assert ) {
  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 AddObjectCommand( object );
  10. cmd.updatable = false;
  11. editor.execute( cmd );
  12. i ++;
  13. }
  14. assert.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. assert.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. assert.ok( editor.scene.children.lenght = MAX_OBJECTS,
  30. "OK, " + MAX_OBJECTS + " objects have been added again by redos" );
  31. } );