Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public void GetBodyTag_OnExecuteWithNoBodyTag_ThrowsException()
        {
            var doc = new HtmlDocument();

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

            var htmlTagHelper = new HtmlTagHelper();

            htmlTagHelper.GetBodyTag(doc.DocumentNode);
        }
Example #4
0
        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);
        }
Example #5
0
        public void GetBodyTag_OnExecuteWithNullParameter_ThrowsException()
        {
            var htmlTagHelper = new HtmlTagHelper();

            htmlTagHelper.GetBodyTag(null);
        }