/ test / handler / test_glslang_handler.vader
test_glslang_handler.vader
 1  Before:
 2    runtime ale_linters/glsl/glslang.vim
 3  
 4  Execute(The glsl glslang handler should parse lines correctly):
 5    AssertEqual
 6    \ [
 7    \   {
 8    \     'lnum': 4,
 9    \     'col': 0,
10    \     'type': 'E',
11    \     'text': '''gl_ModelViewProjectionMatrix'' : undeclared identifier',
12    \   },
13    \   {
14    \     'lnum': 121,
15    \     'col': 0,
16    \     'type': 'W',
17    \     'text': '''switch'' : last case/default label not followed by statements',
18    \   },
19    \ ],
20    \ ale_linters#glsl#glslang#Handle(bufnr(''), [
21    \ 'ERROR: 0:4: ''gl_ModelViewProjectionMatrix'' : undeclared identifier',
22    \ 'WARNING: 0:121: ''switch'' : last case/default label not followed by statements',
23    \ 'ERROR: 2 compilation errors.  No code generated.',
24    \ ])
25  
26  Execute(The glsl glslang handler should parse lines with options -V or -G correctly):
27    AssertEqual
28    \ [
29    \   {
30    \     'lnum': 7,
31    \     'col': 0,
32    \     'type': 'E',
33    \     'text': '''non-opaque uniforms outside a block'' : not allowed when using GLSL for Vulkan',
34    \   },
35    \   {
36    \     'lnum': 14,
37    \     'col': 0,
38    \     'type': 'W',
39    \     'text': '''__shininess'' : identifiers containing consecutive underscores ("__") are reserved',
40    \   },
41    \ ],
42    \ ale_linters#glsl#glslang#Handle(bufnr(''), [
43    \ 'shader.vert',
44    \ 'ERROR: shader.vert:7: ''non-opaque uniforms outside a block'' : not allowed when using GLSL for Vulkan',
45    \ 'WARNING: shader.vert:14: ''__shininess'' : identifiers containing consecutive underscores ("__") are reserved',
46    \ 'ERROR: 1 compilation errors.  No code generated.',
47    \ 'SPIR-V is not generated for failed compile or link',
48    \ ])