aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/xdiff_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/lua/xdiff_spec.lua')
-rw-r--r--test/functional/lua/xdiff_spec.lua93
1 files changed, 56 insertions, 37 deletions
diff --git a/test/functional/lua/xdiff_spec.lua b/test/functional/lua/xdiff_spec.lua
index 3121ac051f..c21309c2e4 100644
--- a/test/functional/lua/xdiff_spec.lua
+++ b/test/functional/lua/xdiff_spec.lua
@@ -11,7 +11,7 @@ describe('xdiff bindings', function()
describe('can diff text', function()
before_each(function()
- exec_lua[[
+ exec_lua [[
a1 = 'Hello\n'
b1 = 'Helli\n'
@@ -21,15 +21,14 @@ describe('xdiff bindings', function()
end)
it('with no callback', function()
-
eq(
table.concat({
'@@ -1 +1 @@',
'-Hello',
'+Helli',
- ''
+ '',
}, '\n'),
- exec_lua("return vim.diff(a1, b1)")
+ exec_lua('return vim.diff(a1, b1)')
)
eq(
@@ -41,11 +40,10 @@ describe('xdiff bindings', function()
'-foo',
'+bar',
'+baz',
- ''
+ '',
}, '\n'),
- exec_lua("return vim.diff(a2, b2)")
+ exec_lua('return vim.diff(a2, b2)')
)
-
end)
it('with callback', function()
@@ -53,43 +51,55 @@ describe('xdiff bindings', function()
exp[#exp+1] = {sa, ca, sb, cb}
end]])
- eq({{1, 1, 1, 1}}, exec_lua[[
+ eq(
+ { { 1, 1, 1, 1 } },
+ exec_lua [[
exp = {}
assert(vim.diff(a1, b1, {on_hunk = on_hunk}) == nil)
return exp
- ]])
+ ]]
+ )
- eq({{1, 1, 1, 1}, {3, 1, 3, 2}}, exec_lua[[
+ eq(
+ { { 1, 1, 1, 1 }, { 3, 1, 3, 2 } },
+ exec_lua [[
exp = {}
assert(vim.diff(a2, b2, {on_hunk = on_hunk}) == nil)
return exp
- ]])
+ ]]
+ )
-- gives higher precedence to on_hunk over result_type
- eq({{1, 1, 1, 1}, {3, 1, 3, 2}}, exec_lua[[
+ eq(
+ { { 1, 1, 1, 1 }, { 3, 1, 3, 2 } },
+ exec_lua [[
exp = {}
assert(vim.diff(a2, b2, {on_hunk = on_hunk, result_type='indices'}) == nil)
return exp
- ]])
+ ]]
+ )
end)
it('with error callback', function()
- exec_lua[[
+ exec_lua [[
on_hunk = function(sa, ca, sb, cb)
error('ERROR1')
end
]]
- eq([[error running function on_hunk: [string "<nvim>"]:0: ERROR1]],
- pcall_err(exec_lua, [[vim.diff(a1, b1, {on_hunk = on_hunk})]]))
+ eq(
+ [[error running function on_hunk: [string "<nvim>"]:0: ERROR1]],
+ pcall_err(exec_lua, [[vim.diff(a1, b1, {on_hunk = on_hunk})]])
+ )
end)
it('with hunk_lines', function()
- eq({{1, 1, 1, 1}},
- exec_lua([[return vim.diff(a1, b1, {result_type = 'indices'})]]))
+ eq({ { 1, 1, 1, 1 } }, exec_lua([[return vim.diff(a1, b1, {result_type = 'indices'})]]))
- eq({{1, 1, 1, 1}, {3, 1, 3, 2}},
- exec_lua([[return vim.diff(a2, b2, {result_type = 'indices'})]]))
+ eq(
+ { { 1, 1, 1, 1 }, { 3, 1, 3, 2 } },
+ exec_lua([[return vim.diff(a2, b2, {result_type = 'indices'})]])
+ )
end)
it('can run different algorithms', function()
@@ -101,7 +111,8 @@ describe('xdiff bindings', function()
'.bar {',
' margin: 0;',
'}',
- ''}, '\n')
+ '',
+ }, '\n')
local b = table.concat({
'.bar {',
@@ -112,10 +123,12 @@ describe('xdiff bindings', function()
' margin: 0;',
' color: green;',
'}',
- ''}, '\n')
+ '',
+ }, '\n')
eq(
- table.concat({'@@ -1,4 +0,0 @@',
+ table.concat({
+ '@@ -1,4 +0,0 @@',
'-.foo1 {',
'- margin: 0;',
'-}',
@@ -126,31 +139,37 @@ describe('xdiff bindings', function()
'+ margin: 0;',
'+ color: green;',
'+}',
- ''}, '\n'),
- exec_lua([[
+ '',
+ }, '\n'),
+ exec_lua(
+ [[
local args = {...}
return vim.diff(args[1], args[2], {
algorithm = 'patience'
})
- ]], a, b))
+ ]],
+ a,
+ b
+ )
+ )
end)
end)
it('can handle bad args', function()
- eq([[Expected at least 2 arguments]],
- pcall_err(exec_lua, [[vim.diff('a')]]))
-
- eq([[bad argument #1 to 'diff' (expected string)]],
- pcall_err(exec_lua, [[vim.diff(1, 2)]]))
+ eq([[Expected at least 2 arguments]], pcall_err(exec_lua, [[vim.diff('a')]]))
- eq([[bad argument #3 to 'diff' (expected table)]],
- pcall_err(exec_lua, [[vim.diff('a', 'b', true)]]))
+ eq([[bad argument #1 to 'diff' (expected string)]], pcall_err(exec_lua, [[vim.diff(1, 2)]]))
- eq([[unexpected key: bad_key]],
- pcall_err(exec_lua, [[vim.diff('a', 'b', { bad_key = true })]]))
+ eq(
+ [[bad argument #3 to 'diff' (expected table)]],
+ pcall_err(exec_lua, [[vim.diff('a', 'b', true)]])
+ )
- eq([[on_hunk is not a function]],
- pcall_err(exec_lua, [[vim.diff('a', 'b', { on_hunk = true })]]))
+ eq([[invalid key: bad_key]], pcall_err(exec_lua, [[vim.diff('a', 'b', { bad_key = true })]]))
+ eq(
+ [[on_hunk is not a function]],
+ pcall_err(exec_lua, [[vim.diff('a', 'b', { on_hunk = true })]])
+ )
end)
end)