summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/command_callback/test_gawk_command_callback.vader40
-rw-r--r--test/handler/test_gawk_handler.vader39
2 files changed, 79 insertions, 0 deletions
diff --git a/test/command_callback/test_gawk_command_callback.vader b/test/command_callback/test_gawk_command_callback.vader
new file mode 100644
index 00000000..ae128fe5
--- /dev/null
+++ b/test/command_callback/test_gawk_command_callback.vader
@@ -0,0 +1,40 @@
+Before:
+ Save g:ale_awk_gawk_executable
+ Save g:ale_awk_gawk_options
+ unlet! g:ale_awk_gawk_executable
+ unlet! g:ale_awk_gawk_options
+
+ runtime ale_linters/awk/gawk.vim
+
+After:
+ Restore
+ unlet! b:command_tail
+ unlet! b:ale_awk_gawk_executable
+ unlet! b:ale_awk_gawk_options
+
+ call ale#linter#Reset()
+
+Execute(The executable should be used in the command):
+ AssertEqual
+ \ 'gawk'
+ \ . " --source 'BEGIN { exit } END { exit 1 }'"
+ \ . ' ' . '-f %t --lint /dev/null',
+ \ ale_linters#awk#gawk#GetCommand(bufnr(''))
+
+ let b:ale_awk_gawk_executable = '/other/gawk'
+
+ AssertEqual
+ \ '/other/gawk'
+ \ . " --source 'BEGIN { exit } END { exit 1 }'"
+ \ . ' ' . '-f %t --lint /dev/null',
+ \ ale_linters#awk#gawk#GetCommand(bufnr(''))
+
+ let b:ale_awk_gawk_executable = 'gawk'
+ let b:ale_awk_gawk_options = '--something'
+
+ AssertEqual
+ \ 'gawk'
+ \ . " --source 'BEGIN { exit } END { exit 1 }'"
+ \ . ' --something'
+ \ . ' ' . '-f %t --lint /dev/null',
+ \ ale_linters#awk#gawk#GetCommand(bufnr(''))
diff --git a/test/handler/test_gawk_handler.vader b/test/handler/test_gawk_handler.vader
new file mode 100644
index 00000000..3a7b5457
--- /dev/null
+++ b/test/handler/test_gawk_handler.vader
@@ -0,0 +1,39 @@
+Before:
+ runtime ale_linters/awk/gawk.vim
+
+After:
+ call ale#linter#Reset()
+
+Execute(gawk syntax errors should be parsed correctly):
+
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 1,
+ \ 'col': 0,
+ \ 'text': "invalid char ''' in expression",
+ \ 'code': 0,
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 5,
+ \ 'col': 0,
+ \ 'text': 'unterminated string',
+ \ 'code': 0,
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 10,
+ \ 'col': 0,
+ \ 'text': "escape sequence `\u' treated as plain `u'",
+ \ 'code': 0,
+ \ 'type': 'W',
+ \ },
+ \ ],
+ \ ale#handlers#gawk#HandleGawkFormat(347, [
+ \ "gawk: something.awk:1: BEGIN { system('touch aaaaaaaaa') }",
+ \ "gawk: something.awk:1: ^ invalid char ''' in expression",
+ \ 'gawk: something.awk:5: { x = "aaaaaaaaaaa',
+ \ 'gawk: something.awk:5: ^ unterminated string',
+ \ "gawk: something.awk:10: warning: escape sequence `\u' treated as plain `u'",
+ \ ])