Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
139 lines
4.0 KiB
Python
139 lines
4.0 KiB
Python
#!/usr/bin/env python3.6
|
|
|
|
import subprocess
|
|
|
|
from os import listdir
|
|
from shutil import copyfile
|
|
|
|
def run_vim_cmd(cmd, filename=''):
|
|
cmd = f'nvim -u vimrc -c "set verbose=1 | {cmd} | wq " --headless {filename}'
|
|
return run_cmd(cmd)
|
|
|
|
|
|
def run_cmd(cmd):
|
|
return subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True).wait()
|
|
|
|
|
|
def readlines(filename):
|
|
with open(filename) as f:
|
|
return f.readlines()
|
|
|
|
|
|
def test_formatters():
|
|
'''
|
|
run formatters on entire buffer
|
|
'''
|
|
for filename in listdir('before'):
|
|
output_file = '/tmp/neoformat_' + filename
|
|
formatter = filename.split('.')[0]
|
|
cmd = f'nvim -u vimrc -c "set verbose=1 | Neoformat {formatter} | w! {output_file} | q! " --headless ./before/{filename}'
|
|
run_cmd(cmd)
|
|
before = readlines(output_file)
|
|
after = readlines('./after/' + filename)
|
|
assert before == after
|
|
|
|
|
|
def test_visual_selection_multi_filetype():
|
|
'''
|
|
Format different filetypes in one file
|
|
'''
|
|
filename_before = 'visual_selection_before.txt'
|
|
output_file = '/tmp/neoformat_' + filename_before
|
|
copyfile(filename_before, output_file)
|
|
|
|
for test in [('python', 4, 7), ('css', 9, 9), ('css', 14, 15)]:
|
|
(filetype, start_line, end_line) = test
|
|
print(start_line)
|
|
vim_cmd = f'{start_line},{end_line}Neoformat! {filetype}'
|
|
cmd = f'nvim -u vimrc -c "set verbose=1 | {vim_cmd} | wq " --headless {output_file}'
|
|
run_cmd(cmd)
|
|
|
|
before = readlines(output_file)
|
|
after = readlines('visual_selection_after.txt')
|
|
assert before == after
|
|
|
|
|
|
def test_visual_selection_with_filetype_and_formatter():
|
|
'''
|
|
Test that passing filetype and formatter to Neoformat! works
|
|
'''
|
|
dir_before = 'visual_before/'
|
|
dir_after = 'visual_after/'
|
|
for filename in listdir(dir_before):
|
|
(filetype, formatter, start_line, end_line) = filename.split('_')
|
|
output_file = '/tmp/neoformat_' + filename
|
|
cmd = f'nvim -u vimrc -c "set verbose=1 | {start_line},{end_line}Neoformat! {filetype} {formatter} | w! {output_file} | q! " --headless {dir_before + filename}'
|
|
run_cmd(cmd)
|
|
before = readlines(output_file)
|
|
after = readlines(dir_after + filename)
|
|
assert before == after
|
|
|
|
|
|
def test_formatprg_with_neoformat():
|
|
'''
|
|
Test that formatprg is processed by neoformat
|
|
'''
|
|
|
|
dir_before = 'before/'
|
|
filename = 'cssbeautify.css'
|
|
output_file = '/tmp/neoformat_fmt_prg_' + filename
|
|
viml = '''
|
|
let &formatprg = 'css-beautify -s 6 -n'
|
|
let g:neoformat_try_formatprg = 1
|
|
'''
|
|
cmd = f'nvim -u vimrc -c "set verbose=1 | {viml} | Neoformat | w! {output_file} | q! " --headless {dir_before + filename}'
|
|
run_cmd(cmd)
|
|
before = readlines(output_file)
|
|
after = readlines('./after/cssbeautify-indent-6.css')
|
|
assert before == after
|
|
|
|
|
|
def test_formatprg_without_enable():
|
|
'''
|
|
Test that formatprg isn't use when not enabled
|
|
'''
|
|
|
|
dir_before = 'before/'
|
|
filename = 'cssbeautify.css'
|
|
output_file = '/tmp/neoformat_fmtprg_not_enabled' + filename
|
|
viml = '''
|
|
let &formatprg = 'css-beautify -s 6 -n'
|
|
'''
|
|
cmd = f'nvim -u vimrc -c "set verbose=1 | {viml} | Neoformat | w! {output_file} | q! " --headless {dir_before + filename}'
|
|
run_cmd(cmd)
|
|
before = readlines(output_file)
|
|
after = readlines('./after/cssbeautify.css')
|
|
assert before == after
|
|
|
|
|
|
def test_vader():
|
|
'''
|
|
run *.vader tests
|
|
'''
|
|
cmd = f'nvim -u vimrc -c "Vader! *.vader" --headless'
|
|
exit_code = run_cmd(cmd)
|
|
assert exit_code == 0
|
|
|
|
|
|
def test_autocompletion():
|
|
'''
|
|
run the vim autocompletion tests
|
|
'''
|
|
cmd = f'nvim -u vimrc -c "source autocomplete_test.vim" --headless'
|
|
exit_code = run_cmd(cmd)
|
|
assert exit_code == 0
|
|
|
|
|
|
def test_viml_syntax():
|
|
'''
|
|
run vint to check vim syntax
|
|
'''
|
|
exit_code = run_cmd('vint ../')
|
|
assert exit_code == 0
|
|
|
|
|
|
if __name__ == '__main__':
|
|
# run all functions with names in the form of 'test_...'
|
|
[func() for func in (val for key, val in vars().items()
|
|
if key.startswith('test_'))]
|