コード例 #1
0
ファイル: PrintResult.cs プロジェクト: Warrenn/Carbon.MVC
        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);
        }
コード例 #2
0
        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]);
            }
        }