aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test/tst/org/eclipse
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit.test/tst/org/eclipse')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/api/EolStreamTypeUtilTest.java3
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java28
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/AutoCRLFOutputStreamTest.java2
3 files changed, 31 insertions, 2 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/EolStreamTypeUtilTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/EolStreamTypeUtilTest.java
index 2a553ce1a2..673aa1e9c0 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/EolStreamTypeUtilTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/EolStreamTypeUtilTest.java
@@ -83,7 +83,8 @@ public class EolStreamTypeUtilTest {
testCheckout(TEXT_CRLF, AUTO_CRLF, "\r\n", "\r\n");
testCheckout(TEXT_CRLF, AUTO_CRLF, "\n\r", "\r\n\r");
- testCheckout(TEXT_CRLF, AUTO_CRLF, "\n\r\n", "\r\n\r\n");
+ testCheckout(null, AUTO_CRLF, "\n\r\n", "\n\r\n");
+ testCheckout(TEXT_CRLF, null, "\n\r\n", "\r\n\r\n");
testCheckout(TEXT_CRLF, AUTO_CRLF, "\r\n\r", "\r\n\r");
testCheckout(TEXT_CRLF, AUTO_CRLF, "a\nb\n", "a\r\nb\r\n");
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java
index b943486b1b..af8a58f6f0 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java
@@ -337,6 +337,34 @@ public class DirCacheCheckoutTest extends RepositoryTestCase {
"first line\r\nsecond line\r\n", "f text=auto eol=crlf");
}
+ @Test
+ public void testCheckoutMixedAutoEolCrLf() throws Exception {
+ checkoutLineEndings("first line\nsecond line\r\n",
+ "first line\nsecond line\r\n", "f text=auto eol=crlf");
+ }
+
+ @Test
+ public void testCheckoutMixedAutoEolLf() throws Exception {
+ checkoutLineEndings("first line\nsecond line\r\n",
+ "first line\nsecond line\r\n", "f text=auto eol=lf");
+ }
+
+ @Test
+ public void testCheckoutMixedTextCrLf() throws Exception {
+ // Huh? Is this a bug in git? Both git 2.18.0 and git 2.33.0 do
+ // write the file with CRLF (and consequently report the file as
+ // modified in "git status" after check-out), however the CRLF in the
+ // repository is _not_ replaced by LF with eol=lf (see test below).
+ checkoutLineEndings("first line\nsecond line\r\n",
+ "first line\r\nsecond line\r\n", "f text eol=crlf");
+ }
+
+ @Test
+ public void testCheckoutMixedTextLf() throws Exception {
+ checkoutLineEndings("first line\nsecond line\r\nfoo",
+ "first line\nsecond line\r\nfoo", "f text eol=lf");
+ }
+
private DirCacheCheckout resetHard(RevCommit commit)
throws NoWorkTreeException,
CorruptObjectException, IOException {
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/AutoCRLFOutputStreamTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/AutoCRLFOutputStreamTest.java
index 85ce5381f3..db2f6da31e 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/AutoCRLFOutputStreamTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/AutoCRLFOutputStreamTest.java
@@ -34,7 +34,7 @@ public class AutoCRLFOutputStreamTest {
assertNoCrLf("\r\n\r", "\n\r");
assertNoCrLf("\r\n\r\r", "\r\n\r\r");
assertNoCrLf("\r\n\r\n", "\r\n\r\n");
- assertNoCrLf("\r\n\r\n\r", "\n\r\n\r");
+ assertNoCrLf("\n\r\n\r", "\n\r\n\r");
assertNoCrLf("\0\n", "\0\n");
}