X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/de94e028f20cf95a669a65b0d38547918e15fbe0..1462465bc2830e20f4644870a99fc626719bfcdb:/test/syntax.vader diff --git a/test/syntax.vader b/test/syntax.vader index 6d51118..c3dc02d 100644 --- a/test/syntax.vader +++ b/test/syntax.vader @@ -1,14 +1,18 @@ -Given mkd (bold); -**bold** not bold +Given mkd; +a **b** c -Execute (SyntaxOf(pattern)): +Execute (bold): + AssertNotEqual SyntaxOf('a'), 'htmlBold' AssertEqual SyntaxOf('b'), 'htmlBold' + AssertNotEqual SyntaxOf('c'), 'htmlBold' -Given mkd (italic); -*italic* +Given mkd; +a *b* c -Execute (SyntaxOf(pattern)): - AssertEqual SyntaxOf('i'), 'htmlItalic' +Execute (italic): + AssertNotEqual SyntaxOf('a'), 'htmlItalic' + AssertEqual SyntaxOf('b'), 'htmlItalic' + AssertNotEqual SyntaxOf('c'), 'htmlItalic' # Links @@ -22,8 +26,11 @@ Execute (link with title): Given mkd; (a) +(b) + Execute (parenthesis not in link): - AssertNotEqual SyntaxOf('a'), 'mkdLink' + AssertNotEqual SyntaxOf('a'), 'mkdURL' + AssertNotEqual SyntaxOf('b'), 'mkdURL' Given mkd; [a](b) c [d](e) @@ -31,6 +38,73 @@ Given mkd; Execute (multiple links on a line): AssertEqual SyntaxOf('c'), '' +# Autolinks + +Given mkd; +a c + +Execute (autolink): + AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' + AssertEqual SyntaxOf('<'), 'mkdDelimiter' + AssertEqual SyntaxOf('b'), 'mkdInlineURL' + AssertEqual SyntaxOf('>'), 'mkdDelimiter' + AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' + +Given mkd; + + +Execute (autolink with scheme case is insensitive): + AssertEqual SyntaxOf('a'), 'mkdInlineURL' + +Given mkd; + + +Execute (autolink without known scheme is not a link): + AssertNotEqual SyntaxOf('n'), 'mkdInlineURL' + +Given mkd; + + +Execute (autolink without scheme is not a link): + AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' + +Given mkd; +< http://a > + + + +Execute (autolink with space is not a link): + AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' + AssertNotEqual SyntaxOf('b'), 'mkdInlineURL' + AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' + AssertNotEqual SyntaxOf('d'), 'mkdInlineURL' + AssertNotEqual SyntaxOf('e'), 'mkdInlineURL' + +Given mkd; +\ + +Execute (autolinks can be backslash escaped): + AssertNotEqual SyntaxOf('<'), 'mkdDelimiter' + +# Code Blocks + +Given mkd; +~~~ +code +~~~ + +Execute (code blocks can be fenced with tildes): + AssertEqual SyntaxOf('c'), 'mkdCode' + +Given mkd; +~~~ruby +code +~~~ + +Execute (code blocks can have a language specifier): + AssertEqual SyntaxOf('c'), 'mkdCode' + # Math Given mkd; @@ -72,3 +146,42 @@ Execute (multiline math): AssertNotEqual SyntaxOf('a'), 'mkdMath' AssertEqual SyntaxOf('b'), 'mkdMath' AssertNotEqual SyntaxOf('c'), 'mkdMath' + +# YAML frontmatter + +Given mkd; +--- +a: b +--- + +Execute (YAML frontmatter is controlled by the option): + AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey' + let g:vim_markdown_frontmatter=1 + syn off | syn on + AssertEqual SyntaxOf('a'), 'yamlBlockMappingKey' + let g:vim_markdown_frontmatter=0 + syn off | syn on + AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey' + +Given mkd; + +--- +a: b +--- + +Execute (YAML frontmatter only works if it's the first thing in the file): + let g:vim_markdown_frontmatter=1 + syn off | syn on + AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey' + +Given mkd; +--- +a: b +--- + +--- + +Execute (rules are not mistaken by YAML frontmatter delimiters): + let g:vim_markdown_frontmatter=1 + syn off | syn on + AssertEqual SyntaxAt(5, 1), 'mkdRule'