- Given markdown;
- a <http://b> 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;
- # a
-
- b
-
- # c
-
- d
-
- Execute (]] same level):
- AssertEqual line('.'), 1
- normal ]]
- AssertEqual line('.'), 5
- normal [[
- AssertEqual line('.'), 1
-
- Given markdown;
- # a
-
- b
-
- ## c
-
- d
-
- Execute (]] different levels level):
- AssertEqual line('.'), 1
- normal ]]
- AssertEqual line('.'), 5
- normal [[
- AssertEqual line('.'), 1
-
- Given markdown;
- # a
-
- b
-
- ## c
-
- d
-
- # e
-
- f
-
- Execute (][ different levels level):
- AssertEqual line('.'), 1
- normal ][
- AssertEqual line('.'), 9
- normal []
- AssertEqual line('.'), 1
-
- Given markdown;
- # a
-
- b
-
- Execute (]c):
- normal! 3G
- AssertEqual line('.'), 3
- normal ]c
- AssertEqual line('.'), 1
-
- Given markdown;
- # a
-
- Execute (Toc does not set nomodifiable on other files):
- " Sanity check.
- Assert &modifiable
-
- :Toc
- :lclose
- :edit a
-
- Assert &modifiable
|