From 4e67566e58d0432af9d217a130bad3f25701671e Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 5 Jun 2013 15:47:51 +0400 Subject: [PATCH] Add utility method for getting before and after text --- .../tests/org/jetbrains/jet/JetTestUtils.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/compiler/tests/org/jetbrains/jet/JetTestUtils.java b/compiler/tests/org/jetbrains/jet/JetTestUtils.java index 6a3cbf89dbf..0278afdd7ae 100644 --- a/compiler/tests/org/jetbrains/jet/JetTestUtils.java +++ b/compiler/tests/org/jetbrains/jet/JetTestUtils.java @@ -24,6 +24,7 @@ import com.intellij.openapi.editor.Document; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.ShutDownTracker; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.CharsetToolkit; import com.intellij.psi.PsiFileFactory; import com.intellij.psi.impl.PsiFileFactoryImpl; @@ -402,6 +403,29 @@ public class JetTestUtils { return testFileFiles; } + public static List loadBeforeAfterText(String filePath) { + String content; + + try { + content = StringUtil.convertLineSeparators(FileUtil.loadFile(new File(filePath))); + } + catch (IOException e) { + throw new RuntimeException(e); + } + + List files = createTestFiles("", content, new TestFileFactory() { + @Override + public String create(String fileName, String text) { + int firstLineEnd = text.indexOf('\n'); + return StringUtil.trimTrailing(text.substring(firstLineEnd + 1)); + } + }); + + Assert.assertTrue("Exactly two files expected: ", files.size() == 2); + + return files; + } + public static String getLastCommentedLines(@NotNull Document document) { List resultLines = new ArrayList(); for (int i = document.getLineCount() - 1; i >= 0; i--) {