Commit: patch 9.1.1227: no tests for the comment package

2 views
Skip to first unread message

Christian Brabandt

unread,
Mar 19, 2025, 4:00:12 PM3/19/25
to vim...@googlegroups.com
patch 9.1.1227: no tests for the comment package

Commit: https://github.com/vim/vim/commit/51ff18e3195843156d979e071117670b1483b946
Author: Maxim Kim <hab...@gmail.com>
Date: Wed Mar 19 20:54:12 2025 +0100

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 <hab...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index b7c922188..7d50a7eeb 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 000000000..8e877acdb
--- /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}\<CR>")
+ 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}\<CR>")
+ 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}\<CR>")
+ 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}\<CR>")
+ 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}\<CR>")
+ 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}\<CR>")
+ 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() {", " if 1 {", " return 0;", " }", " 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}\<CR>")
+ defer delete(output_file)
+
+ call StopVimInTerminal(buf)
+
+ let result = readfile(output_file)
+
+ call assert_equal(["/* int main() { */", " /* if 1 { */", " /* return 0; */", " /* } */", " /* return 1; */", "/* } */"], result)
+endfunc
diff --git a/src/version.c b/src/version.c
index c6b6fe0ef..8739da0d3 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,
/**/
Reply all
Reply to author
Forward
0 new messages