示例#1
0
        public void NotCallDownloadImageMethod_WhenWidthAndHeightOfThatImageArePresentInTheCache()
        {
            // Arrange
            var runContext = new RunContext(new RunConfiguration()
            {
                RelativeUrlsHost = "http://mywebsite.com"
            });

            runContext.ImagesCache["/images/logo1.png"] = new Models.ImageSize()
            {
                Width = 100, Height = 200
            };

            var imageElement = ElementFactory.CreateImage();

            imageElement.Source = "/images/logo1.png";

            var imageSanitizer = new ImageSanitizerSpy();

            imageSanitizer.Configure(runContext);
            imageSanitizer.DownloadImageResult = (imageUrl) => new Bitmap(100, 200);

            // Adding image element to the document in order to simulate real herarchy
            ElementFactory.Document.Body.Append(imageElement);

            // Act
            var ampElement = imageSanitizer.Sanitize(ElementFactory.Document, imageElement);

            // Assert
            Assert.IsFalse(imageSanitizer.DownloadImageIsCalled);
        }
示例#2
0
        public void SetImageSizeMethodIsCalled_WhenHeightAndWeightAreNotSpecifiedAndShouldDownloadImagesEqualsTrue()
        {
            // Arrange
            var runContext = new RunContext(new RunConfiguration {
                ShouldDownloadImages = true
            });

            var imageSanitizerSpy = new ImageSanitizerSpy();

            imageSanitizerSpy.Configure(runContext);
            var imageElement = ElementFactory.CreateImage();

            // Adding image element to the document in order to simulate real herarchy
            ElementFactory.Document.Body.Append(imageElement);

            // Act
            var ampElement = imageSanitizerSpy.Sanitize(ElementFactory.Document, imageElement);

            // Assert
            Assert.IsTrue(imageSanitizerSpy.SetImageSizeCalled);
        }