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

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