181 lines
1.8 KiB
Text
Executable file
181 lines
1.8 KiB
Text
Executable file
Given markdown;
|
|
# a
|
|
|
|
Execute (Toc does not set nomodifiable on other files):
|
|
" Sanity check.
|
|
Assert &modifiable
|
|
|
|
:Toc
|
|
:lclose
|
|
:edit a
|
|
|
|
Assert &modifiable
|
|
|
|
Given markdown;
|
|
header 1
|
|
========
|
|
|
|
test
|
|
|
|
header 2
|
|
--------
|
|
|
|
test
|
|
|
|
### header 3
|
|
|
|
test
|
|
|
|
Execute (Toc setex headers):
|
|
:Toc
|
|
|
|
Expect (setex headers):
|
|
header 1
|
|
header 2
|
|
header 3
|
|
|
|
Given markdown;
|
|
# header 1
|
|
|
|
test
|
|
|
|
## header 2
|
|
|
|
test
|
|
|
|
### header 3
|
|
|
|
test
|
|
|
|
Execute (Toc atx headers):
|
|
:Toc
|
|
|
|
Expect (atx headers):
|
|
header 1
|
|
header 2
|
|
header 3
|
|
|
|
Given markdown;
|
|
ATX tests.
|
|
|
|
# h1 space
|
|
|
|
#h1 nospace
|
|
|
|
# h1 2 spaces
|
|
|
|
# h1 trailing hash #
|
|
|
|
## h2 space
|
|
|
|
##h2 nospace
|
|
|
|
## h2 trailing hash ##
|
|
|
|
### h3 space
|
|
|
|
###h3 nospace
|
|
|
|
### h3 trailing hash ###
|
|
|
|
#### h4
|
|
|
|
##### h5
|
|
|
|
###### h6
|
|
|
|
---
|
|
|
|
Relative positions.
|
|
|
|
# h1 before h2
|
|
|
|
## h2 between h1s
|
|
|
|
# h1 after h2
|
|
|
|
---
|
|
|
|
Setex tests.
|
|
|
|
setex h1
|
|
========
|
|
|
|
setex h2
|
|
--------
|
|
|
|
setex h1 single punctuation
|
|
=
|
|
|
|
setex h1 punctuation longer than header
|
|
================================
|
|
|
|
Prevent list vs Setex confusion:
|
|
|
|
- not Setex
|
|
- because list
|
|
|
|
---
|
|
|
|
Mixed tests.
|
|
|
|
setex h1 before atx
|
|
===================
|
|
|
|
## atx h2
|
|
|
|
### atx h3
|
|
|
|
# atx h1
|
|
|
|
setex h2
|
|
------------------
|
|
|
|
### atx h3 2
|
|
|
|
Execute (Toc multiple headers):
|
|
:Toc
|
|
|
|
Expect (multiple headers):
|
|
h1 space
|
|
h1 nospace
|
|
h1 2 spaces
|
|
h1 trailing hash
|
|
h2 space
|
|
h2 nospace
|
|
h2 trailing hash
|
|
h3 space
|
|
h3 nospace
|
|
h3 trailing hash
|
|
h4
|
|
h5
|
|
h6
|
|
h1 before h2
|
|
h2 between h1s
|
|
h1 after h2
|
|
setex h1
|
|
setex h2
|
|
setex h1 single punctuation
|
|
setex h1 punctuation longer than header
|
|
setex h1 before atx
|
|
atx h2
|
|
atx h3
|
|
atx h1
|
|
setex h2
|
|
atx h3 2
|
|
|
|
Execute:
|
|
:lclose
|
|
|
|
Given markdown;
|
|
# header 1
|
|
|
|
## header 2
|
|
|
|
### header 3
|
|
|
|
Execute (Toc cursor on the current header):
|
|
normal! G
|
|
:Toc
|
|
AssertEqual line('.'), 3
|
|
:lclose
|