public override AnalyzeResult Analyse(IPageData pageData) { var result = new AnalyzeResult(); var titleTag = _htmlTagHelper.GetTitleTag(pageData.Document, result); if (titleTag != null) { var titleText = titleTag.InnerText; var position = titleText.IndexOf(pageData.Focuskeyword, StringComparison.InvariantCultureIgnoreCase); if (position >= 0) { if (position < 10) { result.AddResultRule("title_contains_keyword", ResultType.Success); } else { result.AddResultRule("title_not_in_front", ResultType.Hint); } } else { result.AddResultRule("title_doesnt_contain_keyword", ResultType.Warning); } } return(result); }
private void AnalyzeHeadTag(HtmlNode headTag, AnalyzeResult result) { var titleTag = _htmlTagHelper.GetTitleTag(headTag, result); if (titleTag != null) { AnalyzeTitleTag(titleTag, result); } }
public void GetTitleTag_OnExecuteWithMultipleTitleTags_ThrowsException() { var doc = new HtmlDocument(); doc.LoadHtml("<html><head><title>Title</title></head><head><title>Title</title></head></html>"); var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetTitleTag(doc.DocumentNode); }
public void GetTitleTag_OnExecuteWithNoTitleTag_ThrowsException() { var doc = new HtmlDocument(); doc.LoadHtml("<html>Title</html>"); var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetTitleTag(doc.DocumentNode); }
public void GetTitleTag_OnExecuteWithHeadTag_ReturnsTheTitleNode() { var doc = new HtmlDocument(); doc.LoadHtml("<html><head><title>Title</title></head></html>"); var htmlTagHelper = new HtmlTagHelper(); var titleTag = htmlTagHelper.GetTitleTag(doc.DocumentNode); Assert.IsNotNull(titleTag); Assert.AreEqual("Title", titleTag.InnerHtml); }
public void GetTitleTag_OnExecuteWithNullParameter_ThrowsException() { var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetTitleTag(null); }