]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.1227: no tests for the comment package v9.1.1227
authorMaxim Kim <habamax@gmail.com>
Wed, 19 Mar 2025 19:54:12 +0000 (20:54 +0100)
committerChristian Brabandt <cb@256bit.org>
Wed, 19 Mar 2025 19:54:12 +0000 (20:54 +0100)
Problem:  no tests for the comment package
Solution: add some tests (Maxim Kim).

closes: #16933

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/testdir/Make_all.mak
src/testdir/test_plugin_comment.vim [new file with mode: 0644]
src/version.c

index b7c92218811a2d17f137efc20fd9259a37c7a3d4..7d50a7eeb41be18cbacc4bb82118811ca75cc4b3 100644 (file)
@@ -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 (file)
index 0000000..8e877ac
--- /dev/null
@@ -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() {", "\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}\<CR>")
+  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
index c6b6fe0efa62f8e2ef106d167e79a98b7b1d0205..8739da0d32f31fb4a952e4852d6df34c0274befb 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1227,
 /**/
     1226,
 /**/