summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>2022-02-17 18:25:20 +0200
committerIlmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>2022-02-19 08:03:31 +0100
commitbcc83732f906bb7e89f8d67e4817fe0f4bf09b0e (patch)
treec3ee4182509c663cf81049af576ffe299c69c373
parent11a0e582ce4f4065c35fe0a12bc13bf53aaa1dd0 (diff)
uilogger: make vertical tab handling more robust
For example hyperlink dialog does not have numeric ids for tabs. Now the rule matches both integers and "common identifiers" as per https://textx.github.io/textX/stable/grammar/#textx-base-types Parent argument was removed as it does not seem to be used and it was empty in the case of the hyperlink dialog, causing the DSL parser to fail. More work is needed as self.xUITest.getTopFocusWindow() in a hyperlink dialog opening test does not contain the child "tabcontrol" and thus it errors out. Change-Id: I1637f7300884881ee4d869e8f04700e56935f2d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130111 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
-rw-r--r--uitest/ui_logger_dsl/UI_Object_commands.tx24
-rw-r--r--vcl/source/control/ivctrl.cxx5
-rw-r--r--vcl/source/uitest/logger.cxx2
3 files changed, 16 insertions, 15 deletions
diff --git a/uitest/ui_logger_dsl/UI_Object_commands.tx b/uitest/ui_logger_dsl/UI_Object_commands.tx
index 04f975a39066..f3d5d42903e5 100644
--- a/uitest/ui_logger_dsl/UI_Object_commands.tx
+++ b/uitest/ui_logger_dsl/UI_Object_commands.tx
@@ -1,7 +1,7 @@
import type_options
/*
- this file is for The Grammar of:
+ this file is for The Grammar of:
1) ButtonUIObject : ( Click event )
2) EditUIObject : ( Type event - Clear event - Select Text event )
3) CheckBoxUIObject : ( Toggle the value )
@@ -16,26 +16,28 @@ import type_options
*/
UIObjectCommand:
- ButtonUIObject | CheckBoxUIObject | EditUIObject |
- RadioButtonUIObject | ListBoxUIObject | ComboBoxUIObject |
+ ButtonUIObject | CheckBoxUIObject | EditUIObject |
+ RadioButtonUIObject | ListBoxUIObject | ComboBoxUIObject |
SpinFieldUIObject | TabControlUIObject | ToolBoxUIObject |
ValueSetUIObject | MenuBtnUIObject
;
-
+TabPageNumber:
+ INT | ID
+;
ButtonUIObject:
'Click on' ui_button=STRING ('from' parent_id=ID)?
-;
+;
CheckBoxUIObject:
- 'Toggle' Check_box_id=STRING 'CheckBox' ('from' parent_id=ID)?
-;
+ 'Toggle' Check_box_id=STRING 'CheckBox' ('from' parent_id=ID)?
+;
RadioButtonUIObject:
- 'Select' Radio_button_id=STRING 'RadioButton' ('from' parent_id=ID)?
-;
+ 'Select' Radio_button_id=STRING 'RadioButton' ('from' parent_id=ID)?
+;
ComboBoxUIObject:
- 'Select in' Combo_box_id=STRING 'ComboBox' 'item number' item_num=INT ('from' parent_id=ID)?
+ 'Select in' Combo_box_id=STRING 'ComboBox' 'item number' item_num=INT ('from' parent_id=ID)?
;
TabControlUIObject:
- 'Choose Tab number' tab_page_number=INT 'in' tab_id=STRING ('from' parent_id=ID)?
+ 'Choose Tab number' tab_page_number=TabPageNumber 'in' tab_id=STRING ('from' parent_id=ID)?
;
EditUIObject:
action=action_on_UIObject ('from' parent_id=ID)?
diff --git a/vcl/source/control/ivctrl.cxx b/vcl/source/control/ivctrl.cxx
index dc55deed29d4..54b64373cde0 100644
--- a/vcl/source/control/ivctrl.cxx
+++ b/vcl/source/control/ivctrl.cxx
@@ -36,13 +36,12 @@ using namespace ::com::sun::star::accessibility;
namespace
{
-void collectUIInformation( const OUString& aID, const OUString& aPos , const OUString& aParent )
+void collectUIInformation( const OUString& aID, const OUString& aPos)
{
EventDescription aDescription;
aDescription.aID = aID;
aDescription.aParameters = {{ "POS" , aPos}};
aDescription.aAction = "SELECT";
- aDescription.aParent = aParent;
aDescription.aKeyWord = "VerticalTab";
UITestLogger::getInstance().logEvent(aDescription);
}
@@ -544,7 +543,7 @@ void VerticalTabControl::SetCurPageId(const OString& rId)
ActivatePage();
pNewData->xPage->Show();
}
- collectUIInformation(get_id(),OStringToOUString(m_sCurrentPageId,RTL_TEXTENCODING_UTF8), GetPageParent()->get_id());
+ collectUIInformation(get_id(),OStringToOUString(m_sCurrentPageId,RTL_TEXTENCODING_UTF8));
}
const OString & VerticalTabControl::GetPageId(sal_uInt16 nIndex) const
diff --git a/vcl/source/uitest/logger.cxx b/vcl/source/uitest/logger.cxx
index 4eef2ee0ebb1..29520fd61331 100644
--- a/vcl/source/uitest/logger.cxx
+++ b/vcl/source/uitest/logger.cxx
@@ -598,7 +598,7 @@ void UITestLogger::logEvent(const EventDescription& rDescription)
else if (rDescription.aKeyWord == "VerticalTab")
{
aLogLine = "Choose Tab number " + GetValueInMapWithIndex(rDescription.aParameters, 0)
- + " in '" + rDescription.aID + "' from " + rDescription.aParent;
+ + " in '" + rDescription.aID + "'";
}
else
{