public override void ExecuteResult(ControllerContext context) { var htmlContent = RetrieveHtml(viewName, masterName, model, context); var actionName = context.RouteData.GetRequiredString("action"); var controllerName = context.RouteData.GetRequiredString("controller"); var resetEvent = new AutoResetEvent(false); Bitmap bitmap; using (var browser = new Browser(htmlContent, resetEvent)) { WaitHandle.WaitAll(new WaitHandle[] {resetEvent}); bitmap = browser.BitmapResult; } var httpContext = context.HttpContext; var response = httpContext.Response; printCommand(controllerName, actionName, bitmap, response); }
public void BrowserShouldRenderTheCorrectImage() { //Arrange var resetEvent = new AutoResetEvent(false); Bitmap bitmap; using (var browser = new Browser("<html><head></head><body>Test Content</body></html>", resetEvent)) { WaitHandle.WaitAll(new WaitHandle[] {resetEvent}); bitmap = browser.BitmapResult; } var memStream = new MemoryStream(); bitmap.Save(memStream, ImageFormat.Jpeg); //Act var actualBytes = memStream.ToArray(); //Assert for (var i = 0; i < Resources.JpegBrowser.Length; i++) { Assert.AreEqual(Resources.JpegBrowser[i], actualBytes[i]); } }