186 lines
1.9 KiB
Text
186 lines
1.9 KiB
Text
|
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! 4G
|
||
|
:Toc
|
||
|
AssertEqual line('.'), 2
|
||
|
:lclose
|
||
|
normal! G
|
||
|
:Toc
|
||
|
AssertEqual line('.'), 3
|
||
|
:lclose
|