Index: trunk/parsers/wikidom/tests/wikidom.test.js |
— | — | @@ -118,13 +118,8 @@ |
119 | 119 | 'annotations': [ |
120 | 120 | { |
121 | 121 | 'type': 'ilink', |
122 | | - 'range': { |
123 | | - 'offset': 15, |
124 | | - 'length': 4 |
125 | | - }, |
126 | | - 'data': { |
127 | | - 'title': 'Main_Page' |
128 | | - } |
| 122 | + 'range': { 'offset': 15, 'length': 4 }, |
| 123 | + 'data': { 'title': 'Main_Page' } |
129 | 124 | } |
130 | 125 | ] |
131 | 126 | } |
— | — | @@ -166,20 +161,8 @@ |
167 | 162 | { |
168 | 163 | 'text': 'Line with bold and italic text', |
169 | 164 | 'annotations': [ |
170 | | - { |
171 | | - 'type': 'bold', |
172 | | - 'range': { |
173 | | - 'offset': 10, |
174 | | - 'length': 4 |
175 | | - } |
176 | | - }, |
177 | | - { |
178 | | - 'type': 'italic', |
179 | | - 'range': { |
180 | | - 'offset': 19, |
181 | | - 'length': 6 |
182 | | - } |
183 | | - } |
| 165 | + { 'type': 'bold', 'range': { 'offset': 10, 'length': 4 } }, |
| 166 | + { 'type': 'italic', 'range': { 'offset': 19, 'length': 6 } } |
184 | 167 | ] |
185 | 168 | } |
186 | 169 | ] |
— | — | @@ -192,10 +175,109 @@ |
193 | 176 | |
194 | 177 | // Lists |
195 | 178 | test( 'Lists', function() { |
196 | | - assertSerializations( [] ); |
| 179 | + assertSerializations( [ |
| 180 | + { |
| 181 | + 'subject': 'numbered list', |
| 182 | + 'dom': { 'blocks': [ { |
| 183 | + 'type': 'list', |
| 184 | + 'style': 'number', |
| 185 | + 'items': [ |
| 186 | + { 'line': { 'text': '1' } }, |
| 187 | + { 'line': { 'text': '2' } }, |
| 188 | + { 'line': { 'text': '3' } } |
| 189 | + ] |
| 190 | + } ] }, |
| 191 | + 'html': '<ol>\n<li>1</li>\n<li>2</li>\n<li>3</li>\n</ol>', |
| 192 | + 'wikitext': '# 1\n# 2\n# 3' |
| 193 | + }, |
| 194 | + { |
| 195 | + 'subject': 'bulleted list', |
| 196 | + 'dom': { 'blocks': [ { |
| 197 | + 'type': 'list', |
| 198 | + 'style': 'bullet', |
| 199 | + 'items': [ |
| 200 | + { 'line': { 'text': '1' } }, |
| 201 | + { 'line': { 'text': '2' } }, |
| 202 | + { 'line': { 'text': '3' } } |
| 203 | + ] |
| 204 | + } ] }, |
| 205 | + 'html': '<ul>\n<li>1</li>\n<li>2</li>\n<li>3</li>\n</ul>', |
| 206 | + 'wikitext': '* 1\n* 2\n* 3' |
| 207 | + }, |
| 208 | + { |
| 209 | + 'subject': 'mixed-style nested lists', |
| 210 | + 'dom': { 'blocks': [ { |
| 211 | + 'type': 'list', |
| 212 | + 'style': 'bullet', |
| 213 | + 'items': [ |
| 214 | + { |
| 215 | + 'line': { 'text': '1' }, |
| 216 | + 'lists': [ |
| 217 | + { |
| 218 | + 'style': 'number', |
| 219 | + 'items': [ |
| 220 | + { 'line': { 'text': '1.1' } }, |
| 221 | + { 'line': { 'text': '1.2' } }, |
| 222 | + { 'line': { 'text': '1.3' } } |
| 223 | + ] |
| 224 | + } |
| 225 | + ] |
| 226 | + }, |
| 227 | + { 'line': { 'text': '2' } } |
| 228 | + ] |
| 229 | + } ] }, |
| 230 | + 'html': '<ul>\n<li>1\n<ol>\n<li>1.1</li>\n<li>1.2</li>\n<li>1.3</li>\n</ol>' |
| 231 | + + '\n</li>\n<li>2</li>\n</ul>', |
| 232 | + 'wikitext': '* 1\n*# 1.1\n*# 1.2\n*# 1.3\n* 2' |
| 233 | + } |
| 234 | + ] ); |
197 | 235 | } ); |
198 | 236 | |
199 | 237 | // Tables |
200 | 238 | test( 'Tables', function() { |
201 | | - assertSerializations( [] ); |
| 239 | + assertSerializations( [ |
| 240 | + { |
| 241 | + 'subject': 'table with headings and data', |
| 242 | + 'dom': { 'blocks': [ { |
| 243 | + 'type': 'table', |
| 244 | + 'rows': [ |
| 245 | + [ |
| 246 | + { |
| 247 | + 'type': 'heading', |
| 248 | + 'document': { 'blocks': [{ |
| 249 | + 'type': 'paragraph', |
| 250 | + 'lines': [{ 'text': 'A' }] |
| 251 | + }] } |
| 252 | + }, |
| 253 | + { |
| 254 | + 'type': 'heading', |
| 255 | + 'document': { 'blocks': [{ |
| 256 | + 'type': 'paragraph', |
| 257 | + 'lines': [{ 'text': 'B' }] |
| 258 | + }] } |
| 259 | + } |
| 260 | + ], |
| 261 | + [ |
| 262 | + { |
| 263 | + 'type': 'data', |
| 264 | + 'document': { 'blocks': [{ |
| 265 | + 'type': 'paragraph', |
| 266 | + 'lines': [{ 'text': '1' }] |
| 267 | + }] } |
| 268 | + }, |
| 269 | + { |
| 270 | + 'type': 'data', |
| 271 | + 'document': { 'blocks': [{ |
| 272 | + 'type': 'paragraph', |
| 273 | + 'lines': [{ 'text': '2' }] |
| 274 | + }] } |
| 275 | + } |
| 276 | + ] |
| 277 | + ] |
| 278 | + } ] }, |
| 279 | + 'html': '<table>\n<tr>\n<th>A</th>\n<th>B</th>\n</tr>\n<tr>\n' |
| 280 | + + '<td>1</td>\n<td>2</td>\n</tr>\n</table>', |
| 281 | + 'wikitext': '{|\n!A\n!B\n|-\n|1\n|2\n|}' |
| 282 | + } |
| 283 | + ] ); |
202 | 284 | } ); |
Index: trunk/parsers/wikidom/README |
— | — | @@ -41,4 +41,4 @@ |
42 | 42 | ; List |
43 | 43 | : A series of item objects. |
44 | 44 | ; Table |
45 | | -: A series of rows, each a series of document objects. |
\ No newline at end of file |
| 45 | +: A series of rows, each a series of columns, which contain document objects. |
\ No newline at end of file |