1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 05:30:07 +08:00
SpaceVim/bundle/neomake/tests/ft_text.vader

90 lines
3.6 KiB
Plaintext
Raw Normal View History

2020-06-13 14:06:35 +08:00
Include: include/setup.vader
Execute (writegood: postprocess: length):
function! s:F(entry)
if !has_key(a:entry, 'col')
let a:entry.col = 0
endif
call neomake#makers#ft#text#PostprocessWritegood(a:entry)
return a:entry
endfunction
AssertEqual s:F({'text': '"Currently" can weaken meaning'}).length, 9
AssertEqual s:F({'text': '"Currently" can "weaken" meaning'}).length, 9
Assert !has_key(s:F({'text': '"Currently can weaken meaning'}), 'length')
Execute (writegood: postprocess increments column):
function! s:F(entry)
call neomake#makers#ft#text#PostprocessWritegood(a:entry)
return a:entry
endfunction
AssertEqual s:F({'col': 2, 'text': 'foo'}), {'col': 3, 'text': 'foo'}
Execute (proselint):
new
file file.txt
Save &errorformat
let &errorformat = neomake#makers#ft#text#proselint().errorformat
call append(0, [
\ "file.txt:1:1: typography.symbols.ellipsis '...' is an approximation, use the ellipsis symbol '…'.",
\ "file.txt:2:9: uncomparables.misc Comparison of an uncomparable: 'very unique.' is not comparable.",
\ "file.txt:2:9: weasel_words.very Substitute 'damn' every time you're inclined to write 'very;' your editor will delete it and the writing will be just as it should be."])
norm! Gdd
lgetbuffer
AssertEqualQf getloclist(0), [
\ {'lnum': 1, 'bufnr': bufnr('%'), 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1,
\ 'type': 'W', 'pattern': '', 'text': 'typography.symbols.ellipsis ''...'' is an approximation, use the ellipsis symbol ''…''.'},
\ {'lnum': 2, 'bufnr': bufnr('%'), 'col': 9, 'valid': 1, 'vcol': 0, 'nr': -1,
\ 'type': 'W', 'pattern': '', 'text': 'uncomparables.misc Comparison of an uncomparable: ''very unique.'' is not comparable.'},
\ {'lnum': 2, 'bufnr': bufnr('%'), 'col': 9, 'valid': 1, 'vcol': 0, 'nr': -1,
\ 'type': 'W', 'pattern': '', 'text': 'weasel_words.very Substitute ''damn'' every time you''re inclined to write ''very;'' your editor will delete it and the writing will be just as it should be.'},
\ ]
norm! ggdGcc...
function! s:F(entry)
call neomake#makers#ft#text#proselint().postprocess(a:entry)
return a:entry
endfunction
AssertEqual 3, s:F(getloclist(0)[0]).length
let maker = neomake#GetMaker('proselint', 'text')
let maker.append_file = 0
let maker.exe = 'echo'
let maker.args = ["file.txt:1:1: typography.symbols.ellipsis '...' is an approximation, use the ellipsis symbol '…'."]
call neomake#highlights#ResetFile(bufnr('%'))
call neomake#Make(1, [maker])
NeomakeTestsWaitForFinishedJobs
let highlights = neomake#highlights#_get()
if has('nvim')
Assert has_key(highlights['file'], bufnr('%'))
else
AssertEqual highlights, {'file': {bufnr('%'): {
\ 'NeomakeError': [], 'NeomakeInfo': [], 'NeomakeMessage': [],
\ 'NeomakeWarning': [[1, 1, 3]]}}, 'project': {}}
endif
bwipe!
Execute (writegood: handles wrapped message):
Save &errorformat
let &errorformat = neomake#makers#ft#text#writegood().errorformat
lgetexpr [
\ 'README.md:1:73:"be',
\ 'used" may be passive voice',
\ 'README.md:2:1:something else']
let bufnr = bufnr('README.md')
AssertEqualQf getloclist(0), [
\ {'lnum': 1, 'bufnr': bufnr, 'col': 73, 'valid': 1, 'vcol': 0, 'nr': -1,
\ 'type': 'W', 'pattern': '', 'text': "\"be\nused\" may be passive voice"},
\ {'lnum': 2, 'bufnr': bufnr, 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1,
\ 'type': 'W', 'pattern': '', 'text': 'something else'}]
exe 'bwipe' bufnr
Execute (writegood: handles empty lines):
Save &errorformat
let &errorformat = neomake#makers#ft#text#writegood().errorformat
lgetexpr ['']
AssertEqual getloclist(0), []