Include: vader_setup # 0 Configure {{{1 ################## Execute (Configure: Set vimwiki list to markdown resource): Log "Let mapleader = ," let mapleader = ',' Log "Declare function DestroyVar" function! DestroyVar(var) if ! exists(a:var) | return | endif execute "unlet " . a:var endfunction Log "Declare function AssertTab" function! AssertTab(nr) " Vader is creating 2 tabs AssertEqual a:nr + 2, tabpagenr() endfunction Log "Destroy vimrc or previous run heritage" call DestroyVar('g:vimwiki_list') call DestroyVar('g:vimwiki_global_vars') call DestroyVar('g:vimwiki_wikilocal_vars') Log "Destroy vimrc variable, works better that way" call DestroyVar('g:vimwiki_default') call DestroyVar('g:vimwiki_markdown') call DestroyVar('g:vimwiki_mediawiki') Log "Declare my vimwiki_list" let g:vimwiki_list = [{ \ 'path': 'test/resources/testmarkdown', \ 'syntax': 'markdown', \ 'ext': '.md' \ }] Log "Declare my extension for temporary wiki" let g:vimwiki_ext2syntax = {'.md': 'markdown'} Log "Reload vimwiki <- vader_setup.vader" call ReloadVimwiki() Execute (Assert: 2 wiki in Index): AssertEqual 2, len(vimwiki_wikilocal_vars) Execute (VimwikiIndex): VimwikiIndex 1 AssertEqual 1, vimwiki#vars#get_bufferlocal('wiki_nr') AssertEqual 'vimwiki', &filetype AssertEqual 'test/resources/testmarkdown/', vimwiki_wikilocal_vars[0]['path'] AssertEqual 'test/resources/testmarkdown/index.md', expand('%') Execute (Open buzz bozz): edit test/resources/testmarkdown/buzz_bozz.md AssertEqual 'test/resources/testmarkdown/buzz_bozz.md', expand('%') # 1 Global {{{1 ############### Execute (===========================================================): Log "Checking global map" Do (,ww -> open index [Assert]): ,ww :AssertEqual 'test/resources/testmarkdown/index.md', expand('%') \ :call AssertTab(1) \ Do (,wt -> open index in tab [Assert]): ,wt :AssertEqual 'test/resources/testmarkdown/index.md', expand('%') \ :call AssertTab(2) \ Do (,w,w -> open diary [Assert]): ,w,w :AssertEqual 'test/resources/testmarkdown/diary/' . strftime('%Y-%m-%d') . '.md', expand('%') \ :call AssertTab(1) \ Do (,w,t -> open diary in tab [Assert]): ,w,t :AssertEqual 'test/resources/testmarkdown/diary/' . strftime('%Y-%m-%d') . '.md', expand('%') \ :call AssertTab(2) \ Do (,ws -> list and select wiki [Assert]): ,ws 1 \ :AssertEqual 'test/resources/testmarkdown/index.md', expand('%') \ :call AssertTab(1) \ Do (,wi -> open diary index [Assert]): ,wi :AssertEqual 'test/resources/testmarkdown/diary/diary.md', expand('%') \ :call AssertTab(1) \ Do (,w,y -> open yesterday [Assert]): ,w,y :AssertEqual 'test/resources/testmarkdown/diary/' . strftime('%Y-%m-%d', localtime() - 60*60*24) . '.md', expand('%') \ :call AssertTab(1) \ Do (,w,m -> open tomorrow [Assert]): ,wm :AssertEqual 'test/resources/testmarkdown/diary/' . strftime('%Y-%m-%d', localtime() + 60*60*24) . '.md', expand('%') \ :call AssertTab(1) \ # 2 Local {{{1 ############## Execute (===========================================================): Log "Checking local map" # 2.1 Heading {{{2 ############## Do (,wn -> Create new wiki [Assert]): ,wn new_file1 \ :AssertEqual 'test/resources/testmarkdown/new_file1.md', expand('%') \ :call AssertTab(1) \ Do (,wd -> Delete wiki yes [Assert]): :edit 'test/resources/testmarkdown/file_new1.md' \ ,wn new_file2 \ ithis is content 2 \ ,wd yes \ :AssertEqual 'test/resources/testmarkdown/index.md', expand('%') \ Do (,wd -> Delete wiki no [Assert]): :edit 'test/resources/testmarkdown/file_new1.md' \ ,wn new_file2 \ ithis is content 1 \ ,wd no \ :AssertEqual 'test/resources/testmarkdown/new_file2.md', expand('%') \ Do (,wn -> Rename wiki [Assert]): ,wn new_file1 \ ithis is content 1 \ ,wn new_file2 \ :AssertEqual 'test/resources/testmarkdown/new_file2.md', expand('%') \ Given (Some headings): # Head 1 ## Head 1.1 content 1 # Head2 content 2 Execute (file .md): file toto.md edit! AssertEqual 'vimwiki', &ft Do (= -> add header level): = Expect (Inc header level): ## Head 1 ## Head 1.1 content 1 # Head2 content 2 Do (- -> Dec header level): j - Expect (Dec header level): # Head 1 # Head 1.1 content 1 # Head2 content 2 # TODO fix for vim_7.3.429 # Do ([[ -> Go to the previous header): # G # k # [[ # A placeholder # # Expect (placeholder): # # Head 1 # ## Head 1.1 placeholder # content 1 # # # Head2 # content 2 # # Do (]] -> Go to the next header): # ]] # A placeholder # # Expect (placeholder): # # Head 1 # ## Head 1.1 placeholder # content 1 # # # Head2 # content 2 # # Do ([= -> Go to the previous header which has the same level): # G # k # [= # A placeholder # # Expect (placeholder): # # Head 1 placeholder # ## Head 1.1 # content 1 # # # Head2 # content 2 # # Do (]= -> Go to the next header which has the same level): # ]= # A placeholder # # Expect (placeholder): # # Head 1 # ## Head 1.1 # content 1 # # # Head2 placeholder # content 2 # # Do (]u Go one level up): # j # ]u # A placeholder # # Expect (placeholder): # # Head 1 placeholder # ## Head 1.1 # content 1 # # # Head2 # content 2 # # Do ([u Go one level up): # j # [u # A placeholder # # Expect (placeholder): # # Head 1 placeholder # ## Head 1.1 # content 1 # # # Head2 # content 2 # 2.2 List {{{2 ############## Given (Number list): 1. I 1. Relly 2. Love 1. Very 1. Much 3. You Execute (file .md): file toto.md edit! AssertEqual 'vimwiki', &ft set sw=2 Do (gll): gll Expect (Increase): 1. I 2. Relly 1. Love 1. Very 1. Much 2. You Do (gLl): gLl Expect (Increase self + child): 1. I 1. Relly 1. Love 1. Very 1. Much 2. You Do (glh): jjj glh Expect (Decrease): 1. I 1. Relly 2. Love 3. Very 1. Much 4. You Do (gLh): jjj gLh Expect (Decrease self + child): 1. I 1. Relly 2. Love 3. Very 1. Much 4. You Do (glr): \\ glr Expect (Renumber): 1. I 1. Relly 2. Love 1. Very 1. Much 3. You Do (gl*): gl* Expect (item -> *): * I 1. Relly 1. Love 1. Very 1. Much 2. You Do (gL*): gL* Expect (list -> *): * I 1. Relly * Love 1. Very 1. Much * You # 3 Text Object {{{1 #################### Execute (===========================================================): Log "Checking text object" # 3.1 HEading Object {{{2 #################### Given (Some headings): # Head 1 ## Head 1.1 content 1 # Head2 content 2 Do (ah): j dah Expect (Change A header including its content up to the next header): # Head 1 # Head2 content 2 Do (ih): j dih Expect (The content under a header): # Head 1 ## Head 1.1 # Head2 content 2 Do (aH): daH Expect (A header including all of its subheaders): # Head2 content 2 Do (iH): diH Expect (Like 'aH', but excluding the header itself): # Head 1 # Head2 content 2 Include: vader_teardown # vim: foldmethod=marker foldlevel=30 sw=2