t3703, t4208: add test cases for magic pathspec

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy 2011-05-08 18:08:26 +07:00 коммит произвёл Junio C Hamano
Родитель 0e539dca51
Коммит 6fd09f537c
3 изменённых файлов: 93 добавлений и 0 удалений

Просмотреть файл

@ -324,6 +324,9 @@ top `/`;;
Currently only the slash `/` is recognized as the "magic signature", Currently only the slash `/` is recognized as the "magic signature",
but it is envisioned that we will support more types of magic in later but it is envisioned that we will support more types of magic in later
versions of git. versions of git.
+
A pathspec with only a colon means "there is no pathspec". This form
should not be combined with other pathspec.
[[def_parent]]parent:: [[def_parent]]parent::
A <<def_commit_object,commit object>> contains a (possibly empty) list A <<def_commit_object,commit object>> contains a (possibly empty) list

54
t/t3703-add-magic-pathspec.sh Executable file
Просмотреть файл

@ -0,0 +1,54 @@
#!/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
test_expect_success '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 'a file with the same (short) magic name exists' '
mkdir ":" &&
: >":/bar" &&
test_must_fail git add -n :/bar &&
git add -n "./:/bar"
'
test_done

36
t/t4208-log-magic-pathspec.sh Executable file
Просмотреть файл

@ -0,0 +1,36 @@
#!/bin/sh
test_description='magic pathspec tests using git-log'
. ./test-lib.sh
test_expect_success 'setup' '
test_commit initial &&
test_tick &&
git commit --allow-empty -m empty &&
mkdir sub
'
test_expect_success '"git log :/" should be ambiguous' '
test_must_fail git log :/ 2>error &&
grep ambiguous error
'
test_expect_success '"git log :" should be ambiguous' '
test_must_fail git log : 2>error &&
grep ambiguous error
'
test_expect_success 'git log -- :' '
git log -- :
'
test_expect_success 'git log HEAD -- :/' '
cat >expected <<-EOF &&
24b24cf initial
EOF
(cd sub && git log --oneline HEAD -- :/ >../actual) &&
test_cmp expected actual
'
test_done