summaryrefslogtreecommitdiff
path: root/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc')
-rw-r--r--testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc154
1 files changed, 154 insertions, 0 deletions
diff --git a/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc b/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc
new file mode 100644
index 000000000000..f5e9c0c4f515
--- /dev/null
+++ b/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc
@@ -0,0 +1,154 @@
+'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 tBasicVBACompatImportEnabled()
+
+ printlog( "Test VBA compatibility switch / executable Microsoft(R) Excel(R) Macros" )
+ printlog( "Test case 3: Import macros and set them executable" )
+
+
+ ' 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"
+
+ dim cTestFile as string
+ cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/" & cFile
+
+ 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 iCurrentModule as integer
+ dim iCurrentScript as integer
+ dim cCurrentModule as string
+ dim cTempString as string
+ dim bFound as boolean
+
+ ' Depending on the mode of macro import we have differtent basic libraries listed
+ const NODE_COUNT = 74
+
+ 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" )
+
+ hSetExcelBasicImportMode( IMPORT_EXCEL_MACROS, EXEC_EXCEL_MACROS )
+
+ printlog( "Load the test file" )
+ hFileOpen( cTestFile )
+
+ printlog( "Open the Basic organizer" )
+ hOpenBasicOrganizerFromDoc()
+
+ printlog( "Expand all nodes" )
+ cNodeCount = hExpandAllNodes( MakroAus )
+
+ printlog( "Verify that we have the correct node count for the current mode." )
+ if ( cNodeCount <> NODE_COUNT ) then
+ warnlog( "The number of nodes is incorrect: " & cNodeCount )
+ printlog( "Expected were...................: " & NODE_COUNT )
+ endif
+
+ 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
+
+ for iCurrentModule = 2 to 3
+
+ printlog( "Look for: " & caNodeData( iCurrentModule ) )
+
+ bFound = FALSE
+
+ MakroAus.select( cNodeCount + DOCUMENT_POSITION_OFFSET + iCurrentModule )
+ cCurrentModule = MakroAus.getSelText()
+
+ if ( cCurrentModule = caNodeData( iCurrentModule ) ) then
+ bFound = TRUE
+ for iCurrentScript = 1 to MakroListe.getItemCount()
+ MakroListe.select( iCurrentScript )
+ if ( instr( caScripts( iCurrentModule ), MakroListe.getSelText() ) = 0 ) then
+ warnlog( "Script for the current module not found" )
+ bFound = FALSE
+ else
+ printlog( "Script found at pos" & iCurrentScript )
+ endif
+ next iCurrentScript
+ endif
+
+ if ( not bFound ) then
+ warnlog( "The node was not found: " & cCurrentModule )
+ endif
+
+ next iCurrentModule
+
+ printlog( "Close Macro Organizer" )
+ Kontext "Makro"
+ Makro.close()
+ WaitSlot()
+
+ hCloseDocument()
+ hSetExcelImportModeDefault()
+ hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT )
+
+endcase
+