public async Task SrcSetShouldBePresentIfThereAreSources()
        {
            //Arrange
            var clientMock = new Mock <IContentfulClient>();
            var tagHelper  = new ContentfulImageTagHelper(clientMock.Object);

            tagHelper.Asset = new Core.Models.Asset()
            {
                File = new Core.Models.File()
                {
                    Url = "https://robertlinde.se"
                }
            };

            var context = new TagHelperContext(new TagHelperAttributeList(), new Dictionary <object, object>(), "test");
            var output  = new TagHelperOutput("img", new TagHelperAttributeList(), async(b, c) => {
                var childSource   = new ContentfulSource(clientMock.Object);
                childSource.Width = 500;
                await childSource.ProcessAsync(context, new TagHelperOutput("div", new TagHelperAttributeList(), (x, y) => { return(null); }));
                var tagHelperContent = new DefaultTagHelperContent();
                tagHelperContent.SetContent(string.Empty);
                return(tagHelperContent);
            });

            //Act
            await tagHelper.ProcessAsync(context, output);

            //Assert
            Assert.Equal("https://robertlinde.se", tagHelper.Url);
            Assert.Equal("https://robertlinde.se?w=500 500w", output.Attributes["srcset"].Value);
        }
        public async Task SourceSizeShouldNotBeOverriddenWhenSet()
        {
            //Arrange
            var clientMock = new Mock <IContentfulClient>();
            var tagHelper  = new ContentfulSource(clientMock.Object);

            tagHelper.Asset = new Core.Models.Asset()
            {
                File = new Core.Models.File()
                {
                    Url = "https://robertlinde.se"
                }
            };

            tagHelper.Width = 500;
            tagHelper.Size  = "200w";

            var context = new TagHelperContext(new TagHelperAttributeList(), new Dictionary <object, object>(), "test");

            context.Items.Add("sources", new List <string>());
            context.Items.Add("defaults", null);

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

            //Act
            await tagHelper.ProcessAsync(context, output);

            //Assert
            Assert.Equal("https://robertlinde.se", tagHelper.Url);
            Assert.Equal("200w", tagHelper.Size);
        }