36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
test_description=git-hash-object
|
||
|
|
||
|
. ./test-lib.sh
|
||
|
|
||
|
test_expect_success \
|
||
|
'git hash-object -w --stdin saves the object' \
|
||
|
'obname=$(echo foo | git hash-object -w --stdin) &&
|
||
|
obpath=$(echo $obname | sed -e "s/\(..\)/\1\//") &&
|
||
|
test -r .git/objects/"$obpath" &&
|
||
|
rm -f .git/objects/"$obpath"'
|
||
|
|
||
|
test_expect_success \
|
||
|
'git hash-object --stdin -w saves the object' \
|
||
|
'obname=$(echo foo | git hash-object --stdin -w) &&
|
||
|
obpath=$(echo $obname | sed -e "s/\(..\)/\1\//") &&
|
||
|
test -r .git/objects/"$obpath" &&
|
||
|
rm -f .git/objects/"$obpath"'
|
||
|
|
||
|
test_expect_success \
|
||
|
'git hash-object --stdin file1 <file0 first operates on file0, then file1' \
|
||
|
'echo foo > file1 &&
|
||
|
obname0=$(echo bar | git hash-object --stdin) &&
|
||
|
obname1=$(git hash-object file1) &&
|
||
|
obname0new=$(echo bar | git hash-object --stdin file1 | sed -n -e 1p) &&
|
||
|
obname1new=$(echo bar | git hash-object --stdin file1 | sed -n -e 2p) &&
|
||
|
test "$obname0" = "$obname0new" &&
|
||
|
test "$obname1" = "$obname1new"'
|
||
|
|
||
|
test_expect_success \
|
||
|
'git hash-object refuses multiple --stdin arguments' \
|
||
|
'! git hash-object --stdin --stdin < file1'
|
||
|
|
||
|
test_done
|