diff options
Diffstat (limited to 'tests/stdlib/thtmlparser.nim')
-rw-r--r-- | tests/stdlib/thtmlparser.nim | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/tests/stdlib/thtmlparser.nim b/tests/stdlib/thtmlparser.nim index 0457585d0..853a1c0cc 100644 --- a/tests/stdlib/thtmlparser.nim +++ b/tests/stdlib/thtmlparser.nim @@ -1,14 +1,18 @@ discard """ + matrix: "--mm:refc; --mm:orc" + targets: "c js" output: ''' -@[] true +https://example.com/test?format=jpg&name=orig## +https://example.com/test?format=jpg&name=orig##text +https://example.com/test?format=jpg##text ''' """ import htmlparser import xmltree import strutils from streams import newStringStream - +import std/assertions block t2813: const @@ -37,14 +41,14 @@ block t2813: """ var errors: seq[string] = @[] let tree = parseHtml(newStringStream(html), "test.html", errors) - echo errors # Errors: </thead> expected,... + doAssert errors.len == 0 # 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 + doAssert tree.findAll("tr").len == rows.len block t2814: @@ -107,21 +111,21 @@ block t6154: doAssert ps[0].attrsLen == 2 doAssert ps[0].attr("class") == "foo" doAssert ps[0].attr("id") == "bar" - doassert ps[0].len == 0 + doAssert ps[0].len == 0 doAssert ps[1].attrsLen == 1 doAssert ps[1].attr("something") == "\tfoo\tbar²" - doassert ps[1].len == 0 + doAssert ps[1].len == 0 doAssert ps[2].attrsLen == 2 doAssert ps[2].attr("something") == "\tfoo\tbar²" doAssert ps[2].attr("foo") == "bloo" - doassert ps[2].len == 0 + doAssert ps[2].len == 0 doAssert ps[3].attrsLen == 2 doAssert ps[3].attr("class") == "foo2" doAssert ps[3].attr("id") == "bar2" - doassert ps[3].len == 0 + doAssert ps[3].len == 0 doAssert ps[4].attrsLen == 1 doAssert ps[4].attr("wrong") == "" @@ -130,9 +134,26 @@ block t6154: doAssert ps[5].attr("data-foo") == "" doAssert ps[5].attr("data-bar") == "correct!" doAssert ps[5].attr("enabled") == "" - doassert ps[5].len == 0 + doAssert ps[5].len == 0 doAssert ps[6].attrsLen == 2 doAssert ps[6].attr("quux") == "" doAssert ps[6].attr("whatever") == "" - doassert ps[6].len == 0 + doAssert ps[6].len == 0 + +# bug #11713, #1034 +var content = """ +# with & +<img src="https://example.com/test?format=jpg&name=orig" alt=""> +<img src="https://example.com/test?format=jpg&name=orig" alt="text"> + +# without & +<img src="https://example.com/test?format=jpg" alt="text"> +""" + +var + stream = newStringStream(content) + body = parseHtml(stream) + +for y in body.findAll("img"): + echo y.attr("src"), "##", y.attr("alt") |