Assert.IsFalse(isDownload, "IsDownload should be false");
TaskCompletionSource<bool> tcsDownload = new TaskCompletionSource<bool>(false);
- EventHandler onLoadFinishedDownload = (s, e) => { tcsDownload.TrySetResult(true); };
- EventHandler<SmartCallbackLoadErrorArgs> onLoadErrorDownload = (s, e) => { tcsDownload.TrySetResult(false); };
EventHandler<ResponsePolicyEventArgs> onResponsePolicyDecideDownload = (s, e) =>
{
isDownload = e.IsDownload;
e.Use();
+ tcsDownload.TrySetResult(true);
};
- _webView.LoadFinished += onLoadFinishedDownload;
- _webView.LoadError += onLoadErrorDownload;
_webView.ResponsePolicyDecideRequested += onResponsePolicyDecideDownload;
_webView.LoadUrl(WebViewCommon.TestUrlForDownload);
result = await tcsDownload.Task;
- _webView.LoadFinished -= onLoadFinishedDownload;
- _webView.LoadError -= onLoadErrorDownload;
_webView.ResponsePolicyDecideRequested -= onResponsePolicyDecideDownload;
- Assert.IsFalse(result, "LoadUrl method should be failed for download");
+ Assert.IsTrue(result, "ResponsePolicyDecideRequested should be invoked");
Assert.IsTrue(isDownload, "IsDownload should be true");
}