public void AddAttribute_ClassFailTest() { var instance = new VNode(); Assert.ThrowsException <ArgumentException>(() => instance.SetAttribute("class", "test")); }
public void AddAttribute_StyleFailTest() { var instance = new VNode(); Assert.ThrowsException <ArgumentException>(() => instance.SetAttribute("style", "color: red")); }
public void Transform_MultiLayerMultiChildrenTest() { var expected = new XElement("a", new XElement("b", "012"), new XElement("c", new XAttribute("id", "test"), new XElement("b", "345"), new XElement("b", "678")), new XElement("b", "901") ); var c = new VNode("c", "", 3, 6); c.SetAttribute("id", "test"); var vNode = new VNode("a", "", 0, 10, new VNode[] { new VNode("b", "012", 0, 3), new VNode("b", "345", 3, 3), new VNode("b", "678", 6, 3), new VNode("b", "901", 9, 3) }, new VNode[] { c } ); var result = VNodeXmlTransformer.ToXElement(vNode); Utils.AssertSameXml(expected, result); }
public void SetAttribute_Test() { var instance = new VNode(); instance.SetAttribute("id", "test"); Assert.AreEqual("test", instance.Attributes["id"]); }
public void SplitAt_Test() { var instance = new VNode("a", "0123456789", 5, 10); instance.SetAttribute("a", "1"); instance.SetAttribute("b", "2"); var nextPart = instance.SplitAt(10); Assert.AreEqual("a", instance.Tag); Assert.AreEqual("01234", instance.Text); Assert.AreEqual(5, instance.Index); Assert.AreEqual(5, instance.Length); Assert.AreEqual("1", instance.Attributes["a"]); Assert.AreEqual("2", instance.Attributes["b"]); Assert.AreEqual("a", nextPart.Tag); Assert.AreEqual("56789", nextPart.Text); Assert.AreEqual(10, nextPart.Index); Assert.AreEqual(5, nextPart.Length); Assert.AreEqual("1", nextPart.Attributes["a"]); Assert.AreEqual("2", nextPart.Attributes["b"]); }
public void Clone_Test() { var node1 = new VNode { Index = 0, Length = 100, }; node1.AddClasses("ng-redirect"); node1.SetAttribute("id", "10"); node1.SetStyle("color", "red"); Assert.IsTrue(node1.Equals(node1)); }
public void Transform_NoChildrenVNodeTest() { var expected = new XElement("div", "Some content"); expected.Add(new XAttribute("id", "test-id")); expected.Add(new XAttribute("class", "blue green red")); var vNode = new VNode("div") { Text = "Some content" }; vNode.SetAttribute("id", "test-id"); vNode.AddClasses("blue"); vNode.AddClasses("green"); vNode.AddClasses("red"); var result = VNodeXmlTransformer.ToXElement(vNode); Utils.AssertSameXml(expected, result); }
public void FlatternAndConvert_Test() { var expected = new XElement("div", new XAttribute("id", "100"), new XElement("div", new XAttribute("class", "margin-left"), new XElement("div", new XAttribute("class", "numbering-container"), new XElement("span", "1.1") ) ), new XElement("p", new XElement("span", "Some content is "), new XElement("a", new XAttribute("onclick", "doStuff()"), new XElement("span", "Defined") ), new XElement("span", " here.") ), new XElement("div", new XAttribute("class", "margin-right") ) ); string text = "Some content is Defined here."; string defined = "Defined"; // link var link = new VNode { Index = text.IndexOf(defined), Length = defined.Length, Tag = "a" }; link.SetAttribute("onclick", "doStuff()"); // prefix var nContainer = new VNode { Tag = "div" }; nContainer.AddClasses("numbering-container"); nContainer.VLayers[0].Content.Add(new VNode { Text = "1.1", Tag = "span" }); var marginLeft = new VNode { Tag = "div" }; marginLeft.AddClasses("margin-left"); marginLeft.VLayers[0].Content.Add(nContainer); // suffix var marginRight = new VNode("div"); marginRight.AddClasses("margin-right"); var vNode = new VNode( "div", "", 0, 0, new VNode( "p", "", 0, text.Length, new VNode[] { new VNode("span", text, 0, text.Length) }, new VNode[] { link } ) ); vNode.SetAttribute("id", "100"); vNode.VLayers[0].Prefix.Add(marginLeft); vNode.VLayers[0].Suffix.Add(marginRight); var result = VNodeXmlTransformer.Transform(vNode); Utils.AssertSameXml(expected, result); }