r88724 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r88723‎ | r88724 | r88725 >
Date:16:37, 24 May 2011
Author:tparscal
Status:deferred
Tags:
Comment:
Added table and list tests.
Modified paths:
  • /trunk/parsers/wikidom/README (modified) (history)
  • /trunk/parsers/wikidom/tests/wikidom.test.js (modified) (history)

Diff [purge]

Index: trunk/parsers/wikidom/tests/wikidom.test.js
@@ -118,13 +118,8 @@
119119 'annotations': [
120120 {
121121 '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' }
129124 }
130125 ]
131126 }
@@ -166,20 +161,8 @@
167162 {
168163 'text': 'Line with bold and italic text',
169164 '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 } }
184167 ]
185168 }
186169 ]
@@ -192,10 +175,109 @@
193176
194177 // Lists
195178 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+ ] );
197235 } );
198236
199237 // Tables
200238 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+ ] );
202284 } );
Index: trunk/parsers/wikidom/README
@@ -41,4 +41,4 @@
4242 ; List
4343 : A series of item objects.
4444 ; 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

Status & tagging log