mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-16 08:06:53 +08:00
Kotlin and general Gradle support. (#745)
This commit is contained in:
0
test/gradle-test-files/gradle
Executable file
0
test/gradle-test-files/gradle
Executable file
0
test/gradle-test-files/wrapped-project/build.gradle
Normal file
0
test/gradle-test-files/wrapped-project/build.gradle
Normal file
0
test/gradle-test-files/wrapped-project/gradlew
vendored
Normal file
0
test/gradle-test-files/wrapped-project/gradlew
vendored
Normal file
42
test/test_gradle_build_classpath_command.vader
Normal file
42
test/test_gradle_build_classpath_command.vader
Normal file
@@ -0,0 +1,42 @@
|
||||
Before:
|
||||
call ale#test#SetDirectory('/testplugin/test')
|
||||
runtime ale_linters/kotlin/kotlinc.vim
|
||||
let g:ale_gradle_path = $PATH
|
||||
|
||||
After:
|
||||
call ale#test#RestoreDirectory()
|
||||
call ale#linter#Reset()
|
||||
let $PATH = g:ale_gradle_path
|
||||
|
||||
Execute(Should return 'gradlew' command if project includes gradle wapper):
|
||||
call ale#test#SetFilename('gradle-test-files/wrapped-project/src/main/kotlin/dummy.kt')
|
||||
|
||||
let g:project_root = '/testplugin/test/gradle-test-files/wrapped-project'
|
||||
let g:gradle_executable = '/testplugin/test/gradle-test-files/wrapped-project/gradlew'
|
||||
let g:gradle_init_path = '/testplugin/autoload/ale/gradle/init.gradle'
|
||||
let g:gradle_options = '-I ' . g:gradle_init_path . ' -q printClasspath'
|
||||
|
||||
|
||||
AssertEqual
|
||||
\ "cd '" . g:project_root . "' && " . g:gradle_executable . " " . g:gradle_options,
|
||||
\ ale#gradle#BuildClasspathCommand(bufnr(''))
|
||||
|
||||
Execute(Should return 'gradle' command if project does not include gradle wapper):
|
||||
call ale#test#SetFilename('gradle-test-files/unwrapped-project/src/main/kotlin/dummy.kt')
|
||||
let $PATH .= ':' . g:dir . '/gradle-test-files'
|
||||
|
||||
let g:project_root = '/testplugin/test/gradle-test-files/unwrapped-project'
|
||||
let g:gradle_executable = 'gradle'
|
||||
let g:gradle_init_path = '/testplugin/autoload/ale/gradle/init.gradle'
|
||||
let g:gradle_options = '-I ' . g:gradle_init_path . ' -q printClasspath'
|
||||
|
||||
AssertEqual
|
||||
\ "cd '" . g:project_root . "' && " . g:gradle_executable . " " . g:gradle_options,
|
||||
\ ale#gradle#BuildClasspathCommand(bufnr(''))
|
||||
|
||||
Execute(Should return empty string if gradle cannot be executed):
|
||||
call ale#test#SetFilename('gradle-test-files/non-gradle-project/src/main/kotlin/dummy.kt')
|
||||
|
||||
AssertEqual
|
||||
\ '',
|
||||
\ ale#gradle#BuildClasspathCommand(bufnr(''))
|
||||
31
test/test_gradle_find_executable.vader
Normal file
31
test/test_gradle_find_executable.vader
Normal file
@@ -0,0 +1,31 @@
|
||||
Before:
|
||||
call ale#test#SetDirectory('/testplugin/test')
|
||||
runtime ale_linters/kotlin/kotlinc.vim
|
||||
let g:ale_gradle_path = $PATH
|
||||
|
||||
After:
|
||||
call ale#test#RestoreDirectory()
|
||||
call ale#linter#Reset()
|
||||
let $PATH = g:ale_gradle_path
|
||||
|
||||
Execute(Should return 'gradlew' if found in parent directory):
|
||||
call ale#test#SetFilename('gradle-test-files/wrapped-project/src/main/kotlin/dummy.kt')
|
||||
|
||||
AssertEqual
|
||||
\ g:dir . '/gradle-test-files/wrapped-project/gradlew',
|
||||
\ ale#gradle#FindExecutable(bufnr(''))
|
||||
|
||||
Execute(Should return 'gradle' if 'gradlew' not found in parent directory):
|
||||
call ale#test#SetFilename('gradle-test-files/unwrapped-project/src/main/kotlin/dummy.kt')
|
||||
let $PATH .= ':' . g:dir . '/gradle-test-files'
|
||||
|
||||
AssertEqual
|
||||
\ 'gradle',
|
||||
\ ale#gradle#FindExecutable(bufnr(''))
|
||||
|
||||
Execute(Should return empty string if 'gradlew' not in parent directory and gradle not in path):
|
||||
call ale#test#SetFilename('gradle-test-files/unwrapped-project/src/main/kotlin/dummy.kt')
|
||||
|
||||
AssertEqual
|
||||
\ '',
|
||||
\ ale#gradle#FindExecutable(bufnr(''))
|
||||
35
test/test_gradle_find_project_root.vader
Normal file
35
test/test_gradle_find_project_root.vader
Normal file
@@ -0,0 +1,35 @@
|
||||
Before:
|
||||
call ale#test#SetDirectory('/testplugin/test')
|
||||
runtime ale_linters/kotlin/kotlinc.vim
|
||||
|
||||
After:
|
||||
call ale#test#RestoreDirectory()
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(Should return directory for 'gradlew' if found in parent directory):
|
||||
call ale#test#SetFilename('gradle-test-files/wrapped-project/src/main/kotlin/dummy.kt')
|
||||
|
||||
AssertEqual
|
||||
\ g:dir . '/gradle-test-files/wrapped-project',
|
||||
\ ale#gradle#FindProjectRoot(bufnr(''))
|
||||
|
||||
Execute(Should return directory for 'settings.gradle' if found in parent directory):
|
||||
call ale#test#SetFilename('gradle-test-files/settings-gradle-project/src/main/kotlin/dummy.kt')
|
||||
|
||||
AssertEqual
|
||||
\ g:dir . '/gradle-test-files/settings-gradle-project',
|
||||
\ ale#gradle#FindProjectRoot(bufnr(''))
|
||||
|
||||
Execute(Should return directory for 'build.gradle' if found in parent directory):
|
||||
call ale#test#SetFilename('gradle-test-files/build-gradle-project/src/main/kotlin/dummy.kt')
|
||||
|
||||
AssertEqual
|
||||
\ g:dir . '/gradle-test-files/build-gradle-project',
|
||||
\ ale#gradle#FindProjectRoot(bufnr(''))
|
||||
|
||||
Execute(Should return empty string if gradle files are not found in parent directory):
|
||||
call ale#test#SetFilename('gradle-test-files/non-gradle-project/src/main/kotlin/dummy.kt')
|
||||
|
||||
AssertEqual
|
||||
\ '',
|
||||
\ ale#gradle#FindProjectRoot(bufnr(''))
|
||||
Reference in New Issue
Block a user