public override AnalyzeResult Analyse(IPageData pageData) { var result = new AnalyzeResult(); var bodyTag = _htmlTagHelper.GetBodyTag(pageData.Document, result); if (bodyTag != null) { var bodyText = bodyTag.InnerText.Trim(); var text = Regex.Replace(bodyText.ToLower(), @"\s+", " "); var matches = Regex.Matches(text, pageData.Focuskeyword); if (matches.Count == 0) { result.AddResultRule("content_doesnt_contain_keyword", ResultType.Warning); } else { var resultRule = new ResultRule { Alias = "content_contains_keyword", Type = ResultType.Success }; resultRule.Tokens.Add(matches.Count.ToString()); result.ResultRules.Add(resultRule); } } return(result); }
public void GetBodyTag_OnExecuteWithMultipleBodyTags_ThrowsException() { var doc = new HtmlDocument(); doc.LoadHtml("<html><body><div>Content</div></body><body><div>Content</div></body></html>"); var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetBodyTag(doc.DocumentNode); }
public void GetBodyTag_OnExecuteWithNoBodyTag_ThrowsException() { var doc = new HtmlDocument(); doc.LoadHtml("<html><title>Title</title></html>"); var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetBodyTag(doc.DocumentNode); }
public void GetBodyTag_OnExecuteWithBodyTag_ReturnsTheBodyNode() { var doc = new HtmlDocument(); doc.LoadHtml("<html><body><div>Content</div></body></html>"); var htmlTagHelper = new HtmlTagHelper(); var bodyTag = htmlTagHelper.GetBodyTag(doc.DocumentNode); Assert.IsNotNull(bodyTag); Assert.AreEqual("<div>Content</div>", bodyTag.InnerHtml); }
public void GetBodyTag_OnExecuteWithNullParameter_ThrowsException() { var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetBodyTag(null); }