|  | #!/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 |