File: issue_1323_fold_code_block.vader

package info (click to toggle)
vim-vimwiki 2024.01.24-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 3,692 kB
  • sloc: sh: 313; makefile: 2
file content (46 lines) | stat: -rw-r--r-- 1,404 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Non regression tests for issue 1323
# -- Folding code blocks using markdown syntax folds the entire rest of the file #1323
#
# Syntax: https://github.com/junegunn/vader.vim#syntax-of-vader-file
# Run: bash run_tests.sh -v -t vader -n vim_7.3.429 -f issue_example.vader

Given vimwiki (Input file):
  # Header
  
  ```sql
  SELECT blah FROM bleh;
  ```
  
  More text in session one
  
  # Header two

  More text in session two


Execute (Cheat vars):
  call SetSyntax('markdown')
  let old_foldexpr = &foldexpr
  let old_foldmethod = &foldmethod
  set foldexpr=VimwikiFoldLevel(v:lnum)
  set foldmethod=expr


Execute (Call function to verify):
  AssertEqual 'line 1 => 1', 'line 1 => ' . foldlevel(1)
  AssertEqual 'line 2 => 1', 'line 2 => ' . foldlevel(2)
  AssertEqual 'line 3 => 2', 'line 3 => ' . foldlevel(3)
  AssertEqual 'line 4 => 2', 'line 4 => ' . foldlevel(4)
  AssertEqual 'line 5 => 2', 'line 5 => ' . foldlevel(5)
  AssertEqual 'line 6 => 1', 'line 6 => ' . foldlevel(6)
  AssertEqual 'line 7 => 1', 'line 7 => ' . foldlevel(7)
  AssertEqual 'line 8 => 1', 'line 8 => ' . foldlevel(8)
  AssertEqual 'line 9 => 0', 'line 9 => ' . foldlevel(9)
#  AssertEqual 'line 10 => 1', 'line 10 => ' . foldlevel(10)
#  AssertEqual 'line 11 => 1', 'line 11 => ' . foldlevel(11)


Execute (Restore vars):
#  call SetSyntax('default')
  let &foldexpr = old_foldexpr
  let &foldmethod = old_foldmethod