#!/bin/sh ###################################################### # # Test many basic nmh capabilities. # ###################################################### 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 folders=$MH_TEST_DIR/Mail/.folders expected=$MH_TEST_DIR/$$.expected actual=$MH_TEST_DIR/$$.actual # make second folder cp -r $MH_TEST_DIR/Mail/inbox $MH_TEST_DIR/Mail/foo1 cp -r $MH_TEST_DIR/Mail/inbox $MH_TEST_DIR/Mail/foo2 # but only list inbox and foo2 in .folders, and sorted differently cat > $folders < $expected < $actual 2>&1 || true check $expected $actual # test with no desired messages start_test 'test with no desired messages' cat > $expected < $actual 2>&1 check $expected $actual 'keep first' run_prog new -folders $folders aseq > $actual 2>&1 check $expected $actual # test fnext/fprev with no desired messages start_test 'test fnext/fprev with no desired messages' cat /dev/null > $expected run_prog fnext aseq > $actual 2>&1 check $expected $actual 'keep first' run_prog fprev aseq > $actual 2>&1 check $expected $actual # add 1 desired message in each folder echo 'aseq: 1' > $MH_TEST_DIR/Mail/inbox/.mh_sequences echo 'aseq: 1' > $MH_TEST_DIR/Mail/foo1/.mh_sequences echo 'aseq: 1' > $MH_TEST_DIR/Mail/foo2/.mh_sequences # test with all folders start_test 'test with all folders' cat > $expected < $actual 2>&1 check $expected $actual # test with .folders start_test 'test with .folders' cat > $expected < $actual 2>&1 check $expected $actual # add 2 desired messages to another sequence in each folder echo 'bseq: 3-4' >> $MH_TEST_DIR/Mail/inbox/.mh_sequences echo 'bseq: 3-4' >> $MH_TEST_DIR/Mail/foo1/.mh_sequences echo 'bseq: 3-4' >> $MH_TEST_DIR/Mail/foo2/.mh_sequences # test listing aseq and bseq start_test 'test listing aseq and bseq' cat > $expected < $actual 2>&1 check $expected $actual 'keep first' # set aseq bseq as unseen echo 'Unseen-Sequence: aseq bseq' >> $MH run_prog new > $actual 2>&1 check $expected $actual # test unseen start_test 'test unseen' cat > $expected <> 3 09/29 Test3 Testing message 3<> 4 09/29 Test4 Testing message 4<> 3 aseq bseq messages in foo2 1 09/29 Test1 Testing message 1<> 3 09/29 Test3 Testing message 3<> 4 09/29 Test4 Testing message 4<> 3 aseq bseq messages in inbox (*: current folder) 1 09/29 Test1 Testing message 1<> 3 09/29 Test3 Testing message 3<> 4 09/29 Test4 Testing message 4<> EOF run_prog unseen > $actual 2>&1 check $expected $actual # test fnext with the current folder not in the list start_test 'test fnext with the current folder not in the list' echo 'Current-Folder: foo1' > $MH_TEST_DIR/Mail/context echo 'inbox 1 3-4' > $expected run_prog fnext -folders $folders > $actual 2>&1 check $expected $actual # test fprev with the current folder not in the list start_test 'test fprev with the current folder not in the list' echo 'Current-Folder: foo1' > $MH_TEST_DIR/Mail/context echo 'inbox 1 3-4' > $expected run_prog fprev -folders $folders > $actual 2>&1 check $expected $actual # test fnext with current folder in the middle of the list start_test 'test fnext with current folder in the middle of the list' echo 'Current-Folder: foo2' > $MH_TEST_DIR/Mail/context echo 'inbox 1 3-4' > $expected run_prog fnext > $actual 2>&1 check $expected $actual # test fprev with current folder in the middle of the list start_test 'test fprev with current folder in the middle of the list' echo 'Current-Folder: foo2' > $MH_TEST_DIR/Mail/context echo 'foo1 1 3-4' > $expected run_prog fprev > $actual 2>&1 check $expected $actual # test fprev with current folder at the beginning of the list start_test 'test fprev with current folder at the beginning of the list' echo 'Current-Folder: foo1' > $MH_TEST_DIR/Mail/context echo 'inbox 1 3-4' > $expected run_prog fprev > $actual 2>&1 check $expected $actual # test fnext with current folder at the end of the list start_test 'test fnext with current folder at the end of the list' echo 'Current-Folder: inbox' > $MH_TEST_DIR/Mail/context echo 'foo1 1 3-4' > $expected run_prog fnext > $actual 2>&1 check $expected $actual # test fnext with no current folder start_test 'test fnext with no current folder' rm $MH_TEST_DIR/Mail/context echo 'foo1 1 3-4' > $expected run_prog fnext > $actual 2>&1 check $expected $actual # test fnext with only one folder in the list start_test 'test fnext with only one folder in the list' cat > $folders < $expected run_prog fnext -folders $folders > $actual 2>&1 check $expected $actual finish_test exit $failed