summaryrefslogtreecommitdiff
path: root/spec/frontend/diffs/utils/diff_line_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/diffs/utils/diff_line_spec.js')
-rw-r--r--spec/frontend/diffs/utils/diff_line_spec.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/frontend/diffs/utils/diff_line_spec.js b/spec/frontend/diffs/utils/diff_line_spec.js
new file mode 100644
index 00000000000..adcb4a4433c
--- /dev/null
+++ b/spec/frontend/diffs/utils/diff_line_spec.js
@@ -0,0 +1,30 @@
+import { pickDirection } from '~/diffs/utils/diff_line';
+
+describe('diff_line utilities', () => {
+ describe('pickDirection', () => {
+ const left = {
+ line_code: 'left',
+ };
+ const right = {
+ line_code: 'right',
+ };
+ const defaultLine = {
+ left,
+ right,
+ };
+
+ it.each`
+ code | pick | line | pickDescription
+ ${'left'} | ${left} | ${defaultLine} | ${'the left line'}
+ ${'right'} | ${right} | ${defaultLine} | ${'the right line'}
+ ${'junk'} | ${left} | ${defaultLine} | ${'the default: the left line'}
+ ${'junk'} | ${right} | ${{ right }} | ${"the right line if there's no left line to default to"}
+ ${'right'} | ${left} | ${{ left }} | ${"the left line when there isn't a right line to match"}
+ `(
+ 'when provided a line and a line code `$code`, picks $pickDescription',
+ ({ code, line, pick }) => {
+ expect(pickDirection({ line, code })).toBe(pick);
+ },
+ );
+ });
+});