diff options
author | w0rp <devw0rp@gmail.com> | 2021-03-21 00:21:49 +0000 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2021-03-21 00:25:33 +0000 |
commit | f7852dbd0a063d6d82ee17a5057fea53cb79b21d (patch) | |
tree | 00b98a3c668af9313eedd6936475c81eeef7e9b8 /test/command_callback/test_javac_command_callback.vader | |
parent | 35caaecc9fc5822f0474e913d0b7655048fd30ee (diff) | |
download | ale-f7852dbd0a063d6d82ee17a5057fea53cb79b21d.zip |
#3633 - Move linter tests into test/linter
Diffstat (limited to 'test/command_callback/test_javac_command_callback.vader')
-rw-r--r-- | test/command_callback/test_javac_command_callback.vader | 326 |
1 files changed, 0 insertions, 326 deletions
diff --git a/test/command_callback/test_javac_command_callback.vader b/test/command_callback/test_javac_command_callback.vader deleted file mode 100644 index 85a76e6a..00000000 --- a/test/command_callback/test_javac_command_callback.vader +++ /dev/null @@ -1,326 +0,0 @@ -Before: - call ale#assert#SetUpLinterTest('java', 'javac') - call ale#test#SetFilename('dummy.java') - - let g:cp_sep = has('unix') ? ':' : ';' - let g:prefix = ale#Escape('javac') . ' -Xlint' - - function! GetCommand(previous_output) abort - let l:command = ale_linters#java#javac#GetCommand( - \ bufnr(''), - \ a:previous_output - \) - - let l:split_command = split(l:command) - let l:index = index(l:split_command, '-d') - - let l:split_command[l:index + 1] = 'TEMP' - - return join(l:split_command) - endfunction - -After: - unlet! g:cp_sep - unlet! g:prefix - - delfunction GetCommand - - call ale#assert#TearDownLinterTest() - -Execute(The javac callback should return the correct default value): - AssertLinterCwd '%s:h' - AssertLinter 'javac', g:prefix . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback should use string type g:ale_java_javac_classpath correctly): - let g:ale_java_javac_classpath = 'foo.jar' - - AssertLinter 'javac', - \ g:prefix - \ . ' -cp ' . ale#Escape('foo.jar') - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback should use list type g:ale_java_javac_classpath correctly): - let g:ale_java_javac_classpath = ['foo.jar'] - - AssertLinter 'javac', - \ g:prefix - \ . ' -cp ' . ale#Escape('foo.jar') - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The executable should be configurable): - let g:ale_java_javac_executable = 'foobar' - - AssertLinter 'foobar', - \ ale#Escape('foobar') . ' -Xlint' - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback should include discovered classpaths): - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [ - \ '[DEBUG] Ignore this.', - \ '[INFO] Something we should ignore.', - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \], {}) - - AssertEqual - \ g:prefix - \ . ' -cp ' - \ . ale#Escape(join(['/foo/bar.jar', '/xyz/abc.jar'], g:cp_sep)) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - -Execute(The javac callback should combine discovered classpaths and manual ones): - let g:ale_java_javac_classpath = 'configured.jar' - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [ - \ '[DEBUG] Ignore this.', - \ '[INFO] Something we should ignore.', - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \], {}) - - AssertEqual - \ g:prefix - \ . ' -cp ' - \ . ale#Escape(join( - \ [ - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \ 'configured.jar', - \ ], - \ g:cp_sep - \ )) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - - let g:ale_java_javac_classpath = 'configured.jar' . g:cp_sep . 'configured2.jar' - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [ - \ '[DEBUG] Ignore this.', - \ '[INFO] Something we should ignore.', - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \], {}) - - AssertEqual - \ g:prefix - \ . ' -cp ' - \ . ale#Escape(join( - \ [ - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \ 'configured.jar', - \ 'configured2.jar', - \ ], - \ g:cp_sep - \ )) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - - let g:ale_java_javac_classpath = ['configured.jar'] - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [ - \ '[DEBUG] Ignore this.', - \ '[INFO] Something we should ignore.', - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \], {}) - - AssertEqual - \ g:prefix - \ . ' -cp ' - \ . ale#Escape(join( - \ [ - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \ 'configured.jar', - \ ], - \ g:cp_sep - \ )) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - - let g:ale_java_javac_classpath = ['configured.jar', 'configured2.jar'] - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [ - \ '[DEBUG] Ignore this.', - \ '[INFO] Something we should ignore.', - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \], {}) - - AssertEqual - \ g:prefix - \ . ' -cp ' - \ . ale#Escape(join( - \ [ - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \ 'configured.jar', - \ 'configured2.jar', - \ ], - \ g:cp_sep - \ )) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - -Execute(The javac callback should use string type g:ale_java_javac_sourcepath correctly): - let g:ale_java_javac_sourcepath = '../test-files/java/with_main/build/gen/main' - - AssertLinter 'javac', - \ g:prefix - \ . ' -sourcepath ' . ale#Escape( - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/build/gen/main/') - \ ) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback should use list type g:ale_java_javac_sourcepath correctly): - let g:ale_java_javac_sourcepath = ['../test-files/java/with_main/build/gen/main'] - - AssertLinter 'javac', - \ g:prefix - \ . ' -sourcepath ' . ale#Escape( - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/build/gen/main/') - \ ) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback shouldn't add -sourcepath when g:ale_java_javac_sourcepath variable path doesn't exist): - let g:ale_java_javac_sourcepath = '../test-files/java/with_main/build/gen3/main' - - AssertLinter 'javac', - \ g:prefix - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback should combine discovered sourcepath and manual ones): - call ale#engine#Cleanup(bufnr('')) - call ale#test#SetFilename('../test-files/java/with_main/src/main/java/com/something/dummy.java') - call ale#engine#InitBufferInfo(bufnr('')) - - let g:ale_java_javac_sourcepath = '../test-files/java/with_main/build/gen/main' - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [], {}) - - AssertEqual - \ ale#Escape('javac') . ' -Xlint' - \ . ' -sourcepath ' . ale#Escape(join([ - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/src/main/java/'), - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/build/gen/main/'), - \ ], g:cp_sep)) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - - let g:ale_java_javac_sourcepath = '../test-files/java/with_main/build/gen/main' - \ . g:cp_sep . '../test-files/java/with_main/build/gen2/main' - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [], {}) - - AssertEqual - \ ale#Escape('javac') . ' -Xlint' - \ . ' -sourcepath ' . ale#Escape(join([ - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/src/main/java/'), - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/build/gen/main/'), - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/build/gen2/main/') - \ ], g:cp_sep)) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - - let g:ale_java_javac_sourcepath = ['../test-files/java/with_main/build/gen/main'] - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [], {}) - - AssertEqual - \ ale#Escape('javac') . ' -Xlint' - \ . ' -sourcepath ' . ale#Escape(join([ - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/src/main/java/'), - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/build/gen/main/') - \ ], g:cp_sep)) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - - let g:ale_java_javac_sourcepath = [ - \ '../test-files/java/with_main/build/gen/main', - \ '../test-files/java/with_main/build/gen2/main' - \ ] - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [], {}) - - AssertEqual - \ ale#Escape('javac') . ' -Xlint' - \ . ' -sourcepath ' . ale#Escape(join([ - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/src/main/java/'), - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/build/gen/main/'), - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/build/gen2/main/') - \ ], g:cp_sep)) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - -Execute(The javac callback should detect source directories): - call ale#engine#Cleanup(bufnr('')) - noautocmd e! ../test-files/java/with_main/src/main/java/com/something/dummy - call ale#engine#InitBufferInfo(bufnr('')) - - AssertLinter 'javac', - \ ale#Escape('javac') . ' -Xlint' - \ . ' -sourcepath ' . ale#Escape( - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/src/main/java/') - \ ) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback should combine detected source directories and classpaths): - call ale#engine#Cleanup(bufnr('')) - call ale#test#SetFilename('../test-files/java/with_main/src/main/java/com/something/dummy.java') - call ale#engine#InitBufferInfo(bufnr('')) - - let b:command = ale_linters#java#javac#GetCommand(bufnr(''), [ - \ '[DEBUG] Ignore this.', - \ '[INFO] Something we should ignore.', - \ '/foo/bar.jar', - \ '/xyz/abc.jar', - \], {}) - - AssertEqual - \ ale#Escape('javac') . ' -Xlint' - \ . ' -cp ' . ale#Escape(join(['/foo/bar.jar', '/xyz/abc.jar'], g:cp_sep)) - \ . ' -sourcepath ' . ale#Escape( - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/src/main/java/') - \ ) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t', - \ substitute(b:command, '%e', '\=ale#Escape(''javac'')', 'g') - -Execute(The javac callback should use g:ale_java_javac_options correctly): - let g:ale_java_javac_options = '--anything --else' - - AssertLinter 'javac', - \ g:prefix . ' -d ' . ale#Escape('TEMP_DIR') . ' --anything --else %t' - -Execute(The javac callback should include src/test/java for test paths): - call ale#engine#Cleanup(bufnr('')) - " The test path is only included for test files. - " Regular Java files shouldn't import from tests. - noautocmd e! ../test-files/java/with_main/src/test/java/com/something/dummy - call ale#engine#InitBufferInfo(bufnr('')) - - AssertLinter 'javac', - \ ale#Escape('javac') . ' -Xlint' - \ . ' -sourcepath ' . ale#Escape(join([ - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/src/main/java/'), - \ ale#path#Simplify(g:dir . '/../test-files/java/with_main/src/test/java/'), - \ ], g:cp_sep)) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback should include src/main/jaxb when available): - call ale#engine#Cleanup(bufnr('')) - noautocmd e! ../test-files/java/with_jaxb/src/main/java/com/something/dummy - call ale#engine#InitBufferInfo(bufnr('')) - - AssertLinter 'javac', - \ ale#Escape('javac') . ' -Xlint' - \ . ' -sourcepath ' . ale#Escape(join([ - \ ale#path#Simplify(g:dir . '/../test-files/java/with_jaxb/src/main/java/'), - \ ale#path#Simplify(g:dir . '/../test-files/java/with_jaxb/src/main/jaxb/'), - \ ], g:cp_sep)) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' - -Execute(The javac callback should add -sourcepath even if src/java/main doesn't exist): - call ale#engine#Cleanup(bufnr('')) - call ale#test#SetFilename('../test-files/java/no_main/src/test/java/com/something/dummy.java') - call ale#engine#InitBufferInfo(bufnr('')) - - AssertLinter 'javac', - \ ale#Escape('javac') . ' -Xlint' - \ . ' -sourcepath ' . ale#Escape(join([ - \ ale#path#Simplify(g:dir . '/../test-files/java/no_main/src/test/java/'), - \ ], g:cp_sep)) - \ . ' -d ' . ale#Escape('TEMP_DIR') . ' %t' |