예제 #1
0
        public async Task MinifyHtml_EmptyContent_Success(string input)
        {
            var minifier = new HtmlMinifier(new HtmlSettings());
            var context  = new Mock <IAssetContext>().SetupAllProperties();

            context.Object.Content = new Dictionary <string, byte[]> {
                { "", input.AsByteArray() }
            };
            var options = new Mock <WebOptimizerOptions>();

            await minifier.ExecuteAsync(context.Object);

            Assert.Equal("", context.Object.Content.First().Value.AsString());
            Assert.Equal("", minifier.CacheKey(new DefaultHttpContext()));
        }
예제 #2
0
        public async Task MinifyHtml_Malformed_Fail()
        {
            var minifier = new HtmlMinifier(new HtmlSettings());
            var context  = new Mock <IAssetContext>().SetupAllProperties();

            context.Object.Content = new Dictionary <string, byte[]> {
                { "", "<br".AsByteArray() }
            };
            var options = new Mock <WebOptimizerOptions>();

            await minifier.ExecuteAsync(context.Object);

            Assert.StartsWith("<!--", context.Object.Content.First().Value.AsString());
            Assert.Equal("", minifier.CacheKey(new DefaultHttpContext()));
        }
예제 #3
0
        public async Task MinifyHtml_CustomSettings_Success()
        {
            var settings = new HtmlSettings {
                RemoveComments = false
            };
            var minifier = new HtmlMinifier(settings);
            var context  = new Mock <IAssetContext>().SetupAllProperties();

            context.Object.Content = new Dictionary <string, byte[]> {
                { "", "\r\n<!-- foo -->\r\n".AsByteArray() }
            };
            var options = new Mock <WebOptimizerOptions>();

            await minifier.ExecuteAsync(context.Object);

            Assert.Equal("<!-- foo -->", context.Object.Content.First().Value.AsString());
            Assert.Equal("", minifier.CacheKey(new DefaultHttpContext()));
        }