summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorw0rp <w0rp@users.noreply.github.com>2019-01-27 15:55:13 +0000
committerGitHub <noreply@github.com>2019-01-27 15:55:13 +0000
commit08d3523962927d1360b87ac147a29a242c31e7b0 (patch)
treef1813128e1038339d4eed657ec6604fe92792297 /test
parent3c38fdb1bb3625bcb222cfce16acd7db360ef413 (diff)
parentbd1e639681a9154315251c63cb704186ed08ce13 (diff)
downloadale-08d3523962927d1360b87ac147a29a242c31e7b0.zip
Merge pull request #2228 from Nomad145/ktlint
Add ktlint Fixer Support
Diffstat (limited to 'test')
-rw-r--r--test/fixers/test_ktlint_fixer_callback.vader44
-rw-r--r--test/handler/test_ktlint_handler.vader21
-rw-r--r--test/kotlin_files/testfile.kt0
3 files changed, 65 insertions, 0 deletions
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
--- /dev/null
+++ b/test/kotlin_files/testfile.kt