summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaladox none <thomasmulhall410@yahoo.com>2023-05-10 23:53:23 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-05-10 23:53:23 +0000
commit5a08d345cfc13f073d4e6dee6f5579c4e587699c (patch)
tree3e62336d169d1d7d8f0d2c74922806f40ba6c404
parentbc7613177cb4c3362aba541f3e8e3db9dd6c605c (diff)
parent5e7d2426c7531f04b9d7323c22303e6c68633662 (diff)
Merge "Fix diffs with comments on start line 0" into stable-3.8
-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));
+ });
});