You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2018/09/09 08:09:32 UTC
[directory-studio] branch master updated: Fix the unfold method for
Windws line breaks
This is an automated email from the ASF dual-hosted git repository.
seelmann pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-studio.git
The following commit(s) were added to refs/heads/master by this push:
new e89604e Fix the unfold method for Windws line breaks
e89604e is described below
commit e89604e2cef224559fe6cb2898924edd48294237
Author: Stefan Seelmann <ma...@stefan-seelmann.de>
AuthorDate: Sun Sep 9 10:09:16 2018 +0200
Fix the unfold method for Windws line breaks
---
.../ldifparser/model/lines/LdifLineBase.java | 2 +
.../studio/ldifparser/parser/LdifParserTest.java | 43 ++++++++++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java b/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java
index 1d5f8ef..6b7e6ee 100644
--- a/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java
+++ b/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java
@@ -170,6 +170,7 @@ public abstract class LdifLineBase implements LdifPart
{
newString[pos++] = c;
newString[pos++] = '\r';
+ i++;
}
break;
@@ -203,6 +204,7 @@ public abstract class LdifLineBase implements LdifPart
{
newString[pos++] = c;
newString[pos++] = '\n';
+ i++;
}
break;
diff --git a/plugins/ldifparser/src/test/java/org/apache/directory/studio/ldifparser/parser/LdifParserTest.java b/plugins/ldifparser/src/test/java/org/apache/directory/studio/ldifparser/parser/LdifParserTest.java
index c56e528..7f29000 100644
--- a/plugins/ldifparser/src/test/java/org/apache/directory/studio/ldifparser/parser/LdifParserTest.java
+++ b/plugins/ldifparser/src/test/java/org/apache/directory/studio/ldifparser/parser/LdifParserTest.java
@@ -23,6 +23,7 @@ package org.apache.directory.studio.ldifparser.parser;
import junit.framework.TestCase;
+import org.apache.directory.studio.ldifparser.LdifFormatParameters;
import org.apache.directory.studio.ldifparser.model.LdifFile;
@@ -39,4 +40,46 @@ public class LdifParserTest extends TestCase
assertEquals( 0, model.getRecords().length );
}
+
+ public void testParseAndFormatWithLdifWindowsLineBreak()
+ {
+ String ldif = ""
+ + "dn: cn=foo,ou=users,ou=system\r\n"
+ + "cn: foo\r\n"
+ + "description: 12345678901234567890123456789012345678901234567890123456789012345\r\n"
+ + " 678901234567890\r\n"
+ + "description:: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4\r\n"
+ + " OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAK\r\n";
+
+ LdifParser parser = new LdifParser();
+ LdifFile model = parser.parse( ldif );
+
+ assertEquals( 1, model.getRecords().length );
+
+ LdifFormatParameters formatParameters = new LdifFormatParameters( true, 78, "\r\n" );
+ String formatted = model.toFormattedString( formatParameters );
+ assertEquals( ldif, formatted );
+ }
+
+
+ public void testParseAndFormatWithLdifUnixLineBreak()
+ {
+ String ldif = ""
+ + "dn: cn=foo,ou=users,ou=system\n"
+ + "cn: foo\n"
+ + "description: 12345678901234567890123456789012345678901234567890123456789012345\n"
+ + " 678901234567890\n"
+ + "description:: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4\n"
+ + " OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAK\n";
+
+ LdifParser parser = new LdifParser();
+ LdifFile model = parser.parse( ldif );
+
+ assertEquals( 1, model.getRecords().length );
+
+ LdifFormatParameters formatParameters = new LdifFormatParameters( true, 78, "\n" );
+ String formatted = model.toFormattedString( formatParameters );
+ assertEquals( ldif, formatted );
+ }
+
}