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:
@@ -259,8 +259,6 @@ 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
|
||||||
@@ -268,19 +266,34 @@ TEST_CASE_METHOD(WebViewTestCase, "WebView", "[wxWebView]")
|
|||||||
public:
|
public:
|
||||||
ResetEmulationLevel()
|
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;
|
if ( m_reset )
|
||||||
return wxWebViewIE::MSWSetModernEmulationLevel(false);
|
{
|
||||||
|
m_reset = false;
|
||||||
|
if ( !wxWebViewIE::MSWSetModernEmulationLevel(false) )
|
||||||
|
{
|
||||||
|
WARN("Resetting IE modern emulation level failed.");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
~ResetEmulationLevel()
|
~ResetEmulationLevel()
|
||||||
{
|
{
|
||||||
if ( m_reset )
|
DoReset();
|
||||||
DoReset();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -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!\");"));
|
||||||
|
Reference in New Issue
Block a user