Merge pull request #159 from uranusjr/table-fix
Fix rendering in table with empty cells
This commit is contained in:
commit
d01eba91d2
4 changed files with 101 additions and 1 deletions
|
@ -2225,7 +2225,15 @@ parse_table_row(
|
|||
cell_start = i;
|
||||
|
||||
len = find_emph_char(data + i, size - i, '|');
|
||||
i += len ? len : size - i;
|
||||
|
||||
/* Two possibilities for len == 0:
|
||||
1) No more pipe char found in the current line.
|
||||
2) The next pipe is right after the current one, i.e. empty cell.
|
||||
For case 1, we skip to the end of line; for case 2 we just continue.
|
||||
*/
|
||||
if (len == 0 && data[i] != '|')
|
||||
len = size - i;
|
||||
i += len;
|
||||
|
||||
cell_end = i - 1;
|
||||
|
||||
|
|
66
test/Tests/Table.html
Normal file
66
test/Tests/Table.html
Normal file
|
@ -0,0 +1,66 @@
|
|||
<h1>Standard table</h1>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>headline1</th>
|
||||
<th>headline2</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>123</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h1>Cell alignment</h1>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: left">headline1</th>
|
||||
<th style="text-align: center">headline2</th>
|
||||
<th style="text-align: right">headline3</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align: left">123</td>
|
||||
<td style="text-align: center"></td>
|
||||
<td style="text-align: right"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h1>Malformed table: missing cell at row in body</h1>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>headline1</th>
|
||||
<th>headline2</th>
|
||||
<th>headline3</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>12</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>34</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>56</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
21
test/Tests/Table.text
Normal file
21
test/Tests/Table.text
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Standard table
|
||||
|
||||
|headline1|headline2|
|
||||
|---------|---------|
|
||||
|123 | |
|
||||
|
||||
|
||||
# Cell alignment
|
||||
|
||||
|headline1|headline2|headline3|
|
||||
|:-------|:------:|------:|
|
||||
|123|||
|
||||
|
||||
|
||||
# Malformed table: missing cell at row in body
|
||||
|
||||
|headline1|headline2|headline3|
|
||||
|-------|-------|-------|
|
||||
|12
|
||||
|34||
|
||||
|56|
|
|
@ -106,6 +106,11 @@
|
|||
"input": "Tests/Underline.text",
|
||||
"output": "Tests/Underline.html",
|
||||
"flags": ["--underline"]
|
||||
},
|
||||
{
|
||||
"input": "Tests/Table.text",
|
||||
"output": "Tests/Table.html",
|
||||
"flags": ["--tables"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue