public void TransformReplacesImageUrlWithDataUri() { StubFile("test.png", new byte[] { 1, 2, 3 }); var css = "p { background-image: url(test.png); }"; var getResult = transformer.Transform(css.AsStream, asset.Object); var expectedBase64 = Convert.ToBase64String(new byte[] { 1, 2, 3 }); getResult().ReadToEnd().ShouldEqual( "p { background-image: url(data:image/png;base64," + expectedBase64 + "); }" ); }
public void TransformInsertsImageUrlWithDataUriAfterTheExistingImage() { fileSystem.Add("~/test.png", new byte[] { 1, 2, 3 }); var css = "p { background-image: url(test.png); }"; var getResult = transformer.Transform(css.AsStream, asset.Object); var expectedBase64 = Base64Encode(new byte[] { 1, 2, 3 }); getResult().ReadToEnd().ShouldEqual( "p { background-image: url(test.png);background-image: url(data:image/png;base64," + expectedBase64 + "); }" ); }
public void GivenPredicateToTestImagePathReturnsFalse_WhenTransform_ThenImageIsNotTransformedToDataUri() { transformer = new CssImageToDataUriTransformer(path => false, fileSystem); fileSystem.Add("~/test.png", new byte[] { 1, 2, 3 }); var css = "p { background-image: url(test.png); }"; var getResult = transformer.Transform(css.AsStream, asset.Object); getResult().ReadToEnd().ShouldEqual( "p { background-image: url(test.png); }" ); }
public void GivenPredicateToTestImagePathReturnsFalse_WhenTransform_ThenImageIsNotTransformedToDataUri() { transformer = new CssImageToDataUriTransformer(path => false, true); StubFile("test.png", new byte[] { 1, 2, 3 }); var css = "p { background-image: url(test.png); }"; var getResult = transformer.Transform(css.AsStream, asset.Object); getResult().ReadToEnd().ShouldEqual( "p { background-image: url(test.png); }" ); }
public void GivenFileIsLargerThan32768bytesAndIE8SupportDisabled_WhenTransform_ThenUrlIsTransformedIntoDataUri() { var t = new CssImageToDataUriTransformer(path => true, false); StubFile("test.png", new byte[32768 + 1]); var css = "p { background-image: url(test.png); }"; var getResult = t.Transform(css.AsStream, asset.Object); var expectedBase64 = Base64Encode(new byte[32768 + 1]); getResult().ReadToEnd().ShouldEqual( "p { background-image: url(test.png);background-image: url(data:image/png;base64," + expectedBase64 + "); }" ); }