ThreeJS Unit Tests - Using Files in /editor

QUnit 1.18.0; Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

Tests completed in 484 milliseconds.
376 assertions of 376 passed, 0 failed.

  1. AddObjectCommandAndRemoveObjectCommand: Test AddObjectCommand and RemoveObjectCommand (Undo and Redo) (24)Rerun17 ms
    1. OK, adding 'Mesh' was successful @ 5 ms
    2. OK, adding 'Mesh' is undone (was removed)@ 6 ms
    3. OK, removed 'Mesh' was added again (redo)@ 6 ms
    4. OK, focus was set on recovered object after Add-Redo@ 6 ms
    5. OK, removing object was successful@ 7 ms
    6. OK, removed object was added again (undo)@ 7 ms
    7. OK, focus was set on recovered object after Delete-Undo@ 7 ms
    8. OK, object was removed again (redo)@ 7 ms
    9. OK, adding 'PointLight' was successful @ 8 ms
    10. OK, adding 'PointLight' is undone (was removed)@ 9 ms
    11. OK, removed 'PointLight' was added again (redo)@ 10 ms
    12. OK, focus was set on recovered object after Add-Redo@ 10 ms
    13. OK, removing object was successful@ 10 ms
    14. OK, removed object was added again (undo)@ 11 ms
    15. OK, focus was set on recovered object after Delete-Undo@ 11 ms
    16. OK, object was removed again (redo)@ 11 ms
    17. OK, adding 'PerspectiveCamera' was successful @ 13 ms
    18. OK, adding 'PerspectiveCamera' is undone (was removed)@ 13 ms
    19. OK, removed 'PerspectiveCamera' was added again (redo)@ 15 ms
    20. OK, focus was set on recovered object after Add-Redo@ 15 ms
    21. OK, removing object was successful@ 16 ms
    22. OK, removed object was added again (undo)@ 16 ms
    23. OK, focus was set on recovered object after Delete-Undo@ 16 ms
    24. OK, object was removed again (redo)@ 17 ms
  2. AddScriptCommand: Test AddScriptCommand (Undo and Redo) (8)Rerun10 ms
    1. OK, the box and the sphere have been added@ 9 ms
    2. OK, correct number of scripts have been added@ 9 ms
    3. OK, script key #0 matches the object's UUID@ 9 ms
    4. OK, script key #1 matches the object's UUID@ 9 ms
    5. OK, one script has been removed by undo@ 9 ms
    6. OK, one script has been added again by redo@ 9 ms
    7. OK, script #0 is still assigned correctly@ 9 ms
    8. OK, script #1 is still assigned correctly@ 9 ms
  3. MoveObjectCommand: Test MoveObjectCommand (Undo and Redo) (11)Rerun5 ms
    1. OK, Anakin's parent is 'Scene' @ 4 ms
    2. OK, Luke's parent is 'Scene' @ 4 ms
    3. (Luke has been told who his father is)@ 5 ms
    4. OK, Anakin's parent is still 'Scene' @ 5 ms
    5. OK, Luke's parent is 'Anakin Skywalker' @ 5 ms
    6. (Statement undone)@ 5 ms
    7. OK, Anakin's parent is still 'Scene' @ 5 ms
    8. OK, Luke's parent is 'Scene' again @ 5 ms
    9. (Statement redone)@ 5 ms
    10. OK, Anakin's parent is still 'Scene' @ 5 ms
    11. OK, Luke's parent is 'Anakin Skywalker' again @ 5 ms
  4. MultiCmdsCommand: Test MultiCmdsCommand (Undo and Redo) (12)Rerun8 ms
    1. OK, widthSegments has been modified accordingly after two multi executes (expected: 7, actual: 7)@ 7 ms
    2. OK, y position has been modified accordingly after two multi executes (expected: 5, actual: 5)@ 7 ms
    3. OK, x rotation has been modified accordingly after two multi executes (expected: 0.4, actual: 0.4) @ 7 ms
    4. OK, z scale has been modified accordingly after two multi executes (expected: 1.6, actual: 1.6)@ 7 ms
    5. OK, widthSegments has been modified accordingly after undo (expected: 2, actual: 2)@ 7 ms
    6. OK, y position has been modified accordingly after undo (expected: 2, actual: 2)@ 7 ms
    7. OK, x rotation has been modified accordingly after undo (expected: 0.1, actual: 0.1)@ 7 ms
    8. OK, z scale has been modified accordingly after undo (expected: 1.3, actual: 1.3)@ 7 ms
    9. OK, widthSegments has been modified accordingly after two multi executes (expected: 7, actual: 7)@ 8 ms
    10. OK, y position has been modified accordingly after two multi executes (expected: 5, actual: 5)@ 8 ms
    11. OK, x rotation has been modified accordingly after two multi executes (expected: 0.4, actual: 0.4) @ 8 ms
    12. OK, z scale has been modified accordingly after two multi executes (expected: 1.6, actual: 1.6)@ 8 ms
  5. RemoveScriptCommand: Test RemoveScriptCommand (Undo and Redo) (6)Rerun8 ms
    1. OK, the box and the sphere have been added@ 7 ms
    2. OK, all scripts have been removed@ 7 ms
    3. OK, all scripts have been added again by undo(s)@ 8 ms
    4. OK, script #0 is still assigned correctly@ 8 ms
    5. OK, script #1 is still assigned correctly@ 8 ms
    6. OK, one script has been removed again by redo@ 8 ms
  6. SetColorCommand: Test SetColorCommand (Undo and Redo) (3)Rerun1 ms
    1. OK, color has been set successfully (expected: '16775383', actual: '16775383')@ 1 ms
    2. OK, color has been set successfully after undo (expected: '14152447', actual: '14152447')@ 1 ms
    3. OK, color has been set successfully after redo (expected: '16775383', actual: '16775383')@ 1 ms
  7. SetGeometryCommand: Test SetGeometryCommand (Undo and Redo) (24)Rerun6 ms
    1. OK, box width matches the corresponding value from boxGeometry1@ 2 ms
    2. OK, box height matches the corresponding value from boxGeometry1@ 2 ms
    3. OK, box depth matches the corresponding value from boxGeometry1@ 2 ms
    4. OK, box widthSegments matches the corresponding value from boxGeometry1@ 2 ms
    5. OK, box heightSegments matches the corresponding value from boxGeometry1@ 2 ms
    6. OK, box depthSegments matches the corresponding value from boxGeometry1@ 2 ms
    7. OK, box width matches the corresponding value from boxGeometry2@ 5 ms
    8. OK, box height matches the corresponding value from boxGeometry2@ 5 ms
    9. OK, box depth matches the corresponding value from boxGeometry2@ 5 ms
    10. OK, box widthSegments matches the corresponding value from boxGeometry2@ 5 ms
    11. OK, box heightSegments matches the corresponding value from boxGeometry2@ 5 ms
    12. OK, box depthSegments matches the corresponding value from boxGeometry2@ 5 ms
    13. OK, box width matches the corresponding value from boxGeometry1 (after undo)@ 5 ms
    14. OK, box height matches the corresponding value from boxGeometry1 (after undo)@ 5 ms
    15. OK, box depth matches the corresponding value from boxGeometry1 (after undo)@ 5 ms
    16. OK, box widthSegments matches the corresponding value from boxGeometry1 (after undo)@ 5 ms
    17. OK, box heightSegments matches the corresponding value from boxGeometry1 (after undo)@ 5 ms
    18. OK, box depthSegments matches the corresponding value from boxGeometry1 (after undo)@ 5 ms
    19. OK, box width matches the corresponding value from boxGeometry2 (after redo)@ 5 ms
    20. OK, box height matches the corresponding value from boxGeometry2 (after redo)@ 5 ms
    21. OK, box depth matches the corresponding value from boxGeometry2 (after redo)@ 6 ms
    22. OK, box widthSegments matches the corresponding value from boxGeometry2 (after redo)@ 6 ms
    23. OK, box heightSegments matches the corresponding value from boxGeometry2 (after redo)@ 6 ms
    24. OK, box depthSegments matches the corresponding value from boxGeometry2 (after redo)@ 6 ms
  8. SetGeometryValueCommand: Test SetGeometryValueCommand (Undo and Redo) (6)Rerun1 ms
    1. OK, box.geometry.name is correct after executes@ 1 ms
    2. OK, box.geometry.uuid is correct after executes@ 1 ms
    3. OK, box.geometry.name is correct after undos@ 1 ms
    4. OK, box.geometry.uuid is correct after undos@ 1 ms
    5. OK, box.geometry.name is correct after executes@ 1 ms
    6. OK, box.geometry.uuid is correct after executes@ 1 ms
  9. SetMaterialCommand: Test for SetMaterialCommand (Undo and Redo) (17)Rerun3 ms
    1. OK, initial material type was set correctly (expected: 'SpriteMaterial', actual: 'SpriteMaterial')@ 2 ms
    2. OK, material type was set correctly after undo (expected: 'ShaderMaterial', actual: 'ShaderMaterial')@ 2 ms
    3. OK, material type was set correctly after undo (expected: 'MeshPhongMaterial', actual: 'MeshPhongMaterial')@ 2 ms
    4. OK, material type was set correctly after undo (expected: 'MeshNormalMaterial', actual: 'MeshNormalMaterial')@ 2 ms
    5. OK, material type was set correctly after undo (expected: 'MeshLambertMaterial', actual: 'MeshLambertMaterial')@ 2 ms
    6. OK, material type was set correctly after undo (expected: 'MeshDepthMaterial', actual: 'MeshDepthMaterial')@ 2 ms
    7. OK, material type was set correctly after undo (expected: 'MeshBasicMaterial', actual: 'MeshBasicMaterial')@ 2 ms
    8. OK, material type was set correctly after undo (expected: 'LineDashedMaterial', actual: 'LineDashedMaterial')@ 2 ms
    9. OK, material type was set correctly after undo (expected: 'LineBasicMaterial', actual: 'LineBasicMaterial')@ 2 ms
    10. OK, material type was set correctly after redo (expected: 'LineDashedMaterial', actual: 'LineDashedMaterial')@ 2 ms
    11. OK, material type was set correctly after redo (expected: 'MeshBasicMaterial', actual: 'MeshBasicMaterial')@ 2 ms
    12. OK, material type was set correctly after redo (expected: 'MeshDepthMaterial', actual: 'MeshDepthMaterial')@ 2 ms
    13. OK, material type was set correctly after redo (expected: 'MeshLambertMaterial', actual: 'MeshLambertMaterial')@ 2 ms
    14. OK, material type was set correctly after redo (expected: 'MeshNormalMaterial', actual: 'MeshNormalMaterial')@ 2 ms
    15. OK, material type was set correctly after redo (expected: 'MeshPhongMaterial', actual: 'MeshPhongMaterial')@ 2 ms
    16. OK, material type was set correctly after redo (expected: 'ShaderMaterial', actual: 'ShaderMaterial')@ 2 ms
    17. OK, material type was set correctly after redo (expected: 'SpriteMaterial', actual: 'SpriteMaterial')@ 2 ms
  10. SetMaterialColorCommand: Test for SetMaterialColorCommand (Undo and Redo) (9)Rerun3 ms
    1. OK, color was set correctly to last color @ 3 ms
    2. OK, color is set correctly to second to last color after undo@ 3 ms
    3. OK, color is set correctly to last color after redo@ 3 ms
    4. OK, emissive was set correctly to last color @ 3 ms
    5. OK, emissive is set correctly to second to last color after undo@ 3 ms
    6. OK, emissive is set correctly to last color after redo@ 3 ms
    7. OK, specular was set correctly to last color @ 3 ms
    8. OK, specular is set correctly to second to last color after undo@ 3 ms
    9. OK, specular is set correctly to last color after redo@ 3 ms
  11. SetMaterialMapCommand: Test for SetMaterialMapCommand (Undo and Redo) (27)Rerun3 ms
    1. OK, map set correctly @ 2 ms
    2. OK, map set correctly after undo @ 2 ms
    3. OK, map set correctly after redo@ 2 ms
    4. OK, alphaMap set correctly @ 2 ms
    5. OK, alphaMap set correctly after undo @ 2 ms
    6. OK, alphaMap set correctly after redo@ 2 ms
    7. OK, bumpMap set correctly @ 2 ms
    8. OK, bumpMap set correctly after undo @ 2 ms
    9. OK, bumpMap set correctly after redo@ 2 ms
    10. OK, normalMap set correctly @ 2 ms
    11. OK, normalMap set correctly after undo @ 2 ms
    12. OK, normalMap set correctly after redo@ 2 ms
    13. OK, displacementMap set correctly @ 3 ms
    14. OK, displacementMap set correctly after undo @ 3 ms
    15. OK, displacementMap set correctly after redo@ 3 ms
    16. OK, specularMap set correctly @ 3 ms
    17. OK, specularMap set correctly after undo @ 3 ms
    18. OK, specularMap set correctly after redo@ 3 ms
    19. OK, envMap set correctly @ 3 ms
    20. OK, envMap set correctly after undo @ 3 ms
    21. OK, envMap set correctly after redo@ 3 ms
    22. OK, lightMap set correctly @ 3 ms
    23. OK, lightMap set correctly after undo @ 3 ms
    24. OK, lightMap set correctly after redo@ 3 ms
    25. OK, aoMap set correctly @ 3 ms
    26. OK, aoMap set correctly after undo @ 3 ms
    27. OK, aoMap set correctly after redo@ 3 ms
  12. SetMaterialValueCommand: Test for SetMaterialValueCommand (Undo and Redo) (39)Rerun3 ms
    1. OK, uuid was set correctly to the last value (expected: '52024E88-DFE4-450E-A98B-FD866D134DD9', actual: '52024E88-DFE4-450E-A98B-FD866D134DD9')@ 2 ms
    2. OK, uuid was set correctly to the second to the last value after undo (expected: '31D08539-BCB9-4525-A11A-AC46036EA08E', actual: '31D08539-BCB9-4525-A11A-AC46036EA08E')@ 2 ms
    3. OK, uuid was set correctly to the last value again after redo (expected: '52024E88-DFE4-450E-A98B-FD866D134DD9', actual: '52024E88-DFE4-450E-A98B-FD866D134DD9')@ 2 ms
    4. OK, name was set correctly to the last value (expected: 'Charlie', actual: 'Charlie')@ 2 ms
    5. OK, name was set correctly to the second to the last value after undo (expected: 'Bravo', actual: 'Bravo')@ 2 ms
    6. OK, name was set correctly to the last value again after redo (expected: 'Charlie', actual: 'Charlie')@ 2 ms
    7. OK, shininess was set correctly to the last value (expected: '33.3', actual: '33.3')@ 2 ms
    8. OK, shininess was set correctly to the second to the last value after undo (expected: '22.2', actual: '22.2')@ 2 ms
    9. OK, shininess was set correctly to the last value again after redo (expected: '33.3', actual: '33.3')@ 2 ms
    10. OK, vertexColors was set correctly to the last value (expected: 'Vertex', actual: 'Vertex')@ 2 ms
    11. OK, vertexColors was set correctly to the second to the last value after undo (expected: 'Face', actual: 'Face')@ 2 ms
    12. OK, vertexColors was set correctly to the last value again after redo (expected: 'Vertex', actual: 'Vertex')@ 2 ms
    13. OK, bumpScale was set correctly to the last value (expected: '3.3', actual: '3.3')@ 2 ms
    14. OK, bumpScale was set correctly to the second to the last value after undo (expected: '2.2', actual: '2.2')@ 2 ms
    15. OK, bumpScale was set correctly to the last value again after redo (expected: '3.3', actual: '3.3')@ 2 ms
    16. OK, reflectivity was set correctly to the last value (expected: '5', actual: '5')@ 2 ms
    17. OK, reflectivity was set correctly to the second to the last value after undo (expected: '2.1', actual: '2.1')@ 3 ms
    18. OK, reflectivity was set correctly to the last value again after redo (expected: '5', actual: '5')@ 3 ms
    19. OK, aoMapIntensity was set correctly to the last value (expected: '0.7', actual: '0.7')@ 3 ms
    20. OK, aoMapIntensity was set correctly to the second to the last value after undo (expected: '0.4', actual: '0.4')@ 3 ms
    21. OK, aoMapIntensity was set correctly to the last value again after redo (expected: '0.7', actual: '0.7')@ 3 ms
    22. OK, side was set correctly to the last value (expected: 'Double', actual: 'Double')@ 3 ms
    23. OK, side was set correctly to the second to the last value after undo (expected: 'Back', actual: 'Back')@ 3 ms
    24. OK, side was set correctly to the last value again after redo (expected: 'Double', actual: 'Double')@ 3 ms
    25. OK, shading was set correctly to the last value (expected: 'Smooth', actual: 'Smooth')@ 3 ms
    26. OK, shading was set correctly to the second to the last value after undo (expected: 'Flat', actual: 'Flat')@ 3 ms
    27. OK, shading was set correctly to the last value again after redo (expected: 'Smooth', actual: 'Smooth')@ 3 ms
    28. OK, blending was set correctly to the last value (expected: 'Additive', actual: 'Additive')@ 3 ms
    29. OK, blending was set correctly to the second to the last value after undo (expected: 'Normal', actual: 'Normal')@ 3 ms
    30. OK, blending was set correctly to the last value again after redo (expected: 'Additive', actual: 'Additive')@ 3 ms
    31. OK, opacity was set correctly to the last value (expected: '0.8', actual: '0.8')@ 3 ms
    32. OK, opacity was set correctly to the second to the last value after undo (expected: '0.5', actual: '0.5')@ 3 ms
    33. OK, opacity was set correctly to the last value again after redo (expected: '0.8', actual: '0.8')@ 3 ms
    34. OK, alphaTest was set correctly to the last value (expected: '0.9', actual: '0.9')@ 3 ms
    35. OK, alphaTest was set correctly to the second to the last value after undo (expected: '0.6', actual: '0.6')@ 3 ms
    36. OK, alphaTest was set correctly to the last value again after redo (expected: '0.9', actual: '0.9')@ 3 ms
    37. OK, wireframeLinewidth was set correctly to the last value (expected: '5.6', actual: '5.6')@ 3 ms
    38. OK, wireframeLinewidth was set correctly to the second to the last value after undo (expected: '3.4', actual: '3.4')@ 3 ms
    39. OK, wireframeLinewidth was set correctly to the last value again after redo (expected: '5.6', actual: '5.6')@ 3 ms
  13. SetPositionCommand: Test SetPositionCommand (Undo and Redo) (9)Rerun2 ms
    1. OK, changing X position was successful@ 2 ms
    2. OK, changing Y position was successful@ 2 ms
    3. OK, changing Z position was successful@ 2 ms
    4. OK, changing X position was successful (after undo)@ 2 ms
    5. OK, changing Y position was successful (after undo)@ 2 ms
    6. OK, changing Z position was successful (after undo)@ 2 ms
    7. OK, changing X position was successful (after redo)@ 2 ms
    8. OK, changing Y position was successful (after redo)@ 2 ms
    9. OK, changing Z position was successful (after redo)@ 2 ms
  14. SetRotationCommand: Test SetRotationCommand (Undo and Redo) (9)Rerun2 ms
    1. OK, changing X rotation was successful@ 1 ms
    2. OK, changing Y rotation was successful@ 1 ms
    3. OK, changing Z rotation was successful@ 1 ms
    4. OK, changing X rotation was successful (after undo)@ 1 ms
    5. OK, changing Y rotation was successful (after undo)@ 1 ms
    6. OK, changing Z rotation was successful (after undo)@ 1 ms
    7. OK, changing X rotation was successful (after redo)@ 2 ms
    8. OK, changing Y rotation was successful (after redo)@ 2 ms
    9. OK, changing Z rotation was successful (after redo)@ 2 ms
  15. SetScaleCommand: Test SetScaleCommand (Undo and Redo) (9)Rerun1 ms
    1. OK, setting X scale value was successful@ 0 ms
    2. OK, setting Y scale value was successful@ 1 ms
    3. OK, setting Z scale value was successful@ 1 ms
    4. OK, X scale is correct after undo@ 1 ms
    5. OK, Y scale is correct after undo@ 1 ms
    6. OK, Z scale is correct after undo@ 1 ms
    7. OK, X scale is correct after redo@ 1 ms
    8. OK, Y scale is correct after redo@ 1 ms
    9. OK, Z scale is correct after redo@ 1 ms
  16. TestCmdSetScene: Test for SetSceneCommand (Undo and Redo) (9)Rerun20 ms
    1. OK, all scenes have been merged@ 18 ms
    2. OK, editor.scene.children[ 0 ].name matches scenes[ 0 ].obj.name@ 18 ms
    3. OK, editor.scene.children[ 1 ].name matches scenes[ 1 ].obj.name@ 18 ms
    4. OK, editor.scene.children[ 2 ].name matches scenes[ 2 ].obj.name@ 18 ms
    5. OK, editor.scene.children[ 0 ].name matches scenes[ 0 ].obj.name after undo@ 19 ms
    6. OK, editor.scene.children[ 1 ].name matches scenes[ 1 ].obj.name after undo@ 19 ms
    7. OK, editor.scene.children[ 0 ].name matches scenes[ 0 ].obj.name after redo@ 20 ms
    8. OK, editor.scene.children[ 1 ].name matches scenes[ 1 ].obj.name after redo@ 20 ms
    9. OK, editor.scene.children[ 2 ].name matches scenes[ 2 ].obj.name after redo@ 20 ms
  17. SetScriptValueCommand: Test SetScriptValueCommand for source (Undo and Redo) (6)Rerun1 ms
    1. OK, 'source' was set correctly to the last value (expected: 'function update( event ) { this.position.z = this.position.z + 1; }', actual: 'function update( event ) { this.position.z = this.position.z + 1; }')@ 1 ms
    2. OK, 'source' was set correctly to the second to the last value after undo (expected: 'function update( event ) { this.position.y = this.position.y + 1; }', actual: 'function update( event ) { this.position.y = this.position.y + 1; }')@ 1 ms
    3. OK, 'source' was set correctly to the last value again after redo (expected: 'function update( event ) { this.position.z = this.position.z + 1; }', actual: 'function update( event ) { this.position.z = this.position.z + 1; }')@ 1 ms
    4. OK, the script name corresponds to the last script name that was assigned@ 1 ms
    5. OK, the script name corresponds to the second last script name that was assigned@ 1 ms
    6. OK, the script name corresponds to the last script name that was assigned, again@ 1 ms
  18. SetUuidCommand: Test SetUuidCommand (Undo and Redo) (3)Rerun1 ms
    1. OK, UUID on actual object matches last UUID in the test data array @ 1 ms
    2. OK, UUID on actual object matches second to the last UUID in the test data array (after undo)@ 1 ms
    3. OK, UUID on actual object matches last UUID in the test data array again (after redo) @ 1 ms
  19. SetValueCommand: Test SetValueCommand (Undo and Redo) (63)Rerun4 ms
    1. Testing object of type 'Mesh'@ 1 ms
    2. OK, the attribute 'name' is correct after first execute (expected: '1.1', actual: '1.1')@ 1 ms
    3. OK, the attribute 'name' is correct after second execute (expected: '2.2', actual: '2.2')@ 1 ms
    4. OK, the attribute 'name' is correct after undo (expected: '1.1', actual: '1.1')@ 1 ms
    5. OK, the attribute 'name' is correct after redo (expected: '2.2', actual: '2.2')@ 1 ms
    6. OK, the attribute 'visible' is correct after first execute (expected: '1.1', actual: '1.1')@ 2 ms
    7. OK, the attribute 'visible' is correct after second execute (expected: '2.2', actual: '2.2')@ 2 ms
    8. OK, the attribute 'visible' is correct after undo (expected: '1.1', actual: '1.1')@ 2 ms
    9. OK, the attribute 'visible' is correct after redo (expected: '2.2', actual: '2.2')@ 2 ms
    10. OK, the attribute 'userData' is correct after first execute (expected: '1.1', actual: '1.1')@ 2 ms
    11. OK, the attribute 'userData' is correct after second execute (expected: '2.2', actual: '2.2')@ 2 ms
    12. OK, the attribute 'userData' is correct after undo (expected: '1.1', actual: '1.1')@ 2 ms
    13. OK, the attribute 'userData' is correct after redo (expected: '2.2', actual: '2.2')@ 2 ms
    14. Testing object of type 'PointLight'@ 2 ms
    15. OK, the attribute 'name' is correct after first execute (expected: '1.1', actual: '1.1')@ 2 ms
    16. OK, the attribute 'name' is correct after second execute (expected: '2.2', actual: '2.2')@ 2 ms
    17. OK, the attribute 'name' is correct after undo (expected: '1.1', actual: '1.1')@ 2 ms
    18. OK, the attribute 'name' is correct after redo (expected: '2.2', actual: '2.2')@ 2 ms
    19. OK, the attribute 'intensity' is correct after first execute (expected: '1.1', actual: '1.1')@ 2 ms
    20. OK, the attribute 'intensity' is correct after second execute (expected: '2.2', actual: '2.2')@ 2 ms
    21. OK, the attribute 'intensity' is correct after undo (expected: '1.1', actual: '1.1')@ 2 ms
    22. OK, the attribute 'intensity' is correct after redo (expected: '2.2', actual: '2.2')@ 2 ms
    23. OK, the attribute 'distance' is correct after first execute (expected: '1.1', actual: '1.1')@ 2 ms
    24. OK, the attribute 'distance' is correct after second execute (expected: '2.2', actual: '2.2')@ 3 ms
    25. OK, the attribute 'distance' is correct after undo (expected: '1.1', actual: '1.1')@ 3 ms
    26. OK, the attribute 'distance' is correct after redo (expected: '2.2', actual: '2.2')@ 3 ms
    27. OK, the attribute 'decay' is correct after first execute (expected: '1.1', actual: '1.1')@ 3 ms
    28. OK, the attribute 'decay' is correct after second execute (expected: '2.2', actual: '2.2')@ 3 ms
    29. OK, the attribute 'decay' is correct after undo (expected: '1.1', actual: '1.1')@ 3 ms
    30. OK, the attribute 'decay' is correct after redo (expected: '2.2', actual: '2.2')@ 3 ms
    31. OK, the attribute 'visible' is correct after first execute (expected: '1.1', actual: '1.1')@ 3 ms
    32. OK, the attribute 'visible' is correct after second execute (expected: '2.2', actual: '2.2')@ 3 ms
    33. OK, the attribute 'visible' is correct after undo (expected: '1.1', actual: '1.1')@ 3 ms
    34. OK, the attribute 'visible' is correct after redo (expected: '2.2', actual: '2.2')@ 3 ms
    35. OK, the attribute 'userData' is correct after first execute (expected: '1.1', actual: '1.1')@ 3 ms
    36. OK, the attribute 'userData' is correct after second execute (expected: '2.2', actual: '2.2')@ 3 ms
    37. OK, the attribute 'userData' is correct after undo (expected: '1.1', actual: '1.1')@ 3 ms
    38. OK, the attribute 'userData' is correct after redo (expected: '2.2', actual: '2.2')@ 3 ms
    39. Testing object of type 'PerspectiveCamera'@ 4 ms
    40. OK, the attribute 'name' is correct after first execute (expected: '1.1', actual: '1.1')@ 4 ms
    41. OK, the attribute 'name' is correct after second execute (expected: '2.2', actual: '2.2')@ 4 ms
    42. OK, the attribute 'name' is correct after undo (expected: '1.1', actual: '1.1')@ 4 ms
    43. OK, the attribute 'name' is correct after redo (expected: '2.2', actual: '2.2')@ 4 ms
    44. OK, the attribute 'fov' is correct after first execute (expected: '1.1', actual: '1.1')@ 4 ms
    45. OK, the attribute 'fov' is correct after second execute (expected: '2.2', actual: '2.2')@ 4 ms
    46. OK, the attribute 'fov' is correct after undo (expected: '1.1', actual: '1.1')@ 4 ms
    47. OK, the attribute 'fov' is correct after redo (expected: '2.2', actual: '2.2')@ 4 ms
    48. OK, the attribute 'near' is correct after first execute (expected: '1.1', actual: '1.1')@ 4 ms
    49. OK, the attribute 'near' is correct after second execute (expected: '2.2', actual: '2.2')@ 4 ms
    50. OK, the attribute 'near' is correct after undo (expected: '1.1', actual: '1.1')@ 4 ms
    51. OK, the attribute 'near' is correct after redo (expected: '2.2', actual: '2.2')@ 4 ms
    52. OK, the attribute 'far' is correct after first execute (expected: '1.1', actual: '1.1')@ 4 ms
    53. OK, the attribute 'far' is correct after second execute (expected: '2.2', actual: '2.2')@ 4 ms
    54. OK, the attribute 'far' is correct after undo (expected: '1.1', actual: '1.1')@ 4 ms
    55. OK, the attribute 'far' is correct after redo (expected: '2.2', actual: '2.2')@ 4 ms
    56. OK, the attribute 'visible' is correct after first execute (expected: '1.1', actual: '1.1')@ 4 ms
    57. OK, the attribute 'visible' is correct after second execute (expected: '2.2', actual: '2.2')@ 4 ms
    58. OK, the attribute 'visible' is correct after undo (expected: '1.1', actual: '1.1')@ 4 ms
    59. OK, the attribute 'visible' is correct after redo (expected: '2.2', actual: '2.2')@ 4 ms
    60. OK, the attribute 'userData' is correct after first execute (expected: '1.1', actual: '1.1')@ 4 ms
    61. OK, the attribute 'userData' is correct after second execute (expected: '2.2', actual: '2.2')@ 4 ms
    62. OK, the attribute 'userData' is correct after undo (expected: '1.1', actual: '1.1')@ 4 ms
    63. OK, the attribute 'userData' is correct after redo (expected: '2.2', actual: '2.2')@ 4 ms
  20. NestedDoUndoRedo: Test nested Do's, Undo's and Redo's (29)Rerun2 ms
    1. OK, X position is correct @ 1 ms
    2. OK, Y position is correct @ 1 ms
    3. OK, Z position is correct @ 1 ms
    4. OK, X rotation is correct @ 1 ms
    5. OK, Y rotation is correct @ 1 ms
    6. OK, Z rotation is correct @ 1 ms
    7. OK, X scale is correct @ 1 ms
    8. OK, Y scale is correct @ 1 ms
    9. OK, Z scale is correct @ 1 ms
    10. OK, X position is correct @ 2 ms
    11. OK, Y position is correct @ 2 ms
    12. OK, Z position is correct @ 2 ms
    13. OK, X rotation is correct @ 2 ms
    14. OK, Y rotation is correct @ 2 ms
    15. OK, Z rotation is correct @ 2 ms
    16. OK, X scale is correct @ 2 ms
    17. OK, Y scale is correct @ 2 ms
    18. OK, Z scale is correct @ 2 ms
    19. OK, object removal was successful@ 2 ms
    20. OK, Y rotation is correct @ 2 ms
    21. OK, X position is correct @ 2 ms
    22. OK, Y position is correct @ 2 ms
    23. OK, Z position is correct @ 2 ms
    24. OK, X rotation is correct @ 2 ms
    25. OK, Y rotation is correct @ 2 ms
    26. OK, Z rotation is correct @ 2 ms
    27. OK, X scale is correct @ 2 ms
    28. OK, Y scale is correct @ 2 ms
    29. OK, Z scale is correct @ 2 ms
  21. Serialization: Test Serialization (34)Rerun104 ms
    1. OK, forward serializing was successful for addObject@ 45 ms
    2. OK, forward serializing was successful for addScript@ 47 ms
    3. OK, forward serializing was successful for moveObject@ 50 ms
    4. OK, forward serializing was successful for removeScript@ 51 ms
    5. OK, forward serializing was successful for setColor@ 52 ms
    6. OK, forward serializing was successful for setGeometry@ 54 ms
    7. OK, forward serializing was successful for setGeometryValue@ 55 ms
    8. OK, forward serializing was successful for setMaterial@ 59 ms
    9. OK, forward serializing was successful for setMaterialColor@ 60 ms
    10. OK, forward serializing was successful for setMaterialMap@ 62 ms
    11. OK, forward serializing was successful for setMaterialValue@ 63 ms
    12. OK, forward serializing was successful for setPosition@ 64 ms
    13. OK, forward serializing was successful for setRotation@ 65 ms
    14. OK, forward serializing was successful for setScale@ 67 ms
    15. OK, forward serializing was successful for setScriptValue@ 68 ms
    16. OK, forward serializing was successful for setUuid@ 71 ms
    17. OK, forward serializing was successful for setValue@ 73 ms
    18. OK, backward serializing was successful for addObject@ 74 ms
    19. OK, backward serializing was successful for addScript@ 74 ms
    20. OK, backward serializing was successful for moveObject@ 76 ms
    21. OK, backward serializing was successful for removeScript@ 77 ms
    22. OK, backward serializing was successful for setColor@ 78 ms
    23. OK, backward serializing was successful for setGeometry@ 79 ms
    24. OK, backward serializing was successful for setGeometryValue@ 79 ms
    25. OK, backward serializing was successful for setMaterial@ 80 ms
    26. OK, backward serializing was successful for setMaterialColor@ 81 ms
    27. OK, backward serializing was successful for setMaterialMap@ 82 ms
    28. OK, backward serializing was successful for setMaterialValue@ 83 ms
    29. OK, backward serializing was successful for setPosition@ 84 ms
    30. OK, backward serializing was successful for setRotation@ 87 ms
    31. OK, backward serializing was successful for setScale@ 88 ms
    32. OK, backward serializing was successful for setScriptValue@ 88 ms
    33. OK, backward serializing was successful for setUuid@ 90 ms
    34. OK, backward serializing was successful for setValue@ 90 ms
  22. NegativeCases: Test unwanted situations (16)Rerun2 ms
    1. OK, (illegal) undo did not affect the undo history@ 0 ms
    2. OK, (illegal) undo did not affect the redo history@ 0 ms
    3. OK, (illegal) redo did not affect the undo history@ 0 ms
    4. OK, (illegal) redo did not affect the redo history@ 0 ms
    5. OK, execute changed undo history@ 1 ms
    6. OK, execute did not change redo history@ 1 ms
    7. OK, (illegal) redo did not affect the undo history@ 1 ms
    8. OK, (illegal) redo did not affect the redo history@ 1 ms
    9. OK, undo changed the undo history@ 1 ms
    10. OK, undo changed the redo history@ 1 ms
    11. OK, (illegal) undo did not affect the undo history@ 1 ms
    12. OK, (illegal) undo did not affect the redo history@ 1 ms
    13. OK, redo changed the undo history@ 1 ms
    14. OK, undo changed the redo history@ 1 ms
    15. OK, (illegal) did not affect the undo history@ 2 ms
    16. OK, (illegal) did not affect the redo history@ 2 ms
  23. MassUndoAndRedo: MassUndoAndRedo (stress test) (3)Rerun261 ms
    1. OK, 100 objects have been added@ 249 ms
    2. OK, all objects have been removed by undos@ 250 ms
    3. OK, 100 objects have been added again by redos@ 261 ms