Beispiel #1
0
        public void Analyse_OnExecuteWithSmallerHtmlThanMaximum_SetsResult()
        {
            var analyzer = new HtmlSizeAnalyzer(new ByteSizeHelper(), new OptionHelper())
            {
                Options = new List <IOption>()
                {
                    new Option()
                    {
                        Key = "MaximumSizeInBytes", Value = "20"
                    },
                }
            };

            var doc = new HtmlDocument();

            doc.LoadHtml("<html></html>");

            var pageData = new PageData()
            {
                Document = doc.DocumentNode
            };

            analyzer.Analyse(pageData);
            var result = analyzer.AnalyzeResult;

            Assert.IsNotNull(result);
            Assert.IsTrue(result.ResultRules.Count == 1);
            Assert.AreEqual(ResultType.Success, result.ResultRules.First().Type);
            Assert.AreEqual("html_size_small", result.ResultRules.First().Alias);
            Assert.AreEqual("13 bytes", result.ResultRules.First().Tokens[0]);
            Assert.AreEqual("20 bytes", result.ResultRules.First().Tokens[1]);
        }
        public Analysis GetAnalysis()
        {
            var analysis = new Analysis();

            var serverResponseAnalyzer = new ServerResponseAnalyzer();

            analysis.Results.Add(serverResponseAnalyzer.Analyse(_htmlResult.Document, _htmlResult.ServerResponseTime));

            var gzipAnalyzer = new GZipAnalyzer();

            analysis.Results.Add(gzipAnalyzer.Analyse(_htmlResult.Document, _htmlResult.Url));

            var htmlSizeAnalyzer = new HtmlSizeAnalyzer();

            analysis.Results.Add(htmlSizeAnalyzer.Analyse(_htmlResult.Document));

            var externalCallAnalyzer = new AdditionalCallAnalyzer();

            analysis.Results.Add(externalCallAnalyzer.Analyse(_htmlResult.Document));

            var url = new Uri(_htmlResult.Url);

            var cssMinifationAnalyzer = new CssMinificationAnalyzer();

            analysis.Results.Add(cssMinifationAnalyzer.Analyse(_htmlResult.Document, url));

            var javascriptMinifationAnalyzer = new JavascriptMinificationAnalyzer();

            analysis.Results.Add(javascriptMinifationAnalyzer.Analyse(_htmlResult.Document, url));

            return(analysis);
        }
Beispiel #3
0
        public void Options_OnGetWithOverridenValues_ReturnOverridenValues()
        {
            var analyzer = new HtmlSizeAnalyzer(new ByteSizeHelper(), new OptionHelper())
            {
                Options = new List <IOption>()
                {
                    new Option()
                    {
                        Key = "MaximumSizeInBytes", Value = "1"
                    },
                }
            };

            Assert.AreEqual(1, analyzer.MaximumSizeInBytes);
        }
Beispiel #4
0
        public void Options_OnGets_ReturnDefaultValues()
        {
            var analyzer = new HtmlSizeAnalyzer(new ByteSizeHelper(), new OptionHelper());

            Assert.AreEqual(33792, analyzer.MaximumSizeInBytes);
        }
Beispiel #5
0
        public void Analyse_OnExecuteWithNullParameter_ThrowArgumentNullException()
        {
            var analyzer = new HtmlSizeAnalyzer(new ByteSizeHelper(), new OptionHelper());

            analyzer.Analyse(null);
        }