Allow resetting IE emulation level to fail in the tests

Warn about it, but don't fail the test if it fails, as it does this in
the GitHub Actions "windows-2019" environment without any apparent ill
effects.
This commit is contained in:
Vadim Zeitlin
2021-08-24 16:20:37 +02:00
parent 6a99b2d9a8
commit 7f8bd498ce

View File

@@ -259,27 +259,40 @@ TEST_CASE_METHOD(WebViewTestCase, "WebView", "[wxWebView]")
wxString result; wxString result;
#if wxUSE_WEBVIEW_IE && !wxUSE_WEBVIEW_EDGE #if wxUSE_WEBVIEW_IE && !wxUSE_WEBVIEW_EDGE
CHECK(wxWebViewIE::MSWSetModernEmulationLevel());
// Define a specialized scope guard ensuring that we reset the emulation // Define a specialized scope guard ensuring that we reset the emulation
// level to its default value even if any asserts below fail. // level to its default value even if any asserts below fail.
class ResetEmulationLevel class ResetEmulationLevel
{ {
public: public:
ResetEmulationLevel() ResetEmulationLevel()
{
// Allow this to fail because it doesn't work in GitHub Actions
// environment, but the tests below still pass there.
if ( !wxWebViewIE::MSWSetModernEmulationLevel() )
{
WARN("Setting IE modern emulation level failed.");
m_reset = false;
}
else
{ {
m_reset = true; m_reset = true;
} }
}
bool DoReset() void DoReset()
{
if ( m_reset )
{ {
m_reset = false; m_reset = false;
return wxWebViewIE::MSWSetModernEmulationLevel(false); if ( !wxWebViewIE::MSWSetModernEmulationLevel(false) )
{
WARN("Resetting IE modern emulation level failed.");
}
}
} }
~ResetEmulationLevel() ~ResetEmulationLevel()
{ {
if ( m_reset )
DoReset(); DoReset();
} }
@@ -299,7 +312,7 @@ TEST_CASE_METHOD(WebViewTestCase, "WebView", "[wxWebView]")
&result)); &result));
CHECK(result == "\"2017-10-08T21:30:40.000Z\""); CHECK(result == "\"2017-10-08T21:30:40.000Z\"");
CHECK(resetEmulationLevel.DoReset()); resetEmulationLevel.DoReset();
#endif // wxUSE_WEBVIEW_IE #endif // wxUSE_WEBVIEW_IE
CHECK(m_browser->RunScript("document.write(\"Hello World!\");")); CHECK(m_browser->RunScript("document.write(\"Hello World!\");"));