blob: 79649481c67e9dcb6dabc5aa965e3d3084139e89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#! /bin/sh
# This test script validates all *.html files as XHTML.
set -eu
e=0
fail=
IFS=$(printf '\n\t')
# smoke test validator for XHTML 1.0 Transitional, and skip if it fails
cat - <<'_EOF' | xmllint 2>/dev/null --nonet --postvalid --noout - || exit 77
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title /></head><body></body></html>
_EOF
# ditto for XHTML 1.1 (asciidoc generates that)
cat - <<'_EOF' | xmllint 2>/dev/null --nonet --postvalid --noout - || exit 77
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title /></head><body><p></p></body></html>
_EOF
for i in "${srcdir}"/*.html ; do
case "$i" in
*/fetchmail-man.html) continue ;;
# */Mailbox-Names-UTF7.html) continue ;;
esac
xmllint --postvalid --noout "$i" || { e=1 ; fail="$i${fail:+" "}$fail" ; }
done
if [ $e != 0 ] ; then
echo >&2 ">>>>> Invalid XHTML in files: ${fail}."
fi
exit $e
|