public void TestAttributesAndValues() { // Arrange String expectedXml = "<flavor name='Test-Driven Development'>" + "<requirements>" + "<requirement type='hardware'>" + "1 computer for every 2 participants" + "</requirement>" + "<requirement type='software'>" + "IDE" + "</requirement>" + "</requirements>" + "</flavor>"; // Act TagBuilder builder = new TagBuilder("flavor"); builder.AddAttribute("name", "Test-Driven Development"); builder.AddChild("requirements"); builder.AddToParent("requirements", "requirement"); builder.AddAttribute("type", "hardware"); builder.AddValue("1 computer for every 2 participants"); builder.AddToParent("requirements", "requirement"); builder.AddAttribute("type", "software"); builder.AddValue("IDE"); String actualXml = builder.ToXml(); // Assert Assert.AreEqual(expectedXml, actualXml); }
private void BuildButton(StringBuilder builder, string type, string id, string click, string value) { TagBuilder.Begin(builder, "input"); TagBuilder.AddType(builder, type); TagBuilder.AddId(builder, id); if (!string.IsNullOrWhiteSpace(click)) { TagBuilder.AddAttribute(builder, "onclick", click); } if (!string.IsNullOrWhiteSpace(this.ButtonCssClass)) { TagBuilder.AddClass(builder, this.ButtonCssClass); } TagBuilder.AddValue(builder, value); TagBuilder.Close(builder, true); }
public void TestToStringBufferSize() { // Arrange String expectedXml = "<requirements>" + "<requirement type='software'>" + "IDE" + "</requirement>" + "</requirements>"; // Act TagBuilder builder = new TagBuilder("requirements"); builder.AddChild("requirement"); builder.AddAttribute("type", "software"); builder.AddValue("IDE"); Int32 stringSize = builder.ToXml().Length; Int32 computedSize = builder.BufferSize(); // Assert Assert.AreEqual(stringSize, computedSize); }
public override string Get() { if (string.IsNullOrWhiteSpace(this.FieldConfig.ColumnName)) { return(string.Empty); } StringBuilder textBox = new StringBuilder(); string type = "text"; bool isPasswordField = this.FieldConfig.ColumnName.ToUpperInvariant().Equals("PASSWORD"); TagBuilder.Begin(textBox, "input"); TagBuilder.AddId(textBox, this.FieldConfig.ColumnName); TagBuilder.AddAttribute(textBox, "data-scrud", "text"); if (isPasswordField && this.FieldConfig.IsDisabled) { type = "password"; this.FieldConfig.DefaultValue = "fake-password"; } if (this.FieldConfig.IsDisabled) { textBox.Append(" readonly='readonly'"); } if (!string.IsNullOrWhiteSpace(this.ValidationType)) { TagBuilder.AddAttribute(textBox, "data-vtype", this.ValidationType); } TagBuilder.AddType(textBox, type); if (this.FieldConfig.DataType.ToUpperInvariant().Equals("COLOR")) { TagBuilder.AddClass(textBox, "color"); } if (!this.FieldConfig.DefaultValue.StartsWith("nextVal", StringComparison.OrdinalIgnoreCase)) { if (this.ValidationType == "date") { DateTime date = Conversion.TryCastDate(this.FieldConfig.DefaultValue); if (date != DateTime.MinValue) { TagBuilder.AddValue(textBox, date.Date == date ? date.ToString("d") : date.ToString("f")); } TagBuilder.AddClass(textBox, "date"); } else { TagBuilder.AddValue(textBox, this.FieldConfig.DefaultValue); } } if (!this.FieldConfig.IsNullable) { TagBuilder.AddRequired(textBox); } if (this.FieldConfig.MaxLength > 0) { TagBuilder.AddAttribute(textBox, "maxlength", this.FieldConfig.MaxLength); } TagBuilder.Close(textBox, true); return(textBox.ToString()); }
public override string Get() { StringBuilder rows = new StringBuilder(); TagBuilder.Begin(rows, "tbody", true); for (int i = 0; i < this.Table.Rows.Count; i++) { DataRow row = this.Table.Rows[i]; string keyValue = row[this.Config.KeyColumn].ToString(); TagBuilder.Begin(rows, "tr", true); TagBuilder.Begin(rows, "td", true); TagBuilder.Begin(rows, "input"); TagBuilder.AddType(rows, "radio"); TagBuilder.AddId(rows, "SelectRadio" + keyValue); TagBuilder.AddValue(rows, keyValue); TagBuilder.Close(rows, true); TagBuilder.EndTag(rows, "td"); foreach (Column column in this.Columns) { TagBuilder.Begin(rows, "td"); switch (column.Type.FullName) { case "System.Decimal": case "System.Double": case "System.Single": TagBuilder.AddClass(rows, "text right"); TagBuilder.Close(rows); decimal value = Conversion.TryCastDecimal(row[column.ColumnName]); if (!value.Equals(0)) { rows.Append(value.ToString("N", CultureInfo.CurrentCulture)); } break; case "System.DateTime": TagBuilder.AddClass(rows, "text right"); TagBuilder.Close(rows); DateTime date = Conversion.TryCastDate(row[column.ColumnName]); rows.Append(date.Date == date ? Conversion.TryCastDate(date).ToString("D", CultureInfo.CurrentCulture) : Conversion.TryCastDate(date).ToString("F", CultureInfo.CurrentCulture)); break; default: TagBuilder.Close(rows); rows.Append(HttpUtility.HtmlEncode(row[column.ColumnName])); break; } TagBuilder.EndTag(rows, "td"); } TagBuilder.EndTag(rows, "tr"); } TagBuilder.EndTag(rows, "tbody"); return(rows.ToString()); }