mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 03:25:23 +08:00
Fix UT.
--HG-- branch : dev
This commit is contained in:
@@ -105,7 +105,6 @@ namespace Orchard.Specs.Bindings {
|
||||
else
|
||||
logger.Fatal(loggingEvent.RenderedMessage);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
|
@@ -1,11 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using Autofac;
|
||||
using log4net.Appender;
|
||||
using log4net.Core;
|
||||
using NUnit.Framework;
|
||||
using Orchard.Environment;
|
||||
using Orchard.Logging;
|
||||
using Orchard.Tests.Environment;
|
||||
using ILogger = Orchard.Logging.ILogger;
|
||||
using ILoggerFactory = Orchard.Logging.ILoggerFactory;
|
||||
using NullLogger = Orchard.Logging.NullLogger;
|
||||
|
||||
namespace Orchard.Tests.Logging {
|
||||
[TestFixture]
|
||||
@@ -51,18 +55,21 @@ namespace Orchard.Tests.Logging {
|
||||
builder.RegisterType<Thing>();
|
||||
builder.RegisterType<StubHostEnvironment>().As<IHostEnvironment>();
|
||||
var container = builder.Build();
|
||||
|
||||
log4net.Config.BasicConfigurator.Configure(new MemoryAppender());
|
||||
|
||||
var thing = container.Resolve<Thing>();
|
||||
Assert.That(thing.Logger, Is.Not.Null);
|
||||
|
||||
InMemoryCapture.Messages.Clear();
|
||||
MemoryAppender.Messages.Clear();
|
||||
thing.Logger.Error("-boom{0}-", 42);
|
||||
Assert.That(InMemoryCapture.Messages, Has.Some.StringContaining("-boom42-"));
|
||||
Assert.That(MemoryAppender.Messages, Has.Some.StringContaining("-boom42-"));
|
||||
|
||||
InMemoryCapture.Messages.Clear();
|
||||
MemoryAppender.Messages.Clear();
|
||||
thing.Logger.Warning(new ApplicationException("problem"), "crash");
|
||||
Assert.That(InMemoryCapture.Messages, Has.Some.StringContaining("problem"));
|
||||
Assert.That(InMemoryCapture.Messages, Has.Some.StringContaining("crash"));
|
||||
Assert.That(InMemoryCapture.Messages, Has.Some.StringContaining("ApplicationException"));
|
||||
Assert.That(MemoryAppender.Messages, Has.Some.StringContaining("problem"));
|
||||
Assert.That(MemoryAppender.Messages, Has.Some.StringContaining("crash"));
|
||||
Assert.That(MemoryAppender.Messages, Has.Some.StringContaining("ApplicationException"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,19 +77,23 @@ namespace Orchard.Tests.Logging {
|
||||
public ILogger Logger { get; set; }
|
||||
}
|
||||
|
||||
public class InMemoryCapture : TraceListener {
|
||||
static InMemoryCapture() {
|
||||
public class MemoryAppender : IAppender {
|
||||
static MemoryAppender() {
|
||||
Messages = new List<string>();
|
||||
}
|
||||
|
||||
public static List<string> Messages { get; set; }
|
||||
|
||||
public override void Write(string message) {
|
||||
lock (Messages) Messages.Add(message);
|
||||
public void DoAppend(LoggingEvent loggingEvent) {
|
||||
if (loggingEvent.ExceptionObject != null) {
|
||||
lock (Messages) Messages.Add(string.Format("{0} {1} {2}",
|
||||
loggingEvent.ExceptionObject.GetType().Name,
|
||||
loggingEvent.ExceptionObject.Message,
|
||||
loggingEvent.RenderedMessage));
|
||||
} else lock (Messages) Messages.Add(loggingEvent.RenderedMessage);
|
||||
}
|
||||
|
||||
public override void WriteLine(string message) {
|
||||
lock (Messages) Messages.Add(message + System.Environment.NewLine);
|
||||
}
|
||||
public void Close() { }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
||||
|
@@ -90,6 +90,10 @@
|
||||
<Reference Include="IronRuby.Libraries">
|
||||
<HintPath>..\..\lib\dlr\IronRuby.Libraries.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\lib\fluentnhibernate\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="Microsoft.Dynamic, Version=1.1.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
|
Reference in New Issue
Block a user