You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go.nvim/lua/tests/go_fmt_spec.lua

152 lines
5.3 KiB
Lua

3 years ago
local eq = assert.are.same
local cur_dir = vim.fn.expand("%:p:h")
local busted = require("plenary/busted")
3 years ago
describe("should run gofmt", function()
-- vim.fn.readfile('minimal.vim')
-- vim.fn.writefile(vim.fn.readfile('fixtures/fmt/hello.go'), name)
status = require("plenary.reload").reload_module("go.nvim")
3 years ago
-- it("should run fmt", function()
-- local name = vim.fn.tempname() .. ".go"
-- print("tmp:" .. name)
-- --
-- local path = cur_dir .. "/lua/tests/fixtures/fmt/hello.go" -- %:p:h ? %:p
-- print("test:" .. path)
-- local lines = vim.fn.readfile(path)
-- vim.fn.writefile(lines, name)
-- local expected = vim.fn.join(vim.fn.readfile(
-- cur_dir .. "/lua/tests/fixtures/fmt/hello_golden.go"), "\n")
-- local cmd = " silent exe 'e " .. name .. "'"
-- vim.cmd(cmd)
-- local l = vim.api.nvim_buf_get_lines(0, 0, -1, true)
-- print("buf read: " .. vim.inspect(l))
--
-- vim.bo.filetype = "go"
--
-- print("exp:" .. vim.inspect(expected))
-- print("tmp" .. name)
--
-- local gofmt = require("go.format")
-- gofmt.gofmt()
-- -- enable the channel response
-- vim.wait(100, function()
-- end)
-- local fmt = vim.fn.join(vim.fn.readfile(name), "\n")
-- print("fmt" .. fmt)
-- vim.fn.assert_equal(fmt, expected)
-- eq(expected, fmt)
-- local cmd = "bd! " .. name
-- vim.cmd(cmd)
-- end)
-- it("should run fmt sending from buffer", function()
-- local name = vim.fn.tempname() .. ".go"
-- print("tmp:" .. name)
-- --
-- local path = cur_dir .. "/lua/tests/fixtures/fmt/hello.go" -- %:p:h ? %:p
-- print("test:" .. path)
-- local lines = vim.fn.readfile(path)
-- vim.fn.writefile(lines, name)
-- local expected = vim.fn.join(vim.fn.readfile(
-- cur_dir .. "/lua/tests/fixtures/fmt/hello_golden.go"), "\n")
-- local cmd = " silent exe 'e " .. name .. "'"
-- vim.cmd(cmd)
-- local l = vim.api.nvim_buf_get_lines(0, 0, -1, true)
-- print("buf read: " .. vim.inspect(l))
--
-- vim.bo.filetype = "go"
--
-- print("exp:" .. vim.inspect(expected))
-- print("tmp" .. name)
--
-- local gofmt = require("go.format")
-- gofmt.gofmt(true)
-- -- enable the channel response
-- vim.wait(100, function()
-- end)
-- local fmt = vim.fn.join(vim.fn.readfile(name), "\n")
-- print("fmt" .. fmt)
-- vim.fn.assert_equal(fmt, expected)
-- eq(expected, fmt)
-- local cmd = "bd! " .. name
-- vim.cmd(cmd)
-- end)
3 years ago
-- it("should run import from file", function()
-- local path = cur_dir .. "/lua/tests/fixtures/fmt/goimports.go" -- %:p:h ? %:p
-- local expected = vim.fn.join(vim.fn.readfile(cur_dir
-- .. "/lua/tests/fixtures/fmt/goimports_golden.go"),
-- "\n")
-- local name = vim.fn.tempname() .. ".go"
-- print(name)
-- local lines = vim.fn.readfile(path)
-- vim.fn.writefile(lines, name)
-- local cmd = " silent exe 'e " .. name .. "'"
-- vim.cmd(cmd)
-- require("go").setup({goimport = "goimports"})
-- vim.cmd([[cd %:p:h]])
-- require("go.format").goimport()
-- print("workspaces:", vim.inspect(vim.lsp.buf.list_workspace_folders()))
-- vim.wait(100, function()
-- end)
-- local fmt = vim.fn.join(vim.fn.readfile(name), "\n")
-- eq(expected, fmt)
-- cmd = "bd! " .. name
-- vim.cmd(cmd)
-- end)
-- it("should run import from file buffer with goimport", function()
-- local path = cur_dir .. "/lua/tests/fixtures/fmt/goimports.go" -- %:p:h ? %:p
-- local expected = vim.fn.join(vim.fn.readfile(cur_dir
-- .. "/lua/tests/fixtures/fmt/goimports_golden.go"),
-- "\n")
-- local name = vim.fn.tempname() .. ".go"
-- print(name)
-- local lines = vim.fn.readfile(path)
-- local cmd = " silent exe 'e " .. name .. "'"
-- vim.fn.writefile(lines, name)
-- vim.cmd(cmd)
-- vim.cmd([[cd %:p:h]])
-- print("code write to " .. name)
--
-- require("go").setup({goimport = "goimports"})
-- local gofmt = require("go.format")
-- gofmt.goimport(true)
--
-- vim.wait(100, function()
-- end)
-- vim.cmd([[w]])
-- local fmt = vim.fn.join(vim.fn.readfile(name), "\n")
--
-- print(fmt)
-- eq(expected, fmt)
-- end)
3 years ago
it("should run import from file with gopls", function()
3 years ago
local path = cur_dir .. "/lua/tests/fixtures/fmt/goimports2.go" -- %:p:h ? %:p
local expected = vim.fn.join(vim.fn.readfile(cur_dir
3 years ago
.. "/lua/tests/fixtures/fmt/goimports2_golden.go"),
"\n")
_GO_NVIM_CFG.goimport = 'gopls'
3 years ago
local cmd = " silent exe 'e " .. path .. "'"
vim.cmd(cmd)
3 years ago
3 years ago
vim.cmd([[packadd go.nvim]])
3 years ago
require("go").setup({goimport = "gopls", lsp_cfg = true})
3 years ago
vim.wait(2000, function()
3 years ago
end)
3 years ago
-- vim.cmd([[cd %:p:h]])
require("go.format").goimport()
3 years ago
print("workspaces:", vim.inspect(vim.lsp.buf.list_workspace_folders()))
3 years ago
vim.wait(200, function()
end)
3 years ago
local fmt = vim.fn.join(vim.fn.readfile(path), "\n")
3 years ago
print(vim.inspect(fmt))
3 years ago
eq(expected, fmt)
eq(1, 1) -- still not working
3 years ago
cmd = "bd! " .. path
vim.cmd(cmd)
end)
end)