Beispiel #1
0
        public void RenderLink_WithMultiParametersRepeated_ReturnsAllParamters()
        {
            //Arrange
            var expected =
                "<a href='/somewhere.aspx?temp=fred&amp;temp=fred2&amp;temp=fred3&amp;temp1=jane' class='myclass' >my other content</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = new GlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text  = "hello world";
            link.Url   = "/somewhere.aspx";
            link.Query = "temp=fred&temp=fred2&temp=fred3&temp1=jane";

            var model      = new { Link = link };
            var parameters = new NameValueCollection {
                { "class", "myclass" }
            };
            var content = "my other content";

            //Act
            var result = html.RenderLink(model, x => x.Link, parameters, contents: content);

            //Assert
            Assert.AreEqual(expected, result);
        }
Beispiel #2
0
        public void RenderLink_LinkWithMixedPropertiesAndParameters()
        {
            //Arrange
            var expected  = "<a href='/somewhere.aspx?temp=fred#anOther' target='_blank' class='myclass' title='mytitle' >hello world</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = new GlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text   = "hello world";
            link.Url    = "/somewhere.aspx";
            link.Anchor = "aAnchor";
            link.Class  = "myclass";
            link.Query  = "temp=fred";
            link.Target = "_blank";
            link.Title  = "mytitle";

            var model      = new { Link = link };
            var parameters = new NameValueCollection {
                { "anchor", "anOther" }
            };

            //Act
            var result = html.RenderLink(model, x => x.Link, parameters);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_HtmlEncodesTitle()
        {
            //Arrange
            var expected  = "<a href='/somewhere.aspx' title='hello &amp; world' >hello &amp; world</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = GetGlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text  = "hello & world";
            link.Url   = "/somewhere.aspx";
            link.Title = "hello & world";
            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
Beispiel #4
0
        public void RenderLink_LinkHasQuestionMarkAndAnchorAtEnd()
        {
            //Arrange
            var expected  = "<a href='http://www.seek.com.au/jobs/in-australia/?dateRange=test&amp;value1=test2#anchor' >hello world</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = new GlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text = "hello world";
            link.Url  = "http://www.seek.com.au/jobs/in-australia/?dateRange=test&value1=test2#anchor";

            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
Beispiel #5
0
        public void RenderLink_LinkHasHashBang()
        {
            //Arrange
            var expected  = "<a href='http://www.seek.com.au/jobs/in-australia/#dateRange=999&workType=0&industry=&occupation=&graduateSearch=false&salaryFrom=0&salaryTo=999999&salaryType=annual&advertiserID=&advertiserGroup=&keywords=sitecore+developer&page=1&displaySuburb=&seoSuburb=&isAreaUnspecified=false&location=&area=&nation=3000&sortMode=KeywordRelevance&searchFrom=filters&searchType=' >hello world</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = new GlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text = "hello world";
            link.Url  = "http://www.seek.com.au/jobs/in-australia/#dateRange=999&workType=0&industry=&occupation=&graduateSearch=false&salaryFrom=0&salaryTo=999999&salaryType=annual&advertiserID=&advertiserGroup=&keywords=sitecore+developer&page=1&displaySuburb=&seoSuburb=&isAreaUnspecified=false&location=&area=&nation=3000&sortMode=KeywordRelevance&searchFrom=filters&searchType=";

            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_LinkHasHash()
        {
            //Arrange
            var expected  = "<a href='http://www.seek.com.au/jobs/in-australia/#dateRange' >hello world</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = GetGlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text = "hello world";
            link.Url  = "http://www.seek.com.au/jobs/in-australia/#dateRange";

            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
Beispiel #7
0
        public void RenderLink_LinkWithNoAttributes()
        {
            //Arrange
            var expected  = "<a href='/somewhere.aspx' >hello world</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = new GlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text = "hello world";
            link.Url  = "/somewhere.aspx";

            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_HtmlTitleAlreadyEncoded_DoesNotDoubleEncode()
        {
            //Arrange
            //This test checks that a value already encoded does not get accidentally double HTML encoded.
            var expected  = "<a href='/somewhere.aspx' title='hello &amp; world' >hello &amp; world</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = GetGlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text  = "hello &amp; world";
            link.Url   = "/somewhere.aspx";
            link.Title = "hello &amp; world";
            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
Beispiel #9
0
        public void RenderLink_LinkWithClassAndQuery()
        {
            //Arrange
            var expected  = "<a href='/somewhere.aspx?temp=fred' class='myclass' >hello world</a>";
            var scContext = Substitute.For <ISitecoreContext>();
            var html      = new GlassHtml(scContext);
            var link      = new Fields.Link();

            link.Text  = "hello world";
            link.Url   = "/somewhere.aspx";
            link.Query = "temp=fred";

            var model      = new { Link = link };
            var parameters = new NameValueCollection {
                { "class", "myclass" }
            };

            //Act
            var result = html.RenderLink(model, x => x.Link, parameters);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_LinkWithCustomContent()
        {
            //Arrange
            var expected = "<a href='/somewhere.aspx?temp=fred' class='myclass' >my other content</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello world";
            link.Url = "/somewhere.aspx";
            link.Query = "temp=fred";

            var model = new { Link = link };
            var parameters = new NameValueCollection { { "class", "myclass" } };
            var content = "my other content";

            //Act
            var result = html.RenderLink(model, x => x.Link, parameters, contents: content);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_LinkWithMixedPropertiesAndParameters()
        {
            //Arrange
            var expected = "<a href='/somewhere.aspx?temp=fred#anOther' class='myclass' target='_blank' title='mytitle' >hello world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello world";
            link.Url = "/somewhere.aspx";
            link.Anchor = "aAnchor";
            link.Class = "myclass";
            link.Query = "temp=fred";
            link.Target = "_blank";
            link.Title = "mytitle";

            var model = new { Link = link };
            var parameters = new NameValueCollection {{"anchor", "anOther"}};

            //Act
            var result = html.RenderLink(model, x => x.Link, parameters);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_LinkWithNoAttributes()
        {
            //Arrange
            var expected = "<a href='/somewhere.aspx' >hello world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello world";
            link.Url = "/somewhere.aspx";

            var model = new {Link = link};

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_LinkHasQuestionMarkAndAnchorAtEnd()
        {
            //Arrange
            var expected = "<a href='http://www.seek.com.au/jobs/in-australia/?dateRange=test&amp;value1=test2#anchor' >hello world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello world";
            link.Url = "http://www.seek.com.au/jobs/in-australia/?dateRange=test&value1=test2#anchor";

            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_LinkHasHashBang()
        {
            //Arrange
            var expected = "<a href='http://www.seek.com.au/jobs/in-australia/#dateRange=999&amp;workType=0&amp;industry=&amp;occupation=&amp;graduateSearch=false&amp;salaryFrom=0&amp;salaryTo=999999&amp;salaryType=annual&amp;advertiserID=&amp;advertiserGroup=&amp;keywords=sitecore+developer&amp;page=1&amp;displaySuburb=&amp;seoSuburb=&amp;isAreaUnspecified=false&amp;location=&amp;area=&amp;nation=3000&amp;sortMode=KeywordRelevance&amp;searchFrom=filters&amp;searchType=' >hello world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello world";
            link.Url = "http://www.seek.com.au/jobs/in-australia/#dateRange=999&workType=0&industry=&occupation=&graduateSearch=false&salaryFrom=0&salaryTo=999999&salaryType=annual&advertiserID=&advertiserGroup=&keywords=sitecore+developer&page=1&displaySuburb=&seoSuburb=&isAreaUnspecified=false&location=&area=&nation=3000&sortMode=KeywordRelevance&searchFrom=filters&searchType=";

            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void RenderLink_LinkHasHash()
        {
            //Arrange
            var expected = "<a href='http://www.seek.com.au/jobs/in-australia/#dateRange' >hello world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello world";
            link.Url = "http://www.seek.com.au/jobs/in-australia/#dateRange";

            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            AssertHtml.AreHtmlElementsEqual(expected, result, "a");
        }
        public void RenderLink_WithMultiParametersRepeated_ReturnsAllParamters()
        {
            //Arrange
            var expected =
                "<a href='/somewhere.aspx?temp=fred&amp;temp=fred2&amp;temp=fred3&amp;temp1=jane' class='myclass' >my other content</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello world";
            link.Url = "/somewhere.aspx";
            link.Query = "temp=fred&temp=fred2&temp=fred3&temp1=jane";

            var model = new { Link = link };
            var parameters = new NameValueCollection { { "class", "myclass" } };
            var content = "my other content";

            //Act
            var result = html.RenderLink(model, x => x.Link, parameters, contents: content);

            //Assert
            AssertHtml.AreHtmlElementsEqual(expected, result, "a");
        }
        public void RenderLink_HtmlTitleAlreadyEncoded_DoesNotDoubleEncode()
        {
            //Arrange
            //This test checks that a value already encoded does not get accidentally double HTML encoded.
            var expected = "<a href='/somewhere.aspx' title='hello &amp; world' >hello &amp; world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello &amp; world";
            link.Url = "/somewhere.aspx";
            link.Title = "hello &amp; world";
            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            AssertHtml.AreHtmlElementsEqual(expected, result, "a");
        }
        public void RenderLink_ContainsSpecialCharacters()
        {
            //Arrange
            var expected = "<a href='http://na2.se.voxco.com/se/?st=6M9NIk9SWq9dkYTuJI2wewuV3b3bWrDQMwgCt2aBnWDGTaoxLYNESg%3D%3D' title='hello &amp; world' >hello &amp; world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello & world";
            link.Url = "http://na2.se.voxco.com/se/?st=6M9NIk9SWq9dkYTuJI2wewuV3b3bWrDQMwgCt2aBnWDGTaoxLYNESg%3D%3D";
            link.Title = "hello & world";
            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            AssertHtml.AreHtmlElementsEqual(expected, result, "a");
        }
        public void RenderLink_HtmlEncodesTitle()
        {
            //Arrange
            var expected = "<a href='/somewhere.aspx' title='hello &amp; world' >hello &amp; world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello & world";
            link.Url = "/somewhere.aspx";
            link.Title = "hello & world";
            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert
            AssertHtml.AreHtmlElementsEqual(expected, result, "a");
        }
        public void RenderLink_LinkWithAllSetProperties()
        {
            //Arrange
            var expected = "<a href='/somewhere.aspx?temp=fred#aAnchor' target='_blank' class='myclass' title='mytitle' >hello world</a>";
            var scContext = Substitute.For<ISitecoreContext>();
            var html = new GlassHtml(scContext);
            var link = new Fields.Link();
            link.Text = "hello world";
            link.Url = "/somewhere.aspx";
            link.Anchor = "aAnchor";
            link.Class = "myclass";
            link.Query = "temp=fred";
            link.Target = "_blank";
            link.Title = "mytitle";

            var model = new { Link = link };

            //Act
            var result = html.RenderLink(model, x => x.Link);

            //Assert

            AssertHtml.AreHtmlElementsEqual(expected, result, "a");
        }