1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.puppycrawl.tools.checkstyle.grammar;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23
24 import org.antlr.v4.runtime.CharStream;
25 import org.antlr.v4.runtime.CharStreams;
26 import org.junit.jupiter.api.Test;
27
28 public class CrAwareLexerTest {
29
30 @Test
31 public void testConsumeCarriageReturnZeroCharPositionInLine() {
32 final String text = "\r";
33 final CharStream charStream = CharStreams.fromString(text);
34 final CrAwareLexerSimulator lexer =
35 new CrAwareLexerSimulator(null, null, null, null);
36 lexer.consume(charStream);
37
38 assertWithMessage("Carriage return should reset column number.")
39 .that(lexer.getCharPositionInLine())
40 .isEqualTo(0);
41 }
42
43 @Test
44 public void testConsumeCarriageReturnNewline() {
45 final String text = "\r";
46 final CharStream charStream = CharStreams.fromString(text);
47 final CrAwareLexerSimulator lexer =
48 new CrAwareLexerSimulator(null, null, null, null);
49 lexer.consume(charStream);
50
51 assertWithMessage("Carriage return should increment line number.")
52 .that(lexer.getLine())
53 .isEqualTo(2);
54 }
55
56 @Test
57 public void testConsumeWindowsNewlineZeroCharPositionInLine() {
58 final String text = "\r\n";
59 final CharStream charStream = CharStreams.fromString(text);
60 final CrAwareLexerSimulator lexer =
61 new CrAwareLexerSimulator(null, null, null, null);
62 lexer.consume(charStream);
63 lexer.consume(charStream);
64
65 assertWithMessage("Carriage return should reset column number.")
66 .that(lexer.getCharPositionInLine())
67 .isEqualTo(0);
68 }
69
70 @Test
71 public void testConsumeWindowsNewline() {
72 final String text = "\r\n";
73 final CharStream charStream = CharStreams.fromString(text);
74 final CrAwareLexerSimulator lexer =
75 new CrAwareLexerSimulator(null, null, null, null);
76 lexer.consume(charStream);
77 lexer.consume(charStream);
78
79 assertWithMessage("Carriage return should increment line number.")
80 .that(lexer.getLine())
81 .isEqualTo(2);
82 }
83 }