Merge branch 'jc/checkout-reflog-fix'
[gitweb.git] / t / t4014-format-patch.sh
index 4a3bf5ba4015f5581ccb1b96f5888aa1f5dfdc1d..92248d24c48a65ab89a5b0ad255357f6034e6ad4 100755 (executable)
@@ -793,6 +793,22 @@ test_expect_success 'format-patch wraps extremely long headers (rfc2047)' '
        test_cmp expect subject
 '
 
+M8="foo_bar_"
+M64=$M8$M8$M8$M8$M8$M8$M8$M8
+cat >expect <<EOF
+From: $M64
+ <foobar@foo.bar>
+EOF
+test_expect_success 'format-patch wraps non-quotable headers' '
+       rm -rf patches/ &&
+       echo content >>file &&
+       git add file &&
+       git commit -mfoo --author "$M64 <foobar@foo.bar>" &&
+       git format-patch --stdout -1 >patch &&
+       sed -n "/^From: /p; /^ /p; /^$/q" <patch >from &&
+       test_cmp expect from
+'
+
 check_author() {
        echo content >>file &&
        git add file &&
@@ -835,4 +851,22 @@ test_expect_success 'subject lines do not have 822 atom-quoting' '
        test_cmp expect actual
 '
 
+cat >expect <<'EOF'
+Subject: [PREFIX 1/1] header with . in it
+EOF
+test_expect_success 'subject prefixes have space prepended' '
+       git format-patch -n -1 --stdout --subject-prefix=PREFIX >patch &&
+       grep ^Subject: patch >actual &&
+       test_cmp expect actual
+'
+
+cat >expect <<'EOF'
+Subject: [1/1] header with . in it
+EOF
+test_expect_success 'empty subject prefix does not have extra space' '
+       git format-patch -n -1 --stdout --subject-prefix= >patch &&
+       grep ^Subject: patch >actual &&
+       test_cmp expect actual
+'
+
 test_done