summaryrefslogtreecommitdiff
path: root/test/command_callback/test_eclipselsp_command_callback.vader
blob: 6bbc4053f451035751758b81265d2dc4cd56bc0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Before:
  call ale#assert#SetUpLinterTest('java', 'eclipselsp')
  call ale#test#SetFilename('dummy.java')

  let b:ale_java_eclipselsp_path = '/home/user/eclipse.dst.ls'

  let b:cfg = ale#path#Simplify(g:dir . '/../config_linux')

  if has('win32')
    let b:cfg = ale#path#Simplify(g:dir . '/../config_win')
  elseif has('macunix')
    let b:cfg = ale#path#Simplify(g:dir . '/../config_mac')
  endif

After:
  unlet! b:ale_java_eclipselsp_path
  unlet! b:cfg

  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',
    \ ale#Escape(''),
    \ '-configuration',
    \ ale#Escape(b:cfg),
    \ '-data',
    \ ale#Escape(ale#path#Simplify(''))
    \]
  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',
    \ ale#Escape(''),
    \ '-configuration',
    \ ale#Escape(b:cfg),
    \ '-data',
    \ ale#Escape(ale#path#Simplify(''))
    \]
  AssertLinter '/bin/foobar', join(cmd, ' ')

Execute(The eclipselsp callback should allow custom configuration path and javaagent):
  let b:ale_java_eclipselsp_config_path = '/home/config'
  let b:ale_java_eclipselsp_javaagent = '/home/lombok.jar /home/lombok2.jar'
  let cmd = [ ale#Escape('java'),
    \ ale#Escape('-javaagent:/home/lombok.jar'),
    \ ale#Escape('-javaagent:/home/lombok2.jar'),
    \ '-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',
    \ ale#Escape(''),
    \ '-configuration',
    \ ale#Escape(ale#path#Simplify('/home/config')),
    \ '-data',
    \ ale#Escape(ale#path#Simplify(''))
    \]
  AssertLinter 'java', join(cmd, ' ')