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
68
69
70
71
72
73
| | #!/usr/bin/env bash
test_description='duplicite address filtering in "notmuch search --output=recipients"'
. ./test-lib.sh
add_message '[to]="John Doe <foo@example.com>, John Doe <bar@example.com>"'
add_message '[to]="\"Doe, John\" <foo@example.com>"' '[cc]="John Doe <Bar@Example.COM>"'
add_message '[to]="\"Doe, John\" <foo@example.com>"' '[bcc]="John Doe <Bar@Example.COM>"'
test_begin_subtest "--output=recipients"
notmuch search --output=recipients "*" >OUTPUT
cat <<EOF >EXPECTED
John Doe <foo@example.com>
John Doe <bar@example.com>
"Doe, John" <foo@example.com>
John Doe <Bar@Example.COM>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=recipients --filter-by=nameaddr"
notmuch search --output=recipients --filter-by=nameaddr "*" >OUTPUT
# The same as above
cat <<EOF >EXPECTED
John Doe <foo@example.com>
John Doe <bar@example.com>
"Doe, John" <foo@example.com>
John Doe <Bar@Example.COM>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=recipients --filter-by=name"
notmuch search --output=recipients --filter-by=name "*" >OUTPUT
cat <<EOF >EXPECTED
John Doe <foo@example.com>
"Doe, John" <foo@example.com>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=recipients --filter-by=addr"
notmuch search --output=recipients --filter-by=addr "*" >OUTPUT
cat <<EOF >EXPECTED
John Doe <foo@example.com>
John Doe <bar@example.com>
John Doe <Bar@Example.COM>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=recipients --filter-by=addrfold"
notmuch search --output=recipients --filter-by=addrfold "*" >OUTPUT
cat <<EOF >EXPECTED
John Doe <foo@example.com>
John Doe <bar@example.com>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=recipients --filter-by=nameaddrfold"
notmuch search --output=recipients --filter-by=nameaddrfold "*" >OUTPUT
cat <<EOF >EXPECTED
John Doe <foo@example.com>
John Doe <bar@example.com>
"Doe, John" <foo@example.com>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=recipients --filter-by=nameaddrfold --output=count"
notmuch search --output=recipients --filter-by=nameaddrfold --output=count "*" | sort -n >OUTPUT
cat <<EOF >EXPECTED
1 John Doe <foo@example.com>
2 "Doe, John" <foo@example.com>
3 John Doe <bar@example.com>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_done
|