#!/bin/bash # Bash needed for the character encodings below. # # Run checks for ./isutf8. # # Lars Wirzenius failed=0 check() { printf "$2" | ./isutf8 -q ret=$? if [ $ret != $1 ]; then echo "Failure:" echo " input: $2" echo " expected: $1" echo " got: $ret" failed=1 fi printf "$2" > check-isutf8.tmp.$$ ./isutf8 -q check-isutf8.tmp.$$ ret=$? rm -f check-isutf8.tmp.$$ if [ $ret != $1 ]; then echo "Failure (from file):" echo " input: $2" echo " expected: $1" echo " got: $ret" failed=1 fi } check 0 '' check 0 'a' check 0 'ab' check 0 '\xc2\xa9' check 1 '\xc2' check 1 '\xc2\x20' check 1 '\x20\xc2' check 1 '\300\200' check 1 '\xed\xa0\x88\xed\xbd\x85' # UTF-16 surrogates check 1 '\xef\xbf\xbe' # 0xFFFE check 1 '\xef\xbf\xbf' # 0xFFFF exit $failed