2017-09-03 14:56:14 -04:00
|
|
|
Before:
|
|
|
|
call ale#test#SetDirectory('/testplugin/test')
|
|
|
|
|
|
|
|
After:
|
|
|
|
call ale#test#RestoreDirectory()
|
|
|
|
call ale#linter#Reset()
|
|
|
|
|
|
|
|
Execute(smlnj finds CM file if it exists):
|
|
|
|
call ale#test#SetFilename('smlnj/cm/foo.sml')
|
|
|
|
|
2017-09-09 19:20:05 -04:00
|
|
|
AssertEqual
|
2017-12-19 13:23:09 -05:00
|
|
|
\ ale#path#Simplify(g:dir . '/smlnj/cm/sources.cm'),
|
2017-09-09 19:20:05 -04:00
|
|
|
\ ale#handlers#sml#GetCmFile(bufnr('%'))
|
2017-09-03 14:56:14 -04:00
|
|
|
|
|
|
|
Execute(smlnj finds CM file by searching upwards):
|
|
|
|
call ale#test#SetFilename('smlnj/cm/path/to/bar.sml')
|
|
|
|
|
2017-09-09 19:20:05 -04:00
|
|
|
AssertEqual
|
2017-12-19 13:23:09 -05:00
|
|
|
\ ale#path#Simplify(g:dir . '/smlnj/cm/sources.cm'),
|
2017-09-09 19:20:05 -04:00
|
|
|
\ ale#handlers#sml#GetCmFile(bufnr('%'))
|
2017-09-03 14:56:14 -04:00
|
|
|
|
|
|
|
Execute(smlnj returns '' when no CM file found):
|
|
|
|
call ale#test#SetFilename('smlnj/file/qux.sml')
|
|
|
|
|
|
|
|
AssertEqual '', ale#handlers#sml#GetCmFile(bufnr('%'))
|
|
|
|
|
|
|
|
Execute(CM-project mode enabled when CM file found):
|
|
|
|
call ale#test#SetFilename('smlnj/cm/foo.sml')
|
|
|
|
|
|
|
|
AssertEqual 'sml', ale#handlers#sml#GetExecutableSmlnjCm(bufnr('%'))
|
|
|
|
|
|
|
|
Execute(single-file mode disabled when CM file found):
|
|
|
|
call ale#test#SetFilename('smlnj/cm/foo.sml')
|
|
|
|
|
|
|
|
AssertEqual '', ale#handlers#sml#GetExecutableSmlnjFile(bufnr('%'))
|
|
|
|
|
|
|
|
Execute(CM-project mode disabled when CM file not found):
|
|
|
|
call ale#test#SetFilename('smlnj/file/qux.sml')
|
|
|
|
|
|
|
|
AssertEqual '', ale#handlers#sml#GetExecutableSmlnjCm(bufnr('%'))
|
|
|
|
|
|
|
|
Execute(single-file mode enabled when CM file found):
|
|
|
|
call ale#test#SetFilename('smlnj/file/qux.sml')
|
|
|
|
|
|
|
|
AssertEqual 'sml', ale#handlers#sml#GetExecutableSmlnjFile(bufnr('%'))
|