public void HiddenWithEmptyNameThrows() {
            // Arrange
            HtmlHelper helper = new HtmlHelper(new ModelStateDictionary());

            // Act & Assert
            ExceptionAssert.ThrowsArgNullOrEmpty(() => helper.Hidden(String.Empty), "name");
            ExceptionAssert.ThrowsArgNullOrEmpty(() => helper.Hidden(null), "name");
        }
        public void HiddenWithExplicitValueNull() {
            // Arrange
            HtmlHelper helper = new HtmlHelper(new ModelStateDictionary());

            // Act
            var html = helper.Hidden("foo", value: null);

            // Assert
            Assert.AreEqual(@"<input id=""foo"" name=""foo"" type=""hidden"" value="""" />", html.ToHtmlString());
        }
        public void HiddenWithBinaryArrayValueRendersBase64EncodedValue() {
            // Arrange
            HtmlHelper htmlHelper = new HtmlHelper(new ModelStateDictionary());

            // Act
            var result = htmlHelper.Hidden("ProductName", new Binary(new byte[] { 23, 43, 53 }));

            // Assert
            Assert.AreEqual("<input id=\"ProductName\" name=\"ProductName\" type=\"hidden\" value=\"Fys1\" />", result.ToHtmlString());
        }
        public void HiddenWithExplicitValueAndObjectDictionary() {
            // Arrange
            HtmlHelper helper = new HtmlHelper(new ModelStateDictionary());

            // Act
            var html = helper.Hidden("foo", "DefaultFoo", new { attr = "attr-val" });

            // Assert
            Assert.AreEqual(@"<input attr=""attr-val"" id=""foo"" name=""foo"" type=""hidden"" value=""DefaultFoo"" />",
                html.ToHtmlString());
        }
        public void HiddenWithModelValue() {
            // Arrange
            var model = new ModelStateDictionary();
            model.SetModelValue("foo", "bar");
            HtmlHelper helper = new HtmlHelper(model);

            // Act
            var html = helper.Hidden("foo");

            // Assert
            Assert.AreEqual(@"<input id=""foo"" name=""foo"" type=""hidden"" value=""bar"" />", html.ToHtmlString());
        }
        public void HiddenWithExplicitOverwritesAttributeValue() {
            // Arrange
            HtmlHelper helper = new HtmlHelper(new ModelStateDictionary());

            // Act
            var html = helper.Hidden("foo", "fooValue", new { value = "barValue" });

            // Assert
            Assert.AreEqual(@"<input id=""foo"" name=""foo"" type=""hidden"" value=""fooValue"" />", html.ToHtmlString());
        }
        public void HiddenWithImplicitValueAndAttributesObject() {
            // Arrange
            var model = new ModelStateDictionary();
            model.SetModelValue("foo", "bar");
            HtmlHelper helper = new HtmlHelper(model);

            // Act
            var html = helper.Hidden("foo", null, new { attr = "attr-val" });

            // Assert
            Assert.AreEqual(@"<input attr=""attr-val"" id=""foo"" name=""foo"" type=""hidden"" value=""bar"" />", html.ToHtmlString());
        }