-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ee71476
commit 09d2b76
Showing
8 changed files
with
249 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
name: ci | ||
|
||
on: | ||
push | ||
|
||
jobs: | ||
ci: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Cloning repo | ||
uses: actions/checkout@v4 | ||
|
||
- name: Run tests | ||
run: "./run_tests.sh" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/bash | ||
|
||
( | ||
cd test || exit | ||
docker build -t tronikel/conflict-marker.nvim-test . | ||
) | ||
|
||
docker run --rm \ | ||
-v ./lua:/root/.config/nvim/lua/ \ | ||
-v ./test:/root/test/ \ | ||
tronikel/conflict-marker.nvim-test:latest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
return { | ||
_all = { | ||
lua = "./lua.sh", | ||
}, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
FROM nickblah/luajit:2-luarocks | ||
|
||
RUN apt-get update && apt-get install -y build-essential | ||
|
||
RUN luarocks install busted | ||
RUN echo "$(luarocks path --bin)" >> ~/.profile | ||
|
||
# install neovim | ||
RUN <<EOF | ||
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz | ||
rm -rf /opt/nvim | ||
tar -C /opt -xzf nvim-linux64.tar.gz | ||
EOF | ||
|
||
ENV PATH="$PATH:/opt/nvim-linux64/bin" | ||
|
||
CMD ["/bin/bash", "-c", "cd ~/test && busted ."] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/bin/bash | ||
|
||
nvim -c "set loadplugins" -l "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
describe("main", function() | ||
local nvim | ||
local lines | ||
|
||
local exec_lua = function(fn, ...) | ||
return vim.fn.rpcrequest(nvim, "nvim_exec_lua", fn, { ... }) | ||
end | ||
|
||
before_each(function() | ||
lines = { | ||
[[<<<<<<< HEAD]], | ||
[[local value = 5 + 7]], | ||
[[print(value)]], | ||
[[print(string.format("value is %d", value))]], | ||
[[=======]], | ||
[[local value = 1 - 1]], | ||
[[>>>>>>> new_branch]], | ||
} | ||
|
||
nvim = vim.fn.jobstart({ "nvim", "--embed", "--headless" }, { rpc = true }) | ||
exec_lua([[require("conflict-marker").setup()]]) | ||
end) | ||
|
||
after_each(function() | ||
vim.fn.jobstop(nvim) | ||
end) | ||
|
||
for _, prepare in ipairs({ | ||
{ | ||
"diff2", | ||
function() | ||
lines = { | ||
[[<<<<<<< HEAD]], | ||
[[local value = 5 + 7]], | ||
[[print(value)]], | ||
[[print(string.format("value is %d", value))]], | ||
[[=======]], | ||
[[local value = 1 - 1]], | ||
[[>>>>>>> new_branch]], | ||
} | ||
end, | ||
}, | ||
{ | ||
"diff3", | ||
function() | ||
lines = { | ||
[[<<<<<<< HEAD]], | ||
[[local value = 5 + 7]], | ||
[[print(value)]], | ||
[[print(string.format("value is %d", value))]], | ||
[[||||||| 229039e]], | ||
[[local value = 1 + 1]], | ||
[[=======]], | ||
[[local value = 1 - 1]], | ||
[[>>>>>>> new_branch]], | ||
} | ||
end, | ||
}, | ||
}) do | ||
describe("with " .. prepare[1], function() | ||
before_each(function() | ||
prepare[2]() | ||
exec_lua( | ||
[[ | ||
vim.api.nvim_buf_set_lines(0, 0, -1, true, ({...})[1]) | ||
vim.cmd("doautocmd BufReadPost") | ||
]], | ||
lines | ||
) | ||
end) | ||
|
||
it("Conflict ours works", function() | ||
local result = exec_lua([[ | ||
vim.cmd("Conflict ours") | ||
return vim.api.nvim_buf_get_lines(0, 0, -1, true) | ||
]]) | ||
|
||
assert.is_same(result, { | ||
[[local value = 5 + 7]], | ||
[[print(value)]], | ||
[[print(string.format("value is %d", value))]], | ||
}) | ||
end) | ||
|
||
it("Conflict theirs works", function() | ||
local result = exec_lua([[ | ||
vim.cmd("Conflict theirs") | ||
return vim.api.nvim_buf_get_lines(0, 0, -1, true) | ||
]]) | ||
|
||
assert.is_same(result, { | ||
[[local value = 1 - 1]], | ||
}) | ||
end) | ||
|
||
it("Conflict both works", function() | ||
local result = exec_lua([[ | ||
vim.cmd("Conflict both") | ||
return vim.api.nvim_buf_get_lines(0, 0, -1, true) | ||
]]) | ||
|
||
assert.is_same(result, { | ||
[[local value = 5 + 7]], | ||
[[print(value)]], | ||
[[print(string.format("value is %d", value))]], | ||
[[local value = 1 - 1]], | ||
}) | ||
end) | ||
|
||
it("Conflict none works", function() | ||
local result = exec_lua([[ | ||
vim.cmd("Conflict none") | ||
return vim.api.nvim_buf_get_lines(0, 0, -1, true) | ||
]]) | ||
|
||
assert.is_same(result, { "" }) | ||
end) | ||
end) | ||
end | ||
|
||
it("selects conflict under cursor", function() | ||
lines = { | ||
[[<<<<<<< HEAD]], | ||
[[ours]], | ||
[[=======]], | ||
[[theirs]], | ||
[[>>>>>>> new_branch]], | ||
[[<<<<<<< HEAD]], | ||
[[ours2]], | ||
[[=======]], | ||
[[theirs2]], | ||
[[>>>>>>> new_branch]], | ||
} | ||
|
||
local result = exec_lua( | ||
[[ | ||
local lines = ({...})[1] | ||
vim.api.nvim_buf_set_lines(0, 0, -1, true, lines) | ||
vim.cmd("doautocmd BufReadPost") | ||
vim.api.nvim_win_set_cursor(0, { #lines, 0 }) | ||
vim.cmd("Conflict ours") | ||
return vim.api.nvim_buf_get_lines(0, 0, -1, true) | ||
]], | ||
lines | ||
) | ||
|
||
assert.is_same(result, { | ||
[[<<<<<<< HEAD]], | ||
[[ours]], | ||
[[=======]], | ||
[[theirs]], | ||
[[>>>>>>> new_branch]], | ||
[[ours2]], | ||
}) | ||
end) | ||
end) |