You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by Ron Grabowski <ro...@yahoo.com> on 2005/12/14 19:08:45 UTC

Re: svn commit: r356816 - /logging/log4net/trunk/tests/src/Layout/XmlLayoutTest.cs

(I can take care of the bounce myself)

When I was writing this the "2005-08-24T12:00:00.0000000+01:00" format didn't jump out to me as coming from XmlConvert.ToString. I kept looking for a {0:s} related format. Maybe its a good idea to add a static XmlLayout.ToString to allow outsiders (test cases) to format the timestamp without knowing about XmlConvert. Maybe not...it confused me for a while....

- Ron

----- Forwarded Message ----
From: MAILER-DAEMON@apache.org
To: rgrabowski@apache.org
Sent: Wednesday, December 14, 2005 9:47:40 AM
Subject: failure notice

Hi. This is the qmail-send program at apache.org.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<lo...@logging.apache.org>:
Sorry, only subscribers may post. If you are a subscriber, please forward this message to log4net-dev-owner@logging.apache.org to get your new address included (#5.7.2)

--- Below this line is a copy of the message.

Return-Path: <rg...@apache.org>
Received: (qmail 18078 invoked by uid 500); 14 Dec 2005 17:47:40 -0000
Delivered-To: apmail-logging-log4net-cvs@logging.apache.org
Received: (qmail 18075 invoked by uid 99); 14 Dec 2005 17:47:40 -0000
Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Dec 2005 09:47:40 -0800
X-ASF-Spam-Status: No, hits=-9.4 required=10.0
    tests=ALL_TRUSTED,NO_REAL_NAME
X-Spam-Check-By: apache.org
Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194)
    by apache.org (qpsmtpd/0.29) with SMTP; Wed, 14 Dec 2005 09:47:37 -0800
Received: (qmail 22288 invoked by uid 65534); 14 Dec 2005 17:47:16 -0000
Message-ID: <20...@minotaur.apache.org>
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r356816 -
 /logging/log4net/trunk/tests/src/Layout/XmlLayoutTest.cs
Date: Wed, 14 Dec 2005 17:47:08 -0000
To: log4net-cvs@logging.apache.org
From: rgrabowski@apache.org
X-Mailer: svnmailer-1.0.5
X-Virus-Checked: Checked by ClamAV on apache.org

Author: rgrabowski
Date: Wed Dec 14 09:46:36 2005
New Revision: 356816

URL: http://svn.apache.org/viewcvs?rev=356816&view=rev
Log:
Replaced hard-coded TimeStamp property of loggingEvent used for testing to DateTime.Today to avoid timezone offset problems when XmlConvert.ToString(loggingEvent.TimeStamp) is called within XmlLayout.

Modified:
    logging/log4net/trunk/tests/src/Layout/XmlLayoutTest.cs

Modified: logging/log4net/trunk/tests/src/Layout/XmlLayoutTest.cs
URL: http://svn.apache.org/viewcvs/logging/log4net/trunk/tests/src/Layout/XmlLayoutTest.cs?rev=356816&r1=356815&r2=356816&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Layout/XmlLayoutTest.cs (original)
+++ logging/log4net/trunk/tests/src/Layout/XmlLayoutTest.cs Wed Dec 14 09:46:36 2005
@@ -20,7 +20,7 @@
 using System.IO;
 using System.Diagnostics;
 using System.Globalization;
-
+using System.Xml;
 using log4net.Config;
 using log4net.Util;
 using log4net.Layout;
@@ -51,13 +51,28 @@
             ed.LoggerName="TestLogger";
             ed.Message="Test message";
             ed.ThreadName="TestThread";
-            ed.TimeStamp=new DateTime(2005,8,24,12,0,0);
+            ed.TimeStamp=DateTime.Today;
             ed.UserName="TestRunner";
             ed.Properties=new PropertiesDictionary();
 
             return ed;
         }
 
+        private string createEventNode(string message)
+        {
+            return String.Format("<event logger=\"TestLogger\" timestamp=\"{0}\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>{1}</message></event>\r\n", 
+                XmlConvert.ToString(DateTime.Today),
+                message);
+        }
+
+        private string createEventNode(string key, string value)
+        {
+            return String.Format("<event logger=\"TestLogger\" timestamp=\"{0:s}\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>Test message</message><properties><data name=\"{1}\" value=\"{2}\" /></properties></event>\r\n",
+                XmlConvert.ToString(DateTime.Today),
+                key,
+                value);
+        }
+
         [Test] public void TestBasicEventLogging()
         {
             TextWriter writer=new StringWriter();
@@ -65,11 +80,10 @@
             LoggingEventData evt=createBaseEvent();
 
             layout.Format(writer,new LoggingEvent(evt));
+
+            string expected = createEventNode("Test message");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>Test message</message></event>\r\n",
-                writer.ToString()
-                );
+            Assertion.AssertEquals    (expected, writer.ToString());
         }
 
         [Test] public void TestIllegalCharacterMasking()
@@ -81,11 +95,10 @@
             evt.Message="This is a masked char->\uFFFF";
 
             layout.Format(writer,new LoggingEvent(evt));
+
+            string expected = createEventNode("This is a masked char-&gt;?");
             
-            Assertion.AssertEquals    (
-                                    "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>This is a masked char-&gt;?</message></event>\r\n",
-                                    writer.ToString()
-                                    );
+            Assertion.AssertEquals    (expected, writer.ToString());
         }
 
         [Test] public void TestCDATAEscaping1()
@@ -98,11 +111,10 @@
             evt.Message="&&&&&&&Escape this ]]>. End here.";
 
             layout.Format(writer,new LoggingEvent(evt));
+
+            string expected = createEventNode("<![CDATA[&&&&&&&Escape this ]]>]]<![CDATA[>. End here.]]>");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message><![CDATA[&&&&&&&Escape this ]]>]]<![CDATA[>. End here.]]></message></event>\r\n",
-                writer.ToString()
-                );
+            Assertion.AssertEquals    (expected, writer.ToString());
         }
 
         [Test] public void TestCDATAEscaping2()
@@ -115,11 +127,10 @@
             evt.Message="&&&&&&&Escape the end ]]>";
 
             layout.Format(writer,new LoggingEvent(evt));
+
+            string expected = createEventNode("<![CDATA[&&&&&&&Escape the end ]]>]]&gt;");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message><![CDATA[&&&&&&&Escape the end ]]>]]&gt;</message></event>\r\n",
-                writer.ToString()
-                );
+            Assertion.AssertEquals    (expected, writer.ToString());
         }
 
         [Test] public void TestCDATAEscaping3()
@@ -132,11 +143,10 @@
             evt.Message="]]>&&&&&&&Escape the begining";
 
             layout.Format(writer,new LoggingEvent(evt));
+
+            string expected = createEventNode("<![CDATA[]]>]]<![CDATA[>&&&&&&&Escape the begining]]>");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message><![CDATA[]]>]]<![CDATA[>&&&&&&&Escape the begining]]></message></event>\r\n",
-                writer.ToString()
-                );
+            Assertion.AssertEquals    (expected, writer.ToString());
         }
 
         [Test] public void TestBase64EventLogging()
@@ -147,11 +157,10 @@
 
             layout.Base64EncodeMessage=true;
             layout.Format(writer,new LoggingEvent(evt));
+
+            string expected = createEventNode("VGVzdCBtZXNzYWdl");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>VGVzdCBtZXNzYWdl</message></event>\r\n",
-                writer.ToString()
-                );
+            Assertion.AssertEquals    (expected, writer.ToString());
         }
 
         [Test] public void TestPropertyEventLogging()
@@ -168,11 +177,10 @@
             ILog log1 = LogManager.GetLogger(rep.Name, "TestThreadProperiesPattern");
 
             log1.Logger.Log(new LoggingEvent(evt));
+
+            string expected = createEventNode("Property1",  "prop1");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>Test message</message><properties><data name=\"Property1\" value=\"prop1\" /></properties></event>\r\n",
-                stringAppender.GetString()
-                );
+            Assertion.AssertEquals    (expected, stringAppender.GetString());
         }
 
         [Test] public void TestBase64PropertyEventLogging()
@@ -190,11 +198,10 @@
             ILog log1 = LogManager.GetLogger(rep.Name, "TestThreadProperiesPattern");
 
             log1.Logger.Log(new LoggingEvent(evt));
+
+            string expected = createEventNode("Property1", "cHJvcDE=");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>Test message</message><properties><data name=\"Property1\" value=\"cHJvcDE=\" /></properties></event>\r\n",
-                stringAppender.GetString()
-                );
+            Assertion.AssertEquals    (expected, stringAppender.GetString());
         }
 
         [Test] public void TestPropertyCharacterEscaping()
@@ -211,11 +218,10 @@
             ILog log1 = LogManager.GetLogger(rep.Name, "TestThreadProperiesPattern");
 
             log1.Logger.Log(new LoggingEvent(evt));
+
+            string expected = createEventNode("Property1", "prop1 &quot;quoted&quot;"); 
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>Test message</message><properties><data name=\"Property1\" value=\"prop1 &quot;quoted&quot;\" /></properties></event>\r\n",
-                stringAppender.GetString()
-                );
+            Assertion.AssertEquals    (expected, stringAppender.GetString());
         }
 
         [Test] public void TestPropertyIllegalCharacterMasking()
@@ -232,11 +238,10 @@
             ILog log1 = LogManager.GetLogger(rep.Name, "TestThreadProperiesPattern");
 
             log1.Logger.Log(new LoggingEvent(evt));
+
+            string expected = createEventNode("Property1", "mask this -&gt;?");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>Test message</message><properties><data name=\"Property1\" value=\"mask this -&gt;?\" /></properties></event>\r\n",
-                stringAppender.GetString()
-                );
+            Assertion.AssertEquals    (expected, stringAppender.GetString());
         }
 
         [Test] public void TestPropertyIllegalCharacterMaskingInName()
@@ -253,11 +258,10 @@
             ILog log1 = LogManager.GetLogger(rep.Name, "TestThreadProperiesPattern");
 
             log1.Logger.Log(new LoggingEvent(evt));
+
+            string expected = createEventNode("Property?", "mask this -&gt;?");
             
-            Assertion.AssertEquals    (
-                "<event logger=\"TestLogger\" timestamp=\"2005-08-24T12:00:00.0000000+01:00\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>Test message</message><properties><data name=\"Property?\" value=\"mask this -&gt;?\" /></properties></event>\r\n",
-                stringAppender.GetString()
-                );
+            Assertion.AssertEquals    (expected, stringAppender.GetString());
         }
     }
 }