summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRemi Thebault <remi.thebault@gmail.com>2021-03-23 00:31:52 +0100
committerGitHub <noreply@github.com>2021-03-23 08:31:52 +0900
commitc6b61950f86e8e3d4cbffd860fbac59b3ceca6e6 (patch)
tree7d775aee5d8260bc219dedce5620ab5e5380e264 /test
parentf7852dbd0a063d6d82ee17a5057fea53cb79b21d (diff)
downloadale-c6b61950f86e8e3d4cbffd860fbac59b3ceca6e6.zip
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
Diffstat (limited to 'test')
-rw-r--r--test/linter/test_dmd_commandline.vader96
1 files changed, 96 insertions, 0 deletions
diff --git a/test/linter/test_dmd_commandline.vader b/test/linter/test_dmd_commandline.vader
new file mode 100644
index 00000000..609fc073
--- /dev/null
+++ b/test/linter/test_dmd_commandline.vader
@@ -0,0 +1,96 @@
+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",
+ \ ], {})