Mercurial > vim
changeset 35679:903885e0e4aa v9.1.0578
patch 9.1.0578: no tests for :Tohtml
Commit: https://github.com/vim/vim/commit/360c51208eb36a527191cc5fe3f9c4f4cae1131a
Author: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Date: Sat Jul 13 19:02:10 2024 +0200
patch 9.1.0578: no tests for :Tohtml
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 17 Jul 2024 08:13:27 +0200 |
parents | 9f925b0e187a |
children | 42567b846bf5 |
files | Filelist src/testdir/Make_all.mak src/testdir/samples/Test_tohtml_basic.c.html src/testdir/samples/Test_tohtml_basic_no_css.c.html src/testdir/test_tohtml.vim src/version.c |
diffstat | 6 files changed, 164 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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 \
--- 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 \
new file mode 100644 --- /dev/null +++ b/src/testdir/samples/Test_tohtml_basic.c.html @@ -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 <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; +} +</pre> +</body> +</html> +<!-- vim: set foldmethod=manual : -->
new file mode 100644 --- /dev/null +++ b/src/testdir/samples/Test_tohtml_basic_no_css.c.html @@ -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 <stdio.h><br> +#include <stdlib.h><br> +<br> +int isprime(int n)<br> +{<br> + if (n <= 1)<br> + return 0;<br> +<br> + for (int i = 2; i <= n / 2; i++)<br> + if (n % i == 0)<br> + return 0;<br> +<br> + return 1;<br> +}<br> +<br> +int main(int argc, char *argv[])<br> +{<br> + int n = 7;<br> +<br> + printf("%d is %s prime\n", n, isprime(n) ? "a" : "not a");<br> +<br> + return 0;<br> +}<br> +</font> +</body> +</html> +<!-- vim: set foldmethod=manual : -->
new file mode 100644 --- /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 <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