AssertEqual foldlevel(12), 1, 'foobar'
Execute (fold text of chapters):
- AssertEqual foldtextresult(3), '## Chapter 1 ' . repeat('-', winwidth(0) - 18) . ' 6'
- AssertEqual foldtextresult(10), '## Chapter 2 ' . repeat('-', winwidth(0) - 18) . ' 2'
+ let b:width = winwidth(0)
+ let b:hyphen = repeat('-', b:width - 18 > 2 ? b:width - 18 : b:width - 9 > 0 ? 3 : 2)
+ AssertEqual foldtextresult(3), strpart('## Chapter 1', 0, b:width - 9) . ' ' . b:hyphen . ' 6'
+ AssertEqual foldtextresult(10), strpart('## Chapter 2', 0, b:width - 9) . ' ' . b:hyphen . ' 2'
Given markdown;
Fold text 1
-==+ Fold Level 1
+===========
Fold text 2
---+ Fold Level 2
+-----------
-Execute (fold level ==+, --+):
- AssertEqual foldlevel(2), 0, '==+'
- AssertEqual foldlevel(4), 1, '--+'
+Execute (fold level ==, --):
+ AssertEqual foldlevel(2), 0, '=='
+ AssertEqual foldlevel(4), 1, '--'
-Execute (fold text of ==+, --+):
- AssertEqual foldtextresult(3), 'Fold text 2 ' . repeat('-', winwidth(0) - 17) . ' 1'
+Execute (fold text of ==, --):
+ let b:width = winwidth(0)
+ let b:hyphen = repeat('-', b:width - 17 > 2 ? b:width - 17 : b:width - 9 > 0 ? 3 : 2)
+ AssertEqual foldtextresult(3), strpart('Fold text 2', 0, b:width - 9) . ' ' . b:hyphen . ' 1'
Given markdown;
Headline
AssertEqual foldlevel(1), 1, 'Headline'
AssertEqual foldlevel(3), 1, 'foobar'
AssertEqual foldlevel(5), 0, '# Title'
+
+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), 1, '---'
+ AssertEqual foldlevel(2), 1, 'layout: article'
+ AssertEqual foldlevel(4), 1, 'tags: markdown yaml vim-markdown'
+ AssertEqual foldlevel(5), 1, '---'
+ AssertEqual foldlevel(6), 1, 'body'
+ AssertEqual foldlevel(8), 1, 'heading'
+ AssertEqual foldlevel(9), 1, '-------'
+ unlet g:vim_markdown_frontmatter