summaryrefslogtreecommitdiff
path: root/testautomation/framework
diff options
context:
space:
mode:
authorThomas Lange [tl] <tl@openoffice.org>2010-05-27 13:33:32 +0200
committerThomas Lange [tl] <tl@openoffice.org>2010-05-27 13:33:32 +0200
commitfa373aa0dd778fdca5e00a53dc46078556bc0920 (patch)
tree7f85fb4722dae0589952187f02ec8528e1eca80b /testautomation/framework
parent98699f6f9bdd7c83a235808ccce16b47d2853e7c (diff)
parent0d294687b6d1111589a30edc3b41075c4ef8ca0c (diff)
cws tl79: merge with DEV300_m79
Diffstat (limited to 'testautomation/framework')
-rwxr-xr-xtestautomation/framework/optional/f_basic_vba-compat.bas10
-rwxr-xr-x[-rw-r--r--]testautomation/framework/optional/includes/CJK_CollationDialogue_1.inc16
-rwxr-xr-x[-rw-r--r--]testautomation/framework/optional/includes/CJK_RubyDialogueProposal_1.inc2
-rwxr-xr-x[-rw-r--r--]testautomation/framework/optional/includes/basic_gridcontrol.inc74
-rwxr-xr-xtestautomation/framework/optional/includes/basic_issues.inc106
-rwxr-xr-xtestautomation/framework/optional/includes/basic_vba-compat_application-union.inc132
-rwxr-xr-xtestautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc33
-rwxr-xr-xtestautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc76
-rwxr-xr-xtestautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc35
-rw-r--r--testautomation/framework/optional/includes/basic_vba-compat_security_check.inc105
-rwxr-xr-xtestautomation/framework/optional/includes/basic_vba-compat_thisworkbook.inc143
-rwxr-xr-xtestautomation/framework/optional/includes/basic_vba-compat_xlsm-xlsb.inc187
-rwxr-xr-x[-rw-r--r--]testautomation/framework/optional/includes/configuration.inc13
-rwxr-xr-xtestautomation/framework/optional/input/gridcontrol.odtbin11602 -> 12000 bytes
-rw-r--r--testautomation/framework/optional/input/vba-compat/Book1.xlsbin0 -> 18432 bytes
-rwxr-xr-xtestautomation/framework/optional/input/vba-compat/vba-application-union.xlsbin0 -> 31744 bytes
-rwxr-xr-xtestautomation/framework/optional/input/vba-compat/vba-project.xlsbbin0 -> 19603 bytes
-rwxr-xr-xtestautomation/framework/optional/input/vba-compat/vba-project.xlsmbin0 -> 20276 bytes
-rw-r--r--testautomation/framework/optional/input/vba-compat/vba-thisworkbook.xlsbin0 -> 39424 bytes
-rwxr-xr-x[-rw-r--r--]testautomation/framework/required/includes/printer_administration.inc42
-rwxr-xr-x[-rw-r--r--]testautomation/framework/tools/includes/CJK_tools.inc17
-rwxr-xr-xtestautomation/framework/tools/input/i18ndata.txt2
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
index b3e5c6fb40bb..d11d70cfbc09 100755
--- a/testautomation/framework/optional/input/gridcontrol.odt
+++ b/testautomation/framework/optional/input/gridcontrol.odt
Binary files differ
diff --git a/testautomation/framework/optional/input/vba-compat/Book1.xls b/testautomation/framework/optional/input/vba-compat/Book1.xls
new file mode 100644
index 000000000000..425c2e0687b0
--- /dev/null
+++ b/testautomation/framework/optional/input/vba-compat/Book1.xls
Binary files differ
diff --git a/testautomation/framework/optional/input/vba-compat/vba-application-union.xls b/testautomation/framework/optional/input/vba-compat/vba-application-union.xls
new file mode 100755
index 000000000000..b1f1be816b7b
--- /dev/null
+++ b/testautomation/framework/optional/input/vba-compat/vba-application-union.xls
Binary files differ
diff --git a/testautomation/framework/optional/input/vba-compat/vba-project.xlsb b/testautomation/framework/optional/input/vba-compat/vba-project.xlsb
new file mode 100755
index 000000000000..9fd88a8e545c
--- /dev/null
+++ b/testautomation/framework/optional/input/vba-compat/vba-project.xlsb
Binary files differ
diff --git a/testautomation/framework/optional/input/vba-compat/vba-project.xlsm b/testautomation/framework/optional/input/vba-compat/vba-project.xlsm
new file mode 100755
index 000000000000..6a8896e18599
--- /dev/null
+++ b/testautomation/framework/optional/input/vba-compat/vba-project.xlsm
Binary files differ
diff --git a/testautomation/framework/optional/input/vba-compat/vba-thisworkbook.xls b/testautomation/framework/optional/input/vba-compat/vba-thisworkbook.xls
new file mode 100644
index 000000000000..f275fd9cca0e
--- /dev/null
+++ b/testautomation/framework/optional/input/vba-compat/vba-thisworkbook.xls
Binary files differ
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