diff --git a/tests/controls/webtest.cpp b/tests/controls/webtest.cpp index f2f7987880..4396cd2e70 100644 --- a/tests/controls/webtest.cpp +++ b/tests/controls/webtest.cpp @@ -259,8 +259,6 @@ TEST_CASE_METHOD(WebViewTestCase, "WebView", "[wxWebView]") wxString result; #if wxUSE_WEBVIEW_IE && !wxUSE_WEBVIEW_EDGE - CHECK(wxWebViewIE::MSWSetModernEmulationLevel()); - // Define a specialized scope guard ensuring that we reset the emulation // level to its default value even if any asserts below fail. class ResetEmulationLevel @@ -268,19 +266,34 @@ TEST_CASE_METHOD(WebViewTestCase, "WebView", "[wxWebView]") public: ResetEmulationLevel() { - m_reset = true; + // 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; + } } - bool DoReset() + void DoReset() { - m_reset = false; - return wxWebViewIE::MSWSetModernEmulationLevel(false); + if ( m_reset ) + { + m_reset = false; + if ( !wxWebViewIE::MSWSetModernEmulationLevel(false) ) + { + WARN("Resetting IE modern emulation level failed."); + } + } } ~ResetEmulationLevel() { - if ( m_reset ) - DoReset(); + DoReset(); } private: @@ -299,7 +312,7 @@ TEST_CASE_METHOD(WebViewTestCase, "WebView", "[wxWebView]") &result)); CHECK(result == "\"2017-10-08T21:30:40.000Z\""); - CHECK(resetEmulationLevel.DoReset()); + resetEmulationLevel.DoReset(); #endif // wxUSE_WEBVIEW_IE CHECK(m_browser->RunScript("document.write(\"Hello World!\");"));