Commit | Line | Data |
---|---|---|
ff42cedd KH |
1 | #!/bin/sh |
2 | # Copyright (c) 2006 Karl Hasselström | |
3 | test_description='Test the mail command' | |
4 | . ./test-lib.sh | |
5 | ||
6 | test_expect_success \ | |
7 | 'Initialize the StGIT repository' \ | |
8 | ' | |
cd885e08 | 9 | git config stgit.sender "A U Thor <author@example.com>" && |
ff42cedd KH |
10 | for i in 1 2 3 4 5; do |
11 | touch foo.txt && | |
12 | echo "line $i" >> foo.txt && | |
c7506039 | 13 | stg add foo.txt && |
ff42cedd KH |
14 | git commit -a -m "Patch $i" |
15 | done && | |
16 | stg init && | |
17 | stg uncommit -n 5 foo | |
18 | ' | |
19 | ||
20 | test_expect_success \ | |
21 | 'Put all the patches in an mbox' \ | |
22 | 'stg mail --to="Inge Ström <inge@example.com>" -a -m \ | |
23 | -t ../../templates/patchmail.tmpl > mbox0' | |
24 | ||
25 | test_expect_success \ | |
26 | 'Import the mbox and compare' \ | |
27 | ' | |
28 | t1=$(git cat-file -p $(stg id) | grep ^tree) | |
29 | stg pop -a && | |
30 | stg import -M mbox0 && | |
31 | t2=$(git cat-file -p $(stg id) | grep ^tree) && | |
89f64744 | 32 | [ "$t1" = "$t2" ] |
ff42cedd KH |
33 | ' |
34 | ||
9938103f CM |
35 | test_expect_success \ |
36 | 'Put all the patches in an mbox with patch attachments' \ | |
37 | 'stg mail --to="Inge Ström <inge@example.com>" -a -m \ | |
38 | -t ../../templates/mailattch.tmpl > mbox1' | |
39 | ||
40 | test_expect_success \ | |
41 | 'Import the mbox containing patch attachments and compare' \ | |
42 | ' | |
43 | t1=$(git cat-file -p $(stg id) | grep ^tree) | |
44 | stg pop -a && | |
45 | stg import -M mbox1 && | |
46 | t2=$(git cat-file -p $(stg id) | grep ^tree) && | |
47 | [ "$t1" = "$t2" ] | |
48 | ' | |
49 | ||
0aa48e80 CM |
50 | test_expect_success \ |
51 | 'Check the To:, Cc: and Bcc: headers' \ | |
52 | ' | |
53 | stg mail --to=a@a --cc="b@b, c@c" --bcc=d@d $(stg top) -m \ | |
54 | -t ../../templates/patchmail.tmpl > mbox && | |
55 | test "$(cat mbox | grep -e "^To:")" = "To: a@a" && | |
56 | test "$(cat mbox | grep -e "^Cc:")" = "Cc: b@b, c@c" && | |
57 | test "$(cat mbox | grep -e "^Bcc:")" = "Bcc: d@d" | |
58 | ' | |
59 | ||
60 | test_expect_success \ | |
61 | 'Check the --auto option' \ | |
62 | ' | |
63 | stg edit --sign && | |
64 | stg mail --to=a@a --cc="b@b, c@c" --bcc=d@d --auto $(stg top) -m \ | |
65 | -t ../../templates/patchmail.tmpl > mbox && | |
66 | test "$(cat mbox | grep -e "^To:")" = "To: a@a" && | |
67 | test "$(cat mbox | grep -e "^Cc:")" = \ | |
68 | "Cc: C O Mitter <committer@example.com>, b@b, c@c" && | |
69 | test "$(cat mbox | grep -e "^Bcc:")" = "Bcc: d@d" | |
70 | ' | |
71 | ||
72 | test_expect_success \ | |
73 | 'Check the e-mail address duplicates' \ | |
74 | ' | |
75 | stg mail --to="a@a, b b <b@b>" --cc="b@b, c@c" \ | |
76 | --bcc="c@c, d@d, committer@example.com" --auto $(stg top) -m \ | |
77 | -t ../../templates/patchmail.tmpl > mbox && | |
78 | test "$(cat mbox | grep -e "^To:")" = "To: b b <b@b>, a@a" && | |
79 | test "$(cat mbox | grep -e "^Cc:")" = "Cc: c@c" && | |
80 | test "$(cat mbox | grep -e "^Bcc:")" = "Bcc: committer@example.com, d@d" | |
81 | ' | |
82 | ||
ff42cedd | 83 | test_done |