IDEA-67327 Undo: Correct bulk undo processing at document end

Corrected deferred changes processing during end -> start direction.
This commit is contained in:
Denis Zhdanov
2011-03-31 17:14:13 +04:00
parent 90b98e50e5
commit 388fea264a
2 changed files with 8 additions and 1 deletions
@@ -243,7 +243,7 @@ public class TextChangesStorage {
if (newChangeStart <= storedClientStart && newChangeEnd >= storedClientEnd) {
myChanges.remove(i);
insertionIndex = i;
newChangeEnd -= changeEntry.change.getText().length();
newChangeEnd -= changeEntry.change.getDiff();
i--;
continue;
}
@@ -109,6 +109,13 @@ public class TextChangesStorageTest {
checkChanges(c("", 2, 5));
}
@Test
public void adjacentDeletesFromEndToStart() {
delete(5, 6);
delete(4, 5);
checkChanges(c("", 4, 6));
}
@Test
public void singleReplace() {
replace("abc", 3, 4);