[PATCH v4 5/5] t/t0021: Test that conversion changes are detected.
Signed-off-by Henrik Grubbström <grubba@grubba.org>
---
t/t0021-conversion.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh
index 6cb8d60..6d41ee7 100755
--- a/t/t0021-conversion.sh
+++ b/t/t0021-conversion.sh
@@ -89,4 +89,58 @@ test_expect_success expanded_in_repo '
cmp expanded-keywords expected-output
'
+# Check that files that have had their canonical representation
+# changed since being checked in aren't reported as modified
+# directly after being checked out.
+test_expect_success keywords_not_modified '
+ {
+ echo "File with foreign keywords"
+ echo "\$Id\$"
+ echo "\$Id: NoTerminatingSymbol"
+ echo "\$Id: Foreign Commit With Spaces \$"
+ echo "\$Id: GitCommitId \$"
+ echo "\$Id: NoTerminatingSymbolAtEOF"
+ } > expanded-keywords2 &&
+
+ git add expanded-keywords2 &&
+ git commit -m "File with keywords expanded" &&
+
+ echo "expanded-keywords2 ident" >> .gitattributes &&
+
+ rm -f expanded-keywords2 &&
+ git checkout -- expanded-keywords2 &&
+
+ test "x`git status --porcelain -- expanded-keywords2`" = x
+'
+
+# Test detection of CRLF conversion changes CRLF ==> LF.
+test_expect_success crlf_conversion_change_crlf_to_lf '
+(
+ # step 0. a blob with CRLF
+ git init one && cd one &&
+ echo -e "a quick brown fox\015" >kuzu &&
+ git add kuzu && git commit -m kuzu &&
+ # step 1. you want CRLF in work area, LF in repository
+ git config core.autocrlf true &&
+ # step 2. user edit and revert.
+ touch kuzu &&
+ git update-index --refresh
+)
+'
+
+# Test detection of CRLF conversion changes LF ==> CRLF.
+test_expect_success crlf_conversion_change_lf_to_crlf '
+(
+ # step 0 & 1. a project with LF ending
+ git init two && cd two &&
+ echo a quick brown fox >kuzu &&
+ git add kuzu && git commit -m kuzu &&
+ # step 2. you want CRLF in your work area
+ echo -e "a quick brown fox\015" >kuzu &&
+ git config core.autocrlf true &&
+ # step 3. oops, refresh
+ git update-index --refresh
+)
+'
+
test_done
--
1.7.0.4.369.g81e89