Report the column of a syntax error where javac puts it by abashev · Pull Request #72 · openjavaformat/open-java-format · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public void parseError() throws Exception {

int result = main.format(path.toString());
assertThat(stdout.toString()).isEmpty();
assertThat(stderr.toString()).contains("InvalidSyntax.java:2:29: error: <identifier> expected");
assertThat(stderr.toString()).contains("InvalidSyntax.java:2:28: error: <identifier> expected");
assertThat(result).isEqualTo(2);
}

Expand Down Expand Up @@ -116,7 +116,7 @@ public void oneFileParseError() throws Exception {

int result = main.format(pathOne.toString(), pathTwo.toString());
assertThat(stdout.toString()).isEqualTo(two);
assertThat(stderr.toString()).contains("One.java:1:13: error: reached end of file");
assertThat(stderr.toString()).contains("One.java:1:12: error: reached end of file");
assertThat(result).isEqualTo(2);
}

Expand All @@ -137,7 +137,7 @@ public void oneFileParseErrorReplace() throws Exception {

int result = main.format("-i", pathOne.toString(), pathTwo.toString());
assertThat(stdout.toString()).isEmpty();
assertThat(stderr.toString()).contains("One.java:1:14: error: class, interface");
assertThat(stderr.toString()).contains("One.java:1:13: error: class, interface");
assertThat(result).isEqualTo(2);
// don't edit files with parse errors
assertThat(Files.readAllLines(pathOne, UTF_8)).containsExactly("class One {}}");
Expand All @@ -159,7 +159,7 @@ public void parseError2() throws FormatterException, IOException, UsageException
int exitCode = main.format(args);

assertThat(exitCode).isEqualTo(2);
assertThat(err.toString()).contains("A.java:2:6: error: ';' expected");
assertThat(err.toString()).contains("A.java:2:5: error: ';' expected");
}

@Test
Expand All @@ -174,7 +174,7 @@ public void parseErrorStdin() throws FormatterException, IOException, UsageExcep
int exitCode = main.format(args);

assertThat(exitCode).isEqualTo(2);
assertThat(err.toString()).contains("<stdin>:2:6: error: ';' expected");
assertThat(err.toString()).contains("<stdin>:2:5: error: ';' expected");
}

@Test
Expand All @@ -192,7 +192,7 @@ public void lexError2() throws FormatterException, IOException, UsageException {
int exitCode = main.format(args);

assertThat(exitCode).isEqualTo(2);
assertThat(err.toString()).contains("A.java:2:5: error: unclosed character literal");
assertThat(err.toString()).contains("A.java:2:4: error: unclosed character literal");
}

@Test
Expand All @@ -206,6 +206,6 @@ public void lexErrorStdin() throws FormatterException, IOException, UsageExcepti
int exitCode = main.format(args);

assertThat(exitCode).isEqualTo(2);
assertThat(err.toString()).contains("<stdin>:2:5: error: unclosed character literal");
assertThat(err.toString()).contains("<stdin>:2:4: error: unclosed character literal");
}
}
Loading