Fixing unit tests and adjusting mechanics related to events for host layer components

DefaultOrchardHost may now implement eventhandler interfaces directly
DefaultOrchardHostEventSink assistant is obsolete for that reason
DefaultOrchardEventBus changed to use interface methodinfo rather than class methodinfo
OrchardStarter includes EventsModule with root container to allow components to receive event firing proxies
Special case added to CompositionStrategy to prevent DefaultOrchardHost from being re-registered when shell container is built
EventsModule is internal to prevent it from being re-registered in the same way

--HG--
branch : dev
This commit is contained in:
Louis DeJardin
2010-05-12 20:52:00 -07:00
parent 87e4874968
commit 3abc44e773
11 changed files with 35 additions and 64 deletions

View File

@@ -15,20 +15,19 @@ namespace Orchard.Tests.Modules.Settings.Topology {
public override void Register(ContainerBuilder builder) {
builder.RegisterType<ShellDescriptorManager>().As<IShellDescriptorManager>();
builder.RegisterType<StubEventBus>().As<IEventBus>().SingleInstance();
builder.RegisterSource(new EventsRegistrationSource());
}
public class StubEventBus : IEventBus {
public string LastMessageName { get; set; }
public IDictionary<string, string> LastEventData { get; set; }
public IDictionary<string, object> LastEventData { get; set; }
public void Notify_Obsolete(string messageName, IDictionary<string, string> eventData) {
LastMessageName = messageName;
LastEventData = eventData;
}
public void Notify(string messageName, Dictionary<string, object> eventData) {
throw new NotImplementedException();
public void Notify(string messageName, Dictionary<string, object> eventData) {
LastMessageName = messageName;
LastEventData = eventData;
}
}
@@ -141,7 +140,7 @@ namespace Orchard.Tests.Modules.Settings.Topology {
Enumerable.Empty<ShellFeature>(),
Enumerable.Empty<ShellParameter>());
Assert.That(eventBus.LastMessageName, Is.EqualTo("ShellDescriptor_Changed"));
Assert.That(eventBus.LastMessageName, Is.EqualTo("IShellDescriptorManagerEventHandler.Changed"));
}
}
}