]>
diplodocus.org Git - nmh/blob - test/sequences/test-mark
2 ######################################################
6 ######################################################
10 if test -z "${MH_OBJ_DIR}"; then
11 srcdir
=`dirname $0`/..
/..
12 MH_OBJ_DIR
=`cd $srcdir && pwd`; export MH_OBJ_DIR
15 .
"$MH_OBJ_DIR/test/common.sh"
19 # Test sequence creation.
20 run_test
'mark 1 3 5 7 +inbox -sequence odd' ''
21 run_test
'mark 2 4 6 8 10 +inbox -sequence even' ''
22 run_test
'mark +inbox -seq odd -seq even -list' \
27 run_test
'mark 9 -sequence odd -add -nozero' ''
28 run_test
'mark -seq odd -list' 'odd: 1 3 5 7 9'
31 run_test
'mark 9 -sequence odd -delete' ''
32 run_test
'mark -seq odd -list' 'odd: 1 3 5 7'
34 # Test that -nozero is default
35 run_test
'mark 9 -sequence odd -add' ''
36 run_test
'mark -seq odd -list' 'odd: 1 3 5 7 9'
39 run_test
'mark 10 -s even -add -zero' ''
40 run_test
'mark -s even -list' 'even: 10'
42 # Test add prior to last message;
43 run_test
'mark 8 -s even -add' ''
44 run_test
'mark -s even -list' 'even: 8 10'
47 run_test
'mark -s odd -list' 'odd: 1 3 5 7 9'
49 # Try to mark message that doesn't exist.
50 run_test
'mark 12' "mark: message 12 doesn't exist"
52 # Try to mark nonexistent folder.
53 run_test
'mark +nonexistent' \
54 "mark: unable to change directory to `mhpath +`/nonexistent: \
55 No such file or directory"
58 # Set current message for following tests.
59 folder
+inbox
5 >/dev
/null
60 run_test
'mark -s foo -zero cur' ''
61 run_test
'mark -s foo -list' 'foo: 5'
62 run_test
'mark -s foo -zero 5:-3' ''
63 run_test
'mark -s foo -list' 'foo: 3-5'
64 run_test
'mark -s foo -zero 5:2' ''
65 run_test
'mark -s foo -list' 'foo: 5-6'
66 run_test
'mark -s foo -zero 5=1' ''
67 run_test
'mark -s foo -list' 'foo: 5'
68 run_test
'mark -s foo -zero 5=-2' ''
69 run_test
'mark -s foo -list' 'foo: 4'
70 run_test
'mark -s foo -zero 5=7' 'mark: no such message'
72 run_test
'mark -s onesix -zero 1 2 3 4 5 6'
73 run_test
'mark -s onesix -list' 'onesix: 1-6'
74 run_test
'mark -s foo -zero onesix:2'
75 run_test
'mark -s foo -list' 'foo: 1-2'
76 run_test
'mark -s foo -zero onesix=3'
77 run_test
'mark -s foo -list' 'foo: 3'
78 run_test
'mark -s foo -zero onesix:-3'
79 run_test
'mark -s foo -list' 'foo: 4-6'
80 run_test
'mark -s foo -zero onesix=-3'
81 run_test
'mark -s foo -list' 'foo: 4'
82 run_test
'mark -s foo -zero onesix:8'
83 run_test
'mark -s foo -list' 'foo: 1-6'
84 run_test
'mark -s foo -zero onesix=11' 'mark: no onesix=11 message'
86 run_test
'mark -s foo -delete all' ''
87 run_test
'mark -s onesix -delete all' ''
90 # Test private sequence creation.
91 # Set current message for following tests.
92 folder
+inbox
1 >/dev
/null
93 run_test
'mark 1 -sequence privateseq -add -nopublic' ''
94 run_test
'mark -list' 'cur: 1
97 privateseq (private): 1'
99 # Test add to private sequence.
100 run_test
'mark 2 -sequence privateseq -add -nopublic' ''
101 run_test
'mark -list' 'cur: 1
104 privateseq (private): 1-2'
106 # Test private sequence list.
107 run_test
'mark -sequence privateseq -list' 'privateseq (private): 1-2'
109 # Test private sequence list with -public, which is apparently ignored.
110 run_test
'mark -sequence privateseq -list -public' 'privateseq (private): 1-2'
112 # Test mark on empty folder.
113 folder
-create +other
>/dev
/null
114 run_test
'mark +other -sequence unseen all' 'mark: no messages in other'
116 # Test removal of indication of cur message.
117 mark
+inbox
-sequence cur
-delete all
118 run_test
'pick -nolist cur' 'pick: no cur message'
120 # Check large number of sequences.
121 for i
in 1 2 3 4 5; do
122 for j
in 0 1 2 3 4 5 6 7 8 9; do
123 run_prog mark
$i -seq seq$i${j}0 -seq seq$i${j}1 -seq seq$i${j}2 \
124 -seq seq$i${j}3 -seq seq$i${j}4 -seq seq$i${j}5 \
125 -seq seq$i${j}6 -seq seq$i${j}7 -seq seq$i${j}8 \
127 run_test
"pick seq$i${j}0 seq$i${j}1 seq$i${j}2 seq$i${j}3 seq$i${j}4 \
128 seq$i${j}5 seq$i${j}6 seq$i${j}7 seq$i${j}8 seq$i${j}9" $i