From 670d9a8bb6e786910b717f76657b1d2a7c41f22d Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Wed, 22 Mar 2017 02:57:31 -0500 Subject: [PATCH] ensure lineNumbers method always returns an array with two integers --- app/assets/javascripts/diff.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/diff.js b/app/assets/javascripts/diff.js index dca12bbcf10..88180149715 100644 --- a/app/assets/javascripts/diff.js +++ b/app/assets/javascripts/diff.js @@ -33,7 +33,6 @@ class Diff { handleClickUnfold(e) { const $target = $(e.target); - // current babel config relies on iterators implementation, so we cannot simply do: const [oldLineNumber, newLineNumber] = this.lineNumbers($target.parent()); const offset = newLineNumber - oldLineNumber; const bottom = $target.hasClass('js-unfold-bottom'); @@ -102,10 +101,11 @@ class Diff { } lineNumbers(line) { - if (!line.children().length) { + const children = line.find('.diff-line-num').toArray(); + if (children.length !== 2) { return [0, 0]; } - return line.find('.diff-line-num').map((i, elm) => parseInt($(elm).data('linenumber'), 10)); + return children.map(elm => parseInt($(elm).data('linenumber'), 10) || 0); } highlightSelectedLine() { -- GitLab