public void LinkOrDefaultReturnsIHtmlString() {
            //arrange
            var viewContext = new ViewContext();
            var viewDataContainer = new Mock<IViewDataContainer>();
            var html = new HtmlHelper(viewContext, viewDataContainer.Object);

            //act
            var result = html.LinkOrDefault("test", "http://example.com") as IHtmlString;

            //assert
            Assert.IsNotNull(result);
        }
        public void LinkOrDefaultHtmlEncodesLinkText()
        {
            //arrange
            var viewContext = new ViewContext();
            var viewDataContainer = new Mock<IViewDataContainer>();
            var html = new HtmlHelper(viewContext, viewDataContainer.Object);

            //act
            var result = html.LinkOrDefault("<br />", "http://example.com");

            //assert
            Assert.AreEqual(@"<a href=""http://example.com"">&lt;br /&gt;</a>", result.ToString());
        }
        public void LinkOrDefaultWithoutHrefHtmlEncodesLinkText() {
            //arrange
            var viewContext = new ViewContext();
            var viewDataContainer = new Mock<IViewDataContainer>();
            var html = new HtmlHelper(viewContext, viewDataContainer.Object);

            //act
            var result = html.LinkOrDefault("<br />", null);

            //assert
            Assert.AreEqual(@"&lt;br /&gt;", result.ToString());
        }
        public void LinkOrDefaultWithHrefHtmlAttributeEncodesHref() {
            //arrange
            var viewContext = new ViewContext();
            var viewDataContainer = new Mock<IViewDataContainer>();
            var html = new HtmlHelper(viewContext, viewDataContainer.Object);

            //act
            var result = html.LinkOrDefault("test", "<br />");

            //assert
            Assert.AreEqual(@"<a href=""&lt;br />"">test</a>", result.ToString());
        }