#!/bin/sh

mdiff Mail
assert $? 0 "mdiff failed"

mv db.txt.new db.txt
mv db.txt.mtime.new db.txt.mtime

ls Mail/cur | head -n 2 > mails
exec 7<mails
read MAIL1 <&7
read MAIL2 <&7
exec 7<&-

rm Mail/cur/$MAIL1
mv Mail/cur/$MAIL2 Mail/cur/foo

mdiff Mail
N=`cat log.mddiff | wc -l`
assert $N 2 "too many commands: $N"
N=`cat log.mddiff | grep ^DELETE | grep $MAIL1 | wc -l`
assert $N 1 "no DELETE command for $MAIL1"
N=`cat log.mddiff | grep ^COPY | wc -l`
assert $N 0 "COPY command"
N=`cat log.mddiff | grep ^MOVE | grep $MAIL2 | wc -l`
assert $N 1 "no MOVE command for $MAIL2"
mdiff -n Mail
N=`cat log.mddiff | grep ^DELETE | wc -l`
assert $N 0 "a DELETE command: $N"
N=`cat log.mddiff | grep ^MOVE | grep $MAIL2 | wc -l`
assert $N 1 "no MOVE command for $MAIL2"
