public void RenderJavaScriptShouldCallRenderComponent()
		{
			var environment = new Mock<IReactEnvironment>();

			var component = new ReactComponent(environment.Object, "Foo", "container")
			{
				Props = new { hello = "World" }
			};
			var result = component.RenderJavaScript();

			Assert.Equal(
				@"React.renderComponent(Foo({""hello"":""World""}), document.getElementById(""container""))",
				result
			);
		}
Пример #2
0
        public void RenderJavaScriptShouldCallRenderComponent()
        {
            var environment = new Mock <IReactEnvironment>();

            var component = new ReactComponent(environment.Object, "Foo", "container")
            {
                Props = new { hello = "World" }
            };
            var result = component.RenderJavaScript();

            Assert.AreEqual(
                @"React.renderComponent(Foo({""hello"":""World""}), document.getElementById(""container""))",
                result
                );
        }
Пример #3
0
        public void RenderJavaScriptShouldCallRenderComponent()
        {
            var environment = new Mock <IReactEnvironment>();
            var config      = new Mock <IReactSiteConfiguration>();

            var component = new ReactComponent(environment.Object, config.Object, "Foo", "container")
            {
                Props = new { hello = "World" }
            };
            var result = component.RenderJavaScript();

            Assert.Equal(
                @"ReactDOM.hydrate(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))",
                result
                );
        }
Пример #4
0
        public void RenderJavaScriptShouldCallRenderComponentwithReactDOMHydrate()
        {
            var environment      = new Mock <IReactEnvironment>();
            var config           = CreateDefaultConfigMock();
            var reactIdGenerator = new Mock <IReactIdGenerator>();

            var component = new ReactComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container")
            {
                ClientOnly = false,
                Props      = new { hello = "World" }
            };
            var result = component.RenderJavaScript();

            Assert.Equal(
                @"ReactDOM.hydrate(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))",
                result
                );
        }
Пример #5
0
        public void RenderJavaScriptShouldCallRenderComponentWithReactDomRenderWhenSsrDisabled()
        {
            var environment = new Mock <IReactEnvironment>();
            var config      = CreateDefaultConfigMock();

            config.SetupGet(x => x.UseServerSideRendering).Returns(false);

            var reactIdGenerator = new Mock <IReactIdGenerator>();
            var component        = new ReactComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container")
            {
                ClientOnly = false,
                Props      = new { hello = "World" }
            };
            var result = component.RenderJavaScript();

            Assert.Equal(
                @"ReactDOM.render(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))",
                result
                );
        }
Пример #6
0
        public void RenderJavaScriptShouldHandleWaitForContentLoad()
        {
            var environment = new Mock <IReactEnvironment>();
            var config      = CreateDefaultConfigMock();

            config.SetupGet(x => x.UseServerSideRendering).Returns(false);

            var reactIdGenerator = new Mock <IReactIdGenerator>();
            var component        = new ReactComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container")
            {
                ClientOnly = false,
                Props      = new { hello = "World" }
            };

            using (var writer = new StringWriter())
            {
                component.RenderJavaScript(writer, waitForDOMContentLoad: true);
                Assert.Equal(
                    @"window.addEventListener('DOMContentLoaded', function() {ReactDOM.render(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))});",
                    writer.ToString()
                    );
            }
        }