Example #1
0
        public void AddAttribute_ClassFailTest()
        {
            var instance = new VNode();

            Assert.ThrowsException <ArgumentException>(() =>
                                                       instance.SetAttribute("class", "test"));
        }
Example #2
0
        public void AddAttribute_StyleFailTest()
        {
            var instance = new VNode();

            Assert.ThrowsException <ArgumentException>(() =>
                                                       instance.SetAttribute("style", "color: red"));
        }
Example #3
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);
        }
Example #4
0
        public void SetAttribute_Test()
        {
            var instance = new VNode();

            instance.SetAttribute("id", "test");

            Assert.AreEqual("test", instance.Attributes["id"]);
        }
Example #5
0
        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"]);
        }
Example #6
0
        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));
        }
Example #7
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);
        }
Example #8
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);
        }