From 51ff18e3195843156d979e071117670b1483b946 Mon Sep 17 00:00:00 2001 From: Maxim Kim Date: Wed, 19 Mar 2025 20:54:12 +0100 Subject: [PATCH] patch 9.1.1227: no tests for the comment package Problem: no tests for the comment package Solution: add some tests (Maxim Kim). closes: #16933 Signed-off-by: Maxim Kim Signed-off-by: Christian Brabandt --- src/testdir/Make_all.mak | 2 + src/testdir/test_plugin_comment.vim | 179 ++++++++++++++++++++++++++++ src/version.c | 2 + 3 files changed, 183 insertions(+) create mode 100644 src/testdir/test_plugin_comment.vim diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index b7c9221881..7d50a7eeb4 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -239,6 +239,7 @@ NEW_TESTS = \ test_partial \ test_paste \ test_perl \ + test_plugin_comment \ test_plugin_glvs \ test_plugin_man \ test_plugin_matchparen \ @@ -502,6 +503,7 @@ NEW_TESTS_RES = \ test_partial.res \ test_paste.res \ test_perl.res \ + test_plugin_comment.res \ test_plugin_glvs.res \ test_plugin_man.res \ test_plugin_matchparen.res \ diff --git a/src/testdir/test_plugin_comment.vim b/src/testdir/test_plugin_comment.vim new file mode 100644 index 0000000000..8e877acdb4 --- /dev/null +++ b/src/testdir/test_plugin_comment.vim @@ -0,0 +1,179 @@ +source check.vim +source term_util.vim + +func Test_basic_comment() + CheckScreendump + let lines =<< trim END + vim9script + + def Hello() + echo "Hello" + enddef + END + + let input_file = "test_basic_comment_input.vim" + call writefile(lines, input_file, "D") + + let buf = RunVimInTerminal('-c "packadd comment" ' .. input_file, {}) + + call term_sendkeys(buf, "gcc") + call term_sendkeys(buf, "2jgcip") + let output_file = "comment_basic_test.vim" + call term_sendkeys(buf, $":w {output_file}\") + defer delete(output_file) + + call StopVimInTerminal(buf) + + let result = readfile(output_file) + + call assert_equal(["# vim9script", "", "# def Hello()", '# echo "Hello"', "# enddef"], result) +endfunc + + +func Test_basic_uncomment() + CheckScreendump + let lines =<< trim END + vim9script + + # def Hello() + # echo "Hello" + # enddef + END + + let input_file = "test_basic_uncomment_input.vim" + call writefile(lines, input_file, "D") + + let buf = RunVimInTerminal('-c "packadd comment" ' .. input_file, {}) + + call term_sendkeys(buf, "gcc") + call term_sendkeys(buf, "2jgcip") + let output_file = "uncomment_basic_test.vim" + call term_sendkeys(buf, $":w {output_file}\") + defer delete(output_file) + + call StopVimInTerminal(buf) + + let result = readfile(output_file) + + call assert_equal(["# vim9script", "", "def Hello()", ' echo "Hello"', "enddef"], result) +endfunc + +func Test_bothends_comment() + CheckScreendump + let lines =<< trim END + int main() {} + END + + let input_file = "test_bothends_comment_input.c" + call writefile(lines, input_file, "D") + + let buf = RunVimInTerminal('-c "packadd comment" ' .. input_file, {}) + + call term_sendkeys(buf, "gcc") + let output_file = "comment_bothends_test.c" + call term_sendkeys(buf, $":w {output_file}\") + defer delete(output_file) + + call StopVimInTerminal(buf) + + let result = readfile(output_file) + + call assert_equal(["/* int main() {} */"], result) +endfunc + +func Test_bothends_uncomment() + CheckScreendump + let lines =<< trim END + /* int main() { */ + /* return 0; */ + /* } */ + END + + let input_file = "test_bothends_uncomment_input.c" + call writefile(lines, input_file, "D") + + let buf = RunVimInTerminal('-c "packadd comment" ' .. input_file, {}) + + call term_sendkeys(buf, "gcip") + let output_file = "uncomment_bothends_test.c" + call term_sendkeys(buf, $":w {output_file}\") + defer delete(output_file) + + call StopVimInTerminal(buf) + + let result = readfile(output_file) + + call assert_equal(["int main() {", " return 0;", "}"], result) +endfunc + + +func Test_mixed_comment() + CheckScreendump + let lines =<< trim END + for x in range(10): + # print(x) + # print(x*x) + END + + let input_file = "test_mixed_comment_input.py" + call writefile(lines, input_file, "D") + + let buf = RunVimInTerminal('-c "packadd comment" ' .. input_file, {}) + + call term_sendkeys(buf, "gcG") + let output_file = "comment_mixed_test.py" + call term_sendkeys(buf, $":w {output_file}\") + defer delete(output_file) + + call StopVimInTerminal(buf) + + let result = readfile(output_file) + + call assert_equal(["# for x in range(10):", "# # print(x)", "# # print(x*x)"], result) +endfunc + +func Test_mixed_comment2() + CheckScreendump + let lines =<< trim END + # for x in range(10): + print(x) + # print(x*x) + END + + let input_file = "test_mixed_comment_input2.py" + call writefile(lines, input_file, "D") + + let buf = RunVimInTerminal('-c "packadd comment" ' .. input_file, {}) + + call term_sendkeys(buf, "gcG") + let output_file = "comment_mixed_test2.py" + call term_sendkeys(buf, $":w {output_file}\") + defer delete(output_file) + + call StopVimInTerminal(buf) + + let result = readfile(output_file) + + call assert_equal(["# # for x in range(10):", "# print(x)", "# # print(x*x)"], result) +endfunc + +func Test_mixed_indent_comment() + CheckScreendump + let lines = ["int main() {", "\tif 1 {", "\t return 0;", "\t}", " return 1;", "}"] + + let input_file = "test_mixed_indent_comment_input.c" + call writefile(lines, input_file, "D") + + let buf = RunVimInTerminal('-c "packadd comment" ' .. input_file, {}) + + call term_sendkeys(buf, "gcip") + let output_file = "comment_mixed_indent_test.c" + call term_sendkeys(buf, $":w {output_file}\") + defer delete(output_file) + + call StopVimInTerminal(buf) + + let result = readfile(output_file) + + call assert_equal(["/* int main() { */", "\t/* if 1 { */", "\t /* return 0; */", "\t/* } */", " /* return 1; */", "/* } */"], result) +endfunc diff --git a/src/version.c b/src/version.c index c6b6fe0efa..8739da0d32 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1227, /**/ 1226, /**/