t/t4026-color: add test coverage for invalid RGB colors

Make sure that the RGB color parser rejects invalid characters and invalid lengths. Signed-off-by: Beat Bolli <dev+git@drbeat.li> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Beat Bolli committed May 2, 2024 at 13:03 UTC d78d692efcc734195515fd060a1f35cb5123a72d
1 file changed +18
t/t4026-color.sh
+18
@@ -140,6 +140,24 @@ test_expect_success 'extra character after attribute' '
140 invalid_color "dimX"
141 '
142
143 +test_expect_success 'non-hex character in RGB color' '
144 + invalid_color "#x23456" &&
145 + invalid_color "#1x3456" &&
146 + invalid_color "#12x456" &&
147 + invalid_color "#123x56" &&
148 + invalid_color "#1234x6" &&
149 + invalid_color "#12345x"
150 +'
151 +
152 +test_expect_success 'wrong number of letters in RGB color' '
153 + invalid_color "#1" &&
154 + invalid_color "#23" &&
155 + invalid_color "#456" &&
156 + invalid_color "#789a" &&
157 + invalid_color "#bcdef" &&
158 + invalid_color "#1234567"
159 +'
160 +
161 test_expect_success 'unknown color slots are ignored (diff)' '
162 git config color.diff.nosuchslotwilleverbedefined white &&
163 git diff --color