diff options
author | Dani Megert | 2005-03-21 13:37:02 +0000 |
---|---|---|
committer | Dani Megert | 2005-03-21 13:37:02 +0000 |
commit | 81b5da5c0595b583b0a35cd041374089facc61a6 (patch) | |
tree | 12662dffad700e164d597d95f69110f5f21d0953 /org.eclipse.jface.text.tests/src/org | |
parent | b1961d04ba90225302e052aa3b60d5f28c31d033 (diff) | |
download | eclipse.platform.text-81b5da5c0595b583b0a35cd041374089facc61a6.tar.gz eclipse.platform.text-81b5da5c0595b583b0a35cd041374089facc61a6.tar.xz eclipse.platform.text-81b5da5c0595b583b0a35cd041374089facc61a6.zip |
Releases Susan's patch for bug 88172: StackOverflow when undoing "MoveLine"
Diffstat (limited to 'org.eclipse.jface.text.tests/src/org')
-rw-r--r-- | org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/UndoManagerTest.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/UndoManagerTest.java b/org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/UndoManagerTest.java index 109fd142c5b..b2da810daea 100644 --- a/org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/UndoManagerTest.java +++ b/org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/UndoManagerTest.java @@ -151,6 +151,36 @@ public class UndoManagerTest extends TestCase { assertEquals(original, reverted); } + + /** + * Test case for https://bugs.eclipse.org/bugs/show_bug.cgi?id=88172 + */ + public void testRandomAccessAsUnclosedCompound() { + + final int RANDOM_STRING_LENGTH= 50; + final int RANDOM_REPLACE_COUNT= 100; + + assertTrue(RANDOM_REPLACE_COUNT >= 1); + assertTrue(RANDOM_REPLACE_COUNT <= MAX_UNDO_LEVEL); + + String original= createRandomString(RANDOM_STRING_LENGTH); + final IDocument document= new Document(original); + fTextViewer.setDocument(document); + + fUndoManager.beginCompoundChange(); + doChange(document, RANDOM_REPLACE_COUNT); + // do not close the compound. + // fUndoManager.endCompoundChange(); + + assertTrue(fUndoManager.undoable()); + while (fUndoManager.undoable()) + fUndoManager.undo(); + assertTrue(!fUndoManager.undoable()); + + final String reverted= document.get(); + + assertEquals(original, reverted); + } private static String createRandomString(int length) { final StringBuffer buffer= new StringBuffer(); |