ale/test/command_callback/test_eclipselsp_command_callback.vader
Grim Kriegor 0427ee84b4 Allow running eclipselsp as installed by system package on GNU/Linux (#2523)
* Search eclipselsp jar and config files within system package path
* Allow setting an alternate eclipselsp configuration directory
* Add test for ale_java_eclipselsp_config_path
2019-05-21 21:13:06 +01:00

105 lines
3.2 KiB
Plaintext

Before:
call ale#assert#SetUpLinterTest('java', 'eclipselsp')
let b:ale_java_eclipselsp_path = '/home/user/eclipse.dst.ls'
call ale#test#SetFilename('dummy.java')
let b:cfg = '/testplugin/test/config_linux'
if has('win32')
let b:cfg = 'C:\testplugin\test\config_win'
elseif has('macunix')
let b:cfg = '/testplugin/test/config_mac'
endif
After:
unlet b:ale_java_eclipselsp_path
call ale#assert#TearDownLinterTest()
Execute(VersionCheck should return correct version):
" OpenJDK Java 1.8
AssertEqual [1, 8, 0], ale_linters#java#eclipselsp#VersionCheck([
\ 'openjdk version "1.8.0_191"',
\ 'OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-0ubuntu0.18.04.1-b12)',
\ 'OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)'
\])
" OpenJDK Java 10
AssertEqual [10, 0, 2], ale_linters#java#eclipselsp#VersionCheck([
\ 'openjdk version "10.0.2" 2018-07-17',
\ 'OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)',
\ 'OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)'
\])
" Oracle Java 1.8
AssertEqual [1, 8, 0], ale_linters#java#eclipselsp#VersionCheck([
\ 'java version "1.8.0_161"',
\ 'Java(TM) SE Runtime Environment (build 1.8.0_161-b12)',
\ 'Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)'
\])
" Oracle Java 10
AssertEqual [10, 0, 1], ale_linters#java#eclipselsp#VersionCheck([
\ 'java version "10.0.1" 2018-04-17',
\ 'Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)',
\ 'Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)'
\])
AssertEqual [], ale_linters#java#eclipselsp#VersionCheck(['x'])
AssertEqual [], ale_linters#java#eclipselsp#VersionCheck([])
Execute(The eclipselsp callback should return the correct default value):
let cmd = [ ale#Escape('java'),
\ '-Declipse.application=org.eclipse.jdt.ls.core.id1',
\ '-Dosgi.bundles.defaultStartLevel=4',
\ '-Declipse.product=org.eclipse.jdt.ls.core.product',
\ '-Dlog.level=ALL',
\ '-noverify',
\ '-Xmx1G',
\ '-jar',
\ '',
\ '-configuration',
\ b:cfg,
\ '-data',
\ ''
\]
AssertLinter 'java', join(cmd, ' ')
Execute(The eclipselsp callback should allow custom executable):
let b:ale_java_eclipselsp_executable='/bin/foobar'
let cmd = [ ale#Escape('/bin/foobar'),
\ '-Declipse.application=org.eclipse.jdt.ls.core.id1',
\ '-Dosgi.bundles.defaultStartLevel=4',
\ '-Declipse.product=org.eclipse.jdt.ls.core.product',
\ '-Dlog.level=ALL',
\ '-noverify',
\ '-Xmx1G',
\ '-jar',
\ '',
\ '-configuration',
\ b:cfg,
\ '-data',
\ ''
\]
AssertLinter '/bin/foobar', join(cmd, ' ')
Execute(The eclipselsp callback should allow custom configuration path):
let b:ale_java_eclipselsp_config_path='/home/config'
let cmd = [ ale#Escape('java'),
\ '-Declipse.application=org.eclipse.jdt.ls.core.id1',
\ '-Dosgi.bundles.defaultStartLevel=4',
\ '-Declipse.product=org.eclipse.jdt.ls.core.product',
\ '-Dlog.level=ALL',
\ '-noverify',
\ '-Xmx1G',
\ '-jar',
\ '',
\ '-configuration',
\ b:ale_java_eclipselsp_config_path,
\ '-data',
\ ''
\]
AssertLinter 'java', join(cmd, ' ')