diff --git a/Filelist b/Filelist index 30c820822c..5e24dbb70b 100644 --- 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 \ diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index 76d44299e9..71c3dccac8 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -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 index 0000000000..d9467b5086 --- /dev/null +++ b/src/testdir/samples/Test_tohtml_basic.c.html @@ -0,0 +1,47 @@ + + + + +/home/jiangyinzuo/vim/src/testdir/Test_tohtml_basic.c.html + + + + + + + + +
+#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;
+}
+
+ + + 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 index 0000000000..fcbcf5c1fc --- /dev/null +++ b/src/testdir/samples/Test_tohtml_basic_no_css.c.html @@ -0,0 +1,40 @@ + + + + +/home/jiangyinzuo/vim/src/testdir/Test_tohtml_basic_no_css.c.html + + + + + + + + +#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;
+}
+
+ + + diff --git a/src/testdir/test_tohtml.vim b/src/testdir/test_tohtml.vim new file mode 100644 index 0000000000..a1c8572732 --- /dev/null +++ b/src/testdir/test_tohtml.vim @@ -0,0 +1,72 @@ +" Tests for Vim :TOhtml + +source check.vim + +func s:setup_basic(src_name) + let lines =<< trim END + #include + #include + + 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 diff --git a/src/version.c b/src/version.c index a1b87b3eb4..c87d37891e 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 */ +/**/ + 578, /**/ 577, /**/