it('should remove match line properly by regarding the bottom parameter', () => { const diffFile = getDiffFileMock(); const lineNumbers = { oldLineNumber: 3, newLineNumber: 5 }; const inlineIndex = utils.findIndexInInlineLines(diffFile.highlightedDiffLines, lineNumbers); const parallelIndex = utils.findIndexInParallelLines(diffFile.parallelDiffLines, lineNumbers); const atInlineIndex = diffFile.highlightedDiffLines[inlineIndex]; const atParallelIndex = diffFile.parallelDiffLines[parallelIndex]; utils.removeMatchLine(diffFile, lineNumbers, false); expect(diffFile.highlightedDiffLines[inlineIndex]).not.toEqual(atInlineIndex); expect(diffFile.parallelDiffLines[parallelIndex]).not.toEqual(atParallelIndex); utils.removeMatchLine(diffFile, lineNumbers, true); expect(diffFile.highlightedDiffLines[inlineIndex + 1]).not.toEqual(atInlineIndex); expect(diffFile.parallelDiffLines[parallelIndex + 1]).not.toEqual(atParallelIndex); });
it('should add context lines', () => { const diffFile = getDiffFileMock(); const inlineLines = diffFile.highlighted_diff_lines; const parallelLines = diffFile.parallel_diff_lines; const lineNumbers = { oldLineNumber: 3, newLineNumber: 5 }; const contextLines = [{ lineNumber: 42, line_code: '123' }]; const options = { inlineLines, parallelLines, contextLines, lineNumbers }; const inlineIndex = utils.findIndexInInlineLines(inlineLines, lineNumbers); const parallelIndex = utils.findIndexInParallelLines(parallelLines, lineNumbers); const normalizedParallelLine = { left: options.contextLines[0], right: options.contextLines[0], line_code: '123', }; utils.addContextLines(options); expect(inlineLines[inlineIndex]).toEqual(contextLines[0]); expect(parallelLines[parallelIndex]).toEqual(normalizedParallelLine); });
it('should add context lines properly with bottom parameter', () => { const diffFile = getDiffFileMock(); const inlineLines = diffFile.highlightedDiffLines; const parallelLines = diffFile.parallelDiffLines; const lineNumbers = { oldLineNumber: 3, newLineNumber: 5 }; const contextLines = [{ lineNumber: 42 }]; const options = { inlineLines, parallelLines, contextLines, lineNumbers, bottom: true }; const inlineIndex = utils.findIndexInInlineLines(diffFile.highlightedDiffLines, lineNumbers); const parallelIndex = utils.findIndexInParallelLines(diffFile.parallelDiffLines, lineNumbers); const normalizedParallelLine = { left: options.contextLines[0], right: options.contextLines[0], }; utils.addContextLines(options); expect(inlineLines[inlineLines.length - 1]).toEqual(contextLines[0]); expect(parallelLines[parallelLines.length - 1]).toEqual(normalizedParallelLine); delete options.bottom; utils.addContextLines(options); expect(inlineLines[inlineIndex]).toEqual(contextLines[0]); expect(parallelLines[parallelIndex]).toEqual(normalizedParallelLine); });