@@ -7,45 +7,47 @@ test_description='git mailinfo and git mailsplit test'
7
7
8
8
. ./test-lib.sh
9
9
10
+ DATA=" $TEST_DIRECTORY /t5100"
11
+
10
12
test_expect_success ' split sample box' \
11
- ' git mailsplit -o. "$TEST_DIRECTORY"/t5100/ sample.mbox >last &&
13
+ ' git mailsplit -o. "$DATA/ sample.mbox" >last &&
12
14
last=$(cat last) &&
13
15
echo total is $last &&
14
16
test $(cat last) = 18'
15
17
16
18
check_mailinfo () {
17
19
mail=$1 opt=$2
18
20
mo=" $mail$opt "
19
- git mailinfo -u $opt msg$mo patch$mo < $mail > info$mo &&
20
- test_cmp " $TEST_DIRECTORY " /t5100/ msg$mo msg$mo &&
21
- test_cmp " $TEST_DIRECTORY " /t5100/ patch$mo patch$mo &&
22
- test_cmp " $TEST_DIRECTORY " /t5100/ info$mo info$mo
21
+ git mailinfo -u $opt " msg$mo " " patch$mo " < " $mail " > " info$mo " &&
22
+ test_cmp " $DATA / msg$mo " " msg$mo " &&
23
+ test_cmp " $DATA / patch$mo " " patch$mo " &&
24
+ test_cmp " $DATA / info$mo " " info$mo "
23
25
}
24
26
25
27
26
28
for mail in 00*
27
29
do
28
30
test_expect_success " mailinfo $mail " '
29
- check_mailinfo $mail "" &&
30
- if test -f "$TEST_DIRECTORY"/t5100/ msg$mail--scissors
31
+ check_mailinfo " $mail" "" &&
32
+ if test -f "$DATA/ msg$mail--scissors"
31
33
then
32
- check_mailinfo $mail --scissors
34
+ check_mailinfo " $mail" --scissors
33
35
fi &&
34
- if test -f "$TEST_DIRECTORY"/t5100/ msg$mail--no-inbody-headers
36
+ if test -f "$DATA/ msg$mail--no-inbody-headers"
35
37
then
36
- check_mailinfo $mail --no-inbody-headers
38
+ check_mailinfo " $mail" --no-inbody-headers
37
39
fi &&
38
- if test -f "$TEST_DIRECTORY"/t5100/ msg$mail--message-id
40
+ if test -f "$DATA/ msg$mail--message-id"
39
41
then
40
- check_mailinfo $mail --message-id
42
+ check_mailinfo " $mail" --message-id
41
43
fi
42
44
'
43
45
done
44
46
45
47
46
48
test_expect_success ' split box with rfc2047 samples' \
47
49
' mkdir rfc2047 &&
48
- git mailsplit -orfc2047 "$TEST_DIRECTORY"/t5100/ rfc2047-samples.mbox \
50
+ git mailsplit -orfc2047 "$DATA/ rfc2047-samples.mbox" \
49
51
>rfc2047/last &&
50
52
last=$(cat rfc2047/last) &&
51
53
echo total is $last &&
@@ -54,73 +56,73 @@ test_expect_success 'split box with rfc2047 samples' \
54
56
for mail in rfc2047/00*
55
57
do
56
58
test_expect_success " mailinfo $mail " '
57
- git mailinfo -u $mail-msg $mail-patch < $mail > $mail-info &&
59
+ git mailinfo -u " $mail-msg" " $mail-patch" <" $mail" >" $mail-info" &&
58
60
echo msg &&
59
- test_cmp "$TEST_DIRECTORY"/t5100/ empty $mail-msg &&
61
+ test_cmp "$DATA/ empty" " $mail-msg" &&
60
62
echo patch &&
61
- test_cmp "$TEST_DIRECTORY"/t5100/ empty $mail-patch &&
63
+ test_cmp "$DATA/ empty" " $mail-patch" &&
62
64
echo info &&
63
- test_cmp "$TEST_DIRECTORY"/t5100/ rfc2047-info-$(basename $mail) $mail-info
65
+ test_cmp "$DATA/ rfc2047-info-$(basename $mail)" " $mail-info"
64
66
'
65
67
done
66
68
67
69
test_expect_success ' respect NULs' '
68
70
69
- git mailsplit -d3 -o. "$TEST_DIRECTORY"/t5100/ nul-plain &&
70
- test_cmp "$TEST_DIRECTORY"/t5100/ nul-plain 001 &&
71
+ git mailsplit -d3 -o. "$DATA/ nul-plain" &&
72
+ test_cmp "$DATA/ nul-plain" 001 &&
71
73
(cat 001 | git mailinfo msg patch) &&
72
74
test_line_count = 4 patch
73
75
74
76
'
75
77
76
78
test_expect_success ' Preserve NULs out of MIME encoded message' '
77
79
78
- git mailsplit -d5 -o. "$TEST_DIRECTORY"/t5100/ nul-b64.in &&
79
- test_cmp "$TEST_DIRECTORY"/t5100/ nul-b64.in 00001 &&
80
+ git mailsplit -d5 -o. "$DATA/ nul-b64.in" &&
81
+ test_cmp "$DATA/ nul-b64.in" 00001 &&
80
82
git mailinfo msg patch <00001 &&
81
- test_cmp "$TEST_DIRECTORY"/t5100/ nul-b64.expect patch
83
+ test_cmp "$DATA/ nul-b64.expect" patch
82
84
83
85
'
84
86
85
87
test_expect_success ' mailinfo on from header without name works' '
86
88
87
89
mkdir info-from &&
88
- git mailsplit -oinfo-from "$TEST_DIRECTORY"/t5100/ info-from.in &&
89
- test_cmp "$TEST_DIRECTORY"/t5100/ info-from.in info-from/0001 &&
90
+ git mailsplit -oinfo-from "$DATA/ info-from.in" &&
91
+ test_cmp "$DATA/ info-from.in" info-from/0001 &&
90
92
git mailinfo info-from/msg info-from/patch \
91
93
<info-from/0001 >info-from/out &&
92
- test_cmp "$TEST_DIRECTORY"/t5100/ info-from.expect info-from/out
94
+ test_cmp "$DATA/ info-from.expect" info-from/out
93
95
94
96
'
95
97
96
98
test_expect_success ' mailinfo finds headers after embedded From line' '
97
99
mkdir embed-from &&
98
- git mailsplit -oembed-from "$TEST_DIRECTORY"/t5100/ embed-from.in &&
99
- test_cmp "$TEST_DIRECTORY"/t5100/ embed-from.in embed-from/0001 &&
100
+ git mailsplit -oembed-from "$DATA/ embed-from.in" &&
101
+ test_cmp "$DATA/ embed-from.in" embed-from/0001 &&
100
102
git mailinfo embed-from/msg embed-from/patch \
101
103
<embed-from/0001 >embed-from/out &&
102
- test_cmp "$TEST_DIRECTORY"/t5100/ embed-from.expect embed-from/out
104
+ test_cmp "$DATA/ embed-from.expect" embed-from/out
103
105
'
104
106
105
107
test_expect_success ' mailinfo on message with quoted >From' '
106
108
mkdir quoted-from &&
107
- git mailsplit -oquoted-from "$TEST_DIRECTORY"/t5100/ quoted-from.in &&
108
- test_cmp "$TEST_DIRECTORY"/t5100/ quoted-from.in quoted-from/0001 &&
109
+ git mailsplit -oquoted-from "$DATA/ quoted-from.in" &&
110
+ test_cmp "$DATA/ quoted-from.in" quoted-from/0001 &&
109
111
git mailinfo quoted-from/msg quoted-from/patch \
110
112
<quoted-from/0001 >quoted-from/out &&
111
- test_cmp "$TEST_DIRECTORY"/t5100/ quoted-from.expect quoted-from/msg
113
+ test_cmp "$DATA/ quoted-from.expect" quoted-from/msg
112
114
'
113
115
114
116
test_expect_success ' mailinfo unescapes with --mboxrd' '
115
117
mkdir mboxrd &&
116
118
git mailsplit -omboxrd --mboxrd \
117
- "$TEST_DIRECTORY"/t5100/ sample.mboxrd >last &&
119
+ "$DATA/ sample.mboxrd" >last &&
118
120
test x"$(cat last)" = x2 &&
119
121
for i in 0001 0002
120
122
do
121
123
git mailinfo mboxrd/msg mboxrd/patch \
122
124
<mboxrd/$i >mboxrd/out &&
123
- test_cmp "$TEST_DIRECTORY"/t5100/ ${i}mboxrd mboxrd/msg
125
+ test_cmp "$DATA/ ${i}mboxrd" mboxrd/msg
124
126
done &&
125
127
sp=" " &&
126
128
echo "From " >expect &&
@@ -142,4 +144,18 @@ test_expect_success 'mailinfo unescapes with --mboxrd' '
142
144
test_cmp expect mboxrd/msg
143
145
'
144
146
147
+ test_expect_success ' mailinfo handles rfc2822 quoted-string' '
148
+ mkdir quoted-string &&
149
+ git mailinfo /dev/null /dev/null <"$DATA/quoted-string.in" \
150
+ >quoted-string/info &&
151
+ test_cmp "$DATA/quoted-string.expect" quoted-string/info
152
+ '
153
+
154
+ test_expect_success ' mailinfo handles rfc2822 comment' '
155
+ mkdir comment &&
156
+ git mailinfo /dev/null /dev/null <"$DATA/comment.in" \
157
+ >comment/info &&
158
+ test_cmp "$DATA/comment.expect" comment/info
159
+ '
160
+
145
161
test_done
0 commit comments