summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorIan Campbell <ipcampbell@gmail.com>2019-07-26 11:52:34 -0400
committerIan Campbell <ipcampbell@gmail.com>2019-10-21 18:20:43 -0400
commit9017d3ef9ce06a3662f6c87becffa7d7143fb571 (patch)
tree914e2d7dc2db5cb8158fc3f43cac3b6bebe5a1a9 /test
parent67d0ccc398ca7650bb2c774a94d098bee3049169 (diff)
downloadale-9017d3ef9ce06a3662f6c87becffa7d7143fb571.zip
Add StandardJS for TypeScript linting and fixing.
Diffstat (limited to 'test')
-rw-r--r--test/command_callback/test_standardts_command_callback.vader43
-rw-r--r--test/fixers/test_standardts_fixer_callback.vader31
2 files changed, 74 insertions, 0 deletions
diff --git a/test/command_callback/test_standardts_command_callback.vader b/test/command_callback/test_standardts_command_callback.vader
new file mode 100644
index 00000000..d769e712
--- /dev/null
+++ b/test/command_callback/test_standardts_command_callback.vader
@@ -0,0 +1,43 @@
+Before:
+ call ale#assert#SetUpLinterTest('typescript', 'standard')
+ call ale#test#SetFilename('testfile.js')
+ unlet! b:executable
+
+After:
+ call ale#assert#TearDownLinterTest()
+
+Execute(bin/cmd.js paths should be preferred):
+ call ale#test#SetFilename('standard-test-files/with-cmd/testfile.js')
+
+ let b:executable = ale#path#Simplify(
+ \ g:dir
+ \ . '/standard-test-files/with-cmd/node_modules/standard/bin/cmd.js'
+ \)
+
+ AssertLinter b:executable,
+ \ (has('win32') ? 'node.exe ' : '')
+ \ . ale#Escape(b:executable)
+ \ . ' --stdin %s'
+
+Execute(.bin directories should be used too):
+ call ale#test#SetFilename('standard-test-files/with-bin/testfile.js')
+
+ let b:executable = ale#path#Simplify(
+ \ g:dir
+ \ . '/standard-test-files/with-bin/node_modules/.bin/standard'
+ \)
+
+ AssertLinter b:executable, ale#Escape(b:executable) . ' --stdin %s'
+
+Execute(The global executable should be used otherwise):
+ AssertLinter 'standard', ale#Escape('standard') . ' --stdin %s'
+
+Execute(The global executable should be configurable):
+ let b:ale_typescript_standard_executable = 'foobar'
+
+ AssertLinter 'foobar', ale#Escape('foobar') . ' --stdin %s'
+
+Execute(The options should be configurable):
+ let b:ale_typescript_standard_options = '--wat'
+
+ AssertLinter 'standard', ale#Escape('standard') . ' --wat --stdin %s'
diff --git a/test/fixers/test_standardts_fixer_callback.vader b/test/fixers/test_standardts_fixer_callback.vader
new file mode 100644
index 00000000..092465f5
--- /dev/null
+++ b/test/fixers/test_standardts_fixer_callback.vader
@@ -0,0 +1,31 @@
+Before:
+ call ale#test#SetDirectory('/testplugin/test/fixers')
+
+ unlet! b:ale_typescript_standard_executable
+ unlet! b:ale_typescript_standard_options
+
+After:
+ call ale#test#RestoreDirectory()
+
+Execute(The executable path should be correct):
+ call ale#test#SetFilename('../eslint-test-files/react-app/subdir/testfile.js')
+
+ AssertEqual
+ \ {
+ \ 'read_temporary_file': 1,
+ \ 'command': (has('win32') ? 'node.exe ' : '')
+ \ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/standard/bin/cmd.js'))
+ \ . ' --fix %t',
+ \ },
+ \ ale#fixers#standardts#Fix(bufnr(''))
+
+Execute(Custom options should be supported):
+ let b:ale_typescript_standard_use_global = 1
+ let b:ale_typescript_standard_options = '--foo-bar'
+
+ AssertEqual
+ \ {
+ \ 'read_temporary_file': 1,
+ \ 'command': ale#Escape('standard') . ' --foo-bar --fix %t',
+ \ },
+ \ ale#fixers#standardts#Fix(bufnr(''))