diff options
Diffstat (limited to 'java/java-tests/testSrc/com/intellij/psi/MiscPsiTest.java')
-rw-r--r-- | java/java-tests/testSrc/com/intellij/psi/MiscPsiTest.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/java/java-tests/testSrc/com/intellij/psi/MiscPsiTest.java b/java/java-tests/testSrc/com/intellij/psi/MiscPsiTest.java index 096547c4f4db..61414ab0b416 100644 --- a/java/java-tests/testSrc/com/intellij/psi/MiscPsiTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/MiscPsiTest.java @@ -260,4 +260,20 @@ public class MiscPsiTest extends LightCodeInsightFixtureTestCase { assertEquals("some.unknown.Foo<? extends String>", type.getCanonicalText()); } + public void testNoPsiModificationsInUncommittedDocument() { + final PsiJavaFile file = (PsiJavaFile)myFixture.addFileToProject("a.java", "class A{}"); + Document document = file.getViewProvider().getDocument(); + document.insertString(0, " "); + + PsiClass psiClass = file.getClasses()[0]; + try { + psiClass.addBefore(PsiParserFacade.SERVICE.getInstance(getProject()).createWhiteSpaceFromText(" "), psiClass.getLBrace()); + fail(); + } + catch (IllegalStateException e) { + assertEquals("Attempt to modify PSI for non-committed Document!", e.getMessage()); + } + assertEquals("class A{}", psiClass.getText()); + assertEquals(" class A{}", document.getText()); + } } |