about summary refs log tree commit diff
path: root/t/3000-magrep.t
blob: 4113f50f954296055aaef8e2f9313a1d746b9a8d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/sh -e
cd ${0%/*}
. ./lib.sh
plan 9

rm -rf test.dir
mkdir test.dir
(
cd test.dir

mkdir -p "inbox/cur"

cat <<! | mmime >"inbox/cur/1:2,"
From: Piet Pompies <piet@lpompies.com>
Subject: wow nice subject
Date: Thu, 30 Mar 2017 15:42:05 +0200
Message-Id: <EOH1F3NUOY.2KBVMHSBFATNY@example.org>

shit happens
!

cat <<! | mmime >"inbox/cur/2:2,"
From: Piet Pompies <piet@pompies.com>
Subject: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Date: Thu, 30 Mar 2017 15:42:05 +0200
Message-Id: <EOH1F3NUOY.2KBVMHSBFATNY@example.org>

Greetings
!

cat <<! | mmime >"inbox/cur/3:2,"
From: Piet Pompies <piet@pompies.com>
Subject: 1 multi subject one
Subject: 2 multi subject two
Subject: 3 multi subject three
Date: Thu, 30 Mar 2017 15:42:05 +0200
Message-Id: <EOH1F3NUOY.2KBVMHSBFATNY@example.org>

!

cat <<! >seq
inbox/cur/1:2,
inbox/cur/2:2,
inbox/cur/3:2,
!

export MAILSEQ=seq

check 'subject' 'magrep subject:nice | wc -l | grep -qx 1'
check 'ignorecase' 'magrep -i subject:NICE | wc -l | grep -qx 1'
check 'invert' 'magrep -v subject:nice | wc -l | grep -qx 2'
check 'max matches' 'magrep -m 2 from:Piet | wc -l | grep -qx 2'
check 'long subject' 'magrep subject:aliqua | wc -l | grep -qx 1'

echo 'inbox/cur/1:2,: subject: wow nice subject' >expect
check_same 'print' 'magrep -p subject:nice' 'cat expect'

echo 'inbox/cur/1:2,: subject: nice' >expect
check_same 'print match' 'magrep -po subject:nice' 'cat expect'

echo 'nice' >expect
check_same 'print match only' 'magrep -o subject:nice' 'cat expect'

echo 'inbox/cur/3:2,' >expect
check_same 'multiple subjects' 'magrep subject:multi' 'cat expect'

)