(root)/
man-db-2.12.0/
src/
tests/
man-language-specific-requests
#! /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