Extracted getting test metadata from comment lines from LibrariesWithSourcesTest to JetTestUtils.
This commit is contained in:
@@ -18,6 +18,7 @@ package org.jetbrains.jet;
|
|||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.intellij.openapi.Disposable;
|
import com.intellij.openapi.Disposable;
|
||||||
|
import com.intellij.openapi.editor.Document;
|
||||||
import com.intellij.openapi.util.ShutDownTracker;
|
import com.intellij.openapi.util.ShutDownTracker;
|
||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
@@ -258,4 +259,28 @@ public class JetTestUtils {
|
|||||||
}
|
}
|
||||||
return testFileFiles;
|
return testFileFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getLastCommentedLines(@NotNull Document document) {
|
||||||
|
List<CharSequence> resultLines = new ArrayList<CharSequence>();
|
||||||
|
for (int i = document.getLineCount() - 1; i >= 0; i--) {
|
||||||
|
int lineStart = document.getLineStartOffset(i);
|
||||||
|
int lineEnd = document.getLineEndOffset(i);
|
||||||
|
if (document.getCharsSequence().subSequence(lineStart, lineEnd).toString().trim().isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("//".equals(document.getCharsSequence().subSequence(lineStart, lineStart + 2).toString())) {
|
||||||
|
resultLines.add(document.getCharsSequence().subSequence(lineStart + 2, lineEnd));
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Collections.reverse(resultLines);
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
for (CharSequence line : resultLines) {
|
||||||
|
result.append(line).append("\n");
|
||||||
|
}
|
||||||
|
result.delete(result.length() - 1, result.length());
|
||||||
|
return result.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import com.intellij.psi.PsiReference;
|
|||||||
import com.intellij.util.containers.MultiMap;
|
import com.intellij.util.containers.MultiMap;
|
||||||
import jet.Tuple2;
|
import jet.Tuple2;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.plugin.references.JetPsiReference;
|
import org.jetbrains.jet.plugin.references.JetPsiReference;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -172,27 +173,7 @@ public class LibrariesWithSourcesTest extends AbstractLibrariesTest {
|
|||||||
private String getExpectedAnnotatedLibraryCode() {
|
private String getExpectedAnnotatedLibraryCode() {
|
||||||
Document document = FileDocumentManager.getInstance().getDocument(userFile);
|
Document document = FileDocumentManager.getInstance().getDocument(userFile);
|
||||||
assertNotNull(document);
|
assertNotNull(document);
|
||||||
List<CharSequence> resultLines = new ArrayList<CharSequence>();
|
return JetTestUtils.getLastCommentedLines(document);
|
||||||
for (int i = document.getLineCount() - 1; i >= 0; i--) {
|
|
||||||
int lineStart = document.getLineStartOffset(i);
|
|
||||||
int lineEnd = document.getLineEndOffset(i);
|
|
||||||
if (document.getCharsSequence().subSequence(lineStart, lineEnd).toString().trim().isEmpty()) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("//".equals(document.getCharsSequence().subSequence(lineStart, lineStart + 2).toString())) {
|
|
||||||
resultLines.add(document.getCharsSequence().subSequence(lineStart + 2, lineEnd));
|
|
||||||
} else {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Collections.reverse(resultLines);
|
|
||||||
StringBuilder result = new StringBuilder();
|
|
||||||
for (CharSequence line : resultLines) {
|
|
||||||
result.append(line).append("\n");
|
|
||||||
}
|
|
||||||
result.delete(result.length() - 1, result.length());
|
|
||||||
return result.toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user