]> git.notmuchmail.org Git - notmuch/blob - test/T095-address.sh
cli: address: Do not output duplicate addresses
[notmuch] / test / T095-address.sh
1 #!/usr/bin/env bash
2 test_description='"notmuch address" in several variants'
3 . ./test-lib.sh
4
5 add_email_corpus
6
7 test_begin_subtest "--output=sender"
8 notmuch address --output=sender '*' >OUTPUT
9 cat <<EOF >EXPECTED
10 François Boulogne <boulogne.f@gmail.com>
11 Olivier Berger <olivier.berger@it-sudparis.eu>
12 Chris Wilson <chris@chris-wilson.co.uk>
13 Carl Worth <cworth@cworth.org>
14 Alexander Botero-Lowry <alex.boterolowry@gmail.com>
15 Keith Packard <keithp@keithp.com>
16 Jjgod Jiang <gzjjgod@gmail.com>
17 Rolland Santimano <rollandsantimano@yahoo.com>
18 Jan Janak <jan@ryngle.com>
19 Stewart Smith <stewart@flamingspork.com>
20 Lars Kellogg-Stedman <lars@seas.harvard.edu>
21 Alex Botero-Lowry <alex.boterolowry@gmail.com>
22 Ingmar Vanhassel <ingmar@exherbo.org>
23 Aron Griffis <agriffis@n01se.net>
24 Adrian Perez de Castro <aperez@igalia.com>
25 Israel Herraiz <isra@herraiz.org>
26 Mikhail Gusarov <dottedmag@dottedmag.net>
27 EOF
28 test_expect_equal_file OUTPUT EXPECTED
29
30 test_begin_subtest "--output=sender --format=json"
31 notmuch address --output=sender --format=json '*' >OUTPUT
32 cat <<EOF >EXPECTED
33 [{"name": "François Boulogne", "address": "boulogne.f@gmail.com", "name-addr": "François Boulogne <boulogne.f@gmail.com>"},
34 {"name": "Olivier Berger", "address": "olivier.berger@it-sudparis.eu", "name-addr": "Olivier Berger <olivier.berger@it-sudparis.eu>"},
35 {"name": "Chris Wilson", "address": "chris@chris-wilson.co.uk", "name-addr": "Chris Wilson <chris@chris-wilson.co.uk>"},
36 {"name": "Carl Worth", "address": "cworth@cworth.org", "name-addr": "Carl Worth <cworth@cworth.org>"},
37 {"name": "Alexander Botero-Lowry", "address": "alex.boterolowry@gmail.com", "name-addr": "Alexander Botero-Lowry <alex.boterolowry@gmail.com>"},
38 {"name": "Keith Packard", "address": "keithp@keithp.com", "name-addr": "Keith Packard <keithp@keithp.com>"},
39 {"name": "Jjgod Jiang", "address": "gzjjgod@gmail.com", "name-addr": "Jjgod Jiang <gzjjgod@gmail.com>"},
40 {"name": "Rolland Santimano", "address": "rollandsantimano@yahoo.com", "name-addr": "Rolland Santimano <rollandsantimano@yahoo.com>"},
41 {"name": "Jan Janak", "address": "jan@ryngle.com", "name-addr": "Jan Janak <jan@ryngle.com>"},
42 {"name": "Stewart Smith", "address": "stewart@flamingspork.com", "name-addr": "Stewart Smith <stewart@flamingspork.com>"},
43 {"name": "Lars Kellogg-Stedman", "address": "lars@seas.harvard.edu", "name-addr": "Lars Kellogg-Stedman <lars@seas.harvard.edu>"},
44 {"name": "Alex Botero-Lowry", "address": "alex.boterolowry@gmail.com", "name-addr": "Alex Botero-Lowry <alex.boterolowry@gmail.com>"},
45 {"name": "Ingmar Vanhassel", "address": "ingmar@exherbo.org", "name-addr": "Ingmar Vanhassel <ingmar@exherbo.org>"},
46 {"name": "Aron Griffis", "address": "agriffis@n01se.net", "name-addr": "Aron Griffis <agriffis@n01se.net>"},
47 {"name": "Adrian Perez de Castro", "address": "aperez@igalia.com", "name-addr": "Adrian Perez de Castro <aperez@igalia.com>"},
48 {"name": "Israel Herraiz", "address": "isra@herraiz.org", "name-addr": "Israel Herraiz <isra@herraiz.org>"},
49 {"name": "Mikhail Gusarov", "address": "dottedmag@dottedmag.net", "name-addr": "Mikhail Gusarov <dottedmag@dottedmag.net>"}]
50 EOF
51 test_expect_equal_file OUTPUT EXPECTED
52
53 test_begin_subtest "--output=recipients"
54 notmuch address --output=recipients '*' >OUTPUT
55 cat <<EOF >EXPECTED
56 Allan McRae <allan@archlinux.org>
57 "Discussion about the Arch User Repository (AUR)" <aur-general@archlinux.org>
58 olivier.berger@it-sudparis.eu
59 notmuch@notmuchmail.org
60 notmuch <notmuch@notmuchmail.org>
61 Keith Packard <keithp@keithp.com>
62 Mikhail Gusarov <dottedmag@dottedmag.net>
63 EOF
64 test_expect_equal_file OUTPUT EXPECTED
65
66 test_begin_subtest "--output=sender --output=recipients"
67 notmuch address --output=sender --output=recipients '*' >OUTPUT
68 cat <<EOF >EXPECTED
69 François Boulogne <boulogne.f@gmail.com>
70 Allan McRae <allan@archlinux.org>
71 "Discussion about the Arch User Repository (AUR)" <aur-general@archlinux.org>
72 Olivier Berger <olivier.berger@it-sudparis.eu>
73 olivier.berger@it-sudparis.eu
74 Chris Wilson <chris@chris-wilson.co.uk>
75 notmuch@notmuchmail.org
76 Carl Worth <cworth@cworth.org>
77 Alexander Botero-Lowry <alex.boterolowry@gmail.com>
78 Keith Packard <keithp@keithp.com>
79 Jjgod Jiang <gzjjgod@gmail.com>
80 Rolland Santimano <rollandsantimano@yahoo.com>
81 Jan Janak <jan@ryngle.com>
82 Stewart Smith <stewart@flamingspork.com>
83 Lars Kellogg-Stedman <lars@seas.harvard.edu>
84 notmuch <notmuch@notmuchmail.org>
85 Alex Botero-Lowry <alex.boterolowry@gmail.com>
86 Ingmar Vanhassel <ingmar@exherbo.org>
87 Aron Griffis <agriffis@n01se.net>
88 Adrian Perez de Castro <aperez@igalia.com>
89 Israel Herraiz <isra@herraiz.org>
90 Mikhail Gusarov <dottedmag@dottedmag.net>
91 EOF
92 test_expect_equal_file OUTPUT EXPECTED
93
94 test_begin_subtest "without --output"
95 notmuch address '*' >OUTPUT
96 # Use EXPECTED from previous subtest
97 test_expect_equal_file OUTPUT EXPECTED
98
99 test_done