summaryrefslogtreecommitdiff
path: root/test/handler/test_javac_handler.vader
blob: 3dc245af8645eed801dc51ccea230045c07cb98c (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
Before:
  runtime ale_linters/java/javac.vim

  call ale#test#SetDirectory('/testplugin/test')
  call ale#test#SetFilename('dummy.java')

After:
  call ale#test#RestoreDirectory()
  call ale#linter#Reset()

Execute(The javac handler should handle cannot find symbol errors):
  AssertEqual
  \ [
  \   {
  \     'filename': ale#path#Simplify('/tmp/vLPr4Q5/33/foo.java'),
  \     'lnum': 1,
  \     'text': 'error: some error',
  \     'type': 'E',
  \   },
  \   {
  \     'filename': ale#path#Simplify('/tmp/vLPr4Q5/33/foo.java'),
  \     'lnum': 2,
  \     'col': 5,
  \     'text': 'error: cannot find symbol: BadName',
  \     'type': 'E',
  \   },
  \   {
  \     'filename': ale#path#Simplify('/tmp/vLPr4Q5/33/foo.java'),
  \     'lnum': 34,
  \     'col': 5,
  \     'text': 'error: cannot find symbol: BadName2',
  \     'type': 'E',
  \   },
  \   {
  \     'filename': ale#path#Simplify('/tmp/vLPr4Q5/33/foo.java'),
  \     'lnum': 37,
  \     'text': 'warning: some warning',
  \     'type': 'W',
  \   },
  \   {
  \     'filename': ale#path#Simplify('/tmp/vLPr4Q5/33/foo.java'),
  \     'lnum': 42,
  \     'col': 11,
  \     'text': 'error: cannot find symbol: bar()',
  \     'type': 'E',
  \   },
  \   {
  \     'filename': ale#path#Simplify('/tmp/vLPr4Q5/33/foo.java'),
  \     'lnum': 58,
  \     'col': 19,
  \     'text': 'error: incompatible types: Bar cannot be converted to Foo',
  \     'type': 'E',
  \   },
  \ ],
  \ ale_linters#java#javac#Handle(bufnr(''), [
  \   '/tmp/vLPr4Q5/33/foo.java:1: error: some error',
  \   '/tmp/vLPr4Q5/33/foo.java:2: error: cannot find symbol',
  \   '    BadName foo() {',
  \   '    ^',
  \   '  symbol:   class BadName',
  \   '  location: class Bar',
  \   '/tmp/vLPr4Q5/33/foo.java:34: error: cannot find symbol',
  \   '    BadName2 foo() {',
  \   '    ^',
  \   '  symbol:   class BadName2',
  \   '  location: class Bar',
  \   '/tmp/vLPr4Q5/33/foo.java:37: warning: some warning',
  \   '/tmp/vLPr4Q5/33/foo.java:42: error: cannot find symbol',
  \   '      this.bar();',
  \   '          ^',
  \   '  symbol: method bar()',
  \   '/tmp/vLPr4Q5/33/foo.java:58: error: incompatible types: Bar cannot be converted to Foo',
  \   '      this.setFoo(bar);',
  \   '                  ^',
  \   '6 errors',
  \ ])

Execute(The javac handler should resolve files from different directories):
  AssertEqual
  \ [
  \   {
  \     'filename': ale#path#Simplify(g:dir . '/Foo.java'),
  \     'lnum': 1,
  \     'text': 'error: some error',
  \     'type': 'E',
  \   },
  \   {
  \     'filename': ale#path#Simplify(g:dir . '/Bar.java'),
  \     'lnum': 1,
  \     'text': 'error: some error',
  \     'type': 'E',
  \   },
  \ ],
  \ ale_linters#java#javac#Handle(bufnr(''), [
  \   './Foo.java:1: error: some error',
  \   './Bar.java:1: error: some error',
  \ ])