'
+test_expect_success 'check mixed tabs and spaces in indent' '
+
+ # This is indented with HT SP HT.
+ echo " foo();" > x &&
+ git diff --check | grep "space before tab in indent"
+
+'
+
test_expect_success 'check with no whitespace errors' '
git commit -m "snapshot" &&
'
+test_expect_success 'check tabs and spaces as indentation (indent-with-non-tab: on)' '
+
+ git config core.whitespace "indent-with-non-tab" &&
+ echo " foo ();" > x &&
+ ! git diff --check
+
+'
test_done
/* Check for space before tab in initial indent. */
for (i = 0; i < len; i++) {
- if (line[i] == ' ') {
- written = i + 1;
+ if (line[i] == ' ')
continue;
- }
if (line[i] != '\t')
break;
- if ((ws_rule & WS_SPACE_BEFORE_TAB) && (written != 0))
+ if ((ws_rule & WS_SPACE_BEFORE_TAB) && written < i)
result |= WS_SPACE_BEFORE_TAB;
- break;
+ written = i + 1;
}
/* Check for indent using non-tab. */
- if ((ws_rule & WS_INDENT_WITH_NON_TAB) && written >= 8)
+ if ((ws_rule & WS_INDENT_WITH_NON_TAB) && i - written >= 8)
result |= WS_INDENT_WITH_NON_TAB;
if (stream) {