public void Transform_SingleLayerPrefixSuffixTest() { var expected = new XElement("div", new XElement("span", "pre"), new XElement("span", " mid "), new XElement("span", "suf") ); var vNode = new VNode("div"); vNode.VLayers[0].Prefix.Add(new VNode("span") { Text = "pre" }); vNode.VLayers[0].Content.Add(new VNode("span") { Text = " mid " }); vNode.VLayers[0].Suffix.Add(new VNode("span") { Text = "suf" }); var result = VNodeXmlTransformer.ToXElement(vNode); Utils.AssertSameXml(expected, result); }
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 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 Transform_SingleLayerContentTest() { var expected = new XElement("div", new XElement("a", "a"), new XElement("span", "a"), new XElement("span", "b") ); var vNode = new VNode("div"); var content = vNode.VLayers[0].Content; content.Add(new VNode("a", "", 0, 0)); content.Add(new VNode("a", "a", 0, 1)); content.Add(new VNode("span", "", 0, 0)); content.Add(new VNode("span", "a", 0, 1)); content.Add(new VNode("span", "", 1, 0)); content.Add(new VNode("span", "b", 1, 1)); 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); }