提交 0b526e70 编写于 作者: M Martin Zikmund

test: Add additional test to cover WebView-specific behavior on InvokeScriptAsync

上级 4c936569
......@@ -84,6 +84,47 @@ public class Given_WebView2
Assert.AreEqual("{\"color\":\"red\"}", color);
}
[TestMethod]
public async Task When_ExecuteScriptAsync_String()
{
var border = new Border();
var webView = new WebView2();
webView.Width = 200;
webView.Height = 200;
border.Child = webView;
TestServices.WindowHelper.WindowContent = border;
bool navigated = false;
await TestServices.WindowHelper.WaitForLoaded(border);
await webView.EnsureCoreWebView2Async();
webView.NavigationCompleted += (sender, e) => navigated = true;
webView.NavigateToString("<html></html>");
await TestServices.WindowHelper.WaitFor(() => navigated);
var script = "(1 + 1).toString()";
var result = await webView.ExecuteScriptAsync($"eval(\"{script}\")");
Assert.AreEqual("\"2\"", result);
}
[TestMethod]
public async Task When_ExecuteScriptAsync_Non_String()
{
var border = new Border();
var webView = new WebView2();
webView.Width = 200;
webView.Height = 200;
border.Child = webView;
TestServices.WindowHelper.WindowContent = border;
bool navigated = false;
await TestServices.WindowHelper.WaitForLoaded(border);
await webView.EnsureCoreWebView2Async();
webView.NavigationCompleted += (sender, e) => navigated = true;
webView.NavigateToString("<html></html>");
await TestServices.WindowHelper.WaitFor(() => navigated);
var script = "(1 + 1)";
var result = await webView.ExecuteScriptAsync($"eval(\"{script}\")");
Assert.AreEqual("2", result);
}
[TestMethod]
public async Task When_WebMessageReceived()
......
......@@ -72,5 +72,45 @@ public class Given_WebView
Assert.AreEqual("red", color);
}
[TestMethod]
public async Task When_ExecuteScriptAsync_String()
{
var border = new Border();
var webView = new WebView();
webView.Width = 200;
webView.Height = 200;
border.Child = webView;
TestServices.WindowHelper.WindowContent = border;
bool navigated = false;
await TestServices.WindowHelper.WaitForLoaded(border);
webView.NavigationCompleted += (sender, e) => navigated = true;
webView.NavigateToString("<html></html>");
await TestServices.WindowHelper.WaitFor(() => navigated);
var script = "(1 + 1).toString()";
var result = await webView.InvokeScriptAsync("eval", new[] { script });
Assert.AreEqual("2", result);
}
[TestMethod]
public async Task When_ExecuteScriptAsync_Non_String()
{
var border = new Border();
var webView = new WebView();
webView.Width = 200;
webView.Height = 200;
border.Child = webView;
TestServices.WindowHelper.WindowContent = border;
bool navigated = false;
await TestServices.WindowHelper.WaitForLoaded(border);
webView.NavigationCompleted += (sender, e) => navigated = true;
webView.NavigateToString("<html></html>");
await TestServices.WindowHelper.WaitFor(() => navigated);
var script = "(1 + 1)";
var result = await webView.InvokeScriptAsync("eval", new[] { script });
Assert.AreEqual("", result);
}
}
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册