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
|
of "wbr": tagWbr
|
||||||
else: tagUnknown
|
else: tagUnknown
|
||||||
|
|
||||||
|
|
||||||
proc htmlTag*(n: XmlNode): HtmlTag =
|
proc htmlTag*(n: XmlNode): HtmlTag =
|
||||||
## gets `n`'s tag as a ``HtmlTag``.
|
## gets `n`'s tag as a ``HtmlTag``.
|
||||||
if n.clientData == 0:
|
if n.clientData == 0:
|
||||||
|
|
@ -469,7 +470,7 @@ proc untilElementEnd(x: var XmlParser, result: XmlNode,
|
||||||
tagOption}:
|
tagOption}:
|
||||||
errors.add(expected(x, result))
|
errors.add(expected(x, result))
|
||||||
break
|
break
|
||||||
of tagTd, tagTh, tagTfoot, tagThead:
|
of tagTd, tagTh:
|
||||||
if htmlTag(x.elemName) in {tagTr, tagTd, tagTh, tagTfoot, tagThead}:
|
if htmlTag(x.elemName) in {tagTr, tagTd, tagTh, tagTfoot, tagThead}:
|
||||||
errors.add(expected(x, result))
|
errors.add(expected(x, result))
|
||||||
break
|
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