]> git.madduck.net Git - etc/vim.git/blob - test/syntax.vader

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Add tests for italic and bold syntax
[etc/vim.git] / test / syntax.vader
1 Given markdown;
2 a **b** c
3
4 Execute (bold):
5   AssertNotEqual SyntaxOf('a'), 'htmlBold'
6   AssertEqual SyntaxOf('b'), 'htmlBold'
7   AssertNotEqual SyntaxOf('c'), 'htmlBold'
8
9 Given markdown;
10 a __b__ c
11
12 Execute (bold):
13   AssertNotEqual SyntaxOf('a'), 'htmlBold'
14   AssertEqual SyntaxOf('b'), 'htmlBold'
15   AssertNotEqual SyntaxOf('c'), 'htmlBold'
16
17 Given markdown;
18 a *b* c
19
20 Execute (italic):
21   AssertNotEqual SyntaxOf('a'), 'htmlItalic'
22   AssertEqual SyntaxOf('b'), 'htmlItalic'
23   AssertNotEqual SyntaxOf('c'), 'htmlItalic'
24
25 Given markdown;
26 a _b_ c
27
28 Execute (italic):
29   AssertNotEqual SyntaxOf('a'), 'htmlItalic'
30   AssertEqual SyntaxOf('b'), 'htmlItalic'
31   AssertNotEqual SyntaxOf('c'), 'htmlItalic'
32
33 Given markdown;
34 a \*b\* c
35
36 Execute (not italic with escaped asterisks):
37   AssertNotEqual SyntaxOf('a'), 'htmlItalic'
38   AssertNotEqual SyntaxOf('b'), 'htmlItalic'
39   AssertNotEqual SyntaxOf('c'), 'htmlItalic'
40
41 Given markdown;
42 a \_b\_ c
43
44 Execute (not italic with escaped underscores):
45   AssertNotEqual SyntaxOf('a'), 'htmlItalic'
46   AssertNotEqual SyntaxOf('b'), 'htmlItalic'
47   AssertNotEqual SyntaxOf('c'), 'htmlItalic'
48
49 Given markdown;
50 a _b\_c_ d
51
52 Execute (italic with escaped underscores):
53   AssertNotEqual SyntaxOf('a'), 'htmlItalic'
54   AssertEqual SyntaxOf('b'), 'htmlItalic'
55   AssertEqual SyntaxOf('c'), 'htmlItalic'
56   AssertNotEqual SyntaxOf('d'), 'htmlItalic'
57
58 Given markdown;
59 a __b\_\_c__ d
60
61 Execute (bold with escaped underscores):
62   AssertNotEqual SyntaxOf('a'), 'htmlBold'
63   AssertEqual SyntaxOf('b'), 'htmlBold'
64   AssertEqual SyntaxOf('c'), 'htmlBold'
65   AssertNotEqual SyntaxOf('d'), 'htmlBold'
66
67 # Links
68
69 Given markdown;
70 [a](b)
71
72 Execute (link with title):
73   AssertEqual SyntaxOf('a'), 'mkdLink'
74   AssertEqual SyntaxOf('b'), 'mkdURL'
75
76 Given markdown;
77 (a)
78
79 (b)
80
81 Execute (parenthesis not in link):
82   AssertNotEqual SyntaxOf('a'), 'mkdURL'
83   AssertNotEqual SyntaxOf('b'), 'mkdURL'
84
85 Given markdown;
86 [a](b) c [d](e)
87
88 Execute (multiple links on a line):
89   AssertEqual SyntaxOf('c'), ''
90
91 # Autolinks
92
93 Given markdown;
94 a <http://b> c
95
96 Execute (autolink):
97   AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
98   AssertEqual SyntaxOf('<'), 'mkdDelimiter'
99   AssertEqual SyntaxOf('b'), 'mkdInlineURL'
100   AssertEqual SyntaxOf('>'), 'mkdDelimiter'
101   AssertNotEqual SyntaxOf('c'), 'mkdInlineURL'
102
103 Given markdown;
104 <HtTp://a>
105
106 Execute (autolink with scheme case is insensitive):
107   AssertEqual SyntaxOf('a'), 'mkdInlineURL'
108
109 Given markdown;
110 <notascheme://a>
111
112 Execute (autolink without known scheme is not a link):
113   AssertNotEqual SyntaxOf('n'), 'mkdInlineURL'
114
115 Given markdown;
116 <a>
117
118 Execute (autolink without scheme is not a link):
119   AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
120
121 Given markdown;
122 < http://a >
123 <http://b c>
124 <http://d
125 e>
126
127 Execute (autolink with space is not a link):
128   AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
129   AssertNotEqual SyntaxOf('b'), 'mkdInlineURL'
130   AssertNotEqual SyntaxOf('c'), 'mkdInlineURL'
131   AssertNotEqual SyntaxOf('d'), 'mkdInlineURL'
132   AssertNotEqual SyntaxOf('e'), 'mkdInlineURL'
133
134 Given markdown;
135 \<http://a>
136
137 Execute (autolinks can be backslash escaped):
138   AssertNotEqual SyntaxOf('<'), 'mkdDelimiter'
139
140 # Code Blocks
141
142 Given markdown;
143 ~~~
144 code
145 ~~~
146
147 Execute (code blocks can be fenced with tildes):
148   AssertEqual SyntaxOf('c'), 'mkdCode'
149
150 Given markdown;
151 ~~~ruby
152 code
153 ~~~
154
155 Execute (code blocks can have a language specifier):
156   AssertEqual SyntaxOf('c'), 'mkdCode'
157
158 # Math
159
160 Given markdown;
161 a $x$ b
162 c $$y$$ d
163 \$e\$
164 \$\$f\$\$
165
166 Execute (math):
167   AssertNotEqual SyntaxOf('x'), 'mkdMath'
168   AssertNotEqual SyntaxOf('y'), 'mkdMath'
169   let g:vim_markdown_math=1
170   syn off | syn on
171   AssertNotEqual SyntaxOf('a'), 'mkdMath'
172   AssertNotEqual SyntaxOf('b'), 'mkdMath'
173   AssertNotEqual SyntaxOf('c'), 'mkdMath'
174   AssertNotEqual SyntaxOf('d'), 'mkdMath'
175   AssertNotEqual SyntaxOf('e'), 'mkdMath'
176   AssertNotEqual SyntaxOf('f'), 'mkdMath'
177   AssertEqual SyntaxOf('x'), 'mkdMath'
178   AssertEqual SyntaxOf('y'), 'mkdMath'
179   let g:vim_markdown_math=0
180   syn off | syn on
181   AssertNotEqual SyntaxOf('x'), 'mkdMath'
182   AssertNotEqual SyntaxOf('y'), 'mkdMath'
183
184 Given markdown;
185 a
186
187 $
188 b
189 $
190
191 c
192
193 Execute (multiline math):
194   let g:vim_markdown_math=1
195   syn off | syn on
196   AssertNotEqual SyntaxOf('a'), 'mkdMath'
197   AssertEqual SyntaxOf('b'), 'mkdMath'
198   AssertNotEqual SyntaxOf('c'), 'mkdMath'
199
200 # YAML frontmatter
201
202 Given markdown;
203 ---
204 a: b
205 ---
206
207 Execute (YAML frontmatter is controlled by the option):
208   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
209   let g:vim_markdown_frontmatter=1
210   syn off | syn on
211   AssertEqual SyntaxOf('a'), 'yamlBlockMappingKey'
212   let g:vim_markdown_frontmatter=0
213   syn off | syn on
214   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
215
216 Given markdown;
217
218 ---
219 a: b
220 ---
221
222 Execute (YAML frontmatter only works if it's the first thing in the file):
223   let g:vim_markdown_frontmatter=1
224   syn off | syn on
225   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
226
227 Given markdown;
228 ---
229 a: b
230 ---
231
232 ---
233
234 Execute (rules are not mistaken by YAML frontmatter delimiters):
235   let g:vim_markdown_frontmatter=1
236   syn off | syn on
237   AssertEqual SyntaxAt(5, 1), 'mkdRule'