diff options
author | Jon Parise <jon@indelible.org> | 2021-08-03 17:29:07 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-04 09:29:07 +0900 |
commit | 2dd9790281b8fa8e31b664629ecbb06de46c5a70 (patch) | |
tree | dc5bd1661f56fcce4703f977f1d396add819c616 /test | |
parent | fa032b1b7fde1cb00bfa3e16a0d3ebd37a7d8be4 (diff) | |
download | ale-2dd9790281b8fa8e31b664629ecbb06de46c5a70.zip |
Add a thriftcheck linter (#3852)
ThriftCheck (https://github.com/pinterest/thriftcheck) is a linter for
Thrift IDL files.
Diffstat (limited to 'test')
-rw-r--r-- | test/handler/test_thriftcheck_handler.vader | 28 | ||||
-rw-r--r-- | test/linter/test_thriftcheck.vader | 21 |
2 files changed, 49 insertions, 0 deletions
diff --git a/test/handler/test_thriftcheck_handler.vader b/test/handler/test_thriftcheck_handler.vader new file mode 100644 index 00000000..efe62593 --- /dev/null +++ b/test/handler/test_thriftcheck_handler.vader @@ -0,0 +1,28 @@ +Before: + runtime ale_linters/thrift/thriftcheck.vim + +After: + call ale#linter#Reset() + +Execute(The thriftcheck handler should handle basic warnings and errors): + AssertEqual + \ [ + \ { + \ 'lnum': 1, + \ 'col': 1, + \ 'type': 'E', + \ 'text': '"py" namespace must match "^idl\\."', + \ 'code': 'namespace.pattern', + \ }, + \ { + \ 'lnum': 3, + \ 'col': 5, + \ 'type': 'W', + \ 'text': '64-bit integer constant -2147483649 may not work in all languages', + \ 'code': 'int.64bit', + \ }, + \ ], + \ ale_linters#thrift#thriftcheck#Handle(1, [ + \ 'file.thrift:1:1:error: "py" namespace must match "^idl\\." (namespace.pattern)', + \ 'file.thrift:3:5:warning: 64-bit integer constant -2147483649 may not work in all languages (int.64bit)', + \ ]) diff --git a/test/linter/test_thriftcheck.vader b/test/linter/test_thriftcheck.vader new file mode 100644 index 00000000..0da3bd6d --- /dev/null +++ b/test/linter/test_thriftcheck.vader @@ -0,0 +1,21 @@ +Before: + call ale#assert#SetUpLinterTest('thrift', 'thriftcheck') + +After: + call ale#assert#TearDownLinterTest() + +Execute(The default command should be correct): + AssertLinter 'thriftcheck', ale#Escape('thriftcheck') + \ . ' --stdin-filename %s %t' + +Execute(The executable should be configurable): + let b:ale_thrift_thriftcheck_executable = 'foobar' + + AssertLinter 'foobar', ale#Escape('foobar') + \ . ' --stdin-filename %s %t' + +Execute(The string of options should be configurable): + let b:ale_thrift_thriftcheck_options = '--errors-only' + + AssertLinter 'thriftcheck', ale#Escape('thriftcheck') + \ . ' --errors-only --stdin-filename %s %t' |