Merge branch 'rgv151-patch-2' into devel
This commit is contained in:
commit
ec06ed6037
2 changed files with 95 additions and 49 deletions
|
|
@ -423,6 +423,7 @@ proc toHtmlTag(s: string): HtmlTag =
|
|||
of "wbr": tagWbr
|
||||
else: tagUnknown
|
||||
|
||||
|
||||
proc htmlTag*(n: XmlNode): HtmlTag =
|
||||
## gets `n`'s tag as a ``HtmlTag``.
|
||||
if n.clientData == 0:
|
||||
|
|
@ -469,7 +470,7 @@ proc untilElementEnd(x: var XmlParser, result: XmlNode,
|
|||
tagOption}:
|
||||
errors.add(expected(x, result))
|
||||
break
|
||||
of tagTd, tagTh, tagTfoot, tagThead:
|
||||
of tagTd, tagTh:
|
||||
if htmlTag(x.elemName) in {tagTr, tagTd, tagTh, tagTfoot, tagThead}:
|
||||
errors.add(expected(x, result))
|
||||
break
|
||||
|
|
|
|||
45
tests/stdlib/thtmlparser2813.nim
Normal file
45
tests/stdlib/thtmlparser2813.nim
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
discard """
|
||||
output: "@[]"
|
||||
"""
|
||||
import htmlparser
|
||||
import xmltree
|
||||
from streams import newStringStream
|
||||
|
||||
const
|
||||
html = """
|
||||
<html>
|
||||
<head>
|
||||
<title>Test</title>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><td>A</td></tr>
|
||||
<tr><td>B</td></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td></td>A<td></td></tr>
|
||||
<tr><td></td>B<td></td></tr>
|
||||
<tr><td></td>C<td></td></tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr><td>A</td></tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
"""
|
||||
var errors: seq[string] = @[]
|
||||
|
||||
let tree = parseHtml(newStringStream(html), "test.html", errors)
|
||||
|
||||
echo errors # Errors: </thead> expected,...
|
||||
|
||||
var len = tree.findAll("tr").len # len = 6
|
||||
|
||||
var rows: seq[XmlNode] = @[]
|
||||
for n in tree.findAll("table"):
|
||||
n.findAll("tr", rows) # len = 2
|
||||
break
|
||||
|
||||
assert tree.findAll("tr").len == rows.len
|
||||
Loading…
Add table
Add a link
Reference in a new issue