about summary refs log tree commit diff
path: root/third_party/git/t/helper/test-wildmatch.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/helper/test-wildmatch.c')
-rw-r--r--third_party/git/t/helper/test-wildmatch.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/git/t/helper/test-wildmatch.c b/third_party/git/t/helper/test-wildmatch.c
new file mode 100644
index 000000000000..2c103d1824cf
--- /dev/null
+++ b/third_party/git/t/helper/test-wildmatch.c
@@ -0,0 +1,24 @@
+#include "test-tool.h"
+#include "cache.h"
+
+int cmd__wildmatch(int argc, const char **argv)
+{
+	int i;
+	for (i = 2; i < argc; i++) {
+		if (argv[i][0] == '/')
+			die("Forward slash is not allowed at the beginning of the\n"
+			    "pattern because Windows does not like it. Use `XXX/' instead.");
+		else if (!strncmp(argv[i], "XXX/", 4))
+			argv[i] += 3;
+	}
+	if (!strcmp(argv[1], "wildmatch"))
+		return !!wildmatch(argv[3], argv[2], WM_PATHNAME);
+	else if (!strcmp(argv[1], "iwildmatch"))
+		return !!wildmatch(argv[3], argv[2], WM_PATHNAME | WM_CASEFOLD);
+	else if (!strcmp(argv[1], "pathmatch"))
+		return !!wildmatch(argv[3], argv[2], 0);
+	else if (!strcmp(argv[1], "ipathmatch"))
+		return !!wildmatch(argv[3], argv[2], WM_CASEFOLD);
+	else
+		return 1;
+}