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); }
public void Analyse_OnExecuteWithLessThan15ExternalCalls_TokensGetSetCorrecly() { var analyzer = new AdditionalCallAnalyzer(new OptionHelper()); var doc = new HtmlDocument(); doc.LoadHtml("<body><link href=\"/\" rel=\"stylesheet\"/><script src=\"/\"></script><img src=\"/\" /><object data=\"/\"></object></body>"); var pageData = new PageData() { Document = doc.DocumentNode, Focuskeyword = "focus", Url = "http://www.google.com" }; 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("4", result.ResultRules.First().Tokens[0]); Assert.AreEqual("1", result.ResultRules.First().Tokens[1]); Assert.AreEqual("1", result.ResultRules.First().Tokens[2]); Assert.AreEqual("1", result.ResultRules.First().Tokens[3]); Assert.AreEqual("1", result.ResultRules.First().Tokens[4]); Assert.AreEqual("30", result.ResultRules.First().Tokens[5]); Assert.AreEqual("15", result.ResultRules.First().Tokens[6]); Assert.AreEqual("less_than_acceptable_calls", result.ResultRules.First().Alias); }
public void Analyse_OnExecuteWithCustomOptionsWithMoreThan10ExternalCalls_TokensGetSetCorrecly() { var analyzer = new AdditionalCallAnalyzer(new OptionHelper()); analyzer.Options = new List <Option> { new Option() { Key = "MaximumAdditionalCalls", Value = "10" } }; string html = ""; for (int i = 0; i < 11; i++) { html += "<img src=\"/\" />"; } var doc = new HtmlDocument(); doc.LoadHtml($"<body>{html}</body>"); var pageData = new PageData() { Document = doc.DocumentNode, Focuskeyword = "focus", Url = "http://www.google.com" }; analyzer.Analyse(pageData); var result = analyzer.AnalyzeResult; Assert.IsNotNull(result); Assert.IsTrue(result.ResultRules.Count == 1); Assert.AreEqual(ResultType.Warning, result.ResultRules.First().Type); Assert.AreEqual("11", result.ResultRules.First().Tokens[0]); Assert.AreEqual("0", result.ResultRules.First().Tokens[1]); Assert.AreEqual("0", result.ResultRules.First().Tokens[2]); Assert.AreEqual("11", result.ResultRules.First().Tokens[3]); Assert.AreEqual("0", result.ResultRules.First().Tokens[4]); Assert.AreEqual("10", result.ResultRules.First().Tokens[5]); Assert.AreEqual("15", result.ResultRules.First().Tokens[6]); Assert.AreEqual("more_than_maximum_calls", result.ResultRules.First().Alias); }
public void Analyse_OnExecuteWithNullParameter_ThrowArgumentNullException() { var analyzer = new AdditionalCallAnalyzer(new OptionHelper()); analyzer.Analyse(null); }