Allow the CommentReader to handle above-line @Test annotation. * Now the reader can handle the annotation regardless of whether its placed above or in-line with the method declaration. * Cleanup to only use in-line notation. Change-Id: I9b71ba08519ce7d5dfb287e473ea6896a518e5d7
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/core/CommentReader.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/core/CommentReader.java index 24e61a5..e8eca5e 100644 --- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/core/CommentReader.java +++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/core/CommentReader.java
@@ -31,6 +31,8 @@ * @author alruiz@google.com (Alex Ruiz) */ public class CommentReader { + + private static final String AT_TEST = "@Test"; private static final String COMMENT_START = "//"; private final Map<String, List<String>> commentsByMethod = newHashMap(); @@ -67,8 +69,9 @@ MultiLineTextBuilder comment = new MultiLineTextBuilder(); try { scanner = new Scanner(new FileInputStream(file)); - String line; + String line = ""; while (scanner.hasNextLine()) { + String prevLine = line; line = scanner.nextLine().replaceFirst("^\\s*", ""); if (line.startsWith(COMMENT_START)) { String text = line.substring(COMMENT_START.length()); @@ -82,7 +85,7 @@ continue; } line = line.trim(); - String testName = testName(line); + String testName = testName(line, prevLine); if (line.length() == 0 || testName != null) { if (!comments.contains(comment)) { comments.add(comment.toString()); @@ -101,11 +104,12 @@ } } - private static String testName(String line) { - if (!line.startsWith("@Test")) { - return null; + private static String testName(String line, String prevLine) { + String testName = null; + if (line.startsWith(AT_TEST) || prevLine.startsWith(AT_TEST)) { + int indexOfShould = line.indexOf("should"); + testName = (indexOfShould == -1) ? null : line.substring(indexOfShould, line.indexOf("(")); } - int indexOfShould = line.indexOf("should"); - return (indexOfShould == -1) ? null : line.substring(indexOfShould, line.indexOf("(")); + return testName; } }
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_LiteralLink_target_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_LiteralLink_target_Test.java index 33123c9..a2decb5 100644 --- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_LiteralLink_target_Test.java +++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_LiteralLink_target_Test.java
@@ -281,8 +281,7 @@ // kind: CREATE // }; // } - @Test - public void should_provide_Literals_for_source_of_simple_value_field() { + @Test public void should_provide_Literals_for_source_of_simple_value_field() { Message message = xtext.find("Example", " {", Message.class); CustomOption customFieldOption = (CustomOption) message.getElements().get(0); ComplexValueCurlyBracket complexValueCurlyBracket =