X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/5ff124014066ba7882617c283e7750d449caafb4..76d8fbf3cc4445bd1c0f26033d207d4b1e3966f1:/test/syntax.vader diff --git a/test/syntax.vader b/test/syntax.vader index bb9ef2f..fb92ba8 100644 --- a/test/syntax.vader +++ b/test/syntax.vader @@ -1,6 +1,14 @@ Given markdown; a **b** c +Execute (bold): + AssertNotEqual SyntaxOf('a'), 'htmlBold' + AssertEqual SyntaxOf('b'), 'htmlBold' + AssertNotEqual SyntaxOf('c'), 'htmlBold' + +Given markdown; +a __b__ c + Execute (bold): AssertNotEqual SyntaxOf('a'), 'htmlBold' AssertEqual SyntaxOf('b'), 'htmlBold' @@ -14,6 +22,48 @@ Execute (italic): AssertEqual SyntaxOf('b'), 'htmlItalic' AssertNotEqual SyntaxOf('c'), 'htmlItalic' +Given markdown; +a _b_ c + +Execute (italic): + AssertNotEqual SyntaxOf('a'), 'htmlItalic' + AssertEqual SyntaxOf('b'), 'htmlItalic' + AssertNotEqual SyntaxOf('c'), 'htmlItalic' + +Given markdown; +a \*b\* c + +Execute (not italic with escaped asterisks): + AssertNotEqual SyntaxOf('a'), 'htmlItalic' + AssertNotEqual SyntaxOf('b'), 'htmlItalic' + AssertNotEqual SyntaxOf('c'), 'htmlItalic' + +Given markdown; +a \_b\_ c + +Execute (not italic with escaped underscores): + AssertNotEqual SyntaxOf('a'), 'htmlItalic' + AssertNotEqual SyntaxOf('b'), 'htmlItalic' + AssertNotEqual SyntaxOf('c'), 'htmlItalic' + +Given markdown; +a _b\_c_ d + +Execute (italic with escaped underscores): + AssertNotEqual SyntaxOf('a'), 'htmlItalic' + AssertEqual SyntaxOf('b'), 'htmlItalic' + AssertEqual SyntaxOf('c'), 'htmlItalic' + AssertNotEqual SyntaxOf('d'), 'htmlItalic' + +Given markdown; +a __b\_\_c__ d + +Execute (bold with escaped underscores): + AssertNotEqual SyntaxOf('a'), 'htmlBold' + AssertEqual SyntaxOf('b'), 'htmlBold' + AssertEqual SyntaxOf('c'), 'htmlBold' + AssertNotEqual SyntaxOf('d'), 'htmlBold' + # Links Given markdown; @@ -36,7 +86,8 @@ Given markdown; [a](b) c [d](e) Execute (multiple links on a line): - AssertEqual SyntaxOf('c'), '' + AssertNotEqual SyntaxOf('c'), 'mkdLink' + AssertNotEqual SyntaxOf('c'), 'mkdURL' # Autolinks @@ -87,6 +138,25 @@ Given markdown; Execute (autolinks can be backslash escaped): AssertNotEqual SyntaxOf('<'), 'mkdDelimiter' +Given markdown; +a (http://b.bb) c + +Execute (autolink in parenthesis): + AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' + AssertEqual SyntaxOf('('), 'mkdDelimiter' + AssertEqual SyntaxOf('b'), 'mkdInlineURL' + AssertEqual SyntaxOf(')'), 'mkdDelimiter' + AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' + +Given markdown; +[![a](http://b)](http://c) + +Execute (autolink in link text): + AssertEqual SyntaxOf('!'), 'mkdDelimiter' + AssertEqual SyntaxOf('a'), 'mkdLink' + AssertEqual SyntaxOf('b'), 'mkdURL' + AssertEqual SyntaxOf('c'), 'mkdURL' + # Code Blocks Given markdown; @@ -105,6 +175,54 @@ code Execute (code blocks can have a language specifier): AssertEqual SyntaxOf('c'), 'mkdCode' +Given markdown; +```c++ +code +``` + +text + +Execute (code blocks can be fenced with backticks and a language specifier): + AssertEqual SyntaxOf('code'), 'mkdCode' + AssertNotEqual SyntaxOf('text'), 'mkdCode' + +# Indent Code Blocks + +Given markdown; +a + + b + c + +Execute (indent code blocks): + AssertNotEqual SyntaxOf('a'), 'mkdCode' + AssertEqual SyntaxOf('b'), 'mkdCode' + AssertEqual SyntaxOf('c'), 'mkdCode' + +Given markdown; +# a + +b + + c + +Execute (indent code blocks after header): + AssertNotEqual SyntaxOf('a'), 'mkdCode' + AssertNotEqual SyntaxOf('b'), 'mkdCode' + AssertEqual SyntaxOf('c'), 'mkdCode' + +Given markdown; +- a + + b + + c + +Execute (indent code blocks after list): + AssertNotEqual SyntaxOf('a'), 'mkdCode' + AssertNotEqual SyntaxOf('b'), 'mkdCode' + AssertEqual SyntaxOf('c'), 'mkdCode' + # Math Given markdown; @@ -147,6 +265,20 @@ Execute (multiline math): AssertEqual SyntaxOf('b'), 'mkdMath' AssertNotEqual SyntaxOf('c'), 'mkdMath' +Given markdown; +$ \sqrt{a}{b} $ +$$ \frac{a}{b} $$ + +Execute (math tex highlighting): + let g:vim_markdown_math=0 + syn off | syn on + AssertNotEqual SyntaxOf('sqrt'), 'texStatement' + AssertNotEqual SyntaxOf('frac'), 'texStatement' + let g:vim_markdown_math=1 + syn off | syn on + AssertEqual SyntaxOf('sqrt'), 'texStatement' + AssertEqual SyntaxOf('frac'), 'texStatement' + # YAML frontmatter Given markdown; @@ -185,3 +317,45 @@ Execute (rules are not mistaken by YAML frontmatter delimiters): let g:vim_markdown_frontmatter=1 syn off | syn on AssertEqual SyntaxAt(5, 1), 'mkdRule' + +# Header + +Given markdown; +# #a +ccc + +## #b +ddd + +Execute (header title starts with #): + AssertEqual SyntaxOf('a'), 'htmlH1' + AssertEqual SyntaxOf('b'), 'htmlH2' + +# List + +Given markdown; +- a & b +1. c > d + +Execute (& and > are not marked as htmlError in lists): + AssertEqual SyntaxOf('-'), 'mkdListItem' + AssertEqual SyntaxOf('1.'), 'mkdListItem' + AssertNotEqual SyntaxOf('&'), 'htmlError' + AssertNotEqual SyntaxOf('>'), 'htmlError' + +# HTML + +Given markdown; +a + +
b
+ +- c + +Execute (HTML tag in text): + AssertEqual SyntaxOf('p'), 'htmlTagName' + AssertEqual SyntaxOf(''), 'htmlTag' + AssertEqual SyntaxOf('
'), 'htmlEndTag' + AssertEqual SyntaxOf('span'), 'htmlTagName' + AssertEqual SyntaxOf(''), 'htmlTag' + AssertEqual SyntaxOf(''), 'htmlEndTag'