]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0578: no tests for :Tohtml v9.1.0578
authorYinzuo Jiang <jiangyinzuo@foxmail.com>
Sat, 13 Jul 2024 17:02:10 +0000 (19:02 +0200)
committerChristian Brabandt <cb@256bit.org>
Sat, 13 Jul 2024 17:02:10 +0000 (19:02 +0200)
Problem:  no tests for :Tohtml
Solution: Add two basic tests (Yinzuo Jiang)

closes: #15240

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Filelist
src/testdir/Make_all.mak
src/testdir/samples/Test_tohtml_basic.c.html [new file with mode: 0644]
src/testdir/samples/Test_tohtml_basic_no_css.c.html [new file with mode: 0644]
src/testdir/test_tohtml.vim [new file with mode: 0644]
src/version.c

index 30c820822c479617048d51aea2c4af10e4a6276a..5e24dbb70ba0709a0c85800a28ffe47162344682 100644 (file)
--- a/Filelist
+++ b/Filelist
@@ -214,6 +214,7 @@ SRC_ALL =   \
                src/testdir/pyxfile/*.py \
                src/testdir/dumps/*.dump \
                src/testdir/dumps/*.vim \
+               src/testdir/samples/*.html \
                src/testdir/samples/*.txt \
                src/testdir/samples/*.vim \
                src/testdir/samples/test000 \
index 76d44299e953da11f3400f0086e8bb7d0f5cb1a9..71c3dccac860cb76a858ffe6159365ada5942278 100644 (file)
@@ -315,6 +315,7 @@ NEW_TESTS = \
        test_textobjects \
        test_textprop \
        test_timers \
+       test_tohtml \
        test_true_false \
        test_trycatch \
        test_undo \
@@ -560,6 +561,7 @@ NEW_TESTS_RES = \
        test_textobjects.res \
        test_textprop.res \
        test_timers.res \
+       test_tohtml.res \
        test_true_false.res \
        test_trycatch.res \
        test_undo.res \
diff --git a/src/testdir/samples/Test_tohtml_basic.c.html b/src/testdir/samples/Test_tohtml_basic.c.html
new file mode 100644 (file)
index 0000000..d9467b5
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<title>/home/jiangyinzuo/vim/src/testdir/Test_tohtml_basic.c.html</title>
+<meta name="Generator" content="Vim/9.1">
+<meta name="plugin-version" content="vim9.0_v2">
+<meta name="syntax" content="none">
+<meta name="settings" content="use_css,no_foldcolumn,pre_wrap,prevent_copy=,use_input_for_pc=none">
+<meta name="colorscheme" content="none">
+<style>
+<!--
+pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #ffffff; }
+body { font-family: monospace; color: #000000; background-color: #ffffff; }
+* { font-size: 1em; }
+-->
+</style>
+</head>
+<body>
+<pre id='vimCodeElement'>
+#include &lt;stdio.h&gt;
+#include &lt;stdlib.h&gt;
+
+int isprime(int n)
+{
+  if (n &lt;= 1)
+    return 0;
+
+  for (int i = 2; i &lt;= n / 2; i++)
+    if (n % i == 0)
+      return 0;
+
+  return 1;
+}
+
+int main(int argc, char *argv[])
+{
+  int n = 7;
+
+  printf(&quot;%d is %s prime\n&quot;, n, isprime(n) ? &quot;a&quot; : &quot;not a&quot;);
+
+  return 0;
+}
+</pre>
+</body>
+</html>
+<!-- vim: set foldmethod=manual : -->
diff --git a/src/testdir/samples/Test_tohtml_basic_no_css.c.html b/src/testdir/samples/Test_tohtml_basic_no_css.c.html
new file mode 100644 (file)
index 0000000..fcbcf5c
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<title>/home/jiangyinzuo/vim/src/testdir/Test_tohtml_basic_no_css.c.html</title>
+<meta name="Generator" content="Vim/9.1">
+<meta name="plugin-version" content="vim9.0_v2">
+<meta name="syntax" content="none">
+<meta name="settings" content="no_pre,no_foldcolumn,expand_tabs,prevent_copy=,use_input_for_pc=none">
+<meta name="colorscheme" content="none">
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<font face="monospace">
+#include &lt;stdio.h&gt;<br>
+#include &lt;stdlib.h&gt;<br>
+<br>
+int isprime(int n)<br>
+{<br>
+&nbsp;&nbsp;if (n &lt;= 1)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br>
+<br>
+&nbsp;&nbsp;for (int i = 2; i &lt;= n / 2; i++)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;if (n % i == 0)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br>
+<br>
+&nbsp;&nbsp;return 1;<br>
+}<br>
+<br>
+int main(int argc, char *argv[])<br>
+{<br>
+&nbsp;&nbsp;int n = 7;<br>
+<br>
+&nbsp;&nbsp;printf(&quot;%d is %s prime\n&quot;, n, isprime(n) ? &quot;a&quot; : &quot;not a&quot;);<br>
+<br>
+&nbsp;&nbsp;return 0;<br>
+}<br>
+</font>
+</body>
+</html>
+<!-- vim: set foldmethod=manual : -->
diff --git a/src/testdir/test_tohtml.vim b/src/testdir/test_tohtml.vim
new file mode 100644 (file)
index 0000000..a1c8572
--- /dev/null
@@ -0,0 +1,72 @@
+" Tests for Vim :TOhtml
+
+source check.vim
+
+func s:setup_basic(src_name)
+  let lines =<< trim END
+    #include <stdio.h>
+    #include <stdlib.h>
+
+    int isprime(int n)
+    {
+      if (n <= 1)
+        return 0;
+
+      for (int i = 2; i <= n / 2; i++)
+        if (n % i == 0)
+          return 0;
+
+      return 1;
+    }
+
+    int main(int argc, char *argv[])
+    {
+      int n = 7;
+
+      printf("%d is %s prime\n", n, isprime(n) ? "a" : "not a");
+
+      return 0;
+    }
+  END
+  call writefile(lines, a:src_name)
+  exe 'edit ' . a:src_name
+  TOhtml
+  write
+endfunc
+
+func s:cleanup_basic(src_name)
+  call delete(a:src_name)
+  call delete(a:src_name . ".html")
+endfunc
+
+source $VIMRUNTIME/plugin/tohtml.vim
+
+func Test_tohtml_basic()
+  let src_name = "Test_tohtml_basic.c"
+  call s:setup_basic(src_name)
+  let expected = readfile("samples/" . src_name . ".html")
+  let actual = readfile(src_name . ".html")
+  call assert_equal(expected[0:3], actual[0:3])
+  " Ignore the title
+  call assert_equal(expected[5:11], actual[5:11])
+  " Ignore pre and body css
+  call assert_equal(expected[14:], actual[14:])
+  call s:cleanup_basic(src_name)
+endfunc
+
+func Test_tohtml_basic_no_css()
+  let g:html_use_css = 0
+  let src_name = "Test_tohtml_basic_no_css.c"
+  call s:setup_basic(src_name)
+  let expected = readfile("samples/" . src_name . ".html")
+  let actual = readfile(src_name . ".html")
+  call assert_equal(expected[0:3], actual[0:3])
+  " Ignore the title
+  call assert_equal(expected[5:10], actual[5:10])
+  " Ignore body's inline css
+  call assert_equal(expected[12:], actual[12:])
+  call s:cleanup_basic(src_name)
+  unlet g:html_use_css
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
index a1b87b3eb408c92b73347119b8161962febb532d..c87d37891ec185182d31c0e1a2e3b0970c971e44 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    578,
 /**/
     577,
 /**/