示例#1
0
        public void RenderMetaTags_RenderedTagDescription_Rendered()
        {
            TwitterCardSummary myTagHelper = new TwitterCardSummary()
            {
                Title        = TwitterCardAnswerKey.TitleValue,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteUsernameValue,
                Image        = null
            };

            var context = new TagHelperContext(
                new TagHelperAttributeList(),
                new Dictionary <object, object>(),
                Guid.NewGuid().ToString("N"));
            var output = new TagHelperOutput(
                "meta",
                new TagHelperAttributeList(),
                (cache, encoder) =>
            {
                var tagHelperContent = new DefaultTagHelperContent();
                tagHelperContent.SetContent(string.Empty);
                return(Task.FromResult <TagHelperContent>(tagHelperContent));
            });

            myTagHelper.Process(context, output);
            Assert.Contains("name=\"twitter:description\" content=\"" + TwitterCardAnswerKey.DescriptionValue + "\"", output.Content.GetContent());
        }
示例#2
0
        public void RenderMetaTags_NoValueForImageHeightOrWidth_Rendered()
        {
            TwitterCardSummary myTagHelper = new TwitterCardSummary()
            {
                Title        = TwitterCardAnswerKey.TitleValue,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteUsernameValue,
                Image        = new TwitterImage(TwitterCardAnswerKey.ImageUrlValue)
            };

            var context = new TagHelperContext(
                new TagHelperAttributeList(),
                new Dictionary <object, object>(),
                Guid.NewGuid().ToString("N"));

            var output = new TagHelperOutput(
                "meta",
                new TagHelperAttributeList(),
                (cache, encoder) =>
            {
                var tagHelperContent = new DefaultTagHelperContent();
                tagHelperContent.SetContent(string.Empty);
                return(Task.FromResult <TagHelperContent>(tagHelperContent));
            });

            myTagHelper.Process(context, output);
            Assert.DoesNotContain("twitter:image:height", output.Content.GetContent());
            Assert.DoesNotContain("twitter:image:width", output.Content.GetContent());
        }
示例#3
0
        public void RenderMetaTags_NoValueForImage_Rendered()
        {
            var tagHelper = new TwitterCardSummary()
            {
                Title        = TwitterCardAnswerKey.TitleValue,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteUsernameValue,
                Image        = null,
            };

            var context = new TagHelperContext(
                new TagHelperAttributeList(),
                new Dictionary <object, object>(),
                Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture));

            var output = new TagHelperOutput(
                "meta",
                new TagHelperAttributeList(),
                (cache, encoder) =>
            {
                var tagHelperContent = new DefaultTagHelperContent();
                tagHelperContent.SetContent(string.Empty);
                return(Task.FromResult <TagHelperContent>(tagHelperContent));
            });

            tagHelper.Process(context, output);
            Assert.DoesNotContain("twitter:image", output.Content.GetContent(), StringComparison.Ordinal);
        }
示例#4
0
        public void RenderMetaTags_NoValueForTitle_ExceptionThrown()
        {
            var tagHelper = new TwitterCardSummary()
            {
                Title        = string.Empty,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteIdValue,
                Image        = null,
            };
            var context = new TagHelperContext(
                new TagHelperAttributeList(),
                new Dictionary <object, object>(),
                Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture));
            var output = new TagHelperOutput(
                "meta",
                new TagHelperAttributeList(),
                (cache, encoder) =>
            {
                var tagHelperContent = new DefaultTagHelperContent();
                tagHelperContent.SetContent(string.Empty);
                return(Task.FromResult <TagHelperContent>(tagHelperContent));
            });

            var validationException = Assert.Throws <ValidationException>(() => tagHelper.Process(context, output));

            Assert.Contains(nameof(TwitterCardSummary.Title), validationException.Message, StringComparison.Ordinal);
        }
        public void RenderMetaTags_NoValueForSiteUsername_ExceptionThrown()
        {
            var tagHelper = new TwitterCardSummary()
            {
                Title        = TwitterCardAnswerKey.TitleValue,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = string.Empty,
                Image        = null
            };
            var context = new TagHelperContext(
                new TagHelperAttributeList(),
                new Dictionary <object, object>(),
                Guid.NewGuid().ToString("N"));
            var output = new TagHelperOutput(
                "meta",
                new TagHelperAttributeList(),
                (cache, encoder) =>
            {
                var tagHelperContent = new DefaultTagHelperContent();
                tagHelperContent.SetContent(string.Empty);
                return(Task.FromResult <TagHelperContent>(tagHelperContent));
            });

            var validationException = Assert.Throws <ValidationException>(() => tagHelper.Process(context, output));

            Assert.Contains("either twitter:site or twitter:site:id is required.", validationException.Message);
        }
示例#6
0
        public void RenderMetaTags_NoValueForTitle_ExceptionThrown()
        {
            var       expected        = typeof(System.ArgumentNullException);
            Exception thrownException = null;

            TwitterCardSummary myTagHelper = new TwitterCardSummary()
            {
                Title        = string.Empty,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteIdValue,
                Image        = null
            };

            try
            {
                var context = new TagHelperContext(
                    new TagHelperAttributeList(),
                    new Dictionary <object, object>(),
                    Guid.NewGuid().ToString("N"));

                var output = new TagHelperOutput(
                    "meta",
                    new TagHelperAttributeList(),
                    (cache, encoder) =>
                {
                    var tagHelperContent = new DefaultTagHelperContent();
                    tagHelperContent.SetContent(string.Empty);
                    return(Task.FromResult <TagHelperContent>(tagHelperContent));
                });

                myTagHelper.Process(context, output);
            }
            catch (Exception e)
            {
                thrownException = e;
            }

            Assert.Equal(expected, thrownException.GetType());
            Assert.Equal("Title", ((System.ArgumentException)thrownException).ParamName.ToString());
        }
示例#7
0
        public void RenderMetaTags_RenderedTagImageWithImageUrlHeightAndWidth_Rendered()
        {
            var tagHelper = new TwitterCardSummary()
            {
                Title        = TwitterCardAnswerKey.TitleValue,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteUsernameValue,
                Image        = new TwitterImage(TwitterCardAnswerKey.ImageUrlValue, TwitterCardAnswerKey.ImageWidthValue, TwitterCardAnswerKey.ImageHeightValue),
            };

            var context = new TagHelperContext(
                new TagHelperAttributeList(),
                new Dictionary <object, object>(),
                Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture));
            var output = new TagHelperOutput(
                "meta",
                new TagHelperAttributeList(),
                (cache, encoder) =>
            {
                var tagHelperContent = new DefaultTagHelperContent();
                tagHelperContent.SetContent(string.Empty);
                return(Task.FromResult <TagHelperContent>(tagHelperContent));
            });

            tagHelper.Process(context, output);

            Assert.Contains("name=\"twitter:image\"", output.Content.GetContent(), StringComparison.Ordinal);
            Assert.Contains(
                "name=\"twitter:image:width\" content=\"" + TwitterCardAnswerKey.ImageWidthValue.ToString(CultureInfo.InvariantCulture) + "\"",
                output.Content.GetContent(),
                StringComparison.Ordinal);
            Assert.Contains(
                "name=\"twitter:image:height\" content=\"" + TwitterCardAnswerKey.ImageHeightValue.ToString(CultureInfo.InvariantCulture) + "\"",
                output.Content.GetContent(),
                StringComparison.Ordinal);
        }