public void Add_Method_Adds_Individual_Classes() { // arrange string classes = "test1 test2 test3"; // act CssClassList collection = new CssClassList(); collection.Add(classes); // assert Assert.AreEqual(3, collection.Count); Assert.AreEqual("test1", collection[0]); Assert.AreEqual("test2", collection[1]); Assert.AreEqual("test3", collection[2]); }
public void AddRange_Method_Adds_Individual_Classes() { // arrange string[] classes = { "test1 test2 test3", "test4" }; // act CssClassList collection = new CssClassList(); collection.AddRange(classes); // assert Assert.AreEqual(4, collection.Count); Assert.AreEqual("test1", collection[0]); Assert.AreEqual("test2", collection[1]); Assert.AreEqual("test3", collection[2]); Assert.AreEqual("test4", collection[3]); }
/// <summary> /// Constructor to specify extra HTML attributes as an anonymous type /// </summary> /// <param name="tag">An HTML tag to initialise this element with</param> /// <param name="htmlAttributes">Extra HTML attributes</param> public HtmlComponent(EHtmlTag tag, object htmlAttributes = null) { Tag = tag; Attributes = new Dictionary <string, string>(); CssClasses = new CssClassList(); AppendTags = new HtmlComponentList(); PrependTags = new HtmlComponentList(); if (htmlAttributes == null) { return; } bool isDict = (htmlAttributes as IDictionary <string, string>) != null; if (isDict) { Attributes = (IDictionary <string, string>)htmlAttributes; if (!Attributes.ContainsKey("class")) { return; } CssClasses.Add(Attributes["class"]); Attributes.Remove("class"); return; } NameValueCollection attribs = WebExtrasUtil.AnonymousObjectToHtmlAttributes(htmlAttributes); foreach (string key in attribs.Keys) { if (key.Equals("class", StringComparison.OrdinalIgnoreCase)) { CssClasses.Clear(); CssClasses.Add(attribs[key]); continue; } Attributes[key] = attribs[key]; } }