mirror of https://github.com/leahneukirchen/mblaze
t: beginnings of a test suite
parent
d73a3a748a
commit
2c1ecbe4a6
@ -0,0 +1,17 @@
|
||||
#!/bin/sh -e
|
||||
cd ${0%/*}
|
||||
. ./lib.sh
|
||||
plan 4
|
||||
|
||||
cat <<EOF >tmp
|
||||
References: <aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@a> <bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@b> <ccccccccccccccccccccccccccccccc@c>
|
||||
|
||||
Body
|
||||
EOF
|
||||
|
||||
# https://github.com/chneukirchen/mblaze/issues/20
|
||||
|
||||
check 'mime -r runs' 'mmime -r <tmp >tmp2'
|
||||
check 'no overlong lines' '[ $(wc -L <tmp2) -lt 80 ]'
|
||||
check 'no QP when unecessary' ! grep -qF "=?" tmp2
|
||||
check 'no further mime necessary' 'mmime -c <tmp2'
|
@ -0,0 +1,68 @@
|
||||
#!/bin/sh -e
|
||||
cd ${0%/*}
|
||||
. ./lib.sh
|
||||
plan 11
|
||||
|
||||
rm -rf test.dir
|
||||
mkdir test.dir
|
||||
(
|
||||
cd test.dir
|
||||
|
||||
mkdir -p inbox/cur
|
||||
touch "inbox/cur/1:2,S"
|
||||
touch "inbox/cur/2:2,ST"
|
||||
touch "inbox/cur/3:2,SRT"
|
||||
touch "inbox/cur/4:2,SRFT"
|
||||
touch "inbox/cur/5:2,T"
|
||||
touch "inbox/cur/6:2,SRF"
|
||||
touch "inbox/cur/7:2,SR"
|
||||
touch "inbox/cur/8:2,SF"
|
||||
touch "inbox/cur/9:2,"
|
||||
|
||||
check_same 'flag trashed' 'mlist inbox | mpick :T' 'mlist -T inbox'
|
||||
check_same 'flag not trashed' 'mlist inbox | mpick -t "!trashed"' 'mlist -t inbox'
|
||||
check_same 'flag seen' 'mlist inbox | mpick :S' 'mlist -S inbox'
|
||||
check_same 'flag not seen' 'mlist inbox | mpick -t !seen' 'mlist -s inbox'
|
||||
check_same 'flag seen and trashed' 'mlist inbox | mpick :S :T' 'mlist -ST inbox'
|
||||
check_same 'flag seen and not trashed' 'mlist inbox | mpick -t "seen && !trashed"' 'mlist -St inbox'
|
||||
# check_same 'flag replied' 'mlist inbox | mpick :R' 'mlist -R inbox'
|
||||
check_same 'flag forwarded' 'mlist inbox | mpick :F' 'mlist -F inbox'
|
||||
|
||||
|
||||
cat <<! | mmime >"inbox/cur/1:2,S"
|
||||
From: Peter Example <peter@example.org>
|
||||
Subject: Hey whats up?
|
||||
Date: Thu, 30 Mar 2017 15:41:17 +0200
|
||||
Message-Id: <EOH1EP40II.28EN1IMPMSUVS@example.org>
|
||||
|
||||
Greetings
|
||||
!
|
||||
|
||||
cat <<! | mmime >"inbox/cur/9:2,"
|
||||
From: Peter Example <peter@example.org>
|
||||
Subject: wow nice subject
|
||||
Date: Thu, 30 Mar 2017 15:42:00 +0200
|
||||
Message-Id: <EOH1EWLI6M.3AIXSIEV1VFBQ@example.org>
|
||||
|
||||
shit happens
|
||||
!
|
||||
|
||||
cat <<! | mmime >"inbox/cur/5:2,T"
|
||||
From: Obvious spam <script@kiddy.com>
|
||||
Subject: look at this awesome pdf
|
||||
Date: Thu, 30 Mar 2017 15:42:05 +0200
|
||||
Message-Id: <EOH1F3NUOY.2KBVMHSBFATNY@example.org>
|
||||
|
||||
Check my resume!
|
||||
|
||||
Greetings
|
||||
|
||||
#application/pdf ../../mshow
|
||||
!
|
||||
|
||||
check 'search subject' 'mlist inbox | mpick /wow | grep -q inbox/cur/9:2,'
|
||||
check 'search addr' 'mlist inbox | mpick peter@example.org | wc -l | grep -qx 2'
|
||||
check 'search name' 'mlist inbox | mpick "Peter Example" | wc -l | grep -qx 2'
|
||||
check 'search spam' 'mlist inbox | mpick -t "trashed && subject =~ \"pdf\"" | wc -l | grep -qx 1'
|
||||
|
||||
)
|
@ -0,0 +1,24 @@
|
||||
plan() {
|
||||
printf '1..%d\n' "$1"
|
||||
}
|
||||
|
||||
check() {
|
||||
msg=$1
|
||||
shift
|
||||
if eval "$@" 2>/dev/null 1>&2; then
|
||||
printf 'ok - %s\n' "$msg"
|
||||
else
|
||||
printf 'not ok - %s\n' "$msg"
|
||||
false
|
||||
fi
|
||||
true
|
||||
}
|
||||
|
||||
check_same() {
|
||||
msg=$1
|
||||
shift
|
||||
eval "$1" 2>/dev/null 1>&2 >out1 || true
|
||||
eval "$2" 2>/dev/null 1>&2 >out2 || true
|
||||
diff -u out1 out2 || true
|
||||
check "$msg" cmp out1 out2
|
||||
}
|
Loading…
Reference in New Issue