#!/bin/sh ###################################################### # # Test that whatnow's "ls" copes with directory names # which have spaces in them (see bug #23319) # ###################################################### 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 # Set TERM to get consistent output. TERM=dumb; export TERM cd "$MH_TEST_DIR" testname="baz's boz" testname_quoted="baz\'s\ boz" touch "$testname" # whatnow's attach stuff needs a draft to work on cp "$MH_TEST_DIR/Mail/inbox/1" "$MH_TEST_DIR/Mail/draft" expectederr=$MH_TEST_DIR/$$.expectederr actualerr=$MH_TEST_DIR/$$.actualerr expected=$MH_TEST_DIR/$$.expected actual=$MH_TEST_DIR/$$.actual rm -f $expected $expectederr $actual $actualerr touch $expected $expectederr $actual $actualerr # # Sigh. Different readline versions change echoing behavior, so we need # to deal. # set +e whatnowtest=`echo cd | whatnow -prompt ''` set -e case ${whatnowtest} in cd) cat >"$expected" <"$expected" <>$actualerr >>$actual echo "alist" | \ run_prog whatnow -attach foo -noedit -prompt '' 2>>$actualerr >>$actual echo "detach $testname_quoted" | \ run_prog whatnow -attach foo -noedit -prompt '' 2>>$actualerr >>$actual echo "alist" | \ run_prog whatnow -attach foo -noedit -prompt '' 2>>$actualerr >>$actual set -e check "$expectederr" "$actualerr" check "$expected" "$actual" if [ "$readline" = 0 ]; then cat >"$expected" < [context]{attachment} ${MH_TEST_DIR}/Mail/context What now? whatnow: ingoring invalid attachformat value of 3 #text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context What now? #text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context What now? #text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context What now? #text/plain; name="context"; x-unix-mode=0600 [ ASCII text ] ${MH_TEST_DIR}/Mail/context What now? EOF else cat >"$expected" < [context]{attachment} ${MH_TEST_DIR}/Mail/context What now? at -v -a 3 Mail/context whatnow: ingoring invalid attachformat value of 3 #text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context What now? at -v Mail/context #text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context What now? at -v -a 1 Mail/context #text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context What now? at -v -a 0 Mail/context #text/plain; name="context"; x-unix-mode=0600 [ ASCII text ] ${MH_TEST_DIR}/Mail/context What now? quit -delete EOF fi # Don't depend on the mode of Mail/context: chmod 0600 ${MH_TEST_DIR}/Mail/context if [ "$readline" = 0 ]; then #### Ensure that there will be a newline at the end whatnow's output. whatnowtest () { whatnow; echo } else whatnowtest () { whatnow } fi set +e printf '%s\n' \ 'at' \ 'at -v' \ 'at -v -a' \ 'at -v -a 0' \ 'at -a' \ 'at -a -v' \ 'at -a 0 -v' \ 'at -a 0 Mail/context' \ 'at -v -a Mail/context' \ 'at -v -a 3 Mail/context' \ 'at -v Mail/context' \ 'at -v -a 1 Mail/context' \ 'at -v -a 0 Mail/context' \ 'quit -delete' | whatnowtest 2>&1 | \ sed -e 's/; charset=us-ascii//' -e 's/ *ASCII text/ ASCII text/' \ -e 's/ *ascii text/ ASCII text/' >"$actual" set -e check "$expected" "$actual" test ${failed:-0} -eq 0 && rm "$testname" exit $failed