Kaydet (Commit) 37c15734 authored tarafından Stephan Bergmann's avatar Stephan Bergmann Kaydeden (comit) Markus Mohrhard

Propagate failure out from css.ui.test.XUITest::executeCommand/Dialog

Change-Id: Id7bd2d6f35f45d9957facf56d66cfc57a1e0ef6a
Reviewed-on: https://gerrit.libreoffice.org/39002Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMarkus Mohrhard <markus.mohrhard@googlemail.com>
üst a6a447b0
......@@ -19,9 +19,9 @@ class UITEST_DLLPUBLIC UITest
{
public:
static void executeCommand(const OUString& rCommand);
static bool executeCommand(const OUString& rCommand);
static void executeDialog(const OUString& rCommand);
static bool executeDialog(const OUString& rCommand);
static std::unique_ptr<UIObject> getFocusTopWindow();
......
......@@ -16,9 +16,9 @@ module com { module sun { module star { module ui { module test {
interface XUITest
{
void executeCommand([in] string command);
boolean executeCommand([in] string command);
void executeDialog([in] string command);
boolean executeDialog([in] string command);
XUIObject getTopFocusWindow();
......
......@@ -70,7 +70,8 @@ class UITest(object):
def execute_dialog_through_command(self, command):
with EventListener(self._xContext, "DialogExecute") as event:
self._xUITest.executeDialog(command)
if not self._xUITest.executeDialog(command):
raise DialogNotExecutedException(command)
time_ = 0
while time_ < MAX_WAIT:
if event.executed:
......@@ -83,7 +84,8 @@ class UITest(object):
def execute_modeless_dialog_through_command(self, command):
with EventListener(self._xContext, "ModelessDialogVisible") as event:
self._xUITest.executeCommand(command)
if not self._xUITest.executeCommand(command):
raise DialogNotExecutedException(command)
time_ = 0
while time_ < MAX_WAIT:
if event.executed:
......@@ -160,7 +162,8 @@ class UITest(object):
def close_doc(self):
with EventListener(self._xContext, ["DialogExecute", "OnViewClosed"] ) as event:
self._xUITest.executeDialog(".uno:CloseDoc")
if not self._xUITest.executeDialog(".uno:CloseDoc"):
print(".uno:CloseDoc failed")
time_ = 0
while time_ < MAX_WAIT:
if event.hasExecuted("DialogExecute"):
......
......@@ -17,24 +17,20 @@
#include <comphelper/dispatchcommand.hxx>
void UITest::executeCommand(const OUString& rCommand)
bool UITest::executeCommand(const OUString& rCommand)
{
bool bSuccess = comphelper::dispatchCommand(
return comphelper::dispatchCommand(
rCommand,
{{"SynchronMode", -1, css::uno::Any(true),
css::beans::PropertyState_DIRECT_VALUE}});
SAL_WARN_IF(!bSuccess, "vcl.uitest", "failed to execute command: " << rCommand);
}
void UITest::executeDialog(const OUString& rCommand)
bool UITest::executeDialog(const OUString& rCommand)
{
bool bSuccess = comphelper::dispatchCommand(
return comphelper::dispatchCommand(
rCommand,
{{"SynchronMode", -1, css::uno::Any(false),
css::beans::PropertyState_DIRECT_VALUE}});
SAL_WARN_IF(!bSuccess, "vcl.uitest", "failed to execute dialog command: " << rCommand);
}
std::unique_ptr<UIObject> UITest::getFocusTopWindow()
......
......@@ -38,9 +38,9 @@ public:
UITestUnoObj();
void SAL_CALL executeCommand(const OUString& rCommand) override;
sal_Bool SAL_CALL executeCommand(const OUString& rCommand) override;
void SAL_CALL executeDialog(const OUString& rCommand) override;
sal_Bool SAL_CALL executeDialog(const OUString& rCommand) override;
css::uno::Reference<css::ui::test::XUIObject> SAL_CALL getTopFocusWindow() override;
......@@ -59,16 +59,16 @@ UITestUnoObj::UITestUnoObj():
{
}
void SAL_CALL UITestUnoObj::executeCommand(const OUString& rCommand)
sal_Bool SAL_CALL UITestUnoObj::executeCommand(const OUString& rCommand)
{
SolarMutexGuard aGuard;
UITest::executeCommand(rCommand);
return UITest::executeCommand(rCommand);
}
void SAL_CALL UITestUnoObj::executeDialog(const OUString& rCommand)
sal_Bool SAL_CALL UITestUnoObj::executeDialog(const OUString& rCommand)
{
SolarMutexGuard aGuard;
UITest::executeDialog(rCommand);
return UITest::executeDialog(rCommand);
}
css::uno::Reference<css::ui::test::XUIObject> SAL_CALL UITestUnoObj::getTopFocusWindow()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment