summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilutin Kristofic <milutin@google.com>2023-05-09 11:12:34 +0200
committerPaladox none <thomasmulhall410@yahoo.com>2023-05-10 15:59:12 +0000
commit5e7d2426c7531f04b9d7323c22303e6c68633662 (patch)
treec2f3778bca1b7309d6e85a4d5c0c55021b4179cd
parentb1a42ad3feb0c23d15f1550bbb4e2b96e0c57136 (diff)
Fix diffs with comments on start line 0
Condition introduced in refactoring in Change 290284. We do have example of comment on start line 0 which caused diff not rendered. Release-Notes: skip Google-Bug-Id: b/280895480 Change-Id: I15f9387d1c43772a0d1f2f29617a528ce844e0cb (cherry picked from commit 1466625e209ec414d786d303bbae427bec30746f)
-rw-r--r--polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils.ts2
-rw-r--r--polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils_test.ts17
2 files changed, 18 insertions, 1 deletions
diff --git a/polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils.ts b/polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils.ts
index 87fd5cae65..669537e002 100644
--- a/polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils.ts
+++ b/polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils.ts
@@ -168,7 +168,7 @@ export function getRange(threadEl: HTMLElement): CommentRange | undefined {
const rangeAtt = threadEl.getAttribute('range');
if (!rangeAtt) return undefined;
const range = JSON.parse(rangeAtt) as CommentRange;
- if (!range.start_line) throw new Error(`invalid range: ${rangeAtt}`);
+ if (!range.start_line) return undefined;
return range;
}
diff --git a/polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils_test.ts b/polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils_test.ts
index 25dc768af5..2438bcb00c 100644
--- a/polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils_test.ts
+++ b/polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils_test.ts
@@ -12,6 +12,7 @@ import {
formatText,
createTabWrapper,
isFileUnchanged,
+ getRange,
} from './gr-diff-utils';
const LINE_BREAK_HTML = '<span class="gr-diff br"></span>';
@@ -195,4 +196,20 @@ suite('gr-diff-utils tests', () => {
};
assert.equal(isFileUnchanged(diff), true);
});
+
+ test('getRange returns undefined with start_line = 0', () => {
+ const range = {
+ start_line: 0,
+ end_line: 12,
+ start_character: 0,
+ end_character: 0,
+ };
+ const threadEl = document.createElement('div');
+ threadEl.className = 'comment-thread';
+ threadEl.setAttribute('diff-side', 'right');
+ threadEl.setAttribute('line-num', '1');
+ threadEl.setAttribute('range', JSON.stringify(range));
+ threadEl.setAttribute('slot', 'right-1');
+ assert.isUndefined(getRange(threadEl));
+ });
});