Before: Save g:ale_filetype_blacklist Save g:ale_maximum_file_size Save g:ale_enabled Save &l:statusline call ale#test#SetDirectory('/testplugin/test') let b:funky_command_created = 0 " We will test for the existence of this command, so create one if needed. if !exists(':CtrlPFunky') command CtrlPFunky echo let b:funky_command_created = 1 endif After: Restore call ale#test#RestoreDirectory() if b:funky_command_created delcommand CtrlPFunky let b:funky_command_created = 0 endif unlet! b:funky_command_created Given foobar(An empty file): Execute(ALE shouldn't do much of anything for ctrlp-funky buffers): Assert !ale#ShouldDoNothing(bufnr('')), 'The preliminary check failed' let &l:statusline = '%#CtrlPMode2# prt %*%#CtrlPMode1# line %* ={%#CtrlPMode1# funky %*}= <-> %=%<%#CtrlPMode2# %{getcwd()} %*' Assert ale#ShouldDoNothing(bufnr('')) Execute(ALE shouldn't try to check buffers with '.' as the filename): AssertEqual \ 0, \ ale#ShouldDoNothing(bufnr('')), \ 'ShouldDoNothing() was 1 for some other reason' silent! noautocmd file . Assert ale#ShouldDoNothing(bufnr('')) Execute(DoNothing should return 0 when the filetype is empty): AssertEqual \ 0, \ ale#ShouldDoNothing(bufnr('')), \ 'ShouldDoNothing() was 1 for some other reason' set filetype= AssertEqual 1, ale#ShouldDoNothing(bufnr('')) Execute(The DoNothing check should work if the ALE globals aren't defined): unlet! g:ale_filetype_blacklist unlet! g:ale_maximum_file_size unlet! g:ale_enabled " This shouldn't throw exceptions. call ale#ShouldDoNothing(bufnr(''))