1 #!/bin/sh
3 test_description='magic pathspec tests using git-add'
5 . ./test-lib.sh
7 test_expect_success 'setup' '
8 mkdir sub anothersub &&
9 : >sub/foo &&
10 : >anothersub/foo
11 '
13 test_expect_success 'add :/' "
14 cat >expected <<-EOF &&
15 add 'anothersub/foo'
16 add 'expected'
17 add 'sub/actual'
18 add 'sub/foo'
19 EOF
20 (cd sub && git add -n :/ >actual) &&
21 test_cmp expected sub/actual
22 "
24 cat >expected <<EOF
25 add 'anothersub/foo'
26 EOF
28 test_expect_success 'add :/anothersub' '
29 (cd sub && git add -n :/anothersub >actual) &&
30 test_cmp expected sub/actual
31 '
33 test_expect_success 'add :/non-existent' '
34 (cd sub && test_must_fail git add -n :/non-existent)
35 '
37 cat >expected <<EOF
38 add 'sub/foo'
39 EOF
41 if mkdir ":" 2>/dev/null
42 then
43 test_set_prereq COLON_DIR
44 fi
46 test_expect_success COLON_DIR 'a file with the same (long) magic name exists' '
47 : >":(icase)ha" &&
48 test_must_fail git add -n ":(icase)ha" &&
49 git add -n "./:(icase)ha"
50 '
52 test_expect_success COLON_DIR 'a file with the same (short) magic name exists' '
53 : >":/bar" &&
54 test_must_fail git add -n :/bar &&
55 git add -n "./:/bar"
56 '
58 test_done