Beispiel #1
0
        public void TestRedrawOnChangeState()
        {
            // <MyComponent style="1" id="first">
            //   <MyComponent style="2" id="second"></MyComponent>
            // </MyComponent>

            // <div style="1">
            //   <div style="2"></div>
            // </div>

            var rootBlueprint = ComponentBlueprint.From <MyComponent, MyComponentProps>(new MyComponentProps
            {
                Style    = "1",
                Id       = "first",
                Children = new Blueprint[]
                {
                    ComponentBlueprint.From <MyComponent, MyComponentProps>(new MyComponentProps
                    {
                        Style = "2",
                        Id    = "second",
                    }),
                },
            });


            var document   = new TestHtmlDocument();
            var renderer   = new DomRenderer(document);
            var renderNode = renderer.Mount(rootBlueprint);

            var expected = "<div style=\"1\"><div style=\"2\"></div></div>";

            Assert.AreEqual(renderNode.RootNodes[0].ToString(), expected);

            MyComponent.Click("first");

            expected = "<div style=\"1 clicked\"><div style=\"2\"></div></div>";
            Assert.AreEqual(renderNode.RootNodes[0].ToString(), expected);
        }