Author: rgoers
Date: Mon Mar 26 16:02:47 2012
New Revision: 1305418

URL: http://svn.apache.org/viewvc?rev=1305418&view=rev
Log:
Fix line ending bugs so they work on OS/X and Windows

Modified:
    
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/XMLLayoutTest.java
    
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverterTest.java
    
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
    
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
    
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java

Modified: 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/XMLLayoutTest.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/XMLLayoutTest.java?rev=1305418&r1=1305417&r2=1305418&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/XMLLayoutTest.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/XMLLayoutTest.java
 Mon Mar 26 16:02:47 2012
@@ -54,7 +54,7 @@ public class XMLLayoutTest {
     }
 
     private static final String body =
-        "<log4j:message><![CDATA[empty mdc]]></log4j:message>\r";
+        "<log4j:message><![CDATA[empty mdc]]></log4j:message>";
 
 
     /**
@@ -92,8 +92,8 @@ public class XMLLayoutTest {
         List<String> list = appender.getMessages();
 
         assertTrue("Incorrect number of lines. Require at least 50 " + 
list.size(), list.size() > 50);
-        assertTrue("Incorrect header", list.get(0).equals("<?xml 
version=\"1.0\" encoding=\"UTF-8\"?>\r"));
-        assertTrue("Incorrect footer", list.get(list.size() - 
1).equals("</log4j:eventSet>\r"));
+        assertTrue("Incorrect header", list.get(0).equals("<?xml 
version=\"1.0\" encoding=\"UTF-8\"?>"));
+        assertTrue("Incorrect footer", list.get(list.size() - 
1).equals("</log4j:eventSet>"));
         assertTrue("Incorrect body. Expected " + body + " Actual: " + 
list.get(8), list.get(8).equals(body));
     }
 }

Modified: 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverterTest.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverterTest.java?rev=1305418&r1=1305417&r2=1305418&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverterTest.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverterTest.java
 Mon Mar 26 16:02:47 2012
@@ -54,8 +54,8 @@ public class ExtendedThrowablePatternCon
         PrintWriter pw = new PrintWriter(sw);
         parent.printStackTrace(pw);
         String result = sb.toString();
-        //System.out.print(result);
         result = result.replaceAll(" ~?\\[.*\\]", "");
-        assertEquals(sw.toString(), result);
+        String expected = sw.toString().replaceAll("\r", "");
+        assertEquals(expected, result);
     }
 }

Modified: 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java?rev=1305418&r1=1305417&r2=1305418&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
 Mon Mar 26 16:02:47 2012
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertEqu
  */
 public class RegexReplacementConverterTest {
 
-
+    private static final String LINE_SEP = 
System.getProperty("line.separator");
     @Test
     public void testReplacement() {
         ThreadContext.put("MyKey", "Apache");
@@ -50,7 +50,7 @@ public class RegexReplacementConverterTe
         RegexReplacementConverter converter = 
RegexReplacementConverter.newInstance(ctx.getConfiguration(),
             options);
         converter.format(event, sb);
-        
assertEquals("org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest
 This is a test\n",
+        
assertEquals("org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest
 This is a test" + LINE_SEP,
             sb.toString());
     }
 }

Modified: 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java?rev=1305418&r1=1305417&r2=1305418&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
 Mon Mar 26 16:02:47 2012
@@ -44,6 +44,9 @@ public class RegexReplacementTest {
     private static ListAppender app;
     private static ListAppender app2;
     private static LoggerContext ctx;
+    
+    private static final String LINE_SEP = 
System.getProperty("line.separator");
+    private static final String EXPECTED = "/RegexReplacementTest" + LINE_SEP;
 
     @BeforeClass
     public static void setupClass() {
@@ -77,14 +80,14 @@ public class RegexReplacementTest {
         List<String> msgs = app.getMessages();
         assertNotNull(msgs);
         assertTrue("Incorrect number of messages. Should be 1 is " + 
msgs.size(), msgs.size() == 1);
-        assertTrue("Replacement failed", 
msgs.get(0).endsWith("/RegexReplacementTest\n"));
+        assertTrue("Replacement failed - expected ending " + EXPECTED + " 
Actual " + msgs.get(0), msgs.get(0).endsWith(EXPECTED));
         app.clear();
         ThreadContext.put("MyKey", "Apache");
         logger.error("This is a test for ${ctx:MyKey}");
         msgs = app.getMessages();
         assertNotNull(msgs);
         assertTrue("Incorrect number of messages. Should be 1 is " + 
msgs.size(), msgs.size() == 1);
-        assertEquals("LoggerTest This is a test for Apache\n", msgs.get(0));
+        assertEquals("LoggerTest This is a test for Apache" + LINE_SEP , 
msgs.get(0));
         app.clear();
 
     }
@@ -94,7 +97,7 @@ public class RegexReplacementTest {
         List<String> msgs = app2.getMessages();
         assertNotNull(msgs);
         assertTrue("Incorrect number of messages. Should be 1 is " + 
msgs.size(), msgs.size() == 1);
-        assertTrue("Replacement failed", 
msgs.get(0).endsWith("/RegexReplacementTest\n"));
+         assertTrue("Replacement failed - expected ending " + EXPECTED + " 
Actual " + msgs.get(0), msgs.get(0).endsWith(EXPECTED));
         app2.clear();
     }
 }

Modified: 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java?rev=1305418&r1=1305417&r2=1305418&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j2-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
 Mon Mar 26 16:02:47 2012
@@ -47,7 +47,7 @@ public class ListAppender extends Append
 
     private final boolean raw;
     
-    private static final String LINE_SEP = 
System.getProperty("line.separator");
+    private static final String WINDOWS_LINE_SEP = "\r\n";
 
     public ListAppender(String name) {
         super(name, null, null);
@@ -92,9 +92,19 @@ public class ListAppender extends Append
         if (newLine) {
             int index = 0;
             while (index < str.length()) {
-                int end = str.indexOf(LINE_SEP, index);
+                int end;
+                int wend = str.indexOf(WINDOWS_LINE_SEP, index);
+                int lend = str.indexOf("\n", index);
+                int length;
+                if (wend >= 0 && wend < lend) {
+                    end = wend;
+                    length = 2;
+                } else {
+                    end = lend;
+                    length = 1;
+                }
                 if (index == end) {
-                    if (!messages.get(messages.size() - 
LINE_SEP.length()).equals("")) {
+                    if (!messages.get(messages.size() - length).equals("")) {
                         messages.add("");
                     }
                 } else if (end >= 0) {
@@ -103,7 +113,7 @@ public class ListAppender extends Append
                     messages.add(str.substring(index));
                     break;
                 }
-                index = end + LINE_SEP.length();
+                index = end + length;
             }
         } else {
             messages.add(str);


Reply via email to