X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/0ee596c5c5e11fc79598407eaf22f83d279f7e9e..5a4872f466ebd76ddd532bdf2798554421c53df4:/.vim/bundle/ale/test/linter/test_golangci_lint.vader diff --git a/.vim/bundle/ale/test/linter/test_golangci_lint.vader b/.vim/bundle/ale/test/linter/test_golangci_lint.vader new file mode 100644 index 00000000..1c5a730d --- /dev/null +++ b/.vim/bundle/ale/test/linter/test_golangci_lint.vader @@ -0,0 +1,74 @@ +Before: + Save g:ale_go_go111module + + call ale#assert#SetUpLinterTest('go', 'golangci_lint') + call ale#test#SetFilename('test.go') + + " Test with version 1.64.8 by default + GivenCommandOutput ['golangci-lint has version 1.64.8 built with go1.23.0'] + +After: + Restore + + unlet! b:ale_go_go111module + + call ale#assert#TearDownLinterTest() + +Execute(The golangci-lint defaults should be correct): + AssertLinterCwd '%s:h', + AssertLinter 'golangci-lint', + \ ale#Escape('golangci-lint') . ' run --out-format=json --show-stats=0' + +Execute(The golangci-lint defaults should be correct with no version info): + GivenCommandOutput [] + AssertLinterCwd '%s:h', + AssertLinter 'golangci-lint', + \ ale#Escape('golangci-lint') . ' run --out-format=json --show-stats=0' + +Execute(The golangci-lint defaults should be correct with version 2): + GivenCommandOutput ['golangci-lint has version 2.0.2 built with go1.24.0'] + AssertLinterCwd '%s:h', + AssertLinter 'golangci-lint', + \ ale#Escape('golangci-lint') . ' run --output.json.path stdout --output.text.path stderr --show-stats=0' + +Execute(The golangci-lint callback should use a configured executable): + let b:ale_go_golangci_lint_executable = 'something else' + + AssertLinter 'something else', + \ ale#Escape('something else') + \ . ' run --out-format=json --show-stats=0' + +Execute(The golangci-lint callback should use a configured version 2 executable): + GivenCommandOutput ['golangci-lint has version 2.0.0 built with go1.22.0'] + let b:ale_go_golangci_lint_executable = 'something else' + + AssertLinter 'something else', + \ ale#Escape('something else') + \ . ' run --output.json.path stdout --output.text.path stderr --show-stats=0' + +Execute(The golangci-lint callback should use configured options): + let b:ale_go_golangci_lint_options = '--foobar' + + AssertLinter 'golangci-lint', + \ ale#Escape('golangci-lint') + \ . ' run ' + \ . '--foobar ' + \ . '--out-format=json ' + \ . '--show-stats=0' + +Execute(The golangci-lint callback should support environment variables): + let b:ale_go_go111module = 'on' + + AssertLinter 'golangci-lint', + \ ale#Env('GO111MODULE', 'on') + \ . ale#Escape('golangci-lint') + \ . ' run ' + \ . '--out-format=json ' + \ . '--show-stats=0' + +Execute(The golangci-lint `lint_package` option should use the correct command): + let b:ale_go_golangci_lint_package = 0 + AssertLinter 'golangci-lint', + \ ale#Escape('golangci-lint') + \ . ' run ' . ale#Escape(expand('%' . ':t')) + \ . ' --out-format=json --show-stats=0'