X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=test%2Ftests%2Fnew%2Ftest-basic;fp=test%2Ftests%2Fnew%2Ftest-basic;h=772b72f4b4c88349e14333dec74b39f45e1e7b90;hb=788c353a8bee07520ae1a1de6fb7bdcdf1f4f1c7;hp=0000000000000000000000000000000000000000;hpb=d6ed7408ae67cf31b31a8c42515a160f7dc6330a;p=mmh diff --git a/test/tests/new/test-basic b/test/tests/new/test-basic new file mode 100644 index 0000000..772b72f --- /dev/null +++ b/test/tests/new/test-basic @@ -0,0 +1,164 @@ +#!/bin/sh + +# TODO: Move to a common file tests can source; need more framework... +failed=0 +check() { + diff -u $expected $actual + if [ $? -ne 0 ]; then + failed=$((failed + 1)) + fi +} + +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 +check + +# test with no desired messages +cat > $expected < $actual 2>&1 +check +new -folders $folders aseq > $actual 2>&1 +check + +# test fnext/fprev with no desired messages +cat /dev/null > $expected +fnext aseq > $actual 2>&1 +check +fprev aseq > $actual 2>&1 +check + +# 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 +cat > $expected < $actual 2>&1 +check + +# test with .folders +cat > $expected < $actual 2>&1 +check + +# 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 +cat > $expected < $actual 2>&1 +check + +# set aseq bseq as unseen +echo 'Unseen-Sequence: aseq bseq' >> $MH +new > $actual 2>&1 +check + +# 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 +unseen > $actual 2>&1 +check + +# 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 +fnext -folders $folders > $actual 2>&1 +check + +# 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 +fprev -folders $folders > $actual 2>&1 +check + +# 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 +fnext > $actual 2>&1 +check + +# 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 +fprev > $actual 2>&1 +check + +# 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 +fprev > $actual 2>&1 +check + +# 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 +fnext > $actual 2>&1 +check + +# test fnext with no current folder +rm $MH_TEST_DIR/Mail/context +echo 'foo1 1 3-4' > $expected +fnext > $actual 2>&1 +check + +# test fnext with only one folder in the list +cat > $folders < $expected +fnext -folders $folders > $actual 2>&1 +check + +exit $failed