public void Should_Inject_When_Normal_Html_Document() { var response = Factory.Create<HttpResponseBase>(MockBehavior.Loose); var context = Factory.Create<HttpContextBase>(); context.Setup(c => c.Response).Returns(response.Object); response.Setup(r => r.ContentType).Returns("text/html"); response.Setup(r => r.StatusCode).Returns(200); response.Setup(r => r.ContentEncoding).Returns(Encoding.Unicode); response.Setup(r => r.Filter).Returns(new MemoryStream()); Settings.HeadListeners.Add(() => "blah"); Settings.BodyListeners.Add(() => "blah"); var module = Factory.Create<MarkupInjectorHttpModule>(); module.CallBase = true; var filter = new InsertMarkupFilter(response.Object); module.Setup(m => m.GetFilter(response.Object)).Returns(filter); Func<string, MulticastDelegate> getEventDelegate = name => { FieldInfo my_event_FieldInfo = filter.GetType().GetField(name, BindingFlags.NonPublic | BindingFlags.Instance); return (MulticastDelegate)my_event_FieldInfo.GetValue(filter); }; Assert.IsNull(getEventDelegate("EndOfHeadDetected")); Assert.IsNull(getEventDelegate("EndOfBodyDetected")); module.Object.ReleaseRequestState(context.Object); Assert.NotNull(getEventDelegate("EndOfHeadDetected")); Assert.NotNull(getEventDelegate("EndOfBodyDetected")); }
public override void Setup() { _response = Factory.Create<HttpResponseBase>(); _memoryStream = new MemoryStream(); _response.Setup(r => r.Filter).Returns(_memoryStream); _response.Setup(r => r.ContentEncoding).Returns(Encoding.UTF8); _stream = new InsertMarkupFilter(_response.Object); }