ChangeNoteUtil: Fix parsing of "0:0-0:0" range
Change-Id: I7eeb213378e2af3c86341d15482a6c4d203b0d72
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNoteUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNoteUtil.java
index 51155cd..f9bad6f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNoteUtil.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNoteUtil.java
@@ -270,13 +270,7 @@
int startLine = RawParseUtils.parseBase10(note, ptr.value, ptr);
if (ptr.value == last) {
return null;
- } else if (startLine == 0) {
- range.setEndLine(0);
- ptr.value += 1;
- return range;
- }
-
- if (note[ptr.value] == '\n') {
+ } else if (note[ptr.value] == '\n') {
range.setEndLine(startLine);
ptr.value += 1;
return range;
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java
index 1f54f55..19bc9a4 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java
@@ -1292,6 +1292,26 @@
}
@Test
+ public void patchLineCommentZeroRange() throws Exception {
+ Change c = newChange();
+ ChangeUpdate update = newUpdate(c, otherUser);
+ PatchSet.Id psId = c.currentPatchSetId();
+ RevId revId = new RevId("abcd1234abcd1234abcd1234abcd1234abcd1234");
+ CommentRange range = new CommentRange(0, 0, 0, 0);
+
+ PatchLineComment comment = newPublishedComment(psId, "file",
+ "uuid", range, range.getEndLine(), otherUser, null,
+ TimeUtil.nowTs(), "message", (short) 1, revId.get());
+ update.setPatchSetId(psId);
+ update.putComment(comment);
+ update.commit();
+
+ ChangeNotes notes = newNotes(c);
+ assertThat(notes.getComments())
+ .isEqualTo(ImmutableMultimap.of(revId, comment));
+ }
+
+ @Test
public void patchLineCommentNotesFormatSide1() throws Exception {
Change c = newChange();
ChangeUpdate update = newUpdate(c, otherUser);