]> 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:

0b2c86047625c4fc5232bdbf508c76ba8ecbe26a
[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 Given markdown;
201 $ \sqrt{a}{b} $
202 $$ \frac{a}{b} $$
203
204 Execute (math tex highlighting):
205   let g:vim_markdown_math=0
206   syn off | syn on
207   AssertNotEqual SyntaxOf('sqrt'), 'texStatement'
208   AssertNotEqual SyntaxOf('frac'), 'texStatement'
209   let g:vim_markdown_math=1
210   syn off | syn on
211   AssertEqual SyntaxOf('sqrt'), 'texStatement'
212   AssertEqual SyntaxOf('frac'), 'texStatement'
213
214 # YAML frontmatter
215
216 Given markdown;
217 ---
218 a: b
219 ---
220
221 Execute (YAML frontmatter is controlled by the option):
222   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
223   let g:vim_markdown_frontmatter=1
224   syn off | syn on
225   AssertEqual SyntaxOf('a'), 'yamlBlockMappingKey'
226   let g:vim_markdown_frontmatter=0
227   syn off | syn on
228   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
229
230 Given markdown;
231
232 ---
233 a: b
234 ---
235
236 Execute (YAML frontmatter only works if it's the first thing in the file):
237   let g:vim_markdown_frontmatter=1
238   syn off | syn on
239   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
240
241 Given markdown;
242 ---
243 a: b
244 ---
245
246 ---
247
248 Execute (rules are not mistaken by YAML frontmatter delimiters):
249   let g:vim_markdown_frontmatter=1
250   syn off | syn on
251   AssertEqual SyntaxAt(5, 1), 'mkdRule'
252
253 # Header
254
255 Given markdown;
256 # #a
257 ccc
258
259 ## #b
260 ddd
261
262 Execute (header title starts with #):
263   AssertEqual SyntaxOf('a'), 'htmlH1'
264   AssertEqual SyntaxOf('b'), 'htmlH2'