public void RenderMetaTags_NoValueForSiteUsername_ExceptionThrown()
        {
            var tagHelper = new TwitterCardPlayer()
            {
                Title        = TwitterCardAnswerKey.TitleValue,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = string.Empty,
                Image        = new TwitterImage(
                    TwitterCardAnswerKey.ImageUrlValue,
                    TwitterCardAnswerKey.ImageWidthValue,
                    TwitterCardAnswerKey.ImageHeightValue),
                Player = new TwitterPlayer(
                    TwitterCardAnswerKey.ImageUrlValue,
                    TwitterCardAnswerKey.ImageWidthValue,
                    TwitterCardAnswerKey.ImageHeightValue)
            };
            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(nameof(TwitterCardPlayer.SiteUsername), validationException.Message);
        }
        public void RenderMetaTags_RenderedTagPlayerWithHTTPS_Rendered()
        {
            var tagHelper = new TwitterCardPlayer()
            {
                Title        = TwitterCardAnswerKey.TitleValue,
                Description  = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteUsernameValue,
                Image        = new TwitterImage(
                    TwitterCardAnswerKey.ImageUrlValue,
                    TwitterCardAnswerKey.ImageWidthValue,
                    TwitterCardAnswerKey.ImageHeightValue),
                Player = new TwitterPlayer(
                    TwitterCardAnswerKey.PlayerUrlValue,
                    TwitterCardAnswerKey.PlayerWidthValue,
                    TwitterCardAnswerKey.PlayerHeightValue)
            };
            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));
            });

            tagHelper.Process(context, output);
            Assert.Contains("HTTPS:".ToLower(), output.Content.GetContent().ToLower());
            Assert.Contains("name=\"twitter:player\"", output.Content.GetContent());
        }
Exemple #3
0
        public void RenderMetaTags_ZeroValueForPlayerWidth_ExceptionThrown()
        {
            var       expected        = typeof(ArgumentOutOfRangeException);
            Exception thrownException = null;

            try
            {
                TwitterCardPlayer myTagHelper = new TwitterCardPlayer()
                {
                    Title        = TwitterCardAnswerKey.TitleValue,
                    Description  = TwitterCardAnswerKey.DescriptionValue,
                    SiteUsername = TwitterCardAnswerKey.SiteUsernameValue,
                    Image        = new TwitterImage(
                        TwitterCardAnswerKey.ImageUrlValue,
                        TwitterCardAnswerKey.ImageWidthValue,
                        TwitterCardAnswerKey.ImageHeightValue),
                    Player = new TwitterPlayer(
                        TwitterCardAnswerKey.PlayerUrlValue,
                        0,
                        TwitterCardAnswerKey.PlayerHeightValue)
                };

                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("width", ((ArgumentException)thrownException).ParamName.ToString());
        }
        public void RenderMetaTags_RenderedTagPlayerWithoutHTTPS_ExceptionThrown()
        {
            var tagHelper = new TwitterCardPlayer()
            {
                Title = TwitterCardAnswerKey.TitleValue,
                Description = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteUsernameValue,
                Image = new TwitterImage(
                    TwitterCardAnswerKey.ImageUrlValue,
                    TwitterCardAnswerKey.ImageWidthValue,
                    TwitterCardAnswerKey.ImageHeightValue),
                Player = new TwitterPlayer(
                    TwitterCardAnswerKey.ImageUrlValue,
                    TwitterCardAnswerKey.PlayerWidthValue,
                    TwitterCardAnswerKey.PlayerHeightValue),
            };
            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(TwitterCardPlayer.Player.PlayerUrl),
                validationException.Message,
                StringComparison.Ordinal);
        }
        public void RenderMetaTags_RenderedCorrectTwitterCardTypeTag_Match()
        {
            var tagHelper = new TwitterCardPlayer()
            {
                Title = TwitterCardAnswerKey.TitleValue,
                Description = TwitterCardAnswerKey.DescriptionValue,
                SiteUsername = TwitterCardAnswerKey.SiteUsernameValue,
                Image = new TwitterImage(
                    TwitterCardAnswerKey.ImageUrlValue,
                    TwitterCardAnswerKey.ImageWidthValue,
                    TwitterCardAnswerKey.ImageHeightValue),
                Player = new TwitterPlayer(
                    TwitterCardAnswerKey.PlayerUrlValue,
                    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:card\" content=\"player\"",
                output.Content.GetContent(),
                StringComparison.Ordinal);
        }