Before:
  let g:vim_markdown_folding_style_pythonic = 1
  source ../after/ftplugin/markdown.vim

After:
  setlocal foldexpr=0
  setlocal foldmethod=manual

Given markdown;
# Title

## Chapter 1

```
This is code block
# This is just a comment
```

## Chapter 2

foobar

Execute (fold level # in code block):
  AssertEqual foldlevel(1), 1, '# Title'
  AssertEqual foldlevel(3), 2, '## Chapter 1'
  AssertEqual foldlevel(7), 2, '# This is just a comment'
  AssertEqual foldlevel(8), 2, '```'
  AssertEqual foldlevel(10), 2, '## Chapter 2'
  AssertEqual foldlevel(12), 2, 'foobar'

Execute (fold text of chapters):
  let b:width = winwidth(0)
  let b:hyphen = repeat('-', b:width - 18 > 2 ? b:width - 18 : b:width - 9 > 0 ? 3 : 2)
  AssertEqual foldtextresult(10), strpart('## Chapter 2', 0, b:width - 9) . ' ' . b:hyphen . ' 2'

Given markdown;
Fold text 1
===========
Fold text 2
-----------

Execute (fold level ==, --):
  AssertEqual foldlevel(2), 0, '=='
  AssertEqual foldlevel(4), 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

foobar

# Title

Execute (fold any preamble):
  AssertEqual foldlevel(1), 1, 'Headline'
  AssertEqual foldlevel(3), 1, 'foobar'
  AssertEqual foldlevel(5), 1, '# 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
