Before:
source ../after/ftplugin/markdown.vim
+ setlocal foldtext=foldtext()
After:
setlocal foldexpr=0
let res = getloclist(0)
let elem = res[0]
AssertEqual elem.lnum, 1
- AssertEqual elem.text, '# chap 1'
+ AssertEqual elem.text, 'chap 1'
let elem = res[1]
AssertEqual elem.lnum, 15
- AssertEqual elem.text, '## chap 1.1'
+ AssertEqual elem.text, ' chap 1.1'
let elem = res[2]
AssertEqual elem.lnum, 25
- AssertEqual elem.text, '### chap 1.1.1'
+ AssertEqual elem.text, ' chap 1.1.1'
let elem = res[3]
AssertEqual elem.lnum, 30
- AssertEqual elem.text, '# chap 2'
+ AssertEqual elem.text, 'chap 2'
let elem = res[4]
AssertEqual elem.lnum, 34
- AssertEqual elem.text, '## chap 2.1'
+ AssertEqual elem.text, ' chap 2.1'
let elem = res[5]
AssertEqual elem.lnum, 41
- AssertEqual elem.text, '# chap 3'
+ 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'
+ 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