@@ -814,53 +814,57 @@ test_expect_success 'set up trailers for next test' '
814
814
EOF
815
815
'
816
816
817
- test_expect_success ' %(trailers:unfold) unfolds trailers ' '
818
- {
819
- unfold <trailers
820
- echo
821
- } >expect &&
822
- git for-each-ref --format="%(trailers:unfold)" refs/heads/main > actual &&
823
- test_cmp expect actual &&
824
- git for-each-ref --format="%(contents:trailers:unfold)" refs/heads/main > actual &&
825
- test_cmp expect actual
826
- '
817
+ test_trailer_option () {
818
+ title= $1 option= $2
819
+ cat > expect
820
+ test_expect_success " $title " '
821
+ git for-each-ref --format="%($option)" refs/heads/main >actual &&
822
+ test_cmp expect actual &&
823
+ git for-each-ref --format="%(contents:$option)" refs/heads/main > actual &&
824
+ test_cmp expect actual
825
+ '
826
+ }
827
827
828
- test_expect_success ' %(trailers:only) shows only "key: value" trailers' '
829
- {
830
- grep -v patch.description <trailers &&
831
- echo
832
- } >expect &&
833
- git for-each-ref --format="%(trailers:only)" refs/heads/main >actual &&
834
- test_cmp expect actual &&
835
- git for-each-ref --format="%(contents:trailers:only)" refs/heads/main >actual &&
836
- test_cmp expect actual
837
- '
828
+ test_trailer_option ' %(trailers:unfold) unfolds trailers' \
829
+ ' trailers:unfold' << -EOF
830
+ $( unfold < trailers)
838
831
839
- test_expect_success ' %(trailers:only) and %(trailers:unfold) work together' '
840
- {
841
- grep -v patch.description <trailers | unfold &&
842
- echo
843
- } >expect &&
844
- git for-each-ref --format="%(trailers:only,unfold)" refs/heads/main >actual &&
845
- test_cmp expect actual &&
846
- git for-each-ref --format="%(trailers:unfold,only)" refs/heads/main >actual &&
847
- test_cmp actual actual &&
848
- git for-each-ref --format="%(contents:trailers:only,unfold)" refs/heads/main >actual &&
849
- test_cmp expect actual &&
850
- git for-each-ref --format="%(contents:trailers:unfold,only)" refs/heads/main >actual &&
851
- test_cmp actual actual
852
- '
853
-
854
- test_expect_success ' %(trailers) rejects unknown trailers arguments' '
855
- # error message cannot be checked under i18n
856
- cat >expect <<-EOF &&
832
+ EOF
833
+
834
+ test_trailer_option ' %(trailers:only) shows only "key: value" trailers' \
835
+ ' trailers:only' << -EOF
836
+ $( grep -v patch.description < trailers)
837
+
838
+ EOF
839
+
840
+ test_trailer_option ' %(trailers:only) and %(trailers:unfold) work together' \
841
+ ' trailers:only,unfold' << -EOF
842
+ $( grep -v patch.description < trailers | unfold)
843
+
844
+ EOF
845
+
846
+ test_trailer_option ' %(trailers:unfold) and %(trailers:only) work together' \
847
+ ' trailers:unfold,only' << -EOF
848
+ $( grep -v patch.description < trailers | unfold)
849
+
850
+ EOF
851
+
852
+ test_failing_trailer_option () {
853
+ title=$1 option=$2
854
+ cat > expect
855
+ test_expect_success " $title " '
856
+ # error message cannot be checked under i18n
857
+ test_must_fail git for-each-ref --format="%($option)" refs/heads/main 2>actual &&
858
+ test_i18ncmp expect actual &&
859
+ test_must_fail git for-each-ref --format="%(contents:$option)" refs/heads/main 2>actual &&
860
+ test_i18ncmp expect actual
861
+ '
862
+ }
863
+
864
+ test_failing_trailer_option ' %(trailers) rejects unknown trailers arguments' \
865
+ ' trailers:unsupported' << -\EOF
857
866
fatal: unknown %(trailers) argument: unsupported
858
867
EOF
859
- test_must_fail git for-each-ref --format="%(trailers:unsupported)" 2>actual &&
860
- test_i18ncmp expect actual &&
861
- test_must_fail git for-each-ref --format="%(contents:trailers:unsupported)" 2>actual &&
862
- test_i18ncmp expect actual
863
- '
864
868
865
869
test_expect_success ' if arguments, %(contents:trailers) shows error if colon is missing' '
866
870
cat >expect <<-EOF &&
0 commit comments