#!/bin/sh # # Test that we can retrieve the local username via the passwd file, # the Signature profile entry, and via SIGNATURE environment variable. # set -e if test -z "${MH_OBJ_DIR}"; then srcdir=`dirname "$0"`/../.. MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR fi . "$MH_OBJ_DIR/test/common.sh" setup_test unset SIGNATURE fullname=`${MH_OBJ_DIR}/test/getfullname` run_test "${MH_LIB_DIR}/ap -format %(myname) ignore" \ "$fullname" "GECOS field test" echo "Signature: Some Random Name 1" >> ${MH} run_test "${MH_LIB_DIR}/ap -format %(myname) ignore" \ "Some Random Name 1" "MH Profile Signature test" SIGNATURE="Some Random Name 2" export SIGNATURE run_test "${MH_LIB_DIR}/ap -format %(myname) ignore" \ "${SIGNATURE}" "SIGNATURE Environment test" #### Test escaping of display names. escape="${MH_OBJ_DIR}/test/getfullname" run_test "$escape "'user' 'user' 'no escape' run_test "$escape "'first.last' '"first.last"' 'escape' run_test "$escape "'"first.last"' '"first.last"' 'already escaped' run_test "$escape "'first.last"' '"first.last"' 'missing initial "' run_test "$escape "'"first.last' '"first.last"' 'missing final "' run_test "$escape "'embedded"quote' '"embedded\"quote"' 'embedded quote' run_test "$escape "'server\name,#' '"server\name"' 'Windows form' run_test "$escape "'"' '"\""' 'special "' run_test "$escape "'(' '"("' 'special (' run_test "$escape "')' '")"' 'special )' #### We stop at the first comma so this one gets eliminated: run_test "$escape "',' '' 'special ,' run_test "$escape "'.' '"."' 'special .' run_test "$escape "':' '":"' 'special :' run_test "$escape "';' '";"' 'special ;' run_test "$escape "'<' '"<"' 'special <' run_test "$escape "'>' '">"' 'special >' run_test "$escape "'@' '"@"' 'special @' run_test "$escape "'[' '"["' 'special [' run_test "$escape "'\\' '"\\"' 'special \\' run_test "$escape "']' '"]"' 'special ]' exit $failed