From 8a33d34159ced02725a99867e1f589ab195df991 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 1 Jun 2016 07:56:22 +0200 Subject: [PATCH] add PsiDocumentManagerImplTest.testPerformLaterWhenAllCommittedFromCommitHandler (IDEA-CR-11146) --- .../psi/impl/PsiDocumentManagerImplTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/platform/platform-tests/testSrc/com/intellij/psi/impl/PsiDocumentManagerImplTest.java b/platform/platform-tests/testSrc/com/intellij/psi/impl/PsiDocumentManagerImplTest.java index 221c3413d837..e311e1a04c75 100644 --- a/platform/platform-tests/testSrc/com/intellij/psi/impl/PsiDocumentManagerImplTest.java +++ b/platform/platform-tests/testSrc/com/intellij/psi/impl/PsiDocumentManagerImplTest.java @@ -671,4 +671,22 @@ public class PsiDocumentManagerImplTest extends PlatformTestCase { assertTrue(PsiDocumentManager.getInstance(myProject).isCommitted(document)); } + @SuppressWarnings("ConstantConditions") + public void testPerformLaterWhenAllCommittedFromCommitHandler() throws Exception { + PsiFile file = getPsiManager().findFile(getVirtualFile(createTempFile("X.txt", ""))); + Document document = file.getViewProvider().getDocument(); + + PsiDocumentManager pdm = PsiDocumentManager.getInstance(myProject); + WriteCommandAction.runWriteCommandAction(null, () -> document.insertString(0, "a")); + pdm.performWhenAllCommitted( + () -> pdm.performLaterWhenAllCommitted( + () -> WriteCommandAction.runWriteCommandAction(null, () -> document.insertString(1, "b")))); + + assertTrue(pdm.hasUncommitedDocuments()); + assertEquals("a", document.getText()); + + DocumentCommitThread.getInstance().waitForAllCommits(); + assertEquals("ab", document.getText()); + } + }