Skip to content

Commit

Permalink
Merge branch 'tb/crlf-tests'
Browse files Browse the repository at this point in the history
* tb/crlf-tests:
  t0027: combinations of core.autocrlf, core.eol and text
  t0025: rename the test files
  • Loading branch information
Junio C Hamano committed Jul 16, 2014
2 parents 788cef8 + 343151d commit b5f7b21
Show file tree
Hide file tree
Showing 2 changed files with 326 additions and 61 deletions.
122 changes: 61 additions & 61 deletions t/t0025-crlf-auto.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,144 +12,144 @@ test_expect_success setup '
git config core.autocrlf false &&
for w in Hello world how are you; do echo $w; done >one &&
for w in I am very very fine thank you; do echo ${w}Q; done | q_to_cr >two &&
for w in Oh here is a QNUL byte how alarming; do echo ${w}; done | q_to_nul >three &&
for w in Hello world how are you; do echo $w; done >LFonly &&
for w in I am very very fine thank you; do echo ${w}Q; done | q_to_cr >CRLFonly &&
for w in Oh here is a QNUL byte how alarming; do echo ${w}; done | q_to_nul >LFwithNUL &&
git add . &&
git commit -m initial &&
one=$(git rev-parse HEAD:one) &&
two=$(git rev-parse HEAD:two) &&
three=$(git rev-parse HEAD:three) &&
LFonly=$(git rev-parse HEAD:LFonly) &&
CRLFonly=$(git rev-parse HEAD:CRLFonly) &&
LFwithNUL=$(git rev-parse HEAD:LFwithNUL) &&
echo happy.
'

test_expect_success 'default settings cause no changes' '
rm -f .gitattributes tmp one two three &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
git read-tree --reset -u HEAD &&
! has_cr one &&
has_cr two &&
onediff=$(git diff one) &&
twodiff=$(git diff two) &&
threediff=$(git diff three) &&
test -z "$onediff" && test -z "$twodiff" && test -z "$threediff"
! has_cr LFonly &&
has_cr CRLFonly &&
LFonlydiff=$(git diff LFonly) &&
CRLFonlydiff=$(git diff CRLFonly) &&
LFwithNULdiff=$(git diff LFwithNUL) &&
test -z "$LFonlydiff" -a -z "$CRLFonlydiff" -a -z "$LFwithNULdiff"
'

test_expect_success 'crlf=true causes a CRLF file to be normalized' '
# Backwards compatibility check
rm -f .gitattributes tmp one two three &&
echo "two crlf" > .gitattributes &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
echo "CRLFonly crlf" > .gitattributes &&
git read-tree --reset -u HEAD &&
# Note, "normalized" means that git will normalize it if added
has_cr two &&
twodiff=$(git diff two) &&
test -n "$twodiff"
has_cr CRLFonly &&
CRLFonlydiff=$(git diff CRLFonly) &&
test -n "$CRLFonlydiff"
'

test_expect_success 'text=true causes a CRLF file to be normalized' '
rm -f .gitattributes tmp one two three &&
echo "two text" > .gitattributes &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
echo "CRLFonly text" > .gitattributes &&
git read-tree --reset -u HEAD &&
# Note, "normalized" means that git will normalize it if added
has_cr two &&
twodiff=$(git diff two) &&
test -n "$twodiff"
has_cr CRLFonly &&
CRLFonlydiff=$(git diff CRLFonly) &&
test -n "$CRLFonlydiff"
'

test_expect_success 'eol=crlf gives a normalized file CRLFs with autocrlf=false' '
rm -f .gitattributes tmp one two three &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
git config core.autocrlf false &&
echo "one eol=crlf" > .gitattributes &&
echo "LFonly eol=crlf" > .gitattributes &&
git read-tree --reset -u HEAD &&
has_cr one &&
onediff=$(git diff one) &&
test -z "$onediff"
has_cr LFonly &&
LFonlydiff=$(git diff LFonly) &&
test -z "$LFonlydiff"
'

test_expect_success 'eol=crlf gives a normalized file CRLFs with autocrlf=input' '
rm -f .gitattributes tmp one two three &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
git config core.autocrlf input &&
echo "one eol=crlf" > .gitattributes &&
echo "LFonly eol=crlf" > .gitattributes &&
git read-tree --reset -u HEAD &&
has_cr one &&
onediff=$(git diff one) &&
test -z "$onediff"
has_cr LFonly &&
LFonlydiff=$(git diff LFonly) &&
test -z "$LFonlydiff"
'

test_expect_success 'eol=lf gives a normalized file LFs with autocrlf=true' '
rm -f .gitattributes tmp one two three &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
git config core.autocrlf true &&
echo "one eol=lf" > .gitattributes &&
echo "LFonly eol=lf" > .gitattributes &&
git read-tree --reset -u HEAD &&
! has_cr one &&
onediff=$(git diff one) &&
test -z "$onediff"
! has_cr LFonly &&
LFonlydiff=$(git diff LFonly) &&
test -z "$LFonlydiff"
'

test_expect_success 'autocrlf=true does not normalize CRLF files' '
rm -f .gitattributes tmp one two three &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
git config core.autocrlf true &&
git read-tree --reset -u HEAD &&
has_cr one &&
has_cr two &&
onediff=$(git diff one) &&
twodiff=$(git diff two) &&
threediff=$(git diff three) &&
test -z "$onediff" && test -z "$twodiff" && test -z "$threediff"
has_cr LFonly &&
has_cr CRLFonly &&
LFonlydiff=$(git diff LFonly) &&
CRLFonlydiff=$(git diff CRLFonly) &&
LFwithNULdiff=$(git diff LFwithNUL) &&
test -z "$LFonlydiff" -a -z "$CRLFonlydiff" -a -z "$LFwithNULdiff"
'

test_expect_success 'text=auto, autocrlf=true _does_ normalize CRLF files' '
rm -f .gitattributes tmp one two three &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
git config core.autocrlf true &&
echo "* text=auto" > .gitattributes &&
git read-tree --reset -u HEAD &&
has_cr one &&
has_cr two &&
onediff=$(git diff one) &&
twodiff=$(git diff two) &&
threediff=$(git diff three) &&
test -z "$onediff" && test -n "$twodiff" && test -z "$threediff"
has_cr LFonly &&
has_cr CRLFonly &&
LFonlydiff=$(git diff LFonly) &&
CRLFonlydiff=$(git diff CRLFonly) &&
LFwithNULdiff=$(git diff LFwithNUL) &&
test -z "$LFonlydiff" -a -n "$CRLFonlydiff" -a -z "$LFwithNULdiff"
'

test_expect_success 'text=auto, autocrlf=true does not normalize binary files' '
rm -f .gitattributes tmp one two three &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
git config core.autocrlf true &&
echo "* text=auto" > .gitattributes &&
git read-tree --reset -u HEAD &&
! has_cr three &&
threediff=$(git diff three) &&
test -z "$threediff"
! has_cr LFwithNUL &&
LFwithNULdiff=$(git diff LFwithNUL) &&
test -z "$LFwithNULdiff"
'

test_expect_success 'eol=crlf _does_ normalize binary files' '
rm -f .gitattributes tmp one two three &&
echo "three eol=crlf" > .gitattributes &&
rm -f .gitattributes tmp LFonly CRLFonly LFwithNUL &&
echo "LFwithNUL eol=crlf" > .gitattributes &&
git read-tree --reset -u HEAD &&
has_cr three &&
threediff=$(git diff three) &&
test -z "$threediff"
has_cr LFwithNUL &&
LFwithNULdiff=$(git diff LFwithNUL) &&
test -z "$LFwithNULdiff"
'

test_done
Loading

0 comments on commit b5f7b21

Please sign in to comment.