ale/test/test_maven_build_classpath_command.vader

54 lines
1.6 KiB
Plaintext

Before:
Save $PATH
Save $PATHEXT
let $PATHEXT = '.'
call ale#test#SetDirectory('/testplugin/test')
runtime ale_linters/java/javac.vim
let g:expected_wrapper = ''
if has('unix')
let g:expected_wrapper = 'mvnw'
else
let g:expected_wrapper = 'mvnw.cmd'
endif
After:
Restore
unlet! g:expected_wrapper
call ale#test#RestoreDirectory()
call ale#linter#Reset()
Execute(Should use 'mvnw' in classpath command if available):
call ale#test#SetFilename('test-files/maven/maven-java-project/module1/src/main/java/dummy1.java')
AssertEqual
\ [
\ ale#path#Simplify(g:dir . '/test-files/maven/maven-java-project/module1'),
\ ale#Escape(ale#path#Simplify(g:dir . '/test-files/maven/maven-java-project/module1/' . g:expected_wrapper))
\ . ' dependency:build-classpath',
\ ],
\ ale#maven#BuildClasspathCommand(bufnr(''))
Execute(Should use 'mvn' in classpath command if it is executable and 'mvnw' is unavailable):
call ale#test#SetFilename('test-files/maven/maven-java-project/module2/src/main/java/dummy2.java')
let $PATH .= (has('win32') ? ';' : ':')
\ . ale#path#Simplify(g:dir . '/test-files/maven')
AssertEqual
\ [
\ ale#path#Simplify(g:dir . '/test-files/maven/maven-java-project/module2'),
\ ale#Escape('mvn')
\ . ' dependency:build-classpath',
\ ],
\ ale#maven#BuildClasspathCommand(bufnr(''))
Execute(Should return empty string if maven cannot be executed):
call ale#test#SetFilename('test-files/maven/non-maven-project/src/main/java/dummy.java')
AssertEqual
\ ['', ''],
\ ale#maven#BuildClasspathCommand(bufnr(''))