-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
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)
Execute (multiple links on a line):
AssertEqual SyntaxOf('c'), ''
+# Autolinks
+
+Given mkd;
+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 mkd;
+<HtTp://a>
+
+Execute (autolink with scheme case is insensitive):
+ AssertEqual SyntaxOf('a'), 'mkdInlineURL'
+
+Given mkd;
+<notascheme://a>
+
+Execute (autolink without known scheme is not a link):
+ AssertNotEqual SyntaxOf('n'), 'mkdInlineURL'
+
+Given mkd;
+<a>
+
+Execute (autolink without scheme is not a link):
+ AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
+
+Given mkd;
+< 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 mkd;
+\<http://a>
+
+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;