in src/main/java/com/atlassian/uwc/converters/dokuwiki/TableRowColSpanConverterTest.java [994:1125]
public void testConvertMoreRowSpanTroubles() {
String input, expected, actual;
input = "<table><tbody>\n" +
"<tr>\n" +
"<th><p> HEADER ::UWCTOKENCOLSPANS:6::</p></th>\n" +
"</tr>\n" +
"<tr>\n" +
"<th><p> h1 </p></th>\n" +
"<th><p> h2 </p></th>\n" +
"<th><p> h3 </p></th>\n" +
"<th><p> h4 </p></th>\n" +
"<th><p> h5 </p></th>\n" +
"<th><p> h6 </p></th>\n" +
"</tr>\n" +
"<tr>\n" +
"<td><p> r1c1 ::UWCTOKENROWSPANS:3::</p></td>\n" +
"<td><p> r1c2 </p></td>\n" +
"<td><p> r1c3 ::UWCTOKENROWSPANS:3::</p></td>\n" +
"<td><p> r1c4 </p></td>\n" +
"<td><p> r1c5 ::UWCTOKENROWSPANS:3::</p></td>\n" +
"<td><p> r1c6 ::UWCTOKENROWSPANS:3::</p></td>\n" +
"</tr>\n" +
"<tr>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> r2c2 </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> r2c4 </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"</tr>\n" +
"<tr>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> r3c2 </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p>r3c4</p></td>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"</tr>\n" +
"<tr>\n" +
"<td><p> r4c1 ::UWCTOKENROWSPANS:3::</p></td>\n" +
"<td><p> r4c2 </p></td>\n" +
"<td><p> r4c3 ::UWCTOKENROWSPANS:3::</p></td>\n" +
"<td><p> r4c4 </p></td>\n" +
"<td><p> r4c5 ::UWCTOKENROWSPANS:3::</p></td>\n" +
"<td><p> r4c6 ::UWCTOKENROWSPANS:3::</p></td>\n" +
"</tr>\n" +
"<tr>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> r2c2 </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> r2c4 </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"</tr>\n" +
"<tr>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> r3c2 </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p>r3c4</p></td>\n" +
"<td><p> ::: </p></td>\n" +
"<td><p> ::: </p></td>\n" +
"</tr>\n" +
"</table>\n" +
"";
expected = "<table><tbody>\n" +
"<tr>\n" +
"<th colspan='6'><p> HEADER </p></th>\n" +
"</tr>\n" +
"<tr>\n" +
"<th><p> h1 </p></th>\n" +
"<th><p> h2 </p></th>\n" +
"<th><p> h3 </p></th>\n" +
"<th><p> h4 </p></th>\n" +
"<th><p> h5 </p></th>\n" +
"<th><p> h6 </p></th>\n" +
"</tr>\n" +
"<tr>\n" +
"<td rowspan='3'><p> r1c1 </p></td>\n" +
"<td><p> r1c2 </p></td>\n" +
"<td rowspan='3'><p> r1c3 </p></td>\n" +
"<td><p> r1c4 </p></td>\n" +
"<td rowspan='3'><p> r1c5 </p></td>\n" +
"<td rowspan='3'><p> r1c6 </p></td>\n" +
"</tr>\n" +
"<tr>\n" +
"\n" +
"<td><p> r2c2 </p></td>\n" +
"\n" +
"<td><p> r2c4 </p></td>\n" +
"\n" +
"\n" +
"</tr>\n" +
"<tr>\n" +
"\n" +
"<td><p> r3c2 </p></td>\n" +
"\n" +
"<td><p>r3c4</p></td>\n" +
"\n" +
"\n" +
"</tr>\n" +
"<tr>\n" +
"<td rowspan='3'><p> r4c1 </p></td>\n" +
"<td><p> r4c2 </p></td>\n" +
"<td rowspan='3'><p> r4c3 </p></td>\n" +
"<td><p> r4c4 </p></td>\n" +
"<td rowspan='3'><p> r4c5 </p></td>\n" +
"<td rowspan='3'><p> r4c6 </p></td>\n" +
"</tr>\n" +
"<tr>\n" +
"\n" +
"<td><p> r2c2 </p></td>\n" +
"\n" +
"<td><p> r2c4 </p></td>\n" +
"\n" +
"\n" +
"</tr>\n" +
"<tr>\n" +
"\n" +
"<td><p> r3c2 </p></td>\n" +
"\n" +
"<td><p>r3c4</p></td>\n" +
"\n" +
"\n" +
"</tr>\n" +
"</table>\n";
Page page = new Page(null);
page.setOriginalText(input);
tester.convert(page);
actual = page.getConvertedText();
assertNotNull(actual);
assertEquals(expected, actual);
}