]> 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 test for Toc nomodifiable #170
[etc/vim.git] / test / syntax.vader
1 Given mkd;
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 mkd;
10 a *b* c
11
12 Execute (italic):
13   AssertNotEqual SyntaxOf('a'), 'htmlItalic'
14   AssertEqual SyntaxOf('b'), 'htmlItalic'
15   AssertNotEqual SyntaxOf('c'), 'htmlItalic'
16
17 # Links
18
19 Given mkd;
20 [a](b)
21
22 Execute (link with title):
23   AssertEqual SyntaxOf('a'), 'mkdLink'
24   AssertEqual SyntaxOf('b'), 'mkdURL'
25
26 Given mkd;
27 (a)
28
29 (b)
30
31 Execute (parenthesis not in link):
32   AssertNotEqual SyntaxOf('a'), 'mkdURL'
33   AssertNotEqual SyntaxOf('b'), 'mkdURL'
34
35 Given mkd;
36 [a](b) c [d](e)
37
38 Execute (multiple links on a line):
39   AssertEqual SyntaxOf('c'), ''
40
41 # Autolinks
42
43 Given mkd;
44 a <http://b> c
45
46 Execute (autolink):
47   AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
48   AssertEqual SyntaxOf('<'), 'mkdDelimiter'
49   AssertEqual SyntaxOf('b'), 'mkdInlineURL'
50   AssertEqual SyntaxOf('>'), 'mkdDelimiter'
51   AssertNotEqual SyntaxOf('c'), 'mkdInlineURL'
52
53 Given mkd;
54 <HtTp://a>
55
56 Execute (autolink with scheme case is insensitive):
57   AssertEqual SyntaxOf('a'), 'mkdInlineURL'
58
59 Given mkd;
60 <notascheme://a>
61
62 Execute (autolink without known scheme is not a link):
63   AssertNotEqual SyntaxOf('n'), 'mkdInlineURL'
64
65 Given mkd;
66 <a>
67
68 Execute (autolink without scheme is not a link):
69   AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
70
71 Given mkd;
72 < http://a >
73 <http://b c>
74 <http://d
75 e>
76
77 Execute (autolink with space is not a link):
78   AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
79   AssertNotEqual SyntaxOf('b'), 'mkdInlineURL'
80   AssertNotEqual SyntaxOf('c'), 'mkdInlineURL'
81   AssertNotEqual SyntaxOf('d'), 'mkdInlineURL'
82   AssertNotEqual SyntaxOf('e'), 'mkdInlineURL'
83
84 Given mkd;
85 \<http://a>
86
87 Execute (autolinks can be backslash escaped):
88   AssertNotEqual SyntaxOf('<'), 'mkdDelimiter'
89
90 # Code Blocks
91
92 Given mkd;
93 ~~~
94 code
95 ~~~
96
97 Execute (code blocks can be fenced with tildes):
98   AssertEqual SyntaxOf('c'), 'mkdCode'
99
100 Given mkd;
101 ~~~ruby
102 code
103 ~~~
104
105 Execute (code blocks can have a language specifier):
106   AssertEqual SyntaxOf('c'), 'mkdCode'
107
108 # Math
109
110 Given mkd;
111 a $x$ b
112 c $$y$$ d
113 \$e\$
114 \$\$f\$\$
115
116 Execute (math):
117   AssertNotEqual SyntaxOf('x'), 'mkdMath'
118   AssertNotEqual SyntaxOf('y'), 'mkdMath'
119   let g:vim_markdown_math=1
120   syn off | syn on
121   AssertNotEqual SyntaxOf('a'), 'mkdMath'
122   AssertNotEqual SyntaxOf('b'), 'mkdMath'
123   AssertNotEqual SyntaxOf('c'), 'mkdMath'
124   AssertNotEqual SyntaxOf('d'), 'mkdMath'
125   AssertNotEqual SyntaxOf('e'), 'mkdMath'
126   AssertNotEqual SyntaxOf('f'), 'mkdMath'
127   AssertEqual SyntaxOf('x'), 'mkdMath'
128   AssertEqual SyntaxOf('y'), 'mkdMath'
129   let g:vim_markdown_math=0
130   syn off | syn on
131   AssertNotEqual SyntaxOf('x'), 'mkdMath'
132   AssertNotEqual SyntaxOf('y'), 'mkdMath'
133
134 Given mkd;
135 a
136
137 $
138 b
139 $
140
141 c
142
143 Execute (multiline math):
144   let g:vim_markdown_math=1
145   syn off | syn on
146   AssertNotEqual SyntaxOf('a'), 'mkdMath'
147   AssertEqual SyntaxOf('b'), 'mkdMath'
148   AssertNotEqual SyntaxOf('c'), 'mkdMath'
149
150 # YAML frontmatter
151
152 Given mkd;
153 ---
154 a: b
155 ---
156
157 Execute (YAML frontmatter is controlled by the option):
158   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
159   let g:vim_markdown_frontmatter=1
160   syn off | syn on
161   AssertEqual SyntaxOf('a'), 'yamlBlockMappingKey'
162   let g:vim_markdown_frontmatter=0
163   syn off | syn on
164   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
165
166 Given mkd;
167
168 ---
169 a: b
170 ---
171
172 Execute (YAML frontmatter only works if it's the first thing in the file):
173   let g:vim_markdown_frontmatter=1
174   syn off | syn on
175   AssertNotEqual SyntaxOf('a'), 'yamlBlockMappingKey'
176
177 Given mkd;
178 ---
179 a: b
180 ---
181
182 ---
183
184 Execute (rules are not mistaken by YAML frontmatter delimiters):
185   let g:vim_markdown_frontmatter=1
186   syn off | syn on
187   AssertEqual SyntaxAt(5, 1), 'mkdRule'