diff --git a/tests/jsunit/workspace_comment_test.js b/tests/jsunit/workspace_comment_test.js index a36c2cdf5..5327abb91 100644 --- a/tests/jsunit/workspace_comment_test.js +++ b/tests/jsunit/workspace_comment_test.js @@ -80,7 +80,79 @@ function test_disposeWsCommentTwice() { comment.dispose(); // Nothing should go wrong the second time dispose is called. comment.dispose(); - }finally { + } finally { workspaceCommentTest_tearDown(); } } + +function test_wsCommentHeightWidth() { + workspaceCommentTest_setUp(); + try { + var comment = + new Blockly.WorkspaceComment(workspace, 'comment text', 10, 20, 'comment id'); + assertEquals('Initial width', 20, comment.getWidth()); + assertEquals('Initial height', 10, comment.getHeight()); + + comment.setWidth(30); + assertEquals('New width should be different', 30, comment.getWidth()); + assertEquals('New height should not be different', 10, comment.getHeight()); + + comment.setHeight(40); + assertEquals('New width should not be different', 30, comment.getWidth()); + assertEquals('New height should be different', 40, comment.getHeight()); + comment.dispose(); + } finally { + workspaceCommentTest_tearDown(); + } +} + +function test_wsCommentXY() { + workspaceCommentTest_setUp(); + try { + var comment = + new Blockly.WorkspaceComment(workspace, 'comment text', 10, 20, 'comment id'); + var xy = comment.getXY(); + assertEquals('Initial X position', 0, xy.x); + assertEquals('Initial Y position', 0, xy.y); + + comment.moveBy(10, 100); + xy = comment.getXY(); + assertEquals('New X position', 10, xy.x); + assertEquals('New Y position', 100, xy.y); + comment.dispose(); + } finally { + workspaceCommentTest_tearDown(); + } +} + +function test_wsCommentContent() { + workspaceCommentTest_setUp(); + + Blockly.Events.fire = temporary_fireEvent; + temporary_fireEvent.firedEvents_ = []; + try { + var comment = + new Blockly.WorkspaceComment(workspace, 'comment text', 10, 20, 'comment id'); + assertEquals( + 'Check comment text', 'comment text', comment.getContent()); + assertEquals( + 'Workspace undo stack has one event', 1, workspace.undoStack_.length); + + comment.setContent('comment text'); + assertEquals( + 'Comment text has not changed', 'comment text', comment.getContent()); + // Setting the text to the old value does not fire an event. + assertEquals( + 'Workspace undo stack has one event', 1, workspace.undoStack_.length); + + comment.setContent('new comment text'); + assertEquals( + 'Comment text has changed', 'new comment text', comment.getContent()); + assertEquals( + 'Workspace undo stack has two events', 2, workspace.undoStack_.length); + comment.dispose(); + } finally { + workspaceCommentTest_tearDown(); + Blockly.Events.fire = savedFireFunc; + } +}