diff --git a/samples/MonoSanityClient/Examples.cs b/samples/MonoSanityClient/Examples.cs index a9d99b9d02..6b11939016 100644 --- a/samples/MonoSanityClient/Examples.cs +++ b/samples/MonoSanityClient/Examples.cs @@ -37,7 +37,7 @@ namespace MonoSanityClient return $".NET got exception: {result}"; } - return $".NET received: {result}"; + return $".NET received: {(result ?? "(NULL)")}"; } } } diff --git a/src/Microsoft.Blazor.Browser/Renderer.cs b/src/Microsoft.Blazor.Browser/Renderer.cs index 237593eee4..c71e7b9a14 100644 --- a/src/Microsoft.Blazor.Browser/Renderer.cs +++ b/src/Microsoft.Blazor.Browser/Renderer.cs @@ -7,7 +7,7 @@ namespace Microsoft.Blazor.Browser { public Renderer() { - WebAssembly.Runtime.EvaluateJavaScript("console.log('Renderer'), 'done'"); + WebAssembly.Runtime.EvaluateJavaScript("console.log('Renderer')"); } } } diff --git a/test/Microsoft.Blazor.E2ETest/Tests/MonoSanityTest.cs b/test/Microsoft.Blazor.E2ETest/Tests/MonoSanityTest.cs index 028ef0af42..e44a26a8a0 100644 --- a/test/Microsoft.Blazor.E2ETest/Tests/MonoSanityTest.cs +++ b/test/Microsoft.Blazor.E2ETest/Tests/MonoSanityTest.cs @@ -81,6 +81,26 @@ namespace Microsoft.Blazor.E2ETest.Tests Assert.Contains("at triggerJsException", result); } + [Fact] + public void CanEvaluateJsExpressionThatResultsInNull() + { + Navigate("/", noReload: true); + SetValue(Browser, "callJsEvalExpression", "null"); + Browser.FindElement(By.CssSelector("#callJs button")).Click(); + var result = GetValue(Browser, "callJsResult"); + Assert.Equal(".NET received: (NULL)", result); + } + + [Fact] + public void CanEvaluateJsExpressionThatResultsInUndefined() + { + Navigate("/", noReload: true); + SetValue(Browser, "callJsEvalExpression", "console.log('Not returning anything')"); + Browser.FindElement(By.CssSelector("#callJs button")).Click(); + var result = GetValue(Browser, "callJsResult"); + Assert.Equal(".NET received: (NULL)", result); + } + private static string GetValue(IWebDriver webDriver, string elementId) { var element = webDriver.FindElement(By.Id(elementId));