http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Hierarchy/Hierarchy.cs ---------------------------------------------------------------------- diff --git a/tests/src/Hierarchy/Hierarchy.cs b/tests/src/Hierarchy/Hierarchy.cs index 55ca258..8c83290 100644 --- a/tests/src/Hierarchy/Hierarchy.cs +++ b/tests/src/Hierarchy/Hierarchy.cs @@ -30,140 +30,140 @@ using NUnit.Framework; namespace log4net.Tests.Hierarchy { - [TestFixture] - public class Hierarchy - { - [Test] - public void SetRepositoryPropertiesInConfigFile() - { - // LOG4NET-53: Allow repository properties to be set in the config file - XmlDocument log4netConfig = new XmlDocument(); - log4netConfig.LoadXml(@" - <log4net> - <property> - <key value=""two-plus-two"" /> - <value value=""4"" /> - </property> - <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> - <layout type=""log4net.Layout.SimpleLayout"" /> - </appender> - <root> - <level value=""ALL"" /> - <appender-ref ref=""StringAppender"" /> - </root> - </log4net>"); - - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - XmlConfigurator.Configure(rep, log4netConfig["log4net"]); - - Assert.AreEqual("4", rep.Properties["two-plus-two"]); - Assert.IsNull(rep.Properties["one-plus-one"]); - } - - [Test] - public void AddingMultipleAppenders() - { - CountingAppender alpha = new CountingAppender(); - CountingAppender beta = new CountingAppender(); - - Repository.Hierarchy.Hierarchy hierarchy = - (Repository.Hierarchy.Hierarchy)Utils.GetRepository(); - - hierarchy.Root.AddAppender(alpha); - hierarchy.Root.AddAppender(beta); - hierarchy.Configured = true; - - ILog log = LogManager.GetLogger(GetType()); - log.Debug("Hello World"); - - Assert.AreEqual(1, alpha.Counter); - Assert.AreEqual(1, beta.Counter); - } - - [Test] - public void AddingMultipleAppenders2() - { - CountingAppender alpha = new CountingAppender(); - CountingAppender beta = new CountingAppender(); + [TestFixture] + public class Hierarchy + { + [Test] + public void SetRepositoryPropertiesInConfigFile() + { + // LOG4NET-53: Allow repository properties to be set in the config file + XmlDocument log4netConfig = new XmlDocument(); + log4netConfig.LoadXml(@" + <log4net> + <property> + <key value=""two-plus-two"" /> + <value value=""4"" /> + </property> + <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> + <layout type=""log4net.Layout.SimpleLayout"" /> + </appender> + <root> + <level value=""ALL"" /> + <appender-ref ref=""StringAppender"" /> + </root> + </log4net>"); + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + XmlConfigurator.Configure(rep, log4netConfig["log4net"]); + + Assert.AreEqual("4", rep.Properties["two-plus-two"]); + Assert.IsNull(rep.Properties["one-plus-one"]); + } + + [Test] + public void AddingMultipleAppenders() + { + CountingAppender alpha = new CountingAppender(); + CountingAppender beta = new CountingAppender(); + + Repository.Hierarchy.Hierarchy hierarchy = + (Repository.Hierarchy.Hierarchy)Utils.GetRepository(); + + hierarchy.Root.AddAppender(alpha); + hierarchy.Root.AddAppender(beta); + hierarchy.Configured = true; + + ILog log = LogManager.GetLogger(GetType()); + log.Debug("Hello World"); + + Assert.AreEqual(1, alpha.Counter); + Assert.AreEqual(1, beta.Counter); + } + + [Test] + public void AddingMultipleAppenders2() + { + CountingAppender alpha = new CountingAppender(); + CountingAppender beta = new CountingAppender(); #if NETSTANDARD1_3 - BasicConfigurator.Configure(Utils.GetRepository(), alpha, beta); + BasicConfigurator.Configure(Utils.GetRepository(), alpha, beta); #else - BasicConfigurator.Configure(alpha, beta); + BasicConfigurator.Configure(alpha, beta); #endif - ILog log = LogManager.GetLogger(GetType()); - log.Debug("Hello World"); + ILog log = LogManager.GetLogger(GetType()); + log.Debug("Hello World"); - Assert.AreEqual(1, alpha.Counter); - Assert.AreEqual(1, beta.Counter); - } + Assert.AreEqual(1, alpha.Counter); + Assert.AreEqual(1, beta.Counter); + } - [Test] + [Test] // LOG4NET-343 - public void LoggerNameCanConsistOfASingleDot() - { - XmlDocument log4netConfig = new XmlDocument(); - log4netConfig.LoadXml(@" - <log4net> - <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> - <layout type=""log4net.Layout.SimpleLayout"" /> - </appender> - <root> - <level value=""ALL"" /> - <appender-ref ref=""StringAppender"" /> - </root> - <logger name="".""> - <level value=""WARN"" /> - </logger> - </log4net>"); - - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - XmlConfigurator.Configure(rep, log4netConfig["log4net"]); - } - - [Test] - public void LoggerNameCanConsistOfASingleNonDot() - { - XmlDocument log4netConfig = new XmlDocument(); - log4netConfig.LoadXml(@" - <log4net> - <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> - <layout type=""log4net.Layout.SimpleLayout"" /> - </appender> - <root> - <level value=""ALL"" /> - <appender-ref ref=""StringAppender"" /> - </root> - <logger name=""L""> - <level value=""WARN"" /> - </logger> - </log4net>"); - - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - XmlConfigurator.Configure(rep, log4netConfig["log4net"]); - } - - [Test] - public void LoggerNameCanContainSequenceOfDots() - { - XmlDocument log4netConfig = new XmlDocument(); - log4netConfig.LoadXml(@" - <log4net> - <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> - <layout type=""log4net.Layout.SimpleLayout"" /> - </appender> - <root> - <level value=""ALL"" /> - <appender-ref ref=""StringAppender"" /> - </root> - <logger name=""L..M""> - <level value=""WARN"" /> - </logger> - </log4net>"); - - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - XmlConfigurator.Configure(rep, log4netConfig["log4net"]); - } - } + public void LoggerNameCanConsistOfASingleDot() + { + XmlDocument log4netConfig = new XmlDocument(); + log4netConfig.LoadXml(@" + <log4net> + <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> + <layout type=""log4net.Layout.SimpleLayout"" /> + </appender> + <root> + <level value=""ALL"" /> + <appender-ref ref=""StringAppender"" /> + </root> + <logger name="".""> + <level value=""WARN"" /> + </logger> + </log4net>"); + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + XmlConfigurator.Configure(rep, log4netConfig["log4net"]); + } + + [Test] + public void LoggerNameCanConsistOfASingleNonDot() + { + XmlDocument log4netConfig = new XmlDocument(); + log4netConfig.LoadXml(@" + <log4net> + <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> + <layout type=""log4net.Layout.SimpleLayout"" /> + </appender> + <root> + <level value=""ALL"" /> + <appender-ref ref=""StringAppender"" /> + </root> + <logger name=""L""> + <level value=""WARN"" /> + </logger> + </log4net>"); + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + XmlConfigurator.Configure(rep, log4netConfig["log4net"]); + } + + [Test] + public void LoggerNameCanContainSequenceOfDots() + { + XmlDocument log4netConfig = new XmlDocument(); + log4netConfig.LoadXml(@" + <log4net> + <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> + <layout type=""log4net.Layout.SimpleLayout"" /> + </appender> + <root> + <level value=""ALL"" /> + <appender-ref ref=""StringAppender"" /> + </root> + <logger name=""L..M""> + <level value=""WARN"" /> + </logger> + </log4net>"); + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + XmlConfigurator.Configure(rep, log4netConfig["log4net"]); + } + } }
http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Hierarchy/XmlHierarchyConfiguratorTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Hierarchy/XmlHierarchyConfiguratorTest.cs b/tests/src/Hierarchy/XmlHierarchyConfiguratorTest.cs index 224e710..6000366 100644 --- a/tests/src/Hierarchy/XmlHierarchyConfiguratorTest.cs +++ b/tests/src/Hierarchy/XmlHierarchyConfiguratorTest.cs @@ -27,58 +27,58 @@ using log4net.Repository.Hierarchy; namespace log4net.Tests.Hierarchy { - [TestFixture] - public class XmlHierarchyConfiguratorTest - { + [TestFixture] + public class XmlHierarchyConfiguratorTest + { private string testProp; public string TestProp { - set - { + set + { testProp = value; - } - get - { + } + get + { return testProp; - } + } } #if !NETSTANDARD1_3 // TODO write replacement test [Test][Platform(Include="Win")] public void EnvironmentOnWindowsIsCaseInsensitive() { - SetTestPropWithPath(); - Assert.AreNotEqual("Path=", TestProp); + SetTestPropWithPath(); + Assert.AreNotEqual("Path=", TestProp); } [Test][Platform(Include="Unix")] public void EnvironmentOnUnixIsCaseSensitive() { - SetTestPropWithPath(); - Assert.AreEqual("Path=", TestProp); + SetTestPropWithPath(); + Assert.AreEqual("Path=", TestProp); } #endif private void SetTestPropWithPath() { - XmlDocument doc = new XmlDocument(); - XmlElement el = doc.CreateElement("param"); - el.SetAttribute("name", "TestProp"); - el.SetAttribute("value", "Path=${path}"); - new TestConfigurator().PublicSetParameter(el, this); + XmlDocument doc = new XmlDocument(); + XmlElement el = doc.CreateElement("param"); + el.SetAttribute("name", "TestProp"); + el.SetAttribute("value", "Path=${path}"); + new TestConfigurator().PublicSetParameter(el, this); } // workaround for SetParameter being protected private class TestConfigurator : XmlHierarchyConfigurator { - public TestConfigurator() : base(null) - { - } - public void PublicSetParameter(XmlElement element, object target) - { + public TestConfigurator() : base(null) + { + } + public void PublicSetParameter(XmlElement element, object target) + { SetParameter(element, target); - } + } + } } - } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Layout/DynamicPatternLayoutTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Layout/DynamicPatternLayoutTest.cs b/tests/src/Layout/DynamicPatternLayoutTest.cs index 1a137bf..33aa9e5 100644 --- a/tests/src/Layout/DynamicPatternLayoutTest.cs +++ b/tests/src/Layout/DynamicPatternLayoutTest.cs @@ -22,16 +22,16 @@ using log4net.Layout; using NUnit.Framework; namespace log4net.Tests.Layout { - /// <summary> - /// Used for internal unit testing the <see cref="DynamicPatternLayout"/> class. - /// </summary> - public class DynamicPatternLayoutTest : PatternLayoutTest { - protected override PatternLayout NewPatternLayout() { - return new DynamicPatternLayout(); - } + /// <summary> + /// Used for internal unit testing the <see cref="DynamicPatternLayout"/> class. + /// </summary> + public class DynamicPatternLayoutTest : PatternLayoutTest { + protected override PatternLayout NewPatternLayout() { + return new DynamicPatternLayout(); + } - protected override PatternLayout NewPatternLayout(string pattern) { - return new DynamicPatternLayout(pattern); - } - } + protected override PatternLayout NewPatternLayout(string pattern) { + return new DynamicPatternLayout(pattern); + } + } } http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Layout/PatternLayoutTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Layout/PatternLayoutTest.cs b/tests/src/Layout/PatternLayoutTest.cs index d272b11..68e0a1e 100644 --- a/tests/src/Layout/PatternLayoutTest.cs +++ b/tests/src/Layout/PatternLayoutTest.cs @@ -56,28 +56,28 @@ namespace log4net.Tests.Layout } - [TearDown] - public void TearDown() { + [TearDown] + public void TearDown() { Utils.RemovePropertyFromAllContexts(); // restore previous culture System.Threading.Thread.CurrentThread.CurrentCulture = _currentCulture; System.Threading.Thread.CurrentThread.CurrentUICulture = _currentUICulture; - } + } #endif - protected virtual PatternLayout NewPatternLayout() { - return new PatternLayout(); - } + protected virtual PatternLayout NewPatternLayout() { + return new PatternLayout(); + } - protected virtual PatternLayout NewPatternLayout(string pattern) { - return new PatternLayout(pattern); - } + protected virtual PatternLayout NewPatternLayout(string pattern) { + return new PatternLayout(pattern); + } - [Test] + [Test] public void TestThreadPropertiesPattern() { StringAppender stringAppender = new StringAppender(); - stringAppender.Layout = NewPatternLayout("%property{" + Utils.PROPERTY_KEY + "}"); + stringAppender.Layout = NewPatternLayout("%property{" + Utils.PROPERTY_KEY + "}"); ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); BasicConfigurator.Configure(rep, stringAppender); @@ -102,30 +102,30 @@ namespace log4net.Tests.Layout } #if NETSTANDARD1_3 - [Test, Ignore("System.Diagnostics.StackTrace isn't fully implemented on NETSTANDARD1_3")] + [Test, Ignore("System.Diagnostics.StackTrace isn't fully implemented on NETSTANDARD1_3")] #else - [Test] + [Test] #endif - public void TestStackTracePattern() - { - StringAppender stringAppender = new StringAppender(); - stringAppender.Layout = NewPatternLayout("%stacktrace{2}"); + public void TestStackTracePattern() + { + StringAppender stringAppender = new StringAppender(); + stringAppender.Layout = NewPatternLayout("%stacktrace{2}"); - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - BasicConfigurator.Configure(rep, stringAppender); + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + BasicConfigurator.Configure(rep, stringAppender); - ILog log1 = LogManager.GetLogger(rep.Name, "TestStackTracePattern"); + ILog log1 = LogManager.GetLogger(rep.Name, "TestStackTracePattern"); - log1.Info("TestMessage"); - StringAssert.EndsWith("PatternLayoutTest.TestStackTracePattern", stringAppender.GetString(), "stack trace value set"); - stringAppender.Reset(); - } + log1.Info("TestMessage"); + StringAssert.EndsWith("PatternLayoutTest.TestStackTracePattern", stringAppender.GetString(), "stack trace value set"); + stringAppender.Reset(); + } [Test] public void TestGlobalPropertiesPattern() { StringAppender stringAppender = new StringAppender(); - stringAppender.Layout = NewPatternLayout("%property{" + Utils.PROPERTY_KEY + "}"); + stringAppender.Layout = NewPatternLayout("%property{" + Utils.PROPERTY_KEY + "}"); ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); BasicConfigurator.Configure(rep, stringAppender); @@ -171,147 +171,147 @@ namespace log4net.Tests.Layout stringAppender.Reset(); } - [Test] - public void NamedPatternConverterWithoutPrecisionShouldReturnFullName() - { - StringAppender stringAppender = new StringAppender(); - PatternLayout layout = NewPatternLayout(); - layout.AddConverter("message-as-name", typeof(MessageAsNamePatternConverter)); - layout.ConversionPattern = "%message-as-name"; - layout.ActivateOptions(); - stringAppender.Layout = layout; - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - BasicConfigurator.Configure(rep, stringAppender); - ILog log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern"); - - log1.Info("NoDots"); - Assert.AreEqual("NoDots", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("One.Dot"); - Assert.AreEqual("One.Dot", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("Tw.o.Dots"); - Assert.AreEqual("Tw.o.Dots", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("TrailingDot."); - Assert.AreEqual("TrailingDot.", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info(".LeadingDot"); - Assert.AreEqual(".LeadingDot", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - // empty string and other evil combinations as tests for of-by-one mistakes in index calculations - log1.Info(string.Empty); - Assert.AreEqual(string.Empty, stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("."); - Assert.AreEqual(".", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("x"); - Assert.AreEqual("x", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - } - - [Test] - public void NamedPatternConverterWithPrecision1ShouldStripLeadingStuffIfPresent() - { - StringAppender stringAppender = new StringAppender(); - PatternLayout layout = NewPatternLayout(); - layout.AddConverter("message-as-name", typeof(MessageAsNamePatternConverter)); - layout.ConversionPattern = "%message-as-name{1}"; - layout.ActivateOptions(); - stringAppender.Layout = layout; - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - BasicConfigurator.Configure(rep, stringAppender); - ILog log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern"); - - log1.Info("NoDots"); - Assert.AreEqual("NoDots", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("One.Dot"); - Assert.AreEqual("Dot", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("Tw.o.Dots"); - Assert.AreEqual("Dots", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("TrailingDot."); - Assert.AreEqual("TrailingDot.", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info(".LeadingDot"); - Assert.AreEqual("LeadingDot", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - // empty string and other evil combinations as tests for of-by-one mistakes in index calculations - log1.Info(string.Empty); - Assert.AreEqual(string.Empty, stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("x"); - Assert.AreEqual("x", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("."); - Assert.AreEqual(".", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - } - - [Test] - public void NamedPatternConverterWithPrecision2ShouldStripLessLeadingStuffIfPresent() { - StringAppender stringAppender = new StringAppender(); - PatternLayout layout = NewPatternLayout(); - layout.AddConverter("message-as-name", typeof(MessageAsNamePatternConverter)); - layout.ConversionPattern = "%message-as-name{2}"; - layout.ActivateOptions(); - stringAppender.Layout = layout; - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - BasicConfigurator.Configure(rep, stringAppender); - ILog log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern"); - - log1.Info("NoDots"); - Assert.AreEqual("NoDots", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("One.Dot"); - Assert.AreEqual("One.Dot", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("Tw.o.Dots"); - Assert.AreEqual("o.Dots", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("TrailingDot."); - Assert.AreEqual("TrailingDot.", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info(".LeadingDot"); - Assert.AreEqual("LeadingDot", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - // empty string and other evil combinations as tests for of-by-one mistakes in index calculations - log1.Info(string.Empty); - Assert.AreEqual(string.Empty, stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("x"); - Assert.AreEqual("x", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - - log1.Info("."); - Assert.AreEqual(".", stringAppender.GetString(), "%message-as-name not registered"); - stringAppender.Reset(); - } - - /// <summary> + [Test] + public void NamedPatternConverterWithoutPrecisionShouldReturnFullName() + { + StringAppender stringAppender = new StringAppender(); + PatternLayout layout = NewPatternLayout(); + layout.AddConverter("message-as-name", typeof(MessageAsNamePatternConverter)); + layout.ConversionPattern = "%message-as-name"; + layout.ActivateOptions(); + stringAppender.Layout = layout; + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + BasicConfigurator.Configure(rep, stringAppender); + ILog log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern"); + + log1.Info("NoDots"); + Assert.AreEqual("NoDots", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("One.Dot"); + Assert.AreEqual("One.Dot", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("Tw.o.Dots"); + Assert.AreEqual("Tw.o.Dots", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("TrailingDot."); + Assert.AreEqual("TrailingDot.", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info(".LeadingDot"); + Assert.AreEqual(".LeadingDot", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + // empty string and other evil combinations as tests for of-by-one mistakes in index calculations + log1.Info(string.Empty); + Assert.AreEqual(string.Empty, stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("."); + Assert.AreEqual(".", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("x"); + Assert.AreEqual("x", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + } + + [Test] + public void NamedPatternConverterWithPrecision1ShouldStripLeadingStuffIfPresent() + { + StringAppender stringAppender = new StringAppender(); + PatternLayout layout = NewPatternLayout(); + layout.AddConverter("message-as-name", typeof(MessageAsNamePatternConverter)); + layout.ConversionPattern = "%message-as-name{1}"; + layout.ActivateOptions(); + stringAppender.Layout = layout; + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + BasicConfigurator.Configure(rep, stringAppender); + ILog log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern"); + + log1.Info("NoDots"); + Assert.AreEqual("NoDots", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("One.Dot"); + Assert.AreEqual("Dot", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("Tw.o.Dots"); + Assert.AreEqual("Dots", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("TrailingDot."); + Assert.AreEqual("TrailingDot.", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info(".LeadingDot"); + Assert.AreEqual("LeadingDot", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + // empty string and other evil combinations as tests for of-by-one mistakes in index calculations + log1.Info(string.Empty); + Assert.AreEqual(string.Empty, stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("x"); + Assert.AreEqual("x", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("."); + Assert.AreEqual(".", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + } + + [Test] + public void NamedPatternConverterWithPrecision2ShouldStripLessLeadingStuffIfPresent() { + StringAppender stringAppender = new StringAppender(); + PatternLayout layout = NewPatternLayout(); + layout.AddConverter("message-as-name", typeof(MessageAsNamePatternConverter)); + layout.ConversionPattern = "%message-as-name{2}"; + layout.ActivateOptions(); + stringAppender.Layout = layout; + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + BasicConfigurator.Configure(rep, stringAppender); + ILog log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern"); + + log1.Info("NoDots"); + Assert.AreEqual("NoDots", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("One.Dot"); + Assert.AreEqual("One.Dot", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("Tw.o.Dots"); + Assert.AreEqual("o.Dots", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("TrailingDot."); + Assert.AreEqual("TrailingDot.", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info(".LeadingDot"); + Assert.AreEqual("LeadingDot", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + // empty string and other evil combinations as tests for of-by-one mistakes in index calculations + log1.Info(string.Empty); + Assert.AreEqual(string.Empty, stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("x"); + Assert.AreEqual("x", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + + log1.Info("."); + Assert.AreEqual(".", stringAppender.GetString(), "%message-as-name not registered"); + stringAppender.Reset(); + } + + /// <summary> /// Converter to include event message /// </summary> private class TestMessagePatternConverter : PatternLayoutConverter @@ -348,12 +348,12 @@ namespace log4net.Tests.Layout stringAppender.Reset(); } - private class MessageAsNamePatternConverter : NamedPatternConverter - { - protected override string GetFullyQualifiedName(LoggingEvent loggingEvent) - { - return loggingEvent.MessageObject.ToString(); - } - } - } + private class MessageAsNamePatternConverter : NamedPatternConverter + { + protected override string GetFullyQualifiedName(LoggingEvent loggingEvent) + { + return loggingEvent.MessageObject.ToString(); + } + } + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Layout/XmlLayoutTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Layout/XmlLayoutTest.cs b/tests/src/Layout/XmlLayoutTest.cs index 8ae4ea7..9918ac7 100644 --- a/tests/src/Layout/XmlLayoutTest.cs +++ b/tests/src/Layout/XmlLayoutTest.cs @@ -84,23 +84,23 @@ namespace log4net.Tests.Layout { return String.Format("<event logger=\"TestLogger\" timestamp=\"{0}\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>{1}</message></event>" + Environment.NewLine, #if NET_2_0 || MONO_2_0 || MONO_3_5 || MONO_4_0 || NETSTANDARD1_3 - XmlConvert.ToString(DateTime.Today, XmlDateTimeSerializationMode.Local), + XmlConvert.ToString(DateTime.Today, XmlDateTimeSerializationMode.Local), #else - XmlConvert.ToString(DateTime.Today), + XmlConvert.ToString(DateTime.Today), #endif - message); + message); } private static string CreateEventNode(string key, string value) { return String.Format("<event logger=\"TestLogger\" timestamp=\"{0}\" level=\"INFO\" thread=\"TestThread\" domain=\"Tests\" identity=\"TestRunner\" username=\"TestRunner\"><message>Test message</message><properties><data name=\"{1}\" value=\"{2}\" /></properties></event>" + Environment.NewLine, #if NET_2_0 || MONO_2_0 || MONO_3_5 || MONO_4_0 || NETSTANDARD1_3 - XmlConvert.ToString(DateTime.Today, XmlDateTimeSerializationMode.Local), + XmlConvert.ToString(DateTime.Today, XmlDateTimeSerializationMode.Local), #else - XmlConvert.ToString(DateTime.Today), + XmlConvert.ToString(DateTime.Today), #endif - key, - value); + key, + value); } [Test] @@ -306,67 +306,67 @@ namespace log4net.Tests.Layout } #if NET_4_0 || MONO_4_0 || NETSTANDARD1_3 - [Test] - public void BracketsInStackTracesKeepLogWellFormed() { - XmlLayout layout = new XmlLayout(); - StringAppender stringAppender = new StringAppender(); - stringAppender.Layout = layout; - - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - BasicConfigurator.Configure(rep, stringAppender); - ILog log1 = LogManager.GetLogger(rep.Name, "TestLogger"); - Action<int> bar = foo => { - try { - throw new NullReferenceException(); - } catch (Exception ex) { - log1.Error(string.Format("Error {0}", foo), ex); - } - }; - bar(42); - - // really only asserts there is no exception - var loggedDoc = new XmlDocument(); - loggedDoc.LoadXml(stringAppender.GetString()); - } - - [Test] - public void BracketsInStackTracesAreEscapedProperly() { - XmlLayout layout = new XmlLayout(); - StringAppender stringAppender = new StringAppender(); - stringAppender.Layout = layout; - - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - BasicConfigurator.Configure(rep, stringAppender); - ILog log1 = LogManager.GetLogger(rep.Name, "TestLogger"); - Action<int> bar = foo => { - try { - throw new NullReferenceException(); - } - catch (Exception ex) { - log1.Error(string.Format("Error {0}", foo), ex); - } - }; - bar(42); - - var log = stringAppender.GetString(); + [Test] + public void BracketsInStackTracesKeepLogWellFormed() { + XmlLayout layout = new XmlLayout(); + StringAppender stringAppender = new StringAppender(); + stringAppender.Layout = layout; + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + BasicConfigurator.Configure(rep, stringAppender); + ILog log1 = LogManager.GetLogger(rep.Name, "TestLogger"); + Action<int> bar = foo => { + try { + throw new NullReferenceException(); + } catch (Exception ex) { + log1.Error(string.Format("Error {0}", foo), ex); + } + }; + bar(42); + + // really only asserts there is no exception + var loggedDoc = new XmlDocument(); + loggedDoc.LoadXml(stringAppender.GetString()); + } + + [Test] + public void BracketsInStackTracesAreEscapedProperly() { + XmlLayout layout = new XmlLayout(); + StringAppender stringAppender = new StringAppender(); + stringAppender.Layout = layout; + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + BasicConfigurator.Configure(rep, stringAppender); + ILog log1 = LogManager.GetLogger(rep.Name, "TestLogger"); + Action<int> bar = foo => { + try { + throw new NullReferenceException(); + } + catch (Exception ex) { + log1.Error(string.Format("Error {0}", foo), ex); + } + }; + bar(42); + + var log = stringAppender.GetString(); #if NETSTANDARD1_3 - var startOfExceptionText = log.IndexOf("<exception>", StringComparison.Ordinal) + 11; - var endOfExceptionText = log.IndexOf("</exception>", StringComparison.Ordinal); + var startOfExceptionText = log.IndexOf("<exception>", StringComparison.Ordinal) + 11; + var endOfExceptionText = log.IndexOf("</exception>", StringComparison.Ordinal); #else - var startOfExceptionText = log.IndexOf("<exception>", StringComparison.InvariantCulture) + 11; - var endOfExceptionText = log.IndexOf("</exception>", StringComparison.InvariantCulture); + var startOfExceptionText = log.IndexOf("<exception>", StringComparison.InvariantCulture) + 11; + var endOfExceptionText = log.IndexOf("</exception>", StringComparison.InvariantCulture); #endif - var sub = log.Substring(startOfExceptionText, endOfExceptionText - startOfExceptionText); - if (sub.StartsWith("<![CDATA[")) - { - StringAssert.EndsWith("]]>", sub); - } - else - { - StringAssert.DoesNotContain("<", sub); - StringAssert.DoesNotContain(">", sub); - } - } + var sub = log.Substring(startOfExceptionText, endOfExceptionText - startOfExceptionText); + if (sub.StartsWith("<![CDATA[")) + { + StringAssert.EndsWith("]]>", sub); + } + else + { + StringAssert.DoesNotContain("<", sub); + StringAssert.DoesNotContain(">", sub); + } + } #endif } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/LoggerRepository/ConfigurationMessages.cs ---------------------------------------------------------------------- diff --git a/tests/src/LoggerRepository/ConfigurationMessages.cs b/tests/src/LoggerRepository/ConfigurationMessages.cs index fd4cfa4..d70de4e 100644 --- a/tests/src/LoggerRepository/ConfigurationMessages.cs +++ b/tests/src/LoggerRepository/ConfigurationMessages.cs @@ -31,71 +31,71 @@ using NUnit.Framework; namespace log4net.Tests.LoggerRepository { - [TestFixture] - public class ConfigurationMessages - { - [Test] - public void ConfigurationMessagesTest() - { - try { - LogLog.EmitInternalMessages = false; - LogLog.InternalDebugging = true; + [TestFixture] + public class ConfigurationMessages + { + [Test] + public void ConfigurationMessagesTest() + { + try { + LogLog.EmitInternalMessages = false; + LogLog.InternalDebugging = true; - XmlDocument log4netConfig = new XmlDocument(); - log4netConfig.LoadXml(@" - <log4net> - <appender name=""LogLogAppender"" type=""log4net.Tests.LoggerRepository.LogLogAppender, log4net.Tests""> - <layout type=""log4net.Layout.SimpleLayout"" /> - </appender> - <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender""> - <layout type=""log4net.Layout.SimpleLayout"" /> - </appender> - <root> - <level value=""ALL"" /> - <appender-ref ref=""LogLogAppender"" /> - <appender-ref ref=""MemoryAppender"" /> - </root> - </log4net>"); + XmlDocument log4netConfig = new XmlDocument(); + log4netConfig.LoadXml(@" + <log4net> + <appender name=""LogLogAppender"" type=""log4net.Tests.LoggerRepository.LogLogAppender, log4net.Tests""> + <layout type=""log4net.Layout.SimpleLayout"" /> + </appender> + <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender""> + <layout type=""log4net.Layout.SimpleLayout"" /> + </appender> + <root> + <level value=""ALL"" /> + <appender-ref ref=""LogLogAppender"" /> + <appender-ref ref=""MemoryAppender"" /> + </root> + </log4net>"); - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - rep.ConfigurationChanged += new LoggerRepositoryConfigurationChangedEventHandler(rep_ConfigurationChanged); + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + rep.ConfigurationChanged += new LoggerRepositoryConfigurationChangedEventHandler(rep_ConfigurationChanged); - ICollection configurationMessages = XmlConfigurator.Configure(rep, log4netConfig["log4net"]); + ICollection configurationMessages = XmlConfigurator.Configure(rep, log4netConfig["log4net"]); - Assert.IsTrue(configurationMessages.Count > 0); - } - finally { - LogLog.EmitInternalMessages = true; - LogLog.InternalDebugging = false; - } - } + Assert.IsTrue(configurationMessages.Count > 0); + } + finally { + LogLog.EmitInternalMessages = true; + LogLog.InternalDebugging = false; + } + } - static void rep_ConfigurationChanged(object sender, EventArgs e) - { - ConfigurationChangedEventArgs configChanged = (ConfigurationChangedEventArgs)e; + static void rep_ConfigurationChanged(object sender, EventArgs e) + { + ConfigurationChangedEventArgs configChanged = (ConfigurationChangedEventArgs)e; - Assert.IsTrue(configChanged.ConfigurationMessages.Count > 0); - } - } + Assert.IsTrue(configChanged.ConfigurationMessages.Count > 0); + } + } - public class LogLogAppender : AppenderSkeleton - { - private readonly static Type declaringType = typeof(LogLogAppender); + public class LogLogAppender : AppenderSkeleton + { + private readonly static Type declaringType = typeof(LogLogAppender); - public override void ActivateOptions() - { - LogLog.Debug(declaringType, "Debug - Activating options..."); - LogLog.Warn(declaringType, "Warn - Activating options..."); - LogLog.Error(declaringType, "Error - Activating options..."); + public override void ActivateOptions() + { + LogLog.Debug(declaringType, "Debug - Activating options..."); + LogLog.Warn(declaringType, "Warn - Activating options..."); + LogLog.Error(declaringType, "Error - Activating options..."); - base.ActivateOptions(); - } + base.ActivateOptions(); + } - protected override void Append(LoggingEvent loggingEvent) - { - LogLog.Debug(declaringType, "Debug - Appending..."); - LogLog.Warn(declaringType, "Warn - Appending..."); - LogLog.Error(declaringType, "Error - Appending..."); - } - } + protected override void Append(LoggingEvent loggingEvent) + { + LogLog.Debug(declaringType, "Debug - Appending..."); + LogLog.Warn(declaringType, "Warn - Appending..."); + LogLog.Error(declaringType, "Error - Appending..."); + } + } } http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Util/EnvironmentPatternConverterTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Util/EnvironmentPatternConverterTest.cs b/tests/src/Util/EnvironmentPatternConverterTest.cs index be4f7e6..eeb3065 100644 --- a/tests/src/Util/EnvironmentPatternConverterTest.cs +++ b/tests/src/Util/EnvironmentPatternConverterTest.cs @@ -30,88 +30,88 @@ using NUnit.Framework; namespace log4net.Tests.Util { - [TestFixture] - public class EnvironmentPatternConverterTest - { - private const string ENVIRONMENT_VARIABLE_NAME = "LOG4NET_TEST_TEMP"; - const string SYSTEM_LEVEL_VALUE = "SystemLevelEnvironmentValue"; - const string USER_LEVEL_VALUE = "UserLevelEnvironmentValue"; - const string PROCESS_LEVEL_VALUE = "ProcessLevelEnvironmentValue"; - - [Test] - public void SystemLevelEnvironmentVariable() - { - EnvironmentPatternConverter converter = new EnvironmentPatternConverter(); - try { - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, SYSTEM_LEVEL_VALUE, EnvironmentVariableTarget.Machine); - } - catch (System.Security.SecurityException) { - Assert.Ignore("Test skipped as current user must not set system level environment variables"); - } - - converter.Option = ENVIRONMENT_VARIABLE_NAME; + [TestFixture] + public class EnvironmentPatternConverterTest + { + private const string ENVIRONMENT_VARIABLE_NAME = "LOG4NET_TEST_TEMP"; + const string SYSTEM_LEVEL_VALUE = "SystemLevelEnvironmentValue"; + const string USER_LEVEL_VALUE = "UserLevelEnvironmentValue"; + const string PROCESS_LEVEL_VALUE = "ProcessLevelEnvironmentValue"; + + [Test] + public void SystemLevelEnvironmentVariable() + { + EnvironmentPatternConverter converter = new EnvironmentPatternConverter(); + try { + Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, SYSTEM_LEVEL_VALUE, EnvironmentVariableTarget.Machine); + } + catch (System.Security.SecurityException) { + Assert.Ignore("Test skipped as current user must not set system level environment variables"); + } + + converter.Option = ENVIRONMENT_VARIABLE_NAME; StringWriter sw = new StringWriter(); converter.Convert(sw, null); - Assert.AreEqual(SYSTEM_LEVEL_VALUE, sw.ToString(), "System level environment variable not expended correctly."); + Assert.AreEqual(SYSTEM_LEVEL_VALUE, sw.ToString(), "System level environment variable not expended correctly."); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.Machine); - } + Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.Machine); + } - [Test] - public void UserLevelEnvironmentVariable() - { - EnvironmentPatternConverter converter = new EnvironmentPatternConverter(); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, USER_LEVEL_VALUE, EnvironmentVariableTarget.User); + [Test] + public void UserLevelEnvironmentVariable() + { + EnvironmentPatternConverter converter = new EnvironmentPatternConverter(); + Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, USER_LEVEL_VALUE, EnvironmentVariableTarget.User); - converter.Option = ENVIRONMENT_VARIABLE_NAME; + converter.Option = ENVIRONMENT_VARIABLE_NAME; - StringWriter sw = new StringWriter(); - converter.Convert(sw, null); + StringWriter sw = new StringWriter(); + converter.Convert(sw, null); - Assert.AreEqual(USER_LEVEL_VALUE, sw.ToString(), "User level environment variable not expended correctly."); + Assert.AreEqual(USER_LEVEL_VALUE, sw.ToString(), "User level environment variable not expended correctly."); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.User); - } + Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.User); + } - [Test] - public void ProcessLevelEnvironmentVariable() - { - EnvironmentPatternConverter converter = new EnvironmentPatternConverter(); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, PROCESS_LEVEL_VALUE); + [Test] + public void ProcessLevelEnvironmentVariable() + { + EnvironmentPatternConverter converter = new EnvironmentPatternConverter(); + Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, PROCESS_LEVEL_VALUE); - converter.Option = ENVIRONMENT_VARIABLE_NAME; + converter.Option = ENVIRONMENT_VARIABLE_NAME; - StringWriter sw = new StringWriter(); - converter.Convert(sw, null); + StringWriter sw = new StringWriter(); + converter.Convert(sw, null); - Assert.AreEqual(PROCESS_LEVEL_VALUE, sw.ToString(), "Process level environment variable not expended correctly."); + Assert.AreEqual(PROCESS_LEVEL_VALUE, sw.ToString(), "Process level environment variable not expended correctly."); - Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null); - } + Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null); + } - private class EnvironmentPatternConverter - { - private object target = null; + private class EnvironmentPatternConverter + { + private object target = null; - public EnvironmentPatternConverter() - { - target = Utils.CreateInstance("log4net.Util.PatternStringConverters.EnvironmentPatternConverter,log4net"); - } + public EnvironmentPatternConverter() + { + target = Utils.CreateInstance("log4net.Util.PatternStringConverters.EnvironmentPatternConverter,log4net"); + } - public string Option - { - get { return Utils.GetProperty(target, "Option") as string; } - set { Utils.SetProperty(target, "Option", value); } - } + public string Option + { + get { return Utils.GetProperty(target, "Option") as string; } + set { Utils.SetProperty(target, "Option", value); } + } - public void Convert(TextWriter writer, object state) - { - Utils.InvokeMethod(target, "Convert", writer, state); - } - } - } + public void Convert(TextWriter writer, object state) + { + Utils.InvokeMethod(target, "Convert", writer, state); + } + } + } } #endif http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Util/LogLogTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Util/LogLogTest.cs b/tests/src/Util/LogLogTest.cs index 7d9030b..236d41d 100644 --- a/tests/src/Util/LogLogTest.cs +++ b/tests/src/Util/LogLogTest.cs @@ -26,84 +26,84 @@ using NUnit.Framework; namespace log4net.Tests.Util { - [TestFixture] - public class LogLogTest - { - [Test] - public void TraceListenerCounterTest() - { - TraceListenerCounter listTraceListener = new TraceListenerCounter(); - - Trace.Listeners.Clear(); - Trace.Listeners.Add(listTraceListener); - - Trace.Write("Hello"); - Trace.Write("World"); - - Assert.AreEqual(2, listTraceListener.Count); - } - - [Test] - public void EmitInternalMessages() - { - TraceListenerCounter listTraceListener = new TraceListenerCounter(); - Trace.Listeners.Clear(); - Trace.Listeners.Add(listTraceListener); - LogLog.Error(GetType(), "Hello"); - LogLog.Error(GetType(), "World"); - Trace.Flush(); - Assert.AreEqual(2, listTraceListener.Count); - - try { - LogLog.EmitInternalMessages = false; - - LogLog.Error(GetType(), "Hello"); - LogLog.Error(GetType(), "World"); - Assert.AreEqual(2, listTraceListener.Count); - } - finally { - LogLog.EmitInternalMessages = true; - } - } - - [Test] - public void LogReceivedAdapter() - { - ArrayList messages = new ArrayList(); - - using (new LogLog.LogReceivedAdapter(messages)) - { - LogLog.Debug(GetType(), "Won't be recorded"); - LogLog.Error(GetType(), "This will be recorded."); - LogLog.Error(GetType(), "This will be recorded."); - } - - Assert.AreEqual(2, messages.Count); - } - } - - public class TraceListenerCounter : TraceListener - { - private int count = 0; - - public override void Write(string message) - { - count++; - } - - public override void WriteLine(string message) - { - Write(message); - } - - public void Reset() - { - count = 0; - } - - public int Count - { - get { return count; } - } - } + [TestFixture] + public class LogLogTest + { + [Test] + public void TraceListenerCounterTest() + { + TraceListenerCounter listTraceListener = new TraceListenerCounter(); + + Trace.Listeners.Clear(); + Trace.Listeners.Add(listTraceListener); + + Trace.Write("Hello"); + Trace.Write("World"); + + Assert.AreEqual(2, listTraceListener.Count); + } + + [Test] + public void EmitInternalMessages() + { + TraceListenerCounter listTraceListener = new TraceListenerCounter(); + Trace.Listeners.Clear(); + Trace.Listeners.Add(listTraceListener); + LogLog.Error(GetType(), "Hello"); + LogLog.Error(GetType(), "World"); + Trace.Flush(); + Assert.AreEqual(2, listTraceListener.Count); + + try { + LogLog.EmitInternalMessages = false; + + LogLog.Error(GetType(), "Hello"); + LogLog.Error(GetType(), "World"); + Assert.AreEqual(2, listTraceListener.Count); + } + finally { + LogLog.EmitInternalMessages = true; + } + } + + [Test] + public void LogReceivedAdapter() + { + ArrayList messages = new ArrayList(); + + using (new LogLog.LogReceivedAdapter(messages)) + { + LogLog.Debug(GetType(), "Won't be recorded"); + LogLog.Error(GetType(), "This will be recorded."); + LogLog.Error(GetType(), "This will be recorded."); + } + + Assert.AreEqual(2, messages.Count); + } + } + + public class TraceListenerCounter : TraceListener + { + private int count = 0; + + public override void Write(string message) + { + count++; + } + + public override void WriteLine(string message) + { + Write(message); + } + + public void Reset() + { + count = 0; + } + + public int Count + { + get { return count; } + } + } } http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Util/PatternConverterTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Util/PatternConverterTest.cs b/tests/src/Util/PatternConverterTest.cs index 4f422fc..c61145d 100644 --- a/tests/src/Util/PatternConverterTest.cs +++ b/tests/src/Util/PatternConverterTest.cs @@ -32,161 +32,161 @@ using NUnit.Framework; namespace log4net.Tests.Util { - [TestFixture] - public class PatternConverterTest - { - [Test] - public void PatternLayoutConverterProperties() - { - XmlDocument log4netConfig = new XmlDocument(); - log4netConfig.LoadXml(@" - <log4net> - <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> - <layout type=""log4net.Layout.PatternLayout""> - <converter> - <name value=""propertyKeyCount"" /> - <type value=""log4net.Tests.Util.PropertyKeyCountPatternLayoutConverter, log4net.Tests"" /> - <property> - <key value=""one-plus-one"" /> - <value value=""2"" /> - </property> - <property> - <key value=""two-plus-two"" /> - <value value=""4"" /> - </property> - </converter> - <conversionPattern value=""%propertyKeyCount"" /> - </layout> - </appender> - <root> - <level value=""ALL"" /> - <appender-ref ref=""StringAppender"" /> - </root> - </log4net>"); - - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - XmlConfigurator.Configure(rep, log4netConfig["log4net"]); - - ILog log = LogManager.GetLogger(rep.Name, "PatternLayoutConverterProperties"); - log.Debug("Message"); - - PropertyKeyCountPatternLayoutConverter converter = - PropertyKeyCountPatternLayoutConverter.MostRecentInstance; - Assert.AreEqual(2, converter.Properties.Count); - Assert.AreEqual("4", converter.Properties["two-plus-two"]); - - StringAppender appender = - (StringAppender)LogManager.GetRepository(rep.Name).GetAppenders()[0]; - Assert.AreEqual("2", appender.GetString()); - } - - [Test] - public void PatternConverterProperties() - { - XmlDocument log4netConfig = new XmlDocument(); - log4netConfig.LoadXml(@" - <log4net> - <appender name=""PatternStringAppender"" type=""log4net.Tests.Util.PatternStringAppender, log4net.Tests""> - <layout type=""log4net.Layout.SimpleLayout"" /> - <setting> - <converter> - <name value=""propertyKeyCount"" /> - <type value=""log4net.Tests.Util.PropertyKeyCountPatternConverter, log4net.Tests"" /> - <property> - <key value=""one-plus-one"" /> - <value value=""2"" /> - </property> - <property> - <key value=""two-plus-two"" /> - <value value=""4"" /> - </property> - </converter> - <conversionPattern value=""%propertyKeyCount"" /> - </setting> - </appender> - <root> - <level value=""ALL"" /> - <appender-ref ref=""PatternStringAppender"" /> - </root> - </log4net>"); - - ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); - XmlConfigurator.Configure(rep, log4netConfig["log4net"]); - - ILog log = LogManager.GetLogger(rep.Name, "PatternConverterProperties"); - log.Debug("Message"); - - PropertyKeyCountPatternConverter converter = - PropertyKeyCountPatternConverter.MostRecentInstance; - Assert.AreEqual(2, converter.Properties.Count); - Assert.AreEqual("4", converter.Properties["two-plus-two"]); - - PatternStringAppender appender = - (PatternStringAppender)LogManager.GetRepository(rep.Name).GetAppenders()[0]; - Assert.AreEqual("2", appender.Setting.Format()); - } - } - - public class PropertyKeyCountPatternLayoutConverter : PatternLayoutConverter - { - private static PropertyKeyCountPatternLayoutConverter mostRecentInstance; - - public PropertyKeyCountPatternLayoutConverter() - { - mostRecentInstance = this; - } - - protected override void Convert(TextWriter writer, LoggingEvent loggingEvent) - { - writer.Write(Properties.GetKeys().Length); - } - - public static PropertyKeyCountPatternLayoutConverter MostRecentInstance - { - get { return mostRecentInstance; } - } - } - - public class PropertyKeyCountPatternConverter : PatternConverter - { - private static PropertyKeyCountPatternConverter mostRecentInstance; - - public PropertyKeyCountPatternConverter() - { - mostRecentInstance = this; - } - - protected override void Convert(TextWriter writer, object state) - { - writer.Write(Properties.GetKeys().Length); - } - - public static PropertyKeyCountPatternConverter MostRecentInstance - { - get { return mostRecentInstance; } - } - } - - public class PatternStringAppender : StringAppender - { - private static PatternStringAppender mostRecentInstace; - - private PatternString setting; - - public PatternStringAppender() - { - mostRecentInstace = this; - } - - public PatternString Setting - { - get { return setting; } - set { setting = value; } - } - - public static PatternStringAppender MostRecentInstace - { - get { return mostRecentInstace; } - } - } + [TestFixture] + public class PatternConverterTest + { + [Test] + public void PatternLayoutConverterProperties() + { + XmlDocument log4netConfig = new XmlDocument(); + log4netConfig.LoadXml(@" + <log4net> + <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests""> + <layout type=""log4net.Layout.PatternLayout""> + <converter> + <name value=""propertyKeyCount"" /> + <type value=""log4net.Tests.Util.PropertyKeyCountPatternLayoutConverter, log4net.Tests"" /> + <property> + <key value=""one-plus-one"" /> + <value value=""2"" /> + </property> + <property> + <key value=""two-plus-two"" /> + <value value=""4"" /> + </property> + </converter> + <conversionPattern value=""%propertyKeyCount"" /> + </layout> + </appender> + <root> + <level value=""ALL"" /> + <appender-ref ref=""StringAppender"" /> + </root> + </log4net>"); + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + XmlConfigurator.Configure(rep, log4netConfig["log4net"]); + + ILog log = LogManager.GetLogger(rep.Name, "PatternLayoutConverterProperties"); + log.Debug("Message"); + + PropertyKeyCountPatternLayoutConverter converter = + PropertyKeyCountPatternLayoutConverter.MostRecentInstance; + Assert.AreEqual(2, converter.Properties.Count); + Assert.AreEqual("4", converter.Properties["two-plus-two"]); + + StringAppender appender = + (StringAppender)LogManager.GetRepository(rep.Name).GetAppenders()[0]; + Assert.AreEqual("2", appender.GetString()); + } + + [Test] + public void PatternConverterProperties() + { + XmlDocument log4netConfig = new XmlDocument(); + log4netConfig.LoadXml(@" + <log4net> + <appender name=""PatternStringAppender"" type=""log4net.Tests.Util.PatternStringAppender, log4net.Tests""> + <layout type=""log4net.Layout.SimpleLayout"" /> + <setting> + <converter> + <name value=""propertyKeyCount"" /> + <type value=""log4net.Tests.Util.PropertyKeyCountPatternConverter, log4net.Tests"" /> + <property> + <key value=""one-plus-one"" /> + <value value=""2"" /> + </property> + <property> + <key value=""two-plus-two"" /> + <value value=""4"" /> + </property> + </converter> + <conversionPattern value=""%propertyKeyCount"" /> + </setting> + </appender> + <root> + <level value=""ALL"" /> + <appender-ref ref=""PatternStringAppender"" /> + </root> + </log4net>"); + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + XmlConfigurator.Configure(rep, log4netConfig["log4net"]); + + ILog log = LogManager.GetLogger(rep.Name, "PatternConverterProperties"); + log.Debug("Message"); + + PropertyKeyCountPatternConverter converter = + PropertyKeyCountPatternConverter.MostRecentInstance; + Assert.AreEqual(2, converter.Properties.Count); + Assert.AreEqual("4", converter.Properties["two-plus-two"]); + + PatternStringAppender appender = + (PatternStringAppender)LogManager.GetRepository(rep.Name).GetAppenders()[0]; + Assert.AreEqual("2", appender.Setting.Format()); + } + } + + public class PropertyKeyCountPatternLayoutConverter : PatternLayoutConverter + { + private static PropertyKeyCountPatternLayoutConverter mostRecentInstance; + + public PropertyKeyCountPatternLayoutConverter() + { + mostRecentInstance = this; + } + + protected override void Convert(TextWriter writer, LoggingEvent loggingEvent) + { + writer.Write(Properties.GetKeys().Length); + } + + public static PropertyKeyCountPatternLayoutConverter MostRecentInstance + { + get { return mostRecentInstance; } + } + } + + public class PropertyKeyCountPatternConverter : PatternConverter + { + private static PropertyKeyCountPatternConverter mostRecentInstance; + + public PropertyKeyCountPatternConverter() + { + mostRecentInstance = this; + } + + protected override void Convert(TextWriter writer, object state) + { + writer.Write(Properties.GetKeys().Length); + } + + public static PropertyKeyCountPatternConverter MostRecentInstance + { + get { return mostRecentInstance; } + } + } + + public class PatternStringAppender : StringAppender + { + private static PatternStringAppender mostRecentInstace; + + private PatternString setting; + + public PatternStringAppender() + { + mostRecentInstace = this; + } + + public PatternString Setting + { + get { return setting; } + set { setting = value; } + } + + public static PatternStringAppender MostRecentInstace + { + get { return mostRecentInstace; } + } + } } http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Util/PatternStringTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Util/PatternStringTest.cs b/tests/src/Util/PatternStringTest.cs index b2f5229..2420f42 100644 --- a/tests/src/Util/PatternStringTest.cs +++ b/tests/src/Util/PatternStringTest.cs @@ -28,85 +28,85 @@ using System.Configuration; namespace log4net.Tests.Util { - [TestFixture] - public class PatternStringTest : MarshalByRefObject - { - [Test] - public void TestEnvironmentFolderPathPatternConverter() - { - string[] specialFolderNames = Enum.GetNames(typeof(Environment.SpecialFolder)); + [TestFixture] + public class PatternStringTest : MarshalByRefObject + { + [Test] + public void TestEnvironmentFolderPathPatternConverter() + { + string[] specialFolderNames = Enum.GetNames(typeof(Environment.SpecialFolder)); - foreach (string specialFolderName in specialFolderNames) - { - string pattern = "%envFolderPath{" + specialFolderName + "}"; + foreach (string specialFolderName in specialFolderNames) + { + string pattern = "%envFolderPath{" + specialFolderName + "}"; - PatternString patternString = new PatternString(pattern); + PatternString patternString = new PatternString(pattern); - string evaluatedPattern = patternString.Format(); + string evaluatedPattern = patternString.Format(); - Environment.SpecialFolder specialFolder = - (Environment.SpecialFolder)Enum.Parse(typeof(Environment.SpecialFolder), specialFolderName); + Environment.SpecialFolder specialFolder = + (Environment.SpecialFolder)Enum.Parse(typeof(Environment.SpecialFolder), specialFolderName); - Assert.AreEqual(Environment.GetFolderPath(specialFolder), evaluatedPattern); - } - } + Assert.AreEqual(Environment.GetFolderPath(specialFolder), evaluatedPattern); + } + } - [Test] - public void TestAppSettingPathConverter() - { - string configurationFileContent = @" + [Test] + public void TestAppSettingPathConverter() + { + string configurationFileContent = @" <configuration> <appSettings> - <add key=""TestKey"" value = ""TestValue"" /> + <add key=""TestKey"" value = ""TestValue"" /> </appSettings> </configuration> "; - string configurationFileName = null; - AppDomain appDomain = null; - try - { - configurationFileName = CreateTempConfigFile(configurationFileContent); - appDomain = CreateConfiguredDomain("AppSettingsTestDomain", configurationFileName); + string configurationFileName = null; + AppDomain appDomain = null; + try + { + configurationFileName = CreateTempConfigFile(configurationFileContent); + appDomain = CreateConfiguredDomain("AppSettingsTestDomain", configurationFileName); - PatternStringTest pst = (PatternStringTest)appDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, this.GetType().FullName); - pst.TestAppSettingPathConverterInConfiguredDomain(); - } - finally - { - if (appDomain != null) AppDomain.Unload(appDomain); - if (configurationFileName != null) File.Delete(configurationFileName); - } - } + PatternStringTest pst = (PatternStringTest)appDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, this.GetType().FullName); + pst.TestAppSettingPathConverterInConfiguredDomain(); + } + finally + { + if (appDomain != null) AppDomain.Unload(appDomain); + if (configurationFileName != null) File.Delete(configurationFileName); + } + } - public void TestAppSettingPathConverterInConfiguredDomain() - { - string pattern = "%appSetting{TestKey}"; - PatternString patternString = new PatternString(pattern); - string evaluatedPattern = patternString.Format(); - string appSettingValue = ConfigurationManager.AppSettings["TestKey"]; - Assert.AreEqual("TestValue", appSettingValue, "Expected configuration file to contain a key TestKey with the value TestValue"); - Assert.AreEqual(appSettingValue, evaluatedPattern, "Evaluated pattern expected to be identical to appSetting value"); + public void TestAppSettingPathConverterInConfiguredDomain() + { + string pattern = "%appSetting{TestKey}"; + PatternString patternString = new PatternString(pattern); + string evaluatedPattern = patternString.Format(); + string appSettingValue = ConfigurationManager.AppSettings["TestKey"]; + Assert.AreEqual("TestValue", appSettingValue, "Expected configuration file to contain a key TestKey with the value TestValue"); + Assert.AreEqual(appSettingValue, evaluatedPattern, "Evaluated pattern expected to be identical to appSetting value"); - string badPattern = "%appSetting{UnknownKey}"; - patternString = new PatternString(badPattern); - evaluatedPattern = patternString.Format(); - Assert.AreEqual("(null)", evaluatedPattern, "Evaluated pattern expected to be \"(null)\" for non-existent appSettings key"); - } + string badPattern = "%appSetting{UnknownKey}"; + patternString = new PatternString(badPattern); + evaluatedPattern = patternString.Format(); + Assert.AreEqual("(null)", evaluatedPattern, "Evaluated pattern expected to be \"(null)\" for non-existent appSettings key"); + } - private static string CreateTempConfigFile(string configurationFileContent) - { - string fileName = Path.GetTempFileName(); - File.WriteAllText(fileName, configurationFileContent); - return fileName; - } + private static string CreateTempConfigFile(string configurationFileContent) + { + string fileName = Path.GetTempFileName(); + File.WriteAllText(fileName, configurationFileContent); + return fileName; + } - private static AppDomain CreateConfiguredDomain(string domainName, string configurationFileName) - { - AppDomainSetup ads = new AppDomainSetup(); - ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory; - ads.ConfigurationFile = configurationFileName; - AppDomain ad = AppDomain.CreateDomain(domainName, null, ads); - return ad; - } - } + private static AppDomain CreateConfiguredDomain(string domainName, string configurationFileName) + { + AppDomainSetup ads = new AppDomainSetup(); + ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory; + ads.ConfigurationFile = configurationFileName; + AppDomain ad = AppDomain.CreateDomain(domainName, null, ads); + return ad; + } + } } http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Util/SystemInfoTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Util/SystemInfoTest.cs b/tests/src/Util/SystemInfoTest.cs index f3ee5a4..e6cc4bf 100644 --- a/tests/src/Util/SystemInfoTest.cs +++ b/tests/src/Util/SystemInfoTest.cs @@ -127,8 +127,8 @@ namespace log4net.Tests.Util t = GetTypeFromString("log4net.Util.SystemInfo", false, false); Assert.AreSame(typeof(SystemInfo), t, - string.Format("Test explicit case sensitive type load found {0} rather than {1}", - t.AssemblyQualifiedName, typeof(SystemInfo).AssemblyQualifiedName)); + string.Format("Test explicit case sensitive type load found {0} rather than {1}", + t.AssemblyQualifiedName, typeof(SystemInfo).AssemblyQualifiedName)); t = GetTypeFromString("LOG4NET.UTIL.SYSTEMINFO", false, true); Assert.AreSame(typeof(SystemInfo), t, "Test explicit case in-sensitive type load caps"); @@ -171,40 +171,40 @@ namespace log4net.Tests.Util #endif } - [Test] - public void EqualsIgnoringCase_BothNull_true() - { - Assert.True(SystemInfo.EqualsIgnoringCase(null, null)); - } - - [Test] - public void EqualsIgnoringCase_LeftNull_false() - { - Assert.False(SystemInfo.EqualsIgnoringCase(null, "foo")); - } - - [Test] - public void EqualsIgnoringCase_RightNull_false() - { - Assert.False(SystemInfo.EqualsIgnoringCase("foo", null)); - } - - [Test] - public void EqualsIgnoringCase_SameStringsSameCase_true() - { - Assert.True(SystemInfo.EqualsIgnoringCase("foo", "foo")); - } - - [Test] - public void EqualsIgnoringCase_SameStringsDifferentCase_true() - { - Assert.True(SystemInfo.EqualsIgnoringCase("foo", "FOO")); - } - - [Test] - public void EqualsIgnoringCase_DifferentStrings_false() - { - Assert.False(SystemInfo.EqualsIgnoringCase("foo", "foobar")); - } + [Test] + public void EqualsIgnoringCase_BothNull_true() + { + Assert.True(SystemInfo.EqualsIgnoringCase(null, null)); + } + + [Test] + public void EqualsIgnoringCase_LeftNull_false() + { + Assert.False(SystemInfo.EqualsIgnoringCase(null, "foo")); + } + + [Test] + public void EqualsIgnoringCase_RightNull_false() + { + Assert.False(SystemInfo.EqualsIgnoringCase("foo", null)); + } + + [Test] + public void EqualsIgnoringCase_SameStringsSameCase_true() + { + Assert.True(SystemInfo.EqualsIgnoringCase("foo", "foo")); + } + + [Test] + public void EqualsIgnoringCase_SameStringsDifferentCase_true() + { + Assert.True(SystemInfo.EqualsIgnoringCase("foo", "FOO")); + } + + [Test] + public void EqualsIgnoringCase_DifferentStrings_false() + { + Assert.False(SystemInfo.EqualsIgnoringCase("foo", "foobar")); + } } } http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Util/TransformTest.cs ---------------------------------------------------------------------- diff --git a/tests/src/Util/TransformTest.cs b/tests/src/Util/TransformTest.cs index 9926775..17ddf0e 100644 --- a/tests/src/Util/TransformTest.cs +++ b/tests/src/Util/TransformTest.cs @@ -25,21 +25,21 @@ using NUnit.Framework; namespace log4net.Tests.Util { - [TestFixture] - public class TransformTest - { - [Test] - public void MaskXmlInvalidCharactersAllowsJapaneseCharacters() - { - string kome = "\u203B"; - Assert.AreEqual(kome, Transform.MaskXmlInvalidCharacters(kome, "?")); - } + [TestFixture] + public class TransformTest + { + [Test] + public void MaskXmlInvalidCharactersAllowsJapaneseCharacters() + { + string kome = "\u203B"; + Assert.AreEqual(kome, Transform.MaskXmlInvalidCharacters(kome, "?")); + } - [Test] - public void MaskXmlInvalidCharactersMasks0Char() - { - string c = "\u0000"; - Assert.AreEqual("?", Transform.MaskXmlInvalidCharacters(c, "?")); - } - } + [Test] + public void MaskXmlInvalidCharactersMasks0Char() + { + string c = "\u0000"; + Assert.AreEqual("?", Transform.MaskXmlInvalidCharacters(c, "?")); + } + } } http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/82c3e389/tests/src/Utils.cs ---------------------------------------------------------------------- diff --git a/tests/src/Utils.cs b/tests/src/Utils.cs index b6ccda1..d2ce18b 100644 --- a/tests/src/Utils.cs +++ b/tests/src/Utils.cs @@ -109,33 +109,33 @@ namespace log4net.Tests return types; } - internal const string PROPERTY_KEY = "prop1"; + internal const string PROPERTY_KEY = "prop1"; - internal static void RemovePropertyFromAllContexts() { - GlobalContext.Properties.Remove(PROPERTY_KEY); - ThreadContext.Properties.Remove(PROPERTY_KEY); + internal static void RemovePropertyFromAllContexts() { + GlobalContext.Properties.Remove(PROPERTY_KEY); + ThreadContext.Properties.Remove(PROPERTY_KEY); #if !NETCF - LogicalThreadContext.Properties.Remove(PROPERTY_KEY); + LogicalThreadContext.Properties.Remove(PROPERTY_KEY); #endif - } + } - // Wrappers because repository/logger retrieval APIs require an Assembly argument on NETSTANDARD1_3 - internal static ILog GetLogger(string name) - { + // Wrappers because repository/logger retrieval APIs require an Assembly argument on NETSTANDARD1_3 + internal static ILog GetLogger(string name) + { #if NETSTANDARD1_3 - return LogManager.GetLogger(typeof(Utils).GetTypeInfo().Assembly, name); + return LogManager.GetLogger(typeof(Utils).GetTypeInfo().Assembly, name); #else - return LogManager.GetLogger(name); + return LogManager.GetLogger(name); #endif - } + } - internal static ILoggerRepository GetRepository() - { + internal static ILoggerRepository GetRepository() + { #if NETSTANDARD1_3 - return LogManager.GetRepository(typeof(Utils).GetTypeInfo().Assembly); + return LogManager.GetRepository(typeof(Utils).GetTypeInfo().Assembly); #else - return LogManager.GetRepository(); + return LogManager.GetRepository(); #endif - } - } + } + } } \ No newline at end of file