From bd1e639681a9154315251c63cb704186ed08ce13 Mon Sep 17 00:00:00 2001 From: Michael Phillips Date: Sat, 19 Jan 2019 01:39:06 -0600 Subject: Add ktlint fixer support. --- test/fixers/test_ktlint_fixer_callback.vader | 44 ++++++++++++++++++++++++++++ test/handler/test_ktlint_handler.vader | 21 +++++++++++++ test/kotlin_files/testfile.kt | 0 3 files changed, 65 insertions(+) create mode 100644 test/fixers/test_ktlint_fixer_callback.vader create mode 100644 test/handler/test_ktlint_handler.vader create mode 100644 test/kotlin_files/testfile.kt (limited to 'test') diff --git a/test/fixers/test_ktlint_fixer_callback.vader b/test/fixers/test_ktlint_fixer_callback.vader new file mode 100644 index 00000000..47b37788 --- /dev/null +++ b/test/fixers/test_ktlint_fixer_callback.vader @@ -0,0 +1,44 @@ +Before: + Save g:ale_kotlin_ktlint_executable + Save g:ale_kotlin_ktlint_options + Save g:ale_kotlin_ktlint_rulesets + + " Use an invalid global executable, so we don't match it. + let g:ale_kotlin_ktlint_executable = 'xxxinvalid' + let g:ale_kotlin_ktlint_options = '' + let g:ale_kotlin_ktlint_rulesets = [] + + call ale#test#SetDirectory('/testplugin/test/fixers') + +After: + Restore + + call ale#test#RestoreDirectory() + +Execute(The ktlint callback should return the correct default values): + call ale#test#SetFilename('../kotlin_files/testfile.kt') + + AssertEqual + \ { + \ 'command': ale#Escape('xxxinvalid') + \ . ' %t' + \ . ' --format', + \ 'read_temporary_file': 1, + \ }, + \ ale#fixers#ktlint#Fix(bufnr('')) + +Execute(The ktlint callback should include custom ktlint options): + let g:ale_kotlin_ktlint_options = "--android" + let g:ale_kotlin_ktlint_rulesets = ['/path/to/custom/ruleset.jar'] + call ale#test#SetFilename('../kotlin_files/testfile.kt') + + AssertEqual + \ { + \ 'command': ale#Escape('xxxinvalid') + \ . ' ' . g:ale_kotlin_ktlint_options + \ . ' --ruleset /path/to/custom/ruleset.jar' + \ . ' %t' + \ . ' --format', + \ 'read_temporary_file': 1, + \ }, + \ ale#fixers#ktlint#Fix(bufnr('')) diff --git a/test/handler/test_ktlint_handler.vader b/test/handler/test_ktlint_handler.vader new file mode 100644 index 00000000..f0d634e6 --- /dev/null +++ b/test/handler/test_ktlint_handler.vader @@ -0,0 +1,21 @@ +Before: + Save g:ale_kotlin_ktlint_rulesets + + let g:ale_kotlin_ktlint_rulesets = [] + +After: + Restore + +Execute(The ktlint handler method GetRulesets should properly parse custom rulesets): + let g:ale_kotlin_ktlint_rulesets = ['/path/to/custom/ruleset.jar', '/path/to/other/ruleset.jar'] + + AssertEqual + \ '--ruleset /path/to/custom/ruleset.jar --ruleset /path/to/other/ruleset.jar', + \ ale#handlers#ktlint#GetRulesets(bufnr('')) + +Execute(The ktlint handler method GetRulesets should return an empty string when no rulesets have been configured): + let g:ale_kotlin_ktlint_rulesets = [] + + AssertEqual + \ '', + \ ale#handlers#ktlint#GetRulesets(bufnr('')) diff --git a/test/kotlin_files/testfile.kt b/test/kotlin_files/testfile.kt new file mode 100644 index 00000000..e69de29b -- cgit v1.2.3