1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 package org.eclipse.jgit.util;
45
46 import static org.junit.Assert.assertEquals;
47 import static org.junit.Assert.assertNotNull;
48
49 import java.io.UnsupportedEncodingException;
50
51 import org.junit.Test;
52
53 public class RawParseUtils_LineMapTest {
54 @Test
55 public void testEmpty() {
56 final IntList map = RawParseUtils.lineMap(new byte[] {}, 0, 0);
57 assertNotNull(map);
58 assertEquals(2, map.size());
59 assertEquals(Integer.MIN_VALUE, map.get(0));
60 assertEquals(0, map.get(1));
61 }
62
63 @Test
64 public void testOneBlankLine() {
65 final IntList map = RawParseUtils.lineMap(new byte[] { '\n' }, 0, 1);
66 assertEquals(3, map.size());
67 assertEquals(Integer.MIN_VALUE, map.get(0));
68 assertEquals(0, map.get(1));
69 assertEquals(1, map.get(2));
70 }
71
72 @Test
73 public void testTwoLineFooBar() throws UnsupportedEncodingException {
74 final byte[] buf = "foo\nbar\n".getBytes("ISO-8859-1");
75 final IntList map = RawParseUtils.lineMap(buf, 0, buf.length);
76 assertEquals(4, map.size());
77 assertEquals(Integer.MIN_VALUE, map.get(0));
78 assertEquals(0, map.get(1));
79 assertEquals(4, map.get(2));
80 assertEquals(buf.length, map.get(3));
81 }
82
83 @Test
84 public void testTwoLineNoLF() throws UnsupportedEncodingException {
85 final byte[] buf = "foo\nbar".getBytes("ISO-8859-1");
86 final IntList map = RawParseUtils.lineMap(buf, 0, buf.length);
87 assertEquals(4, map.size());
88 assertEquals(Integer.MIN_VALUE, map.get(0));
89 assertEquals(0, map.get(1));
90 assertEquals(4, map.get(2));
91 assertEquals(buf.length, map.get(3));
92 }
93
94 @Test
95 public void testFourLineBlanks() throws UnsupportedEncodingException {
96 final byte[] buf = "foo\n\n\nbar\n".getBytes("ISO-8859-1");
97 final IntList map = RawParseUtils.lineMap(buf, 0, buf.length);
98 assertEquals(6, map.size());
99 assertEquals(Integer.MIN_VALUE, map.get(0));
100 assertEquals(0, map.get(1));
101 assertEquals(4, map.get(2));
102 assertEquals(5, map.get(3));
103 assertEquals(6, map.get(4));
104 assertEquals(buf.length, map.get(5));
105 }
106 }