URI: 
       improve some coverage and add URLs (adapted from sfeed tests) - webdump_tests - Testfiles for webdump
  HTML git clone git://git.codemadness.org/webdump_tests
   DIR Log
   DIR Files
   DIR Refs
   DIR README
       ---
   DIR commit c381c812e66782d4e475a8bf6e1585457c309f33
   DIR parent e392b1c578e2c5839304e02426f393a377541fd6
  HTML Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Fri,  3 Jul 2026 13:05:07 +0200
       
       improve some coverage and add URLs (adapted from sfeed tests)
       
       Diffstat:
         M run_coverage.sh                     |      51 ++++++++++++++++++++++---------
         A tests/urls.html                     |      65 +++++++++++++++++++++++++++++++
       
       2 files changed, 101 insertions(+), 15 deletions(-)
       ---
   DIR diff --git a/run_coverage.sh b/run_coverage.sh
       @@ -2,22 +2,43 @@
        bin="$HOME/p/webdump/webdump"
        
        # must be an absolute URI
       -echo | "$bin" -b invalid
       +echo | "$bin" -b invalid 2>/dev/null
       +
       +# invalid option
       +echo | "$bin" -X 2>/dev/null
       +
       +baseurl="http://example.com"
        
        for f in realworld/* tests/*; do
                "$bin" -r < "$f" || exit $?
       -        "$bin" -b 'http://example.com' -r < "$f" || exit $?
       -        "$bin" -l -i -b 'http://example.com' -r < "$f" || exit $?
       -        "$bin" -a -l -i -b 'http://example.com' -r < "$f" || exit $?
       -        "$bin" -a -l -i -b 'http://example.com' < "$f" || exit $?
       -        "$bin" -a -I -l -i -b 'http://example.com' < "$f" || exit $?
       -        "$bin" -8 -a -I -l -i -b 'http://example.com' < "$f" || exit $?
       -        "$bin" -8 -d -a -I -l -i -b 'http://example.com' < "$f" || exit $?
       -
       -        "$bin" -s 'main' -a -l -i -b 'http://example.com' < "$f" || exit $?
       -        "$bin" -s 'main.class' -a -l -i -b 'http://example.com' < "$f" || exit $?
       -        "$bin" -s 'main#id' -a -l -i -b 'http://example.com' < "$f" || exit $?
       -        "$bin" -s 'main@1' -a -l -i -b 'http://example.com' < "$f" || exit $?
       -        "$bin" -s 'a, td' -a -l -i -b 'http://example.com' < "$f" || exit $?
       -        "$bin" -s 'a,td' -a -l -i -b 'http://example.com' < "$f" || exit $?
       +        "$bin" -b "$baseurl" -r < "$f" || exit $?
       +        "$bin" -l -i -b "$baseurl" -r < "$f" || exit $?
       +        "$bin" -a -l -i -b "$baseurl" -r < "$f" || exit $?
       +        "$bin" -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -a -I -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -8 -a -I -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -8 -d -a -I -l -i -b "$baseurl" < "$f" || exit $?
       +
       +        # very short linewrap
       +        "$bin" -w 10 -r < "$f" || exit $?
       +
       +        # selectors
       +        "$bin" -s 'main' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -s 'main.class' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -s 'main#id' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -s 'main@1' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -s 'a, td' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -s 'a,td' -a -l -i -b "$baseurl" < "$f" || exit $?
       +
       +        "$bin" -u 'main' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -u 'main.class' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -u 'main#id' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -u 'main@1' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -u 'a, td' -a -l -i -b "$baseurl" < "$f" || exit $?
       +        "$bin" -u 'a,td' -a -l -i -b "$baseurl" < "$f" || exit $?
       +
       +        # -x
       +        "$bin" -8 -d -a -I -l -i -x < "$f" || exit $?
       +        "$bin" -8 -d -a -I -l -i -x -b "$baseurl" < "$f" || exit $?
       +        "$bin" -x -s 'main' -a -l -i -b "$baseurl" < "$f" || exit $?
        done
   DIR diff --git a/tests/urls.html b/tests/urls.html
       @@ -0,0 +1,65 @@
       +<a href=""></a><br/>
       +<a href="a">a</a><br/>
       +<a href="a/">a/</a><br/>
       +<a href="a/b">a/b</a><br/>
       +<a href="a/b/">a/b/</a><br/>
       +<a href="a/b/c.html">a/b/c.html</a><br/>
       +<a href="/">/</a><br/>
       +<a href="//">//</a><br/>
       +<a href="///">///</a><br/>
       +<a href="?">?</a><br/>
       +<a href="#">#</a><br/>
       +<a href="http://host">http://host</a><br/>
       +<a href="http://host:69">http://host:69</a><br/>
       +<a href="http://host:69/">http://host:69/</a><br/>
       +<a href="http://host:">http://host:</a><br/>
       +<a href="http://host:/">http://host:/</a><br/>
       +<a href="http://[2001:db8:85a3:0:0:8a2e:370:7334]">http://[2001:db8:85a3:0:0:8a2e:370:7334]</a><br/>
       +<a href="http://[2001:db8:85a3:0:0:8a2e:370:7334]:6969">http://[2001:db8:85a3:0:0:8a2e:370:7334]:6969</a><br/>
       +<a href="http://[::]">http://[::]</a><br/>
       +<a href="http://[xx]">http://[xx]</a><br/>
       +<a href="http://[:]">http://[:]</a><br/>
       +<a href="http://[]">http://[]</a><br/>
       +<a href="http://[x]">http://[x]</a><br/>
       +<a href="http:///path">http:///path</a><br/>
       +<a href="http://host:6969/path">http://host:6969/path</a><br/>
       +<a href="HTTP://HOST/PATH">HTTP://HOST/PATH</a><br/>
       +<a href="HTTP://HOST/PATH/../PATH2/./PATH3/.../PATH4?q=../#abc/../def">HTTP://HOST/PATH/../PATH2/./PATH3/.../PATH4?q=../#abc/../def</a><br/>
       +<a href="ftp://[someone]@[::]?q=@#frag">ftp://[someone]@[::]?q=@#frag</a><br/>
       +<a href="ftp://user:password@[2001:db8::7]:2121/rfc/rfc1808.txt?q=bla#abc@def">ftp://user:password@[2001:db8::7]:2121/rfc/rfc1808.txt?q=bla#abc@def</a><br/>
       +<a href="mailto:sfeed-tests@codemadness.org">mailto:sfeed-tests@codemadness.org</a><br/>
       +<a href="mailto:sfeed-tests@codemadness.org?subject=hello">mailto:sfeed-tests@codemadness.org?subject=hello</a><br/>
       +<a href="tel:06123456789">tel:06123456789</a><br/>
       +<a href="tel:+1-201-555-0123">tel:+1-201-555-0123</a><br/>
       +<a href="tel:7042;phone-context=example.com">tel:7042;phone-context=example.com</a><br/>
       +<a href="nonsense:">nonsense:</a><br/>
       +<a href="tel:863-1234;phone-context=+1-914-555">tel:863-1234;phone-context=+1-914-555</a><br/>
       +<a href="urn:isbn:0-486-27557-4">urn:isbn:0-486-27557-4</a><br/>
       +<a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAPCAQAAACcwS2GAAAAqElEQVQY02XMIQ6CYADF8T+fzk03g9liIFE8AyewcAG9A5lAZlM2I56AjXkCyB6A9IIbdAJNw2eQKc6X3n7be4AAzXTUgm8iFOqhMBqBp0ZWjbwB5SiTlZVVJgcmEVufiDkAG26ru6MlV/zPbcnOEIwAfAL+42jP5UcOhpxyBCW5oSemG6AjdnsDVBQDFVRgAEtCC7QkrgXjAtSkPEndGmA6TE6sOb/rC97sOtg0idb1AAAAAElFTkSuQmCC">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAPCAQAAACcwS2GAAAAqElEQVQY02XMIQ6CYADF8T+fzk03g9liIFE8AyewcAG9A5lAZlM2I56AjXkCyB6A9IIbdAJNw2eQKc6X3n7be4AAzXTUgm8iFOqhMBqBp0ZWjbwB5SiTlZVVJgcmEVufiDkAG26ru6MlV/zPbcnOEIwAfAL+42jP5UcOhpxyBCW5oSemG6AjdnsDVBQDFVRgAEtCC7QkrgXjAtSkPEndGmA6TE6sOb/rC97sOtg0idb1AAAAAElFTkSuQmCC</a><br/>
codemadness.org:70 /git/webdump_tests/commit/c381c812e66782d4e475a8bf6e1585457c309f33.gph:121: line too long