uitest/ui_logger_dsl/General_commands.tx | 21 ++++++++++++++ uitest/ui_logger_dsl/Special_commands.tx | 39 +++++++++++++++++++++++--- uitest/ui_logger_dsl/ui_logger_dsl_grammar.tx | 4 +- vcl/source/uitest/logger.cxx | 26 ++++++++++++++--- vcl/source/uitest/uiobject.cxx | 4 +- 5 files changed, 81 insertions(+), 13 deletions(-)
New commits: commit 690238b1a0a613cbb279a52b39100aca77631223 Author: Ahmed ElShreif <[email protected]> AuthorDate: Mon Jun 24 11:40:17 2019 +0200 Commit: Ahmed ElShreif <[email protected]> CommitDate: Mon Jun 24 11:40:17 2019 +0200 Some new features in ui_logger project this patch for: 1) general commands grammar 2) special commands of impress and math 3) log select element action 4) log SideBar Actions Change-Id: If375cd3396cfde45f70d7c202339c829b1c43471 diff --git a/uitest/ui_logger_dsl/General_commands.tx b/uitest/ui_logger_dsl/General_commands.tx new file mode 100644 index 000000000000..fb8f6115f450 --- /dev/null +++ b/uitest/ui_logger_dsl/General_commands.tx @@ -0,0 +1,21 @@ +/* + This file for the log statments that is general for all application + we can use it as general commands then relate it to its application + as we have starter command + //==================================== + also I make set zoom to be general as it will be better +*/ + +SpecialCommand: + SideBar | setZoom_command | Select_command +; + +SideBar: + 'From SIDEBAR ' 'Choose ' '{"PANEL":' name=STRING '}' +; +setZoom_command: + 'Set Zoom to ' zoom_value=INT +; +Select_command: + 'Select ' '{"OBJECT":' name=STRING '}' +; \ No newline at end of file diff --git a/uitest/ui_logger_dsl/Special_commands.tx b/uitest/ui_logger_dsl/Special_commands.tx index b73fddf805a4..40113495ac9e 100644 --- a/uitest/ui_logger_dsl/Special_commands.tx +++ b/uitest/ui_logger_dsl/Special_commands.tx @@ -4,7 +4,7 @@ import type_options */ SpecialCommand: - writer_command | calc_command + writer_command | calc_command | impress_command | math_command ; /* @@ -26,9 +26,6 @@ Type_command: Select_command: 'Select from Pos' from=INT 'to Pos' to=INT ; -setZoom_command: - 'Set Zoom to ' zoom_value=INT -; GOTO_command: 'GOTO page number' page_num=INT ; @@ -68,4 +65,38 @@ one_cell: '{' '"CELL":' input_cell=STRING '}' ; //=================================================================// +/* + This part for all the impress log statments: + + 1) Type + 3) Set zoom + + then we can add whatever we need in the future +*/ +impress_command: + impress_Type_command +; +impress_Type_command: + 'Type on impress ' what_to_type=Type_options +; +//=================================================================// +/* + This part for all the math log statments: + + 1) element selector + 2) Type + + then we can add whatever we need in the future +*/ +math_command: + element_selector | math_Type_command +; +element_selector: + 'Select element no ' element_no=INT ' From ' place=ID +; +math_Type_command: + 'Type on math ' what_to_type=Type_options +; + + diff --git a/uitest/ui_logger_dsl/ui_logger_dsl_grammar.tx b/uitest/ui_logger_dsl/ui_logger_dsl_grammar.tx index 516ee8694923..ffde0c4c1525 100644 --- a/uitest/ui_logger_dsl/ui_logger_dsl_grammar.tx +++ b/uitest/ui_logger_dsl/ui_logger_dsl_grammar.tx @@ -5,14 +5,14 @@ import starter_commands import uno_commands import UI_Object_commands import Special_commands - +import General_commands UILogger: commands*=Command ; Command: - UNOCommand | StarterCommand | UIObjectCommand | DialogCommand | SpecialCommand + UNOCommand | StarterCommand | UIObjectCommand | DialogCommand | SpecialCommand | GeneralCommand ; Comment: diff --git a/vcl/source/uitest/logger.cxx b/vcl/source/uitest/logger.cxx index 3c664b76db98..4b3f69245ae6 100644 --- a/vcl/source/uitest/logger.cxx +++ b/vcl/source/uitest/logger.cxx @@ -224,6 +224,12 @@ void UITestLogger::logKeyInput(VclPtr<vcl::Window> const & xUIElement, const Key else if(pUIObject->get_type()=="ScGridWinUIObject" && rID=="grid_window"){ aContent = "Type on current cell " + aKeyCode ; } + else if(pUIObject->get_type()=="ImpressWindowUIObject" && rID=="impress_win"){ + aContent = "Type on impress " + aKeyCode ; + } + else if(pUIObject->get_type()=="WindowUIObject" && rID=="math_edit"){ + aContent = "Type on math " + aKeyCode ; + } else{ aContent= pUIObject->get_type() + " Action:TYPE Id:" + rID + " Parent:"+ aParentID +" " + aKeyCode; @@ -284,15 +290,21 @@ void UITestLogger::logEvent(const EventDescription& rDescription) //here we will customize our statments depending on the caller of this function OUString aLogLine ; - - if(rDescription.aID=="writer_edit"){ + //first check on general commands + if(rDescription.aAction=="SET"){ + aLogLine = "Set Zoom to be " + GetValueInMapWithIndex(rDescription.aParameters,0); + } + else if(rDescription.aAction=="SIDEBAR"){ + aLogLine = "From SIDEBAR Choose " + aParameterString; + } + else if(rDescription.aAction=="SELECT" && rDescription.aID==""){ + aLogLine = "Select " + aParameterString; + } + else if(rDescription.aID=="writer_edit"){ if(rDescription.aAction=="GOTO"){ aLogLine = "GOTO page number " + GetValueInMapWithIndex(rDescription.aParameters,0); } - else if(rDescription.aAction=="SET"){ - aLogLine = "Set Zoom to " + GetValueInMapWithIndex(rDescription.aParameters,0); - } else if(rDescription.aAction=="SELECT"){ OUString to = GetValueInMapWithIndex(rDescription.aParameters,0); OUString from = GetValueInMapWithIndex(rDescription.aParameters,1); @@ -317,6 +329,10 @@ void UITestLogger::logEvent(const EventDescription& rDescription) " and Row " + GetValueInMapWithIndex(rDescription.aParameters,1); } } + else if(rDescription.aParent=="element_selector"){ + aLogLine ="Select element no " + rDescription.aID + + " From " + rDescription.aParent; + } else{ aLogLine = rDescription.aKeyWord + " Action:" + rDescription.aAction + " Id:" + rDescription.aID + diff --git a/vcl/source/uitest/uiobject.cxx b/vcl/source/uitest/uiobject.cxx index 583c4ac38659..52fcfbc855c1 100644 --- a/vcl/source/uitest/uiobject.cxx +++ b/vcl/source/uitest/uiobject.cxx @@ -529,8 +529,8 @@ OUString WindowUIObject::get_action(VclEventId nEvent) const default: aActionName = OUString::number(static_cast<int>(nEvent)); } - - return "Action on element: " + mxWindow->get_id() + " with action : " + aActionName; + return ""; + //return "Action on element: " + mxWindow->get_id() + " with action : " + aActionName; } std::unique_ptr<UIObject> WindowUIObject::create(vcl::Window* pWindow) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
