TestCmdToggleBoolean.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. module( "CmdToggleBoolean" );
  2. test( "Test CmdToggleBoolean (Undo and Redo)", function(){
  3. var editor = new Editor();
  4. var box = aBox( 'A Box' );
  5. var light = aPointlight( 'A PointLight' );
  6. var cam = aPerspectiveCamera( 'A PerspectiveCamera' );
  7. [ box, light, cam ].map( function( object ) {
  8. editor.execute( new CmdAddObject( object) );
  9. ok( 0 == 0, "Testing object of type '" + object.type + "'" );
  10. [ 'visible' ].map( function( item ) {
  11. if( object[ item ] !== undefined ) {
  12. var beforeState = object[ item ];
  13. var afterState = !object[ item ];
  14. ok( 0 == 0, " Initial state of '" + item + "' is '" + object[ item ] + "'" );
  15. var cmd = new CmdToggleBoolean( object, item );
  16. cmd.updatable = false;
  17. editor.execute( cmd );
  18. ok( object[ item ] == afterState , " OK, toggling boolean of '" + item + "' has been executed (expected: '" + afterState + "', actual: '" + object[ item ] + "')" );
  19. editor.undo();
  20. ok( object[ item ] == beforeState, " OK, toggling boolean of '" + item + "' has been undone (expected: '" + beforeState + "', actual: '" + object[ item ] + "')" );
  21. editor.redo();
  22. ok( object[ item ] == afterState , " OK, toggling boolean of '" + item + "' has been redone (expected: '" + afterState + "', actual: '" + object[ item ] + "')" );
  23. }
  24. });
  25. });
  26. });