X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/a0ef80e296de45f1a9ce5794bffb80fe79efc3ac..9ee2d595523917ec1c00140afe57e1c0d2200272:/test/map.vader?ds=inline diff --git a/test/map.vader b/test/map.vader index 6cf0cee..7ecdfad 100644 --- a/test/map.vader +++ b/test/map.vader @@ -1,4 +1,95 @@ -Given mkd; +Given markdown; +a c + +Execute (gx autolink): + let b:url = 'http://b' + let b:line = getline(1) + let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') + AssertEqual b:func(1, match(b:line, 'a') + 1), '' + AssertEqual b:func(1, match(b:line, '<') + 1), b:url + AssertEqual b:func(1, match(b:line, 'h') + 1), b:url + AssertEqual b:func(1, match(b:line, '>') + 1), b:url + AssertEqual b:func(1, match(b:line, 'c') + 1), '' + +Given markdown; +a http://b.bb c + +Execute (gx implicit autolink): + let b:url = 'http://b.bb' + let b:line = getline(1) + let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') + AssertEqual b:func(1, match(b:line, 'a') + 1), '' + AssertEqual b:func(1, match(b:line, 'h') + 1), b:url + AssertEqual b:func(1, match(b:line, 'c') + 1), '' + +Given markdown; +[a]: http://b "c" + +Execute (gx link reference definition): + let b:url = 'http://b' + let b:line = getline(1) + let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') + " TODO would be cool if all of the following gave the link. + AssertEqual b:func(1, match(b:line, 'a') + 1), '' + AssertEqual b:func(1, match(b:line, 'h') + 1), b:url + AssertEqual b:func(1, match(b:line, 'c') + 1), '' + +Given markdown; +a [b](c) d + +Execute (gx autolink): + let b:url = 'c' + let b:line = getline(1) + let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') + AssertEqual b:func(1, match(b:line, 'a') + 1), '' + AssertEqual b:func(1, match(b:line, '[') + 1), b:url + AssertEqual b:func(1, match(b:line, 'b') + 1), b:url + AssertEqual b:func(1, match(b:line, ']') + 1), b:url + AssertEqual b:func(1, match(b:line, '(') + 1), b:url + AssertEqual b:func(1, match(b:line, 'c') + 1), b:url + AssertEqual b:func(1, match(b:line, ')') + 1), b:url + AssertEqual b:func(1, match(b:line, 'd') + 1), '' + +Given markdown; +[ge_test.md](ge_test.md) + +Execute (ge opens file): + normal ge + AssertEqual @%, 'ge_test.md' + AssertEqual getline(1), 'ge test' + +Given markdown; +[ge_test](ge_test) + +Execute (ge opens file without .md extensions): + let g:vim_markdown_no_extensions_in_markdown = 1 + normal ge + AssertEqual @%, 'ge_test.md' + AssertEqual getline(1), 'ge test' + unlet g:vim_markdown_no_extensions_in_markdown + +Given markdown; +[ge_test.md](ge_test.md) + +Execute (ge does not write before opening file): + normal ia + normal l + normal ge + AssertEqual @%, 'ge_test.md' + AssertEqual getline(1), 'ge test' + +Given markdown; +[ge_test.md](ge_test.md) + +Execute (ge auto-write before opening file): + let g:vim_markdown_autowrite = 1 + normal ia + normal l + AssertThrows normal ge + AssertEqual g:vader_exception, 'Vim(write):E382: Cannot write, ''buftype'' option is set' + unlet g:vim_markdown_autowrite + +Given markdown; # a b @@ -14,7 +105,7 @@ Execute (]] same level): normal [[ AssertEqual line('.'), 1 -Given mkd; +Given markdown; # a b @@ -30,7 +121,7 @@ Execute (]] different levels level): normal [[ AssertEqual line('.'), 1 -Given mkd; +Given markdown; # a b @@ -50,7 +141,7 @@ Execute (][ different levels level): normal [] AssertEqual line('.'), 1 -Given mkd; +Given markdown; # a b @@ -60,16 +151,3 @@ Execute (]c): AssertEqual line('.'), 3 normal ]c AssertEqual line('.'), 1 - -Given mkd; -# a - -Execute (Toc does not set nomodifiable on other files): - " Sanity check. - Assert &modifiable - - :Toc - :lclose - :edit a - - Assert &modifiable