Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }