diff options
author | Thomas Lange [tl] <tl@openoffice.org> | 2010-05-27 13:33:32 +0200 |
---|---|---|
committer | Thomas Lange [tl] <tl@openoffice.org> | 2010-05-27 13:33:32 +0200 |
commit | fa373aa0dd778fdca5e00a53dc46078556bc0920 (patch) | |
tree | 7f85fb4722dae0589952187f02ec8528e1eca80b /testautomation/framework | |
parent | 98699f6f9bdd7c83a235808ccce16b47d2853e7c (diff) | |
parent | 0d294687b6d1111589a30edc3b41075c4ef8ca0c (diff) |
cws tl79: merge with DEV300_m79
Diffstat (limited to 'testautomation/framework')
22 files changed, 771 insertions, 222 deletions
diff --git a/testautomation/framework/optional/f_basic_vba-compat.bas b/testautomation/framework/optional/f_basic_vba-compat.bas index 363e59c70cb4..80b48eb5c1e6 100755 --- a/testautomation/framework/optional/f_basic_vba-compat.bas +++ b/testautomation/framework/optional/f_basic_vba-compat.bas @@ -36,11 +36,17 @@ sub main use "framework\optional\includes\basic_vba-compat_import_nothing.inc" use "framework\optional\includes\basic_vba-compat_import_disabled.inc" use "framework\optional\includes\basic_vba-compat_import_enabled.inc" + use "framework\optional\includes\basic_vba-compat_thisworkbook.inc" + use "framework\optional\includes\basic_vba-compat_application-union.inc" + use "framework\optional\includes\basic_vba-compat_xlsm-xlsb.inc" call hStatusIn( "framework" , "f_basic_vba-compat.bas" ) call tBasicVBACompatImportNothing() call tBasicVBACompatImportDisabled() call tBasicVBACompatImportEnabled() + call tBasicVBACompatThisWorkBook() + call tBasicVBACompatApplicationUnion() + call tBasicVBACompatXLSM_XLSB() call hStatusOut() end sub @@ -54,6 +60,10 @@ sub LoadIncludeFiles use "global\tools\includes\optional\t_basic_organizer_tools.inc" use "global\tools\includes\optional\t_treelist_tools.inc" + use "global\tools\includes\optional\t_stringtools.inc" + use "global\tools\includes\optional\t_security_tools.inc" + use "global\tools\includes\optional\t_macro_tools.inc" + use "global\tools\includes\optional\t_docfuncs.inc" use "framework\optional\includes\basic_vba_compat_tools.inc" diff --git a/testautomation/framework/optional/includes/CJK_CollationDialogue_1.inc b/testautomation/framework/optional/includes/CJK_CollationDialogue_1.inc index 98faef122a4c..0cab687d2f50 100644..100755 --- a/testautomation/framework/optional/includes/CJK_CollationDialogue_1.inc +++ b/testautomation/framework/optional/includes/CJK_CollationDialogue_1.inc @@ -52,6 +52,12 @@ testcase tLanguageTest_1 sKeyTypeTChinese = "Numerisch" sKeyTypeJapanese = "Numerisch" sKeyTypeKoren = "Numerisch" + case 50 :' Slovenian + sKeyTypeEnglishUSA = "Alfanumerično" + sKeyTypeSChinese = "Nabor znakov" + sKeyTypeTChinese = "Numerično" + sKeyTypeJapanese = "Nabor znakov" + sKeyTypeKoren = "Nabor znakov" case 55 :' Brazilian sKeyTypeEnglishUSA = "Alfanumérico" sKeyTypeSChinese = "Conjunto de caracteres" @@ -273,6 +279,12 @@ testcase tLanguageTest_2 sKeyTypeTChinese = "Numerisch" sKeyTypeJapanese = "Numerisch" sKeyTypeKoren = "Numerisch" + case 50 :' Slovenian + sKeyTypeEnglishUSA = "Alfanumerično" + sKeyTypeSChinese = "Nabor znakov" + sKeyTypeTChinese = "Numerično" + sKeyTypeJapanese = "Nabor znakov" + sKeyTypeKoren = "Nabor znakov" case 55 :' Brazilian sKeyTypeEnglishUSA = "numérico" sKeyTypeSChinese = "numérico" @@ -494,6 +506,8 @@ testcase tStrokeSort sKeyTypeSChinese = "Stroke" case 49 : ' German sKeyTypeSChinese = "Stroke" + case 50 : ' Slovenian + sKeyTypeSChinese = "Poteza" case 55 : ' Brazilian sKeyTypeSChinese = "Traço" case 81 : ' Japanese @@ -582,6 +596,8 @@ testcase tPinyinSort sKeyTypeSChinese = "Pinyin" case 49 : ' German sKeyTypeSChinese = "Pinyin" + case 50 : ' Slovenian + sKeyTypeSChinese = "Pinjin" case 55 : ' Brazilian sKeyTypeSChinese = "Pinyin" case 81 : ' Japanese diff --git a/testautomation/framework/optional/includes/CJK_RubyDialogueProposal_1.inc b/testautomation/framework/optional/includes/CJK_RubyDialogueProposal_1.inc index 39c42fe75b8e..5b03be6151cb 100644..100755 --- a/testautomation/framework/optional/includes/CJK_RubyDialogueProposal_1.inc +++ b/testautomation/framework/optional/includes/CJK_RubyDialogueProposal_1.inc @@ -204,6 +204,7 @@ testcase tRubyDialog_4 case 39 : sCharacterStyle = "Testo Ruby" case 46 : sCharacterStyle = "Rubytext" case 49 : sCharacterStyle = "Rubys" + case 50 : sCharacterStyle = "Rubys" case 55 : sCharacterStyle = "Rubys" case 81 : sCharacterStyle = "ふりがな" case 82 : sCharacterStyle = "윗주 달기" ' not sure TBO @@ -251,6 +252,7 @@ testcase tRubyDialog_5 case 39 : sCharacterStyle = "Testo Ruby" case 46 : sCharacterStyle = "Rubytext" case 49 : sCharacterStyle = "Rubys" + case 50 : sCharacterStyle = "Rubys" case 55 : sCharacterStyle = "Rubys" case 81 : sCharacterStyle = "ふりがな" case 82 : sCharacterStyle = "윗주 달기" ' not sure TBO was "덧말" diff --git a/testautomation/framework/optional/includes/basic_gridcontrol.inc b/testautomation/framework/optional/includes/basic_gridcontrol.inc index dc96ef30e16c..f2d2f74cbdd4 100644..100755 --- a/testautomation/framework/optional/includes/basic_gridcontrol.inc +++ b/testautomation/framework/optional/includes/basic_gridcontrol.inc @@ -54,72 +54,18 @@ testcase tGridcontrolLoad call sleep 1 printlog "Start the macro, that performs the test" - printlog "Tools->Macros->Run Macro..." - ToolsMacrosRunMacro - Kontext "ScriptSelector" - if ScriptSelector.exists(10) then - x = LibraryTreeList.getItemCount - printlog "Look for library 'gridcontrol'" - for i = 1 to x - sTemp = LibraryTreeList.getItemText(i) - 'printlog "("+i+"/"+x+"): '" + sTemp + "'" - if (instr(sTemp,"gridcontrol")>0 OR instr(sTemp,"GRIDCONTROL")) then - a = i - printlog "Found library ("+i+"/"+x+"): '" + sTemp + "'" - endif + Kontext "GridControlDialogStarter" + ShowGridcontrol.typeKeys "<space>" + Kontext "GridControlDialog" + if GridControlDialog.exists(5) then + for i=1 to gridcontrolcontrol.getcolumncount + for a=1 to gridcontrolcontrol.getrowcount + printlog " " + i + ":"+a+": '" + gridcontrolcontrol.getitemtype (i,a) + "' '" + gridcontrolcontrol.getitemtext (i,a) + "'" + next a next i - if 0 <> a then - printlog "Select the library and unfold it" - LibraryTreeList.select(a) - LibraryTreeList.typeKeys("+") - printlog "Go to 'Standard' and unfold" - LibraryTreeList.typeKeys("<down>") - LibraryTreeList.typeKeys("+") - printlog "Go to 'Module1'" - LibraryTreeList.typeKeys("<down>") - - printlog "Select macro name 'VclTestTool'" - x = ScriptList.getItemCount - for i = 1 to x - sTemp = ScriptList.getItemText(i) - 'printlog "("+i+"/"+x+"): '" + sTemp + "'" - if "VclTestTool" = sTemp then - a = i - printlog "Found macro ("+i+"/"+x+"): '" + sTemp + "'" - endif - next i - if (0 <> a) then - printlog "Select the macro" - ScriptList.select(a) - printlog "Start the macro by pressing the button 'run'" - ScriptSelector.ok - printlog "sleep... at least 60 seconds" - call sleep(60) - printlog "If macro fails for whatever reason, a message comes up" - Kontext - if active.exists() then - warnlog "" + active.getText - active.ok - try - EditCopy - warnlog getclipboard() - catch - endcatch - printlog "close basic ide" - call hCloseDocument() - printlog "close document" - call hCloseDocument() - goto endsub - endif - - else - warnlog sLocation + "Macro not found: 'Main'" - endif - else - warnlog sLocation + "Library not found: 'gridcontrol'" - endif + GridControlDialog.close else - warnlog sLocation + "'Run macro dialog' didn't came up" + warnlog "Gridcontrol Dialog did not come up after pressing button" endif printlog "clean up" diff --git a/testautomation/framework/optional/includes/basic_issues.inc b/testautomation/framework/optional/includes/basic_issues.inc index 0c38e743fb93..3fec49f61fbe 100755 --- a/testautomation/framework/optional/includes/basic_issues.inc +++ b/testautomation/framework/optional/includes/basic_issues.inc @@ -54,7 +54,7 @@ function hTestActive( cString as string , iMethod as integer , bExact as boolean ' 1 - 4 = Number of buttons on the dialog ' internal states, if state = 0 we return the buttoncount instead - const STATE_SUCCESS = 0 + const STATE_SUCCESS = 0 const STATE_FUZZY_MATCH = -1 const STATE_NO_MATCH = -2 const STATE_IGNORE_MSGBOX = -3 @@ -111,6 +111,17 @@ end function testcase t_macros() + const RESTYPE_1 = 1 + const RESTYPE_2 = 2 + const RESTYPE_3 = 3 + + const CLOSE_METHOD_OK = 1 + const CLOSE_METHOD_CANCEL = 2 + const CLOSE_METHOD_NO = 4 + + const REQUIRES_EXACT_MATCH = TRUE + const REQUIRES_FUZZY_MATCH = FALSE + gApplication = "WRITER" call hNewDocument() hInitBasicIDE( "TestIssues" ) @@ -119,113 +130,126 @@ testcase t_macros() printlog( " ---------- i41695 ------------ " ) hInsertMacroFromFile( "i41695" ) hIDERunMacro() - hTestActive( "i41695-1", 1 , TRUE ) - hTestActive( "i41695-2", 1 , TRUE ) + hTestActive( "i41695-1", CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) + hTestActive( "i41695-2", CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) printlog( "" ) printlog( " ---------- i83978 ------------ " ) hInsertMacroFromFile( "i83978" ) hIDERunMacro() - hTestActive( "com.sun.star.container.NoSuchElementException", 1 , FALSE ) + hTestActive( "NoSuchElementException", CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) printlog( "" ) printlog( " ---------- i82830 ------------ " ) hInsertMacroFromFile( "i82830" ) hIDERunMacro() - hTestActive( "12D687" , 1 , TRUE ) - hTestActive( "4553207", 1 , TRUE ) + hTestActive( "12D687" , CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) + hTestActive( "4553207", CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) if ( gISOLang = "en-US" ) then printlog( "" ) printlog( " ---------- i81674 ------------ " ) hInsertMacroFromFile( "i81674" ) hIDERunMacro() - hTestActive( "250" , 1 , FALSE ) - hTestActive( "Yes" , 1 , TRUE ) - hTestActive( "True", 1 , TRUE ) - hTestActive( "On" , 1 , TRUE ) + hTestActive( "250" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + hTestActive( "Yes" , CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) + hTestActive( "True", CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) + hTestActive( "On" , CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) endif printlog( "" ) printlog( " ---------- i80532 ------------ " ) hInsertMacroFromFile( "i80532" ) hIDERunMacro() - hTestActive( "-10", 1 , FALSE ) - hTestActive( "1" , 1 , FALSE ) - hTestActive( "-10", 1 , FALSE ) + hTestActive( "-10", CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + hTestActive( "1" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + hTestActive( "-10", CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) printlog( "" ) printlog( " ---------- i84040 ------------ " ) hInsertMacroFromFile( "i84040" ) hIDERunMacro() - hTestActive( "False", 1 , TRUE ) - hTestActive( "False", 1 , TRUE ) + hTestActive( "False", CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) + hTestActive( "False", CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) printlog( "" ) printlog( " ---------- i86265 ------------ " ) hInsertMacroFromFile( "i86265" ) hIDERunMacro() - hTestActive( "i86265-1", 1 , TRUE ) - hTestActive( "i86265-2", 1 , TRUE ) + hTestActive( "i86265-1", CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) + hTestActive( "i86265-2", CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) printlog( "" ) printlog( " ---------- i92329 ------------ " ) hInsertMacroFromFile( "i92329" ) hIDERunMacro() - hTestActive( "Return an Array" , 1 ) + hTestActive( "Return an Array" , CLOSE_METHOD_OK ) printlog( "" ) printlog( " ---------- i97038 ------------ " ) hInsertMacroFromFile( "i97038" ) hIDERunMacro() - hTestActive( "1900" , 1 , FALSE ) - hTestActive( "2" , 1 , FALSE ) + hTestActive( "1900" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + hTestActive( "2" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) printlog( "" ) printlog( " ---------- i103691 ------------ " ) hInsertMacroFromFile( "i103691" ) hIDERunMacro() - hTestActive( "Equal" , 1 , FALSE ) + hTestActive( "Equal" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) printlog( "" ) printlog( " ---------- i103697 ------------ " ) hInsertMacroFromFile( "i103697" ) hIDERunMacro() - hTestActive( "i103697" , 1 , FALSE ) + hTestActive( "i103697" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) printlog( "" ) printlog( " ---------- i103990 ------------ " ) hInsertMacroFromFile( "i103990" ) hIDERunMacro() - hTestActive( "42" , 1 , FALSE ) - hTestActive( "43" , 1 , FALSE ) - hTestActive( "Pi" , 1 , FALSE ) + hTestActive( "42" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + hTestActive( "43" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + hTestActive( "Pi" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) printlog( "" ) printlog( " ---------- i107070 ------------ " ) hInsertMacroFromFile( "i107070" ) hIDERunMacro() - hTestActive( "Dbg_Methods" , 1 , FALSE ) - hTestActive( "Dbg_Methods" , 1 , FALSE ) - hTestActive( "." , 1 , FALSE ) + hTestActive( "Dbg_Methods" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + hTestActive( "Dbg_Methods" , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + hTestActive( "." , CLOSE_METHOD_OK , REQUIRES_FUZZY_MATCH ) + + printlog( "" ) + printlog( " ---------- i106744 ------------ " ) + hInsertMacroFromFile( "i106744-1" ) + hIDERunMacro() + hTestActive( "NOT EMPTY" , CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) + + printlog( "" ) + printlog( " ---------- i106744 ------------ " ) + hInsertMacroFromFile( "i106744-2" ) + hIDERunMacro() + hTestActive( "NOT EMPTY" , CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) printlog( "" ) printlog( " ---------- MessageBoxes ------------ " ) hInsertMacroFromFile( "MessageBoxes" ) hIDERunMacro() - if ( hTestActive( "0x" , 1 , TRUE ) > 1 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "1x" , 1 , TRUE ) > 2 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "2x" , 2 , TRUE ) > 3 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "3x" , 2 , TRUE ) > 3 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "4x" , 4 , TRUE ) > 2 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "5x" , 2 , TRUE ) > 2 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "16" , 2 , TRUE ) > 3 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "32" , 2 , TRUE ) > 3 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "48" , 2 , TRUE ) > 3 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "64" , 1 , TRUE ) > 1 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "128", 2 , TRUE ) > 3 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "256", 2 , TRUE ) > 3 ) then warnlog( "Wrong resource type" ) - if ( hTestActive( "512", 2 , TRUE ) > 3 ) then warnlog( "Wrong resource type" ) + + if ( hTestActive( "0x" , CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) <> RESTYPE_1 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "1x" , CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) <> RESTYPE_2 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "2x" , CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_3 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "3x" , CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_3 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "4x" , CLOSE_METHOD_NO , REQUIRES_EXACT_MATCH ) <> RESTYPE_2 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "5x" , CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_2 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "16" , CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_3 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "32" , CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_3 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "48" , CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_3 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "64" , CLOSE_METHOD_OK , REQUIRES_EXACT_MATCH ) <> RESTYPE_1 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "128", CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_3 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "256", CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_3 ) then warnlog( "Wrong resource type" ) + if ( hTestActive( "512", CLOSE_METHOD_CANCEL , REQUIRES_EXACT_MATCH ) <> RESTYPE_3 ) then warnlog( "Wrong resource type" ) printlog( "" ) hCloseBasicIDE() diff --git a/testautomation/framework/optional/includes/basic_vba-compat_application-union.inc b/testautomation/framework/optional/includes/basic_vba-compat_application-union.inc new file mode 100755 index 000000000000..222b99215f81 --- /dev/null +++ b/testautomation/framework/optional/includes/basic_vba-compat_application-union.inc @@ -0,0 +1,132 @@ +'encoding UTF-8 Do not remove or change this line! +'******************************************************************************* +' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +' +' Copyright 2000, 2010 Oracle and/or its affiliates. +' +' OpenOffice.org - a multi-platform office productivity suite +' +' This file is part of OpenOffice.org. +' +' OpenOffice.org is free software: you can redistribute it and/or modify +' it under the terms of the GNU Lesser General Public License version 3 +' only, as published by the Free Software Foundation. +' +' OpenOffice.org is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU Lesser General Public License version 3 for more details +' (a copy is included in the LICENSE file that accompanied this code). +' +' You should have received a copy of the GNU Lesser General Public License +' version 3 along with OpenOffice.org. If not, see +' <http://www.openoffice.org/license.html> +' for a copy of the LGPLv3 License. +' +'/****************************************************************************** +'* +'* owner : joerg.skottke@sun.com +'* +'* short description : Test VBA compatibility switches +'* +'\****************************************************************************** + +testcase tBasicVBACompatApplicationUnion() + + printlog( "Functionality of Application.Union" ) + ' Based on issue #i110724 + + const IMPORT_EXCEL_MACROS = TRUE + const EXEC_EXCEL_MACROS = TRUE + const DOCUMENT_NAME = "vba-application-union.xls" + const LIBRARY_NAME = "Standard" + const MODULE_NAME = "Module1" + const EXPECTED_MACRO_COUNT = 6 + const MAX_WAIT = 2 + const RC_FAILURE = -1 + + dim macro_identifier( EXPECTED_MACRO_COUNT ) + macro_identifier( 1 ) = "1: True" + macro_identifier( 2 ) = "2: True" + macro_identifier( 3 ) = "3: True" + macro_identifier( 4 ) = "4: True" + macro_identifier( 5 ) = "5: True" + macro_identifier( 6 ) = "6: True" + + dim cTestFile as string + cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/" & DOCUMENT_NAME + + dim iMacroPosition as integer + dim iCurrentMacro as integer + dim iRepeat as integer + + printlog( "Set macro security to low" ) + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) + + printlog( "Open Tools/Options" ) + hSetExcelBasicImportMode( IMPORT_EXCEL_MACROS, EXEC_EXCEL_MACROS ) + + printlog( "Load the test file" ) + hFileOpen( cTestFile ) + + ToolsMacro_uno + + kontext "Makro" + if ( Makro.exists( MAX_WAIT ) ) then + + iMacroPosition = hSelectNodeByName( MakroAus, DOCUMENT_NAME ) + hExpandNode( MakroAus, iMacroPosition ) + + printlog( "Move to node <" & LIBRARY_NAME & ">" ) + iMacroPosition = hSelectNextNode( MakroAus ) + if ( not hVerifyNodeName( MakroAus, LIBRARY_NAME ) ) then + warnlog( "This is not the expected library" ) + endif + + printlog( "Move to node <" & MODULE_NAME & ">" ) + hSelectNextNode( MakroAus ) + if ( not hVerifyNodeName( MakroAus, MODULE_NAME ) ) then + warnlog( "This is not the expected module" ) + endif + + printlog( "Click <Ausfuehren> to execute the macro" ) + if ( hClickButton( Ausfuehren ) <> RC_FAILURE ) then + + printlog( "Check for the " & EXPECTED_MACRO_COUNT & " expected messageboxes" ) + for iCurrentMacro = 1 to EXPECTED_MACRO_COUNT + + printlog( "" ) + kontext "Active" + printlog( iCurrentMacro & ": Check for messagebox: " & macro_identifier( iCurrentMacro ) ) + if ( Active.exists( MAX_WAIT ) ) then + + if ( Active.getText() = macro_identifier( iCurrentMacro ) ) then + printlog( "The expected macro was executed" ) + else + warnlog( "Unexpected macro executed: " & Active.getText() ) + endif + Active.ok() + + else + warnlog( "Expected messagebox not displayed within reasonable timeframe" ) + goto endsub + endif + + next iCurrentMacro + else + warnlog( "Unable to execute macro, the <Run Macro> button is disabled" ) + kontext "Makro" + Makro.close() + endif + else + warnlog( "Failed to open BASIC organizer" ) + endif + + printlog( "Cleanup" ) + hCloseDocument() + hSetExcelImportModeDefault() + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT ) + +endcase + + diff --git a/testautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc b/testautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc index f5576308a6a9..764ba407236a 100755 --- a/testautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc +++ b/testautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc @@ -36,12 +36,23 @@ testcase tBasicVBACompatImportDisabled() printlog( "Test VBA compatibility switch / executable Microsoft(R) Excel(R) Macros" ) printlog( "Test case 2: Import macros but do not set the executable mode" ) - ' This test case is based on the use cases provided in issue #i88690 ' Spec: http://specs.openoffice.org/appwide/options_settings/Option_Dialog.odt + + const NODE_COUNT = 78 + + const DOCUMENT_POSITION_OFFSET = -7 + + const IMPORT_EXCEL_MACROS = TRUE + const EXEC_EXCEL_MACROS = FALSE + + const DOCUMENT_NAME = "vba-test.xls" + const MATCH_NONE = 0 + const MATCH_EXACT = 1 + const MATCH_PARTLY = 2 dim cTestFile as string - cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/vba-test.xls" + cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/" & DOCUMENT_NAME dim cNodeCount as integer @@ -57,15 +68,6 @@ testcase tBasicVBACompatImportDisabled() dim iCurrentModule as integer dim cCurrentModule as string dim bFound as boolean - - ' Depending on the mode of macro import we have differtent basic libraries listed - const NODE_COUNT_OOO = 78 ' OpenOffice.org - const NODE_COUNT = 80 ' branded product - - const DOCUMENT_POSITION_OFFSET = -7 - - const IMPORT_EXCEL_MACROS = TRUE - const EXEC_EXCEL_MACROS = FALSE printlog( "Set macro security to low" ) hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) @@ -92,9 +94,11 @@ testcase tBasicVBACompatImportDisabled() printlog( "Verify position of the document node" ) MakroAus.select( cNodeCount + DOCUMENT_POSITION_OFFSET ) - if ( MakroAus.getSelText() <> "vba-test.xls" ) then - qaerrorlog( "The document node is not at the expected position" ) - endif + select case( hCompareSubStrings( MakroAus.getSelText(), DOCUMENT_NAME ) ) + case MATCH_NONE : warnlog ( "The document is not listed at the expected position" ) + case MATCH_EXACT : printlog( "The document is at the expected position and writable" ) + case MATCH_PARTLY : printlog( "The document is at the expected position and write protected" ) + end select for iCurrentModule = 2 to 7 @@ -135,7 +139,6 @@ testcase tBasicVBACompatImportDisabled() hSetExcelImportModeDefault() hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT ) - endcase diff --git a/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc b/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc index 3e6450e4c2e7..98173ee8ba48 100755 --- a/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc +++ b/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc @@ -39,22 +39,40 @@ testcase tBasicVBACompatImportEnabled() ' This test case is based on the use cases provided in issue #i88690 ' Spec: http://specs.openoffice.org/appwide/options_settings/Option_Dialog.odt - - dim cFile as string : cFile = "vba-test.xls" + + ' Depending on the mode of macro import we have differtent basic libraries listed + const NODE_COUNT = 78 + + const DOCUMENT_POSITION_OFFSET = -7 + + const IMPORT_EXCEL_MACROS = TRUE + const EXEC_EXCEL_MACROS = TRUE + + const DOCUMENT_NAME = "vba-test.xls" + const MATCH_NONE = 0 + const MATCH_EXACT = 1 + const MATCH_PARTLY = 2 dim cTestFile as string - cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/" & cFile + cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/" & DOCUMENT_NAME dim cNodeCount as integer - ' note that index 0 and 1 are ommitted intentionally - dim caNodeData( 3 ) as string - caNodeData( 2 ) = "Modul1" - caNodeData( 3 ) = "Modul2" - - dim caScripts( 3 ) as string - caScripts( 2 ) = "ConcatFct Ende" - caScripts( 3 ) = "WriteIt" + dim caNodeData( 7 ) as string + caNodeData( 0 ) = DOCUMENT_NAME ' The document, not used + caNodeData( 1 ) = "Standard" ' The default library, not used + caNodeData( 2 ) = "DieseArbeitsmappe" + caNodeData( 3 ) = "Modul1" + caNodeData( 4 ) = "Modul2" + caNodeData( 5 ) = "Tabelle1" + caNodeData( 6 ) = "Tabelle2" + caNodeData( 7 ) = "Tabelle3" + + ' These are the scripts belonging to each node above. If multiple scripts exist + ' they are separated by spaces. Example: "Modul1" has "ConcatFct" and "Ende" scripts. + dim caScripts( 7 ) as string + caScripts( 3 ) = "ConcatFct Ende" + caScripts( 4 ) = "WriteIt" dim iCurrentModule as integer dim iCurrentScript as integer @@ -62,19 +80,10 @@ testcase tBasicVBACompatImportEnabled() dim cTempString as string dim bFound as boolean - ' Depending on the mode of macro import we have differtent basic libraries listed - const NODE_COUNT_OOO = 74 - const NODE_COUNT = 76 - - const DOCUMENT_POSITION_OFFSET = -3 - - const IMPORT_EXCEL_MACROS = TRUE - const EXEC_EXCEL_MACROS = TRUE - printlog( "Set macro security to low" ) hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) - printlog( "Open Tools/Options" ) + printlog( "Open Tools/Options and set the VBA macro execution mode" ) hSetExcelBasicImportMode( IMPORT_EXCEL_MACROS, EXEC_EXCEL_MACROS ) @@ -96,26 +105,13 @@ testcase tBasicVBACompatImportEnabled() printlog( "Verify position of the document node." ) MakroAus.select( cNodeCount + DOCUMENT_POSITION_OFFSET ) - cTempString = MakroAus.getSelText() - if ( cTempString <> cFile ) then - qaerrorlog( "The filename does not match. File may be read-only." ) - if ( instr( cTempString, cFile ) > 1 ) then - printlog( "Filename is contained in the UI string." ) - select case ( getAttr( cTestFile ) ) - case 0 : warnlog( "The file appears to be read-only but it is " & _ - "not write-protected on filesystem level." ) - case 1 : printlog( "The file is read-only on filesystem level. Ok." ) - case else - warnlog( "getAttr() returned unexpected value. 1 or 2 are allowed" ) - printlog( "RC from getAttr() is: " & getAttr( cTestFile ) ) - end select - else - qaerrorlog( "The document node is not at the expected position." ) - qaerrorlog( "Object at this position is: " & MakroAus.getSelText() ) - endif - endif + select case( hCompareSubStrings( MakroAus.getSelText(), DOCUMENT_NAME ) ) + case MATCH_NONE : warnlog ( "The document is not listed at the expected position" ) + case MATCH_EXACT : printlog( "The document is at the expected position and writable" ) + case MATCH_PARTLY : printlog( "The document is at the expected position and write protected" ) + end select - for iCurrentModule = 2 to 3 + for iCurrentModule = 2 to 7 printlog( "Look for: " & caNodeData( iCurrentModule ) ) diff --git a/testautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc b/testautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc index bab6bf1a4b1b..50c59cf88e10 100755 --- a/testautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc +++ b/testautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc @@ -38,21 +38,24 @@ testcase tBasicVBACompatImportNothing() ' This test case is based on the use cases provided in issue #i88690 ' Spec: http://specs.openoffice.org/appwide/options_settings/Option_Dialog.odt - - dim cTestFile as string - cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/vba-test.xls" - - dim cNodeCount as integer - - ' Depending on the mode of macro import we have differtent basic libraries listed - const NODE_COUNT = 74 ' Do not import Microsoft(R) Excel(R) macros at all - const NODE_COUNT_OOO = 72 - const MACRO_LIST = 0 ' The document library should have no scripts listed +' Depending on the mode of macro import we have differtent basic libraries listed + const NODE_COUNT = 72 ' Do not import Microsoft(R) Excel(R) macros at all + const MACRO_LIST = 0 ' The document library should have no scripts listed const DOCUMENT_POSITION_OFFSET = -1 - + const IMPORT_EXCEL_MACROS = FALSE const EXEC_EXCEL_MACROS = FALSE - + + const DOCUMENT_NAME = "vba-test.xls" + const MATCH_NONE = 0 + const MATCH_EXACT = 1 + const MATCH_PARTLY = 2 + + dim cTestFile as string + cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/" & DOCUMENT_NAME + + dim cNodeCount as integer + printlog( "Set macro security to low" ) hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) @@ -78,9 +81,11 @@ testcase tBasicVBACompatImportNothing() printlog( "Verify position of the document node" ) MakroAus.select( cNodeCount + DOCUMENT_POSITION_OFFSET ) - if ( MakroAus.getSelText() <> "vba-test.xls" ) then - qaerrorlog( "The document node is not at the expected position" ) - endif + select case( hCompareSubStrings( MakroAus.getSelText(), DOCUMENT_NAME ) ) + case MATCH_NONE : warnlog ( "The document is not listed at the expected position" ) + case MATCH_EXACT : printlog( "The document is at the expected position and writable" ) + case MATCH_PARTLY : printlog( "The document is at the expected position and write protected" ) + end select printlog( "Select the last node, this should be the standard Library for the document" ) MakroAus.select( cNodeCount ) diff --git a/testautomation/framework/optional/includes/basic_vba-compat_security_check.inc b/testautomation/framework/optional/includes/basic_vba-compat_security_check.inc new file mode 100644 index 000000000000..ae26d996db6e --- /dev/null +++ b/testautomation/framework/optional/includes/basic_vba-compat_security_check.inc @@ -0,0 +1,105 @@ +'encoding UTF-8 Do not remove or change this line! +'******************************************************************************* +' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +' +' Copyright 2000, 2010 Oracle and/or its affiliates. +' +' OpenOffice.org - a multi-platform office productivity suite +' +' This file is part of OpenOffice.org. +' +' OpenOffice.org is free software: you can redistribute it and/or modify +' it under the terms of the GNU Lesser General Public License version 3 +' only, as published by the Free Software Foundation. +' +' OpenOffice.org is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU Lesser General Public License version 3 for more details +' (a copy is included in the LICENSE file that accompanied this code). +' +' You should have received a copy of the GNU Lesser General Public License +' version 3 along with OpenOffice.org. If not, see +' <http://www.openoffice.org/license.html> +' for a copy of the LGPLv3 License. +' +'/****************************************************************************** +'* +'* owner : joerg.skottke@sun.com +'* +'* short description : Test VBA compatibility switches +'* +'\****************************************************************************** + +testcase tBasicVBACompatSecurityCheck() + + printlog( "Test VBA Security feature" ) + printlog( "VBA macros may not ignore global macro security setting" ) + + ' This test case is based on the use cases provided in issue #i109699 + + const IMPORT_EXCEL_MACROS = TRUE + const EXEC_EXCEL_MACROS = TRUE + + const MACRO_IDENTIFICATION_MESSAGE = "Clicked" + const MACRO_NAME = "CommandButton1_Click" + + const WORK_FILE = "framework/optional/input/vba-compat/Book1.xls" + + dim cTestFile as string : cTestFile = gTesttoolPath & WORK_FILE + dim iSecurityLevel as integer + + + printlog( "Set VBA macro handling to import and execute" ) + hSetExcelBasicImportMode( IMPORT_EXCEL_MACROS, EXEC_EXCEL_MACROS ) + + for iSecurityLevel = GC_MACRO_SECURITY_LEVEL_MEDIUM to GC_MACRO_SECURITY_LEVEL_VERYHIGH + + printlog( "Adjust security level" ) + hSetMacroSecurityAPI( iSecurityLevel ) + + printlog( "Load the test file" ) + hFileOpen( cTestFile ) + + printlog( "Deny macro execution or close macros blocked message" ) + if ( iSecurityLevel = GC_MACRO_SECURITY_LEVEL_MEDIUM ) then + hDenyMacroExecution() + else + kontext "Active" + Active.ok() + endif + + printlog( "Try to execute macro via macro organizer" ) + hMacroOrganizerRunMacro( MACRO_NAME ) + + printlog( "Probe for warning message (or macro)" ) + kontext "Active" + if ( Active.exists( 2 ) ) then + if ( Active.getText() = MACRO_IDENTIFICATION_MESSAGE ) then + warnlog( "Macro was executed though macro execution has been denied" ) + Active.ok() + else + printlog( "Macro execution blocked - warning is displayed." ) + Active.ok() + endif + else + warnlog( "No warning message for blocked macro execution" ) + endif + + ' recover silently, the warnings above should say it all. + kontext "Makro" + if ( Makro.exists() ) then Makro.cancel() + + printlog( "Close file" ) + hDestroyDocument() + + next iSecurityLevel + + printlog( "Reset VBA import options to default" ) + hSetExcelImportModeDefault() + + printlog( "Reset macro security level to default" ) + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT ) + +endcase + diff --git a/testautomation/framework/optional/includes/basic_vba-compat_thisworkbook.inc b/testautomation/framework/optional/includes/basic_vba-compat_thisworkbook.inc new file mode 100755 index 000000000000..03c52146a8fb --- /dev/null +++ b/testautomation/framework/optional/includes/basic_vba-compat_thisworkbook.inc @@ -0,0 +1,143 @@ +'encoding UTF-8 Do not remove or change this line! +'******************************************************************************* +' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +' +' Copyright 2000, 2010 Oracle and/or its affiliates. +' +' OpenOffice.org - a multi-platform office productivity suite +' +' This file is part of OpenOffice.org. +' +' OpenOffice.org is free software: you can redistribute it and/or modify +' it under the terms of the GNU Lesser General Public License version 3 +' only, as published by the Free Software Foundation. +' +' OpenOffice.org is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU Lesser General Public License version 3 for more details +' (a copy is included in the LICENSE file that accompanied this code). +' +' You should have received a copy of the GNU Lesser General Public License +' version 3 along with OpenOffice.org. If not, see +' <http://www.openoffice.org/license.html> +' for a copy of the LGPLv3 License. +' +'/****************************************************************************** +'* +'* owner : joerg.skottke@sun.com +'* +'* short description : Test VBA compatibility switches +'* +'\****************************************************************************** + +testcase tBasicVBACompatThisWorkBook() + + printlog( "Functionality of .thisWorkbook" ) + ' Based on issue #i110672 + + const IMPORT_EXCEL_MACROS = TRUE + const EXEC_EXCEL_MACROS = TRUE + const DOCUMENT_NAME = "vba-thisworkbook.xls" + const LIBRARY_NAME = "Standard" + const MODULE_NAME = "Module1" + const EXPECTED_MACRO_COUNT = 2 + const MAX_REPEAT_COUNT = 2 + const MAX_WAIT = 2 + + dim macro_identifier( EXPECTED_MACRO_COUNT ) + macro_identifier( 1 ) = "Test 1 passed." + macro_identifier( 2 ) = "Test 2 passed." + + dim cTestFile as string + cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/" & DOCUMENT_NAME + + dim iMacroPosition as integer + dim iCurrentMacro as integer + dim iRepeat as integer + + printlog( "Set macro security to low" ) + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) + + printlog( "Open Tools/Options" ) + hSetExcelBasicImportMode( IMPORT_EXCEL_MACROS, EXEC_EXCEL_MACROS ) + + printlog( "Load the test file" ) + hFileOpen( cTestFile ) + + printlog( "Execute the procedure twice to trigger issue 111553" ) + for iRepeat = 1 to MAX_REPEAT_COUNT + + ToolsMacro_uno + + kontext "Makro" + if ( Makro.exists( MAX_WAIT ) ) then + + iMacroPosition = hSelectNodeByName( MakroAus, DOCUMENT_NAME ) + hExpandNode( MakroAus, iMacroPosition ) + + printlog( "Move to node <" & LIBRARY_NAME & ">" ) + iMacroPosition = hSelectNextNode( MakroAus ) + if ( not hVerifyNodeName( MakroAus, LIBRARY_NAME ) ) then + warnlog( "This is not the expected library" ) + endif + + printlog( "Move to node <" & MODULE_NAME & ">" ) + hSelectNextNode( MakroAus ) + if ( not hVerifyNodeName( MakroAus, MODULE_NAME ) ) then + warnlog( "This is not the expected module" ) + endif + + printlog( "Click <Ausfuehren> to execute the macro" ) + iMacroPosition = hClickButton( Ausfuehren ) + + printlog( "Check for two expected messageboxes" ) + for iCurrentMacro = 1 to EXPECTED_MACRO_COUNT + + kontext "Active" + printlog( "Check for messagebox: " & macro_identifier( iCurrentMacro ) ) + if ( Active.exists( MAX_WAIT ) ) then + + if ( Active.getText() = macro_identifier( iCurrentMacro ) ) then + printlog( "Correct macro executed" ) + else + printlog( "Macro execution error, trying to identify..." ) + if ( instr( Active.getText(), "BASIC runtime error." ) > 0 ) then + if ( iRepeat = MAX_REPEAT_COUNT ) then + warnlog( "#i111533 - Cannot execute ThisWorkbook macro twice" ) + Active.ok() + hFileCloseAll() + goto endsub + else + warnlog( "Executing macro failed" ) + goto endsub + endif + else + warnlog( "Unknown messagebox. Aborting test" ) + goto endsub + endif + endif + + Active.ok() + + else + warnlog( "Expected messagebox not displayed within reasonable timeframe" ) + goto endsub + endif + + next iCurrentMacro + else + warnlog( "A macro with the name <" & MODULE_NAME & "> could not be found" ) + goto endsub + endif + + next iRepeat + + printlog( "Cleanup" ) + hCloseDocument() + hSetExcelImportModeDefault() + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT ) + +endcase + + diff --git a/testautomation/framework/optional/includes/basic_vba-compat_xlsm-xlsb.inc b/testautomation/framework/optional/includes/basic_vba-compat_xlsm-xlsb.inc new file mode 100755 index 000000000000..cfc8f06072e3 --- /dev/null +++ b/testautomation/framework/optional/includes/basic_vba-compat_xlsm-xlsb.inc @@ -0,0 +1,187 @@ +'encoding UTF-8 Do not remove or change this line! +'******************************************************************************* +' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +' +' Copyright 2000, 2010 Oracle and/or its affiliates. +' +' OpenOffice.org - a multi-platform office productivity suite +' +' This file is part of OpenOffice.org. +' +' OpenOffice.org is free software: you can redistribute it and/or modify +' it under the terms of the GNU Lesser General Public License version 3 +' only, as published by the Free Software Foundation. +' +' OpenOffice.org is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU Lesser General Public License version 3 for more details +' (a copy is included in the LICENSE file that accompanied this code). +' +' You should have received a copy of the GNU Lesser General Public License +' version 3 along with OpenOffice.org. If not, see +' <http://www.openoffice.org/license.html> +' for a copy of the LGPLv3 License. +' +'/****************************************************************************** +'* +'* owner : joerg.skottke@sun.com +'* +'* short description : Test VBA compatibility switches +'* +'\****************************************************************************** + +testcase tBasicVBACompatXLSM_XLSB() + + printlog( "Functionality of macros in XLSM/XLSB files" ) + ' Based on issue #i111007 + + const IMPORT_EXCEL_MACROS = TRUE + const EXEC_EXCEL_MACROS = TRUE + + const FILE_COUNT = 2 + const MODULE_COUNT = 7 + + const MODULE_NOT_FOUND = 0 + const MAX_DELAY = 3 + const RC_TIMEOUT = -1 + + const THE_MODULE_THAT_BEHAVES_DIFFERENTLY = 6 + + const RELATIVE_PATH = "framework/optional/input/vba-compat/" + + ' We have two files to load, on e .xlsm and one .xlsb + dim cFileList( FILE_COUNT ) as string + cFileList( 1 ) = "vba-project.xlsm" + cFileList( 2 ) = "vba-project.xlsb" + + ' both documents import the same modules + dim cTestModuleList( MODULE_COUNT ) + cTestModuleList( 1 ) = "MyChartModule" + cTestModuleList( 2 ) = "MyCodeModule" + cTestModuleList( 3 ) = "MyPrivateClassModule" + cTestModuleList( 4 ) = "MyPublicClassModule" + cTestModuleList( 5 ) = "MySheetModule" + cTestModuleList( 6 ) = "MyUserForm" + cTestModuleList( 7 ) = "MyWorkbookModule" + + dim cTestFile as string + dim iCurrentFile as integer + dim iCurrentModule as integer + + printlog( "Set macro security to low" ) + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) + + printlog( "Open Tools/Options" ) + hSetExcelBasicImportMode( IMPORT_EXCEL_MACROS, EXEC_EXCEL_MACROS ) + + for iCurrentFile = 1 to FILE_COUNT + + cTestFile = gTesttoolPath & RELATIVE_PATH & cFileList( iCurrentFile ) + + printlog( "Loading document: " & cTestFile ) + hFileOpen( cTestFile ) + + for iCurrentModule = 1 to MODULE_COUNT + + printlog( "" ) + printlog( "Tryng to execute macro: " & cTestModuleList( iCurrentModule ) ) + ToolsMacro_uno + + kontext "Makro" + if ( Makro.exists( MAX_DELAY ) ) then + + if ( hSelectNodeByName( MakroAus, cTestModuleList( iCurrentModule ) ) <> MODULE_NOT_FOUND ) then + + printlog( "Execute the default macro <Test> for the current module" ) + + if ( hClickButton( Ausfuehren ) <> RC_TIMEOUT ) then + if ( iCurrentModule = THE_MODULE_THAT_BEHAVES_DIFFERENTLY ) then + ' Fuzzy matching message string + hTestMacroType2( cTestModuleList( iCurrentModule ) ) + else + ' Exact matching message string + hTestMacroType1( cTestModuleList( iCurrentModule ) ) + endif + else + warnlog( "No executable macro found for the current module / <Run> button is disabled" ) + endif + else + warnlog( "the expected macro module could not be found" ) + endif + else + warnlog( "BASIC Macro organizer did not open" ) + endif + + next iCurrentModule + + printlog( "Close the document" ) + hFileCloseAll() + + next iCurrentFile + + hSetExcelImportModeDefault() + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT ) + +endcase + +'******************************************************************************* + +function hTestMacroType1( cMessage as string ) as boolean + + ' exact matching + + kontext "Active" + if ( Active.exists( 2 ) ) then + if ( Active.getText() = cMessage ) then + printlog( "Correct macro has been executed" ) + hTestMacroType1() = true + else + warnlog( "Incorrect macro executed: " ) + printlog( "Expected: " & cMessage ) + printlog( "Found...: " & Active.getText() ) + hTestMacroType1() = false + endif + + Active.ok() + WaitSlot() + + else + warnlog( "Messagebox missing, macro was not executed" ) + hTestMacroType1() = false + endif + +end function + +'******************************************************************************* + +function hTestMacroType2( cMessage as string ) as boolean + + ' fuzzy matching + + dim iCurrentMessage as integer + + for iCurrentMessage = 1 to 2 + + kontext "Active" + if ( Active.exists( 2 ) ) then + if ( instr( Active.getText() , cMessage ) > 0 ) then + printlog( "Correct macro has been executed" ) + hTestMacroType2() = true + else + warnlog( "Incorrect macro executed: " ) + printlog( "Expected: " & cMessage ) + printlog( "Found...: " & Active.getText() ) + hTestMacroType2() = false + endif + + Active.ok() + WaitSlot() + + else + warnlog( "Messagebox missing, macro not executed" ) + hTestMacroType2() = false + endif + next iCurrentMessage + +end function
\ No newline at end of file diff --git a/testautomation/framework/optional/includes/configuration.inc b/testautomation/framework/optional/includes/configuration.inc index 68c0aaf79082..fba0a6fe6bae 100644..100755 --- a/testautomation/framework/optional/includes/configuration.inc +++ b/testautomation/framework/optional/includes/configuration.inc @@ -253,8 +253,8 @@ testcase tToolsOptionsAPIConfiguration case 07 : iJump = 0 ' Russian case 30 : iJump = 0 ' Greek case 31 : iJump = 0 ' Netherlands - case 33 : iJump = 0 ' French - case 34 : iJump = 0 ' Spanish + case 33 : iJump = 0 ' French + case 34 : iJump = 0 ' Spanish case 35 : iJump = 0 ' Finnish case 36 : iJump = 0 ' Hungaria case 37 : iJump = 0 ' Catalan @@ -263,20 +263,21 @@ testcase tToolsOptionsAPIConfiguration case 43 : iJump = 0 ' Slowak case 44 : iJump = 0 ' English (GB) case 45 : iJump = 0 ' Danish - case 46 : iJump = 0 ' Swedish + case 46 : iJump = 0 ' Swedish case 47 : iJump = 0 ' Norwegian case 48 : iJump = 0 ' Polish case 49 : iJump = 1 ' German case 51 : iJump = 0 ' Slowak - case 55 : iJump = 0 ' Portuguese (Brazil) - case 66 : iJump = 0 ' Thai + case 50 : iJump = 0 ' Slovenian + case 55 : iJump = 0 ' Portuguese (Brazil) + case 66 : iJump = 0 ' Thai case 81 : iJump = 0 ' Japanese ' disabled, because locale dependant! case 82 : iJump = 0 ' Korean ' disabled, because locale dependant! case 86 : iJump = 0 ' Chinese (simplified) ' disabled, because locale dependant! case 88 : iJump = 0 ' Chinese (traditional) ' disabled, because locale dependant! case 90 : iJump = 0 ' Turkish case 91 : iJump = 0 ' Hindi - case 96 : iJump = 0 ' Arab + case 96 : iJump = 0 ' Arab case 97 : iJump = 0 ' Hebrew case else : qaErrorlog "The work-dir can't changed to the internal office-work-dir! Please insert the language in this list!" iJump = 0 diff --git a/testautomation/framework/optional/input/gridcontrol.odt b/testautomation/framework/optional/input/gridcontrol.odt Binary files differindex b3e5c6fb40bb..d11d70cfbc09 100755 --- a/testautomation/framework/optional/input/gridcontrol.odt +++ b/testautomation/framework/optional/input/gridcontrol.odt diff --git a/testautomation/framework/optional/input/vba-compat/Book1.xls b/testautomation/framework/optional/input/vba-compat/Book1.xls Binary files differnew file mode 100644 index 000000000000..425c2e0687b0 --- /dev/null +++ b/testautomation/framework/optional/input/vba-compat/Book1.xls diff --git a/testautomation/framework/optional/input/vba-compat/vba-application-union.xls b/testautomation/framework/optional/input/vba-compat/vba-application-union.xls Binary files differnew file mode 100755 index 000000000000..b1f1be816b7b --- /dev/null +++ b/testautomation/framework/optional/input/vba-compat/vba-application-union.xls diff --git a/testautomation/framework/optional/input/vba-compat/vba-project.xlsb b/testautomation/framework/optional/input/vba-compat/vba-project.xlsb Binary files differnew file mode 100755 index 000000000000..9fd88a8e545c --- /dev/null +++ b/testautomation/framework/optional/input/vba-compat/vba-project.xlsb diff --git a/testautomation/framework/optional/input/vba-compat/vba-project.xlsm b/testautomation/framework/optional/input/vba-compat/vba-project.xlsm Binary files differnew file mode 100755 index 000000000000..6a8896e18599 --- /dev/null +++ b/testautomation/framework/optional/input/vba-compat/vba-project.xlsm diff --git a/testautomation/framework/optional/input/vba-compat/vba-thisworkbook.xls b/testautomation/framework/optional/input/vba-compat/vba-thisworkbook.xls Binary files differnew file mode 100644 index 000000000000..f275fd9cca0e --- /dev/null +++ b/testautomation/framework/optional/input/vba-compat/vba-thisworkbook.xls diff --git a/testautomation/framework/required/includes/printer_administration.inc b/testautomation/framework/required/includes/printer_administration.inc index bc9838f6063d..a05ecc6b02a1 100644..100755 --- a/testautomation/framework/required/includes/printer_administration.inc +++ b/testautomation/framework/required/includes/printer_administration.inc @@ -103,8 +103,6 @@ testcase t_updt_spadmin warnlog( "SpAdmin is not open, the test cannot continue" ) goto endsub endif - - call TestFonts( CPRINTER ) ' wait for the spadmin to open, on failure we end the test brc = hWaitForSpAdmin() @@ -270,42 +268,4 @@ sub TestRename( cPrinter as string ) printlog( "" ) -end sub - -'******************************************************************************* - -sub TestFonts( cPrinter as string ) - - - printlog( " * Open 'Fonts...' dialog" ) - - Kontext "SpAdmin" - if ( PBFonts.isEnabled() ) then - PBFonts.click() - waitslot - - printlog( " * Test the font-dialog" ) - Kontext "SPFontNameDLG" - call dialogtest( SPFontNameDLG ) - - printlog( " * Press 'Add ...'" ) - PBAdd.click() - waitslot - - printlog( " * Test the import-dialog" ) - kontext "SPFontImportDLG" - call dialogtest( SPFontImportDLG ) - - printlog( " * close import dialog" ) - SPFontImportDLG.cancel() - - Kontext "SPFontNameDLG" - printlog( " * close fonts-dialog" ) - SPFontNameDLG.ok() - waitslot - else - printlog( "Fonts... not available, skipping." ) - endif - - -end sub +end sub
\ No newline at end of file diff --git a/testautomation/framework/tools/includes/CJK_tools.inc b/testautomation/framework/tools/includes/CJK_tools.inc index bea675f69bc3..e905b55bbebc 100644..100755 --- a/testautomation/framework/tools/includes/CJK_tools.inc +++ b/testautomation/framework/tools/includes/CJK_tools.inc @@ -211,6 +211,23 @@ function fGetCountryName( CountryID as Integer ) as String QAErrorLog "Now, the test does not support for the language " +iSprache fGetCountryName = "" end select + case 50 : ' Slovenian + select case CountryID + case 1: fGetCountryName = "angleški (ZDA)" + case 33: fGetCountryName = "francoski (Francija)" + case 34: fGetCountryName = "španski (Španija)" + case 39: fGetCountryName = "italijanski (Italija)" + case 46: fGetCountryName = "švedski (Švedska)" + case 49: fGetCountryName = "nemški (Nemčija)" + case 55: fGetCountryName = "portugalski (Brazilija)" + case 81: fGetCountryName = "japonski" + case 82: fGetCountryName = "korejski (RK)" + case 86: fGetCountryName = "kitajski (poenostavljeni)" + case 88: fGetCountryName = "kitajski (tradicionalni)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetCountryName = "" + end select case 55 : ' Portuguese select case CountryID case 1: fGetCountryName = "Inglês (EUA)" diff --git a/testautomation/framework/tools/input/i18ndata.txt b/testautomation/framework/tools/input/i18ndata.txt index 5e10d47c33c9..f8b9f88410a9 100755 --- a/testautomation/framework/tools/input/i18ndata.txt +++ b/testautomation/framework/tools/input/i18ndata.txt @@ -15,6 +15,7 @@ 46=swedish 48=polish 49=german +50=slovenian 55=portuguese brazilian 81=japanese 82=korean @@ -36,6 +37,7 @@ 46=sv 48=pl 49=de +50=sl 55=pt-BR 81=ja 82=ko |