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