Merge branch 'add-test-format'
This commit is contained in:
@@ -91,11 +91,12 @@ def main(args: List[str] = None):
|
|||||||
|
|
||||||
parser = ArgumentParser()
|
parser = ArgumentParser()
|
||||||
parser.add_argument('lists', type=Path, nargs='*', help='CMake list files')
|
parser.add_argument('lists', type=Path, nargs='*', help='CMake list files')
|
||||||
parser.add_argument('-i',
|
group = parser.add_mutually_exclusive_group()
|
||||||
'--inplace',
|
group.add_argument('-i',
|
||||||
action='store_true',
|
'--inplace',
|
||||||
help='inplace edit')
|
action='store_true',
|
||||||
parser.add_argument('-d', '--diff', action='store_true', help='show diff')
|
help='inplace edit')
|
||||||
|
group.add_argument('-d', '--diff', action='store_true', help='show diff')
|
||||||
parser.add_argument('--version',
|
parser.add_argument('--version',
|
||||||
action='version',
|
action='version',
|
||||||
version=f'%(prog)s {__version__}')
|
version=f'%(prog)s {__version__}')
|
||||||
@@ -114,14 +115,12 @@ def main(args: List[str] = None):
|
|||||||
if not remain:
|
if not remain:
|
||||||
with listpath.open('w') as fp:
|
with listpath.open('w') as fp:
|
||||||
fp.write(formatted)
|
fp.write(formatted)
|
||||||
|
elif args.diff:
|
||||||
|
diff = unified_diff(content.splitlines(True),
|
||||||
|
formatted.splitlines(True), str(listpath),
|
||||||
|
str(listpath), '(before formatting)',
|
||||||
|
'(after formatting)')
|
||||||
|
diffstr = ''.join(diff)
|
||||||
|
print(diffstr, end='')
|
||||||
else:
|
else:
|
||||||
if args.diff:
|
print(formatted, end='')
|
||||||
diff = unified_diff(content.splitlines(True),
|
|
||||||
formatted.splitlines(True), str(listpath),
|
|
||||||
str(listpath), '(before formatting)',
|
|
||||||
'(after formatting)')
|
|
||||||
diffstr = ''.join(diff)
|
|
||||||
if diffstr:
|
|
||||||
print(diffstr, end='')
|
|
||||||
else:
|
|
||||||
print(formatted, end='')
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from cmake_language_server.formatter import Formatter
|
from cmake_language_server.formatter import Formatter, main
|
||||||
from cmake_language_server.parser import ListParser
|
from cmake_language_server.parser import ListParser
|
||||||
|
|
||||||
|
|
||||||
@@ -72,3 +72,63 @@ if()
|
|||||||
) # h
|
) # h
|
||||||
endif()
|
endif()
|
||||||
''')
|
''')
|
||||||
|
|
||||||
|
|
||||||
|
def test_main_noinput(capsys):
|
||||||
|
main([])
|
||||||
|
captured = capsys.readouterr()
|
||||||
|
assert captured.out == ''
|
||||||
|
assert captured.err == ''
|
||||||
|
|
||||||
|
|
||||||
|
def test_main_file_1(capsys, tmp_path):
|
||||||
|
testfile1 = tmp_path / 'list1.cmake'
|
||||||
|
with testfile1.open('w') as fp:
|
||||||
|
fp.write(' a()')
|
||||||
|
|
||||||
|
main([str(testfile1)])
|
||||||
|
captured = capsys.readouterr()
|
||||||
|
assert captured.out == 'a()\n'
|
||||||
|
assert captured.err == ''
|
||||||
|
|
||||||
|
|
||||||
|
def test_main_file_2(capsys, tmp_path):
|
||||||
|
testfile1 = tmp_path / 'list1.cmake'
|
||||||
|
with testfile1.open('w') as fp:
|
||||||
|
fp.write(' a()')
|
||||||
|
testfile2 = tmp_path / 'list2.cmake'
|
||||||
|
with testfile2.open('w') as fp:
|
||||||
|
fp.write(' b()')
|
||||||
|
|
||||||
|
main([str(testfile1), str(testfile2)])
|
||||||
|
captured = capsys.readouterr()
|
||||||
|
assert captured.out == 'a()\nb()\n'
|
||||||
|
assert captured.err == ''
|
||||||
|
|
||||||
|
|
||||||
|
def test_main_inplace(capsys, tmp_path):
|
||||||
|
testfile1 = tmp_path / 'list1.cmake'
|
||||||
|
with testfile1.open('w') as fp:
|
||||||
|
fp.write(' a()')
|
||||||
|
|
||||||
|
main(['-i', str(testfile1)])
|
||||||
|
captured = capsys.readouterr()
|
||||||
|
assert captured.out == ''
|
||||||
|
assert captured.err == ''
|
||||||
|
|
||||||
|
with testfile1.open() as fp:
|
||||||
|
content = fp.read()
|
||||||
|
assert content == 'a()\n'
|
||||||
|
|
||||||
|
|
||||||
|
def test_main_diff(capsys, tmp_path):
|
||||||
|
testfile1 = tmp_path / 'list1.cmake'
|
||||||
|
with testfile1.open('w') as fp:
|
||||||
|
fp.write(' a()')
|
||||||
|
|
||||||
|
main(['-d', str(testfile1)])
|
||||||
|
captured = capsys.readouterr()
|
||||||
|
assert str(testfile1) in captured.out
|
||||||
|
assert '- a()' in captured.out
|
||||||
|
assert '+a()' in captured.out
|
||||||
|
assert captured.err == ''
|
||||||
|
|||||||
Reference in New Issue
Block a user