diff options
author | cushon <cushon@google.com> | 2018-10-10 17:11:56 -0700 |
---|---|---|
committer | Liam Miller-Cushon <cushon@google.com> | 2018-10-17 20:45:30 -0700 |
commit | 74070a25d15bd74e71fac5a8392d39cdaa9a953e (patch) | |
tree | 8196c712edfbd5bd89282e545b086aa72196056a /javatests | |
parent | b767eadd89c6c94f75d3ffeb49850665a712fe9b (diff) | |
download | turbine-74070a25d15bd74e71fac5a8392d39cdaa9a953e.tar.gz |
Improve diagnostics for empty and unterminated char literals
MOE_MIGRATED_REVID=216620223
Diffstat (limited to 'javatests')
-rw-r--r-- | javatests/com/google/turbine/parse/ParseErrorTest.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/javatests/com/google/turbine/parse/ParseErrorTest.java b/javatests/com/google/turbine/parse/ParseErrorTest.java index 30ff061..53864ef 100644 --- a/javatests/com/google/turbine/parse/ParseErrorTest.java +++ b/javatests/com/google/turbine/parse/ParseErrorTest.java @@ -170,6 +170,38 @@ public class ParseErrorTest { } } + @Test + public void emptyChar() { + String input = "class T { char c = ''; }"; + try { + Parser.parse(input); + fail("expected parsing to fail"); + } catch (TurbineError e) { + assertThat(e.getMessage()) + .isEqualTo( + lines( + "<>:1: error: empty char literal", // + "class T { char c = ''; }", + " ^")); + } + } + + @Test + public void unterminatedChar() { + String input = "class T { char c = '; }"; + try { + Parser.parse(input); + fail("expected parsing to fail"); + } catch (TurbineError e) { + assertThat(e.getMessage()) + .isEqualTo( + lines( + "<>:1: error: unterminated char literal", // + "class T { char c = '; }", + " ^")); + } + } + private static String lines(String... lines) { return Joiner.on(System.lineSeparator()).join(lines); } |