Files
mosh/src/tests/unicode-later-combining.test
T
2018-08-29 22:44:04 -04:00

63 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
#
# This test is for the first Unicode issue described on the Mosh web
# page, a combining character drawn on a cell after returning the
# cursor to that cell.
#
# We print 'COMBINING CIRCUMFLEX ACCENT' (U+0302) onto an unused cell.
# We expect Mosh to output U+0020, U+0302 for that character cell (or
# possibly U+00A0, U+0302).
#
# XXX This test is fragile because it depends on tmux's unicode rendering.
# The baseline and variant tests produce different (but valid) outputs
# that are visually identical. The variant test is not run or validated.
#
# shellcheck source=e2e-test-subrs
. "$(dirname "$0")/e2e-test-subrs"
PATH=$PATH:.:$srcdir
# Top-level wrapper.
if [ $# -eq 0 ]; then
e2e-test "$0" baseline post
exit
fi
# OK, we have arguments, we're one of the test hooks.
if [ $# -ne 1 ]; then
fail "bad arguments %s\n" "$@"
fi
baseline()
{
printf 'abc\n\314\202\ndef\n'
}
variant()
{
printf 'abc\n \314\202\ndef\n'
}
post()
{
export LANG=C
if [ "$(tmux -V)" = "tmux 2.4" ]; then
skip "tmux 2.4 unicode combining bug breaks this test\n"
fi
if grep -q "$(printf '^\302\240\314\202$')" "$(basename "$0").d/baseline.capture"; then
exit 0
fi
exit 1
}
case $1 in
baseline)
baseline;;
variant)
variant;;
post)
post;;
*)
fail "unknown test argument %s\n" "$1";;
esac