ale/test/fixers/test_swiftformat_fixer_callback.vader
Gordon Fontenot 4709e67627
Add support for SwiftFormat as a fixer
SwiftFormat is a tool that can be used to format Swift files. This commit adds
support for using SwiftFormat as a fixer from ALE. It looks for executables in
the Pods directory, then the Pods directory for a React Native project, then
finally falls back to the globally installed instance if neither of those were
found.

https://github.com/nicklockwood/SwiftFormat
2017-08-09 12:41:21 -05:00

39 lines
1.0 KiB
Plaintext

Before:
Save g:ale_swift_swiftformat_executable
" Use an invalid global executable, so we don't match it.
let g:ale_swift_swiftformat_executable = 'xxxinvalid'
call ale#test#SetDirectory('/testplugin/test/fixers')
silent cd ..
silent cd command_callback
let g:dir = getcwd()
After:
Restore
call ale#test#RestoreDirectory()
Execute(The swiftformat callback should return the correct default values):
call ale#test#SetFilename('swift_paths/dummy.swift')
AssertEqual
\ {
\ 'read_temporary_file': 1,
\ 'command': ale#Escape(g:ale_swift_swiftformat_executable)
\ . ' %t ',
\ },
\ ale#fixers#swiftformat#Fix(bufnr(''))
Execute(The swiftformat callback should include any additional options):
call ale#test#SetFilename('swift_paths/dummy.swift')
let g:ale_swift_swiftformat_options = '--some-option'
AssertEqual
\ {
\ 'read_temporary_file': 1,
\ 'command': ale#Escape(g:ale_swift_swiftformat_executable)
\ . ' %t --some-option',
\ },
\ ale#fixers#swiftformat#Fix(bufnr(''))