summaryrefslogtreecommitdiffstats
path: root/src/tests/manconv-coding-tags
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/manconv-coding-tags')
-rwxr-xr-xsrc/tests/manconv-coding-tags62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/tests/manconv-coding-tags b/src/tests/manconv-coding-tags
new file mode 100755
index 0000000..7e75307
--- /dev/null
+++ b/src/tests/manconv-coding-tags
@@ -0,0 +1,62 @@
+#! /bin/sh
+
+# Test manconv's support for Emacs-style coding: tags.
+
+: "${srcdir=.}"
+# shellcheck source-path=SCRIPTDIR
+. "$srcdir/testlib.sh"
+
+: "${MANCONV=manconv}"
+
+init
+
+cat >"$tmpdir/1.exp" <<'EOF'
+'\" -*- coding: UTF-8
+EOF
+cat >"$tmpdir/1.inp" <<'EOF'
+'\" -*- coding: ISO-8859-1
+EOF
+<"$tmpdir/1.exp" tail -n +2 | iconv -f UTF-8 -t ISO-8859-1 >>"$tmpdir/1.inp"
+run $MANCONV -f UTF-8 -t UTF-8 <"$tmpdir/1.inp" >"$tmpdir/1.out"
+expect_files_equal 'simple coding tag' "$tmpdir/1.exp" "$tmpdir/1.out"
+
+cat >"$tmpdir/2.exp" <<'EOF'
+'\" -*- mode: troff; coding: UTF-8 -*-
+EOF
+cat >"$tmpdir/2.inp" <<'EOF'
+'\" -*- mode: troff; coding: ISO-8859-1 -*-
+EOF
+<"$tmpdir/2.exp" tail -n +2 | iconv -f UTF-8 -t ISO-8859-1 >>"$tmpdir/2.inp"
+run $MANCONV -f UTF-8 -t UTF-8 <"$tmpdir/2.inp" >"$tmpdir/2.out"
+expect_files_equal 'mode and coding tags' "$tmpdir/2.exp" "$tmpdir/2.out"
+
+cat >"$tmpdir/3.exp" <<'EOF'
+'\" -*- mode: troff; coding: UTF-8 -*-
+EOF
+cat >"$tmpdir/3.inp" <<'EOF'
+'\" -*- mode: troff; coding: ISO-LATIN-1 -*-
+EOF
+<"$tmpdir/3.exp" tail -n +2 | iconv -f UTF-8 -t ISO-8859-1 >>"$tmpdir/3.inp"
+run $MANCONV -f UTF-8 -t UTF-8 <"$tmpdir/3.inp" >"$tmpdir/3.out"
+expect_files_equal 'iso-latin-1 coding alias' "$tmpdir/3.exp" "$tmpdir/3.out"
+
+cat >"$tmpdir/4.inp" <<'EOF'
+'\" -*- nroff -*-
+EOF
+run $MANCONV -f UTF-8 -t UTF-8 <"$tmpdir/4.inp" >"$tmpdir/4.out"
+expect_files_equal 'preprocessor comment but no coding tag' \
+ "$tmpdir/4.inp" "$tmpdir/4.out"
+
+cat >"$tmpdir/5.exp" <<'EOF'
+'\" -*- coding: utf-8
+EOF
+cp "$tmpdir/5.exp" "$tmpdir/5.inp"
+run $MANCONV -f UTF-8 -t UTF-8 <"$tmpdir/5.inp" >"$tmpdir/5.out"
+expect_files_equal 'coding tag matches target encoding' \
+ "$tmpdir/5.inp" "$tmpdir/5.out"
+
+finish