vimwiki/test/command_toc.vader
Tinmarino a27940a394 Feature: Markdown anchor normalize and unormalize (Issue #664)
Add normalize anchor and unnormalize to get markdown anchor github
compliant. For respectively follow_link and VimwikiTOC

TODO: Treat the potential -12 suffix in anchor-links: ex:
[got to second link](same-link-2)
2020-08-02 22:05:37 -04:00

220 lines
4.1 KiB
Plaintext

# VimwikiTOC {{{1
#
# TODO (10min) test if g:vimwiki_to_header well readen
# TODO (10min) test vimviki_toc_link_format
# TODO (1h) test if really wiki dependant (for 2 diffrent wikis)
#
# Doc: from #664:
# -- 1. It downcases the string => OK: from previous big collection
# -- 2. remove anything that is not a letter, number, space or hyphen (see the source for how Unicode is handled) => from 'bad characters'
# -- 3. changes any space to a hyphen => OK: from previous big
# -- 4. If that is not unique, add "-1", "-2", "-3",... to make it unique => TODO not implemented
#
# Start {{{1
" TODO
"Given vimwiki (Two same heading {{{1):
" # One
" ## two
" ## Two
"
"Execute (Set syntax markdown && Set sw=8):
" call SetSyntax('markdown')
" set sw=8
" VimwikiTOC
"
"Expect (Suffix -1 and -2):
"
Given vimwiki (Heading with many bad caracters {{{1):
# One !@#@#(!%#&$^(!@
## Two !!~!!:"@!>@!>?<
Execute (Set syntax markdown && VimwikiTOC):
call SetSyntax('markdown')
set sw=8
VimwikiTOC
Expect (Bad characters are removed):
# Contents
- [One !@#@#(!%#&$^(!@](#one-)
- [Two !!~!!:"@!>@!>?<](#two-)
# One !@#@#(!%#&$^(!@
## Two !!~!!:"@!>@!>?<
# Large previous tests {{{1
Execute (Reset TOC header to default):
call vimwiki#vars#set_wikilocal('toc_header', 'Contents')
Given vimwiki (Headings):
# Header 1
random text
## Header 1.1
random text
### Header 1.1.1
random text
# Header 2
### Header 2.1.1
Execute (Set syntax markdown && Set sw=8):
call SetSyntax('markdown')
set sw=8
Execute (VimwikiTOC):
VimwikiTOC
Expect (With a TOC sw=8):
# Contents
- [Header 1](#header-1)
- [Header 1.1](#header-11)
- [Header 1.1.1](#header-111)
- [Header 2](#header-2)
- [Header 2.1.1](#header-211)
# Header 1
random text
## Header 1.1
random text
### Header 1.1.1
random text
# Header 2
### Header 2.1.1
Execute (Set sw=4 && VimwikiTOC):
set sw=4
VimwikiTOC
Expect (With a TOC sw=4):
# Contents
- [Header 1](#header-1)
- [Header 1.1](#header-11)
- [Header 1.1.1](#header-111)
- [Header 2](#header-2)
- [Header 2.1.1](#header-211)
# Header 1
random text
## Header 1.1
random text
### Header 1.1.1
random text
# Header 2
### Header 2.1.1
Do (Destroy some stuff):
jj
dd
jj
dd
Execute (VimwikiTOC):
VimwikiTOC
Expect (Brand new TOC):
# Contents
- [Header 1](#header-1)
- [Header 1.1](#header-11)
- [Header 1.1.1](#header-111)
- [Header 2](#header-2)
- [Header 2.1.1](#header-211)
# Header 1
random text
## Header 1.1
random text
### Header 1.1.1
random text
# Header 2
### Header 2.1.1
Execute (Let toc_header = Sommaire && VimwikiTOC):
call vimwiki#vars#set_wikilocal('toc_header', 'Sommaire')
VimwikiTOC
Expect (Append a Sommaire && Leave Contents alone):
# Sommaire
- [Header 1](#header-1)
- [Header 1.1](#header-11)
- [Header 1.1.1](#header-111)
- [Header 2](#header-2)
- [Header 2.1.1](#header-211)
# Header 1
random text
## Header 1.1
random text
### Header 1.1.1
random text
# Header 2
### Header 2.1.1
Do (Destroy some stuff):
jj
dd
jj
dd
Execute (VimwikiTOC):
VimwikiTOC
Expect (Brand new TOC with sommaire):
# Sommaire
- [Header 1](#header-1)
- [Header 1.1](#header-11)
- [Header 1.1.1](#header-111)
- [Header 2](#header-2)
- [Header 2.1.1](#header-211)
# Header 1
random text
## Header 1.1
random text
### Header 1.1.1
random text
# Header 2
### Header 2.1.1
Execute (call vimwiki#vars#set_global('toc_header_level', 6):
call vimwiki#vars#set_wikilocal('toc_header_level', 6)
VimwikiTOC
# Reset default
call vimwiki#vars#set_wikilocal('toc_header_level', 1)
Expect (Content prepended):
###### Sommaire
- [Header 1](#header-1)
- [Header 1.1](#header-11)
- [Header 1.1.1](#header-111)
- [Header 2](#header-2)
- [Header 2.1.1](#header-211)
# Header 1
random text
## Header 1.1
random text
### Header 1.1.1
random text
# Header 2
### Header 2.1.1
" vim: sw=2 foldmethod=marker foldlevel=30 foldignore=#