Merge "Reject (robot) comments with ranges referring to line 0"
This commit is contained in:
@@ -5386,10 +5386,10 @@ The `CommentRange` entity describes the range of an inline comment.
|
|||||||
[options="header",cols="1,^1,5"]
|
[options="header",cols="1,^1,5"]
|
||||||
|===========================
|
|===========================
|
||||||
|Field Name ||Description
|
|Field Name ||Description
|
||||||
|`start_line` ||The start line number of the range.
|
|`start_line` ||The start line number of the range. (1-based, inclusive)
|
||||||
|`start_character` ||The character position in the start line.
|
|`start_character` ||The character position in the start line. (0-based, inclusive)
|
||||||
|`end_line` ||The end line number of the range.
|
|`end_line` ||The end line number of the range. (1-based, exclusive)
|
||||||
|`end_character` ||The character position in the end line.
|
|`end_character` ||The character position in the end line. (0-based, exclusive)
|
||||||
|===========================
|
|===========================
|
||||||
|
|
||||||
[[commit-info]]
|
[[commit-info]]
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public abstract class Comment {
|
|||||||
public String path;
|
public String path;
|
||||||
public Side side;
|
public Side side;
|
||||||
public Integer parent;
|
public Integer parent;
|
||||||
public Integer line;
|
public Integer line; // value 0 or null indicates a file comment, normal lines start at 1
|
||||||
public Range range;
|
public Range range;
|
||||||
public String inReplyTo;
|
public String inReplyTo;
|
||||||
public Timestamp updated;
|
public Timestamp updated;
|
||||||
@@ -37,15 +37,15 @@ public abstract class Comment {
|
|||||||
public Boolean unresolved;
|
public Boolean unresolved;
|
||||||
|
|
||||||
public static class Range {
|
public static class Range {
|
||||||
public int startLine;
|
public int startLine; // 1-based, inclusive
|
||||||
public int startCharacter;
|
public int startCharacter; // 0-based, inclusive
|
||||||
public int endLine;
|
public int endLine; // 1-based, exclusive
|
||||||
public int endCharacter;
|
public int endCharacter; // 0-based, exclusive
|
||||||
|
|
||||||
public boolean isValid() {
|
public boolean isValid() {
|
||||||
return startLine >= 0
|
return startLine > 0
|
||||||
&& startCharacter >= 0
|
&& startCharacter >= 0
|
||||||
&& endLine >= 0
|
&& endLine > 0
|
||||||
&& endCharacter >= 0
|
&& endCharacter >= 0
|
||||||
&& startLine <= endLine
|
&& startLine <= endLine
|
||||||
&& (startLine != endLine || startCharacter <= endCharacter);
|
&& (startLine != endLine || startCharacter <= endCharacter);
|
||||||
|
|||||||
@@ -62,6 +62,30 @@ public class RangeTest {
|
|||||||
assertThat(range).isInvalid();
|
assertThat(range).isInvalid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void zeroStartLineResultsInInvalidRange() {
|
||||||
|
Comment.Range range = createRange(0, 2, 19, 10);
|
||||||
|
assertThat(range).isInvalid();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void zeroEndLineResultsInInvalidRange() {
|
||||||
|
Comment.Range range = createRange(13, 2, 0, 10);
|
||||||
|
assertThat(range).isInvalid();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void zeroStartCharacterResultsInValidRange() {
|
||||||
|
Comment.Range range = createRange(13, 0, 19, 10);
|
||||||
|
assertThat(range).isValid();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void zeroEndCharacterResultsInValidRange() {
|
||||||
|
Comment.Range range = createRange(13, 31, 19, 0);
|
||||||
|
assertThat(range).isValid();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void startLineGreaterThanEndLineResultsInInvalidRange() {
|
public void startLineGreaterThanEndLineResultsInInvalidRange() {
|
||||||
Comment.Range range = createRange(20, 2, 19, 10);
|
Comment.Range range = createRange(20, 2, 19, 10);
|
||||||
|
|||||||
@@ -131,10 +131,10 @@ public class Comment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Range {
|
public static class Range {
|
||||||
public int startLine;
|
public int startLine; // 1-based, inclusive
|
||||||
public int startChar;
|
public int startChar; // 0-based, inclusive
|
||||||
public int endLine;
|
public int endLine; // 1-based, exclusive
|
||||||
public int endChar;
|
public int endChar; // 0-based, exclusive
|
||||||
|
|
||||||
public Range(Range r) {
|
public Range(Range r) {
|
||||||
this(r.startLine, r.startChar, r.endLine, r.endChar);
|
this(r.startLine, r.startChar, r.endLine, r.endChar);
|
||||||
|
|||||||
Reference in New Issue
Block a user