X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/63aabf4b47fc944afc210b974574d158eb7a08d0..05ad68585a6819dc7f6f2bd35876479f3120850d:/test/folding-toc.vader?ds=sidebyside diff --git a/test/folding-toc.vader b/test/folding-toc.vader index e15ed73..79c5400 100644 --- a/test/folding-toc.vader +++ b/test/folding-toc.vader @@ -29,7 +29,7 @@ echo "foo" ~~~~bash mkdir foo -cd foo +# comment in ~ ~~~~ ### chap 1.1.1 @@ -74,6 +74,7 @@ Execute (fold level): AssertEqual foldlevel(7), 1, '# some bash scripting' AssertEqual foldlevel(15), 1, '## chap 1.1' AssertEqual foldlevel(21), 2, 'mkdir foo' + AssertEqual foldlevel(22), 2, 'comment in ~' AssertEqual foldlevel(25), 2, '### chap 1.1.1' AssertEqual foldlevel(27), 3, '- dragons' AssertEqual foldlevel(30), 1, '# chap 2' @@ -84,18 +85,38 @@ Execute (fold level): 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 (fold level with setting): + let g:vim_markdown_folding_level = 2 + source ../after/ftplugin/markdown.vim + 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), 0, '## chap 1.1' + AssertEqual foldlevel(21), 2, 'mkdir foo' + AssertEqual foldlevel(22), 2, 'comment in ~' + AssertEqual foldlevel(25), 2, '### chap 1.1.1' + AssertEqual foldlevel(27), 3, '- dragons' + AssertEqual foldlevel(30), 0, '# chap 2' + AssertEqual foldlevel(32), 1, 'another' + AssertEqual foldlevel(34), 0, '# chap 2.1' + AssertEqual foldlevel(37), 2, '- japan' + AssertEqual foldlevel(41), 0, '# chap 3' + AssertEqual foldlevel(45), 1, 'chap 4\n======' + AssertEqual foldlevel(48), 1, 'setext are evil' + AssertEqual foldlevel(50), 1, 'chap 4.1\n------' + let g:vim_markdown_folding_level = 0 Execute (check TOC): :Toc + :lclose let res = getloclist(0) let elem = res[0] AssertEqual elem.lnum, 1 @@ -122,3 +143,36 @@ Execute (check TOC): AssertEqual elem.lnum, 50 AssertEqual elem.text, 'chap 4.1' +Given markdown; +--- +layout: article +title: A test of the heading folding when there is YAML frontmatter +tags: markdown yaml vim-markdown +--- +body + +heading +------- + +Execute (fold level of yaml front matter): + let g:vim_markdown_frontmatter = 1 + source ../after/ftplugin/markdown.vim + AssertEqual foldlevel(1), 0, '---' + AssertEqual foldlevel(2), 0, 'layout: article' + AssertEqual foldlevel(4), 0, 'tags: markdown yaml vim-markdown' + AssertEqual foldlevel(5), 0, '---' + AssertEqual foldlevel(6), 0, 'body' + AssertEqual foldlevel(8), 2, 'heading' + AssertEqual foldlevel(9), 2, '-------' + unlet g:vim_markdown_frontmatter + +Execute (check Toc of yaml front matter): + let g:vim_markdown_frontmatter = 1 + :Toc + :lclose + let res = getloclist(0) + AssertEqual len(res), 1 + let elem = res[0] + AssertEqual elem.lnum, 8 + AssertEqual elem.text, 'heading' + unlet g:vim_markdown_frontmatter