From: Alexandre Constantino Date: Wed, 13 Jan 2016 21:56:09 +0000 (+0000) Subject: Add test for folding and :Toc X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/e72e47d30d117acf0d91dde2258cab651d90f700?hp=-c Add test for folding and :Toc --- e72e47d30d117acf0d91dde2258cab651d90f700 diff --git a/test/folding-toc.vader b/test/folding-toc.vader new file mode 100644 index 0000000..e15ed73 --- /dev/null +++ b/test/folding-toc.vader @@ -0,0 +1,124 @@ +" Tests atx and setext folding, and :Toc. + +Before: + source ../after/ftplugin/markdown.vim + +After: + setlocal foldexpr=0 + setlocal foldmethod=manual + +Given markdown; +# chap 1 + +hello +world + +```bash +# some bash scripting +pwd + +# this is another comment +# other +echo "foo" +``` + +## chap 1.1 + +- dog +- cat + +~~~~bash +mkdir foo +cd foo +~~~~ + +### chap 1.1.1 + +- dragons +- fenixs + +# chap 2 + +another + +## chap 2.1 + +- uk +- japan +- china + + +# chap 3 + +nothing here + +chap 4 +====== + +setext are evil + +chap 4.1 +-------- + +evil indeed + +````bash +# get system info +uname -a +```` + +Execute (fold level): + AssertEqual foldlevel(1), 0, '# chap 1' + AssertEqual foldlevel(3), 1, 'hello' + AssertEqual foldlevel(6), 1, '```bash' + AssertEqual foldlevel(7), 1, '# some bash scripting' + AssertEqual foldlevel(15), 1, '## chap 1.1' + AssertEqual foldlevel(21), 2, 'mkdir foo' + AssertEqual foldlevel(25), 2, '### chap 1.1.1' + AssertEqual foldlevel(27), 3, '- dragons' + AssertEqual foldlevel(30), 1, '# chap 2' + AssertEqual foldlevel(32), 1, 'another' + AssertEqual foldlevel(34), 1, '# chap 2.1' + AssertEqual foldlevel(37), 2, '- japan' + AssertEqual foldlevel(41), 1, '# chap 3' + AssertEqual foldlevel(45), 1, 'chap 4\n======' + AssertEqual foldlevel(48), 1, 'setext are evil' + AssertEqual foldlevel(50), 2, 'chap 4.1\n------' +" BUG: for lines 30, 41, 45, the foldlevel should be 0. +" The folding behavior itself is correct, but the level number isn't. + +Execute (fold text result): + AssertEqual foldtextresult(2), '+-- 28 lines: hello' + AssertEqual foldtextresult(31), '+-- 10 lines: another' + AssertEqual foldtextresult(42), '+-- 3 lines: nothing here' + AssertEqual foldtextresult(45), '+-- 14 lines: chap 4' +" BUG: for line 45, vim shows and calling foldtextresult even echoes 15 lines. + +Execute (check TOC): + :Toc + let res = getloclist(0) + let elem = res[0] + AssertEqual elem.lnum, 1 + AssertEqual elem.text, '# chap 1' + let elem = res[1] + AssertEqual elem.lnum, 15 + AssertEqual elem.text, '## chap 1.1' + let elem = res[2] + AssertEqual elem.lnum, 25 + AssertEqual elem.text, '### chap 1.1.1' + let elem = res[3] + AssertEqual elem.lnum, 30 + AssertEqual elem.text, '# chap 2' + let elem = res[4] + AssertEqual elem.lnum, 34 + AssertEqual elem.text, '## chap 2.1' + let elem = res[5] + AssertEqual elem.lnum, 41 + AssertEqual elem.text, '# chap 3' + let elem = res[6] + AssertEqual elem.lnum, 45 + AssertEqual elem.text, 'chap 4' + let elem = res[7] + AssertEqual elem.lnum, 50 + AssertEqual elem.text, 'chap 4.1' +