diff options
author | Milutin Kristofic <milutin@google.com> | 2023-05-09 11:12:34 +0200 |
---|---|---|
committer | Paladox none <thomasmulhall410@yahoo.com> | 2023-05-10 15:59:12 +0000 |
commit | 5e7d2426c7531f04b9d7323c22303e6c68633662 (patch) | |
tree | c2f3778bca1b7309d6e85a4d5c0c55021b4179cd | |
parent | b1a42ad3feb0c23d15f1550bbb4e2b96e0c57136 (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.ts | 2 | ||||
-rw-r--r-- | polygerrit-ui/app/embed/diff/gr-diff/gr-diff-utils_test.ts | 17 |
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)); + }); }); |