|
|
- 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 (italic):
- AssertNotEqual SyntaxOf('a'), 'htmlItalic'
- AssertEqual SyntaxOf('b'), 'htmlItalic'
- AssertNotEqual SyntaxOf('c'), 'htmlItalic'
-
- # Links
-
- Given markdown;
- [a](b)
-
- Execute (link with title):
- AssertEqual SyntaxOf('a'), 'mkdLink'
- AssertEqual SyntaxOf('b'), 'mkdURL'
-
- Given markdown;
- (a)
-
- (b)
-
- Execute (parenthesis not in link):
- AssertNotEqual SyntaxOf('a'), 'mkdURL'
- AssertNotEqual SyntaxOf('b'), 'mkdURL'
-
- Given markdown;
- [a](b) c [d](e)
-
- Execute (multiple links on a line):
- AssertEqual SyntaxOf('c'), ''
-
- # Autolinks
-
- Given markdown;
- a <http://b> c
-
- Execute (autolink):
- AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
- AssertEqual SyntaxOf('<'), 'mkdDelimiter'
- AssertEqual SyntaxOf('b'), 'mkdInlineURL'
- AssertEqual SyntaxOf('>'), 'mkdDelimiter'
- AssertNotEqual SyntaxOf('c'), 'mkdInlineURL'
-
- Given markdown;
- <HtTp://a>
-
- Execute (autolink with scheme case is insensitive):
- AssertEqual SyntaxOf('a'), 'mkdInlineURL'
-
- Given markdown;
- <notascheme://a>
-
- Execute (autolink without known scheme is not a link):
- AssertNotEqual SyntaxOf('n'), 'mkdInlineURL'
-
- Given markdown;
- <a>
-
- Execute (autolink without scheme is not a link):
- AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
-
- Given markdown;
- < http://a >
- <http://b c>
- <http://d
- e>
-
- 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 markdown;
- \<http://a>
-
- Execute (autolinks can be backslash escaped):
- AssertNotEqual SyntaxOf('<'), 'mkdDelimiter'
-
- # Code Blocks
-
- Given markdown;
- ~~~
- code
- ~~~
-
- Execute (code blocks can be fenced with tildes):
- AssertEqual SyntaxOf('c'), 'mkdCode'
-
- Given markdown;
- ~~~ruby
- code
- ~~~
-
- Execute (code blocks can have a language specifier):
- AssertEqual SyntaxOf('c'), 'mkdCode'
-
- # Math
-
- Given markdown;
- a $x$ b
- c $$y$$ d
- \$e\$
- \$\$f\$\$
-
- Execute (math):
- AssertNotEqual SyntaxOf('x'), 'mkdMath'
- AssertNotEqual SyntaxOf('y'), 'mkdMath'
- let g:vim_markdown_math=1
- syn off | syn on
- AssertNotEqual SyntaxOf('a'), 'mkdMath'
- AssertNotEqual SyntaxOf('b'), 'mkdMath'
- AssertNotEqual SyntaxOf('c'), 'mkdMath'
- AssertNotEqual SyntaxOf('d'), 'mkdMath'
- AssertNotEqual SyntaxOf('e'), 'mkdMath'
- AssertNotEqual SyntaxOf('f'), 'mkdMath'
- AssertEqual SyntaxOf('x'), 'mkdMath'
- AssertEqual SyntaxOf('y'), 'mkdMath'
- let g:vim_markdown_math=0
- syn off | syn on
- AssertNotEqual SyntaxOf('x'), 'mkdMath'
- AssertNotEqual SyntaxOf('y'), 'mkdMath'
-
- Given markdown;
- a
-
- $
- b
- $
-
- c
-
- Execute (multiline math):
- let g:vim_markdown_math=1
- syn off | syn on
- AssertNotEqual SyntaxOf('a'), 'mkdMath'
- AssertEqual SyntaxOf('b'), 'mkdMath'
- AssertNotEqual SyntaxOf('c'), 'mkdMath'
-
- # YAML frontmatter
-
- Given markdown;
- ---
- 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 markdown;
-
- ---
- 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 markdown;
- ---
- 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'
|