diff options
Diffstat (limited to 'src/tests/man-language-specific-requests')
-rwxr-xr-x | src/tests/man-language-specific-requests | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/tests/man-language-specific-requests b/src/tests/man-language-specific-requests new file mode 100755 index 0000000..5051d50 --- /dev/null +++ b/src/tests/man-language-specific-requests @@ -0,0 +1,65 @@ +#! /bin/sh + +# Test additional language-specific requests for localized man pages. + +: "${srcdir=.}" +# shellcheck source-path=SCRIPTDIR +. "$srcdir/testlib.sh" + +: "${MAN=man}" + +init +fake_config /usr/share/man +MANPATH="$tmpdir/usr/share/man" +export MANPATH + +cat >"$tmpdir/fake-program" <<EOF +#! /bin/sh +exec cat +EOF +chmod +x "$tmpdir/fake-program" +PATH="$abstmpdir:$PATH" +export PATH + +cat >>"$tmpdir/manpath.config" <<EOF +DEFINE tbl fake-program +DEFINE nroff fake-program +EOF + +write_page test 1 "$tmpdir/usr/share/man/man1/test.1" \ + UTF-8 '' '' 'test \- top-level test page' + +write_page test 1 "$tmpdir/usr/share/man/xyzzy/man1/test.1" \ + UTF-8 '' '' 'test \- xyzzy language page for test' + +write_page xyz 1 "$tmpdir/usr/share/man/man1/xyz.1" \ + UTF-8 '' '' 'test \- top-level xyz page' + +: >"$tmpdir/1.exp" +# shellcheck disable=SC2154 +if [ "$troff_is_groff" = yes ]; then + cat >>"$tmpdir/1.exp" <<'EOF' +. mso xyzzy.tmac +.hla xyzzy +EOF +fi +cat >>"$tmpdir/1.exp" <<'EOF' +test \- xyzzy language page for test +EOF + +cat >"$tmpdir/2.exp" <<'EOF' +.TH xyz 1 +test \- top-level xyz page +EOF + +run $MAN -L xyzzy_foo.bar -C "$tmpdir/manpath.config" test |\ + grep 'xyzzy' >"$tmpdir/1.out" +expect_files_equal 'language-specific requests for localized man page' \ + "$tmpdir/1.exp" "$tmpdir/1.out" + +run $MAN -L xyzzy_foo.bar -C "$tmpdir/manpath.config" xyz |\ + grep 'xyz' >"$tmpdir/2.out" +expect_files_equal 'no language-specific requests for top-level man page' \ + "$tmpdir/2.exp" "$tmpdir/2.out" + +finish |