| #!/bin/sh | 
 |  | 
 | test_description='magic pathspec tests using git-add' | 
 |  | 
 | . ./test-lib.sh | 
 |  | 
 | test_expect_success 'setup' ' | 
 | 	mkdir sub anothersub && | 
 | 	: >sub/foo && | 
 | 	: >anothersub/foo | 
 | ' | 
 |  | 
 | test_expect_success 'add :/' " | 
 | 	cat >expected <<-EOF && | 
 | 	add 'anothersub/foo' | 
 | 	add 'expected' | 
 | 	add 'sub/actual' | 
 | 	add 'sub/foo' | 
 | 	EOF | 
 | 	(cd sub && git add -n :/ >actual) && | 
 | 	test_cmp expected sub/actual | 
 | " | 
 |  | 
 | cat >expected <<EOF | 
 | add 'anothersub/foo' | 
 | EOF | 
 |  | 
 | test_expect_success 'add :/anothersub' ' | 
 | 	(cd sub && git add -n :/anothersub >actual) && | 
 | 	test_cmp expected sub/actual | 
 | ' | 
 |  | 
 | test_expect_success 'add :/non-existent' ' | 
 | 	(cd sub && test_must_fail git add -n :/non-existent) | 
 | ' | 
 |  | 
 | cat >expected <<EOF | 
 | add 'sub/foo' | 
 | EOF | 
 |  | 
 | if test_have_prereq !MINGW && mkdir ":" 2>/dev/null | 
 | then | 
 | 	test_set_prereq COLON_DIR | 
 | fi | 
 |  | 
 | test_expect_success COLON_DIR 'a file with the same (long) magic name exists' ' | 
 | 	: >":(icase)ha" && | 
 | 	test_must_fail git add -n ":(icase)ha" && | 
 | 	git add -n "./:(icase)ha" | 
 | ' | 
 |  | 
 | test_expect_success COLON_DIR 'a file with the same (short) magic name exists' ' | 
 | 	: >":/bar" && | 
 | 	test_must_fail git add -n :/bar && | 
 | 	git add -n "./:/bar" | 
 | ' | 
 |  | 
 | test_done |