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"));
        }
Ejemplo n.º 2
0
 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);
 }