ale/test/linter/test_dmd_commandline.vader
Remi Thebault c6b61950f8
Add more parameters to the DMD linting command (#3639)
* Add more parameters to the DMD linting command

fixes #3637

* adding tests for dmd linter

* adding dmd test for windows
2021-03-23 08:31:52 +09:00

97 lines
2.4 KiB
Plaintext

Before:
runtime ale_linters/d/dmd.vim
After:
call ale#linter#Reset()
Execute(DMD command line should be correct with imports):
AssertEqual
\ 'dmd ' .
\ '-I' . ale#Escape('source') . ' ' .
\ '-I' . ale#Escape('/prefix/include/d') . ' ' .
\ '-I' . ale#Escape('/home/user/.dub/packages/pkg-0.0.1/pkg/src') . ' ' .
\ ' ' .
\ ' ' .
\ ' ' .
\ '-o- -wi -vcolumns -c %t',
\ ale_linters#d#dmd#DMDCommand(bufnr(''), [
\ 'source',
\ '/prefix/include/d',
\ '/home/user/.dub/packages/pkg-0.0.1/pkg/src',
\ '',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ], {})
Execute(DMD command line should be correct with imports and version):
AssertEqual
\ 'dmd ' .
\ '-I' . ale#Escape('source') . ' ' .
\ '-I' . ale#Escape('/prefix/include/d') . ' ' .
\ '-I' . ale#Escape('/home/user/.dub/packages/pkg-0.0.1/pkg/src') . ' ' .
\ ' ' .
\ '-version=' . ale#Escape('SOME_VERSION') . ' ' .
\ ' ' .
\ '-o- -wi -vcolumns -c %t',
\ ale_linters#d#dmd#DMDCommand(bufnr(''), [
\ 'source',
\ '/prefix/include/d',
\ '/home/user/.dub/packages/pkg-0.0.1/pkg/src',
\ '',
\ '',
\ '',
\ 'SOME_VERSION',
\ '',
\ '',
\ ], {})
Execute(DMD command line should be correct):
AssertEqual
\ 'dmd ' .
\ '-I' . ale#Escape('source') . ' ' .
\ '-I' . ale#Escape('/prefix/include/d') . ' ' .
\ '-I' . ale#Escape('/home/user/.dub/packages/pkg-0.0.1/pkg/src') . ' ' .
\ '-J' . ale#Escape('views') . ' ' .
\ '-version=' . ale#Escape('SOME_VERSION') . ' ' .
\ '-version=' . ale#Escape('SOME_OTHER_VERSION') . ' ' .
\ '-debug=' . ale#Escape('SomeFeature') . ' ' .
\ '-o- -wi -vcolumns -c %t',
\ ale_linters#d#dmd#DMDCommand(bufnr(''), [
\ 'source',
\ '/prefix/include/d',
\ '/home/user/.dub/packages/pkg-0.0.1/pkg/src',
\ '',
\ 'views',
\ '',
\ 'SOME_VERSION',
\ 'SOME_OTHER_VERSION',
\ '',
\ 'SomeFeature',
\ ], {})
Execute(DMD command line should be correct with CR):
" on windows, the function is called with carriage return
AssertEqual
\ 'dmd ' .
\ '-I' . ale#Escape('source') . ' ' .
\ '-I' . ale#Escape('C:\prefix\include\d') . ' ' .
\ '-I' . ale#Escape('C:\Users\user\AppData\Local\Dub\packages\pkg-0.0.1\pkg\src') . ' ' .
\ ' ' .
\ ' ' .
\ ' ' .
\ '-o- -wi -vcolumns -c %t',
\ ale_linters#d#dmd#DMDCommand(bufnr(''), [
\ "source\r",
\ "C:\\prefix\\include\\d\r",
\ "C:\\Users\\user\\AppData\\Local\\Dub\\packages\\pkg-0.0.1\\pkg\\src\r",
\ "\r",
\ "\r",
\ "\r",
\ "\r",
\ "\r",
\ "\r",
\ ], {})