summaryrefslogtreecommitdiff
path: root/testautomation/framework/optional/includes/scripting_organizers.inc
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/framework/optional/includes/scripting_organizers.inc')
-rw-r--r--testautomation/framework/optional/includes/scripting_organizers.inc281
1 files changed, 281 insertions, 0 deletions
diff --git a/testautomation/framework/optional/includes/scripting_organizers.inc b/testautomation/framework/optional/includes/scripting_organizers.inc
new file mode 100644
index 000000000000..5f804a951ea2
--- /dev/null
+++ b/testautomation/framework/optional/includes/scripting_organizers.inc
@@ -0,0 +1,281 @@
+'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 : gregor.hartmann@oracle.com
+'*
+'* short description : Test scripting-organizers / document-attached scripts
+'*
+'\******************************************************************************
+
+testcase tScriptingOrganizers( iDialog as integer )
+
+ if ( instr( gtSysName , "Solaris" ) > 0 ) then
+ qaerrorlog( "#i93502# JavaScript organizer broken" )
+ goto endsub
+ endif
+
+ ' 1 = BeanShell (.bsh)
+ ' 2 = JavaScript (.js)
+
+ const IDOCPOS = 3
+
+ dim cFileName as string
+ cFileName = "sftest" & hGetSuffix( "current" )
+ dim cCompare as string
+
+ dim cFilePath as string
+ cFilePath= hGetWorkPath() & cFileName
+ cFilePath= convertpath( cFilePath )
+
+ dim iPos as integer ' position of the workdocument in treelist
+ dim brc as boolean ' boolean return code used to determine the status
+
+ dim cLibName as string
+ cLibName = "TTLib"
+ dim cModName as string
+ cModName = "TTMod"
+ dim cScriptName as string
+
+ dim iItemCount as integer
+
+ printlog( "" )
+ printlog( "Test init: set macro security level to low" )
+ hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW )
+
+ select case iDialog
+ case 1 : cScriptName = cModName & ".bsh"
+ case 2 : cScriptName = cModName & ".js"
+ end select
+
+ brc = hDeleteFile( cFilePath )
+
+ printlog( "Test init: Create and prepare document" )
+ brc = hCreateDocument()
+
+ call hChangeDoc()
+
+ brc = hFileSaveAsKill( cFilePath )
+
+ printlog( "" )
+ printlog( "Test 1: ScriptOrganizer/Documents" )
+ brc = hOpenScriptOrganizer( iDialog )
+ if ( not brc ) then
+ warnlog( "Could not open the script Organizer, aborting" )
+ brc = hDestroyDocument()
+ goto endsub
+ endif
+
+ kontext "ScriptOrganizer"
+ iItemCount = hGetNodeCount( ScriptTreeList )
+
+ if ( ScriptTreeList.getItemCount() <> IDOCPOS ) then
+ warnlog( "Incorrect number of documents listed in treelist, aborting" )
+ kontext "ScriptOrganizer"
+ ScriptOrganizer.cancel()
+ brc = hDestroyDocument()
+ goto endsub
+ endif
+
+ kontext "ScriptOrganizer"
+ ScriptTreeList.select( IDOCPOS )
+
+ if ( not PBCreate.isEnabled() ) then
+ warnlog( "Create button should be enabled" )
+ endif
+
+ if ( PBEdit.isEnabled() ) then
+ warnlog( "Edit button should be disabled" )
+ endif
+
+ if ( PBRename.isEnabled() ) then
+ warnlog( "Rename button should be disabled" )
+ endif
+
+ if ( PBDelete.isEnabled() ) then
+ qaerrorlog( "#i50527# - Delete button should be disabled" )
+ endif
+
+
+ printlog( "" )
+ printlog( "Test 2: Libraries/Scripts create/rename" )
+
+ brc = hCreateScriptingObject( "initial_lib" )
+
+ brc = hRenameScriptingObject( cLibName )
+
+ brc = hVerifyNodeName( ScriptTreeList , cLibName )
+ if ( not brc ) then
+ qaerrorlog( "#i50526# Renaming failed: " & cLibName )
+ endif
+
+ cLibName = ScriptTreeList.getSelText()
+
+ if ( not PBCreate.isEnabled() ) then
+ warnlog( "Create button should be enabled" )
+ endif
+
+ if ( PBEdit.isEnabled() ) then
+ warnlog( "Edit button should be disabled" )
+ endif
+
+ if ( not PBRename.isEnabled() ) then
+ warnlog( "Rename button should be enabled" )
+ endif
+
+ if ( not PBDelete.isEnabled() ) then
+ warnlog( "Delete button should be enabled" )
+ endif
+
+ brc = hCreateScriptingObject( "initial_mod" )
+
+ brc = hRenameScriptingObject( cModName )
+
+ brc = hVerifyNodeName( ScriptTreeList , cScriptName )
+ if ( not brc ) then
+ qaerrorlog( "#i50526# Renaming failed: " & cScriptName )
+ endif
+
+ cModName = ScriptTreeList.getSelText()
+
+ if ( PBCreate.isEnabled() ) then
+ warnlog( "Create button should not be enabled" )
+ endif
+
+ if ( not PBEdit.isEnabled() ) then
+ warnlog( "Edit button should be enabled" )
+ endif
+
+ if ( not PBRename.isEnabled() ) then
+ warnlog( "Rename button should be enabled" )
+ endif
+
+ if ( not PBDelete.isEnabled() ) then
+ warnlog( "Delte button should be enabled" )
+ endif
+
+ kontext "ScriptOrganizer"
+ hCloseDialog( ScriptOrganizer, "close" )
+
+ printlog( "" )
+ printlog( "Test 3: Script storage in documents (save/load)" )
+ try
+ hFileSave
+ catch
+ warnlog( "Document Changed status not set" )
+ hChangeDoc()
+ hFileSave
+ endcatch
+
+ brc = hDestroyDocument()
+
+ brc = hFileOpen( cFilePath )
+
+ brc = hOpenScriptOrganizer( iDialog )
+
+ ScriptTreeList.select( 3 )
+
+ iPos = hExpandNode( ScriptTreeList , 0 )
+
+ ScriptTreeList.select( 4 )
+
+ iPos = hExpandNode( ScriptTreeList , 0 )
+ ScriptTreeList.select( 5 )
+
+
+ printlog( "" )
+
+ printlog( "Test 4: Script removal / Document changed" )
+ brc = hDeleteScript( cModName , true )
+ if ( not brc ) then
+ warnlog( "Bad rc: hDelteScript()" )
+ endif
+
+ brc = hDeleteScript( cLibName , true )
+ if ( not brc ) then
+ warnlog( "Bad rc: hDelteScript()" )
+ endif
+
+ brc = hDeleteScript( cFileName , false )
+ if ( not brc ) then
+ qaerrorlog( "#i50527# Delete enabled for document object" )
+ endif
+
+ kontext "ScriptOrganizer"
+ hCloseDialog( ScriptOrganizer, "close" )
+
+ try
+ hFileSave
+ catch
+ warnlog( "Document Changed status expected after script deletion" )
+ brc = hChangeDoc()
+ hFileSave
+ endcatch
+
+ brc = hDestroyDocument()
+
+ printlog( "Reload the document." )
+ brc = hFileOpen( cFilePath )
+ if ( brc ) then
+ qaerrorlog( "#i50530# Macros not completely removed from doc when deleted" )
+ endif
+
+ printlog( "" )
+ printlog( "Test 5: Verification of script removal" )
+ brc = hOpenScriptOrganizer( iDialog )
+ kontext "ScriptOrganizer"
+ iItemCount = hGetNodeCount( ScriptTreeList )
+ if ( iItemCount <> IDOCPOS ) then
+ warnlog( "Treelist not populated, the test cannot continue" )
+ kontext "ScriptOrganizer"
+ hCloseDialog( ScriptOrganizer, "close" )
+ brc = hDestroyDocument()
+ goto endsub
+ endif
+
+ iPos = hExpandNode( ScriptTreeList , IDOCPOS )
+ if ( iPos <> 3 ) then
+ warnlog( "Not all libraries/scripts have been deleted" )
+ endif
+
+ kontext "ScriptOrganizer"
+ hCloseDialog( ScriptOrganizer, "close" )
+
+ kontext "Navigator"
+ hCloseDialog( Navigator, "close,optional" )
+
+ brc = hDestroyDocument()
+
+ brc = hDeleteFile( cFilePath )
+ if ( not brc ) then
+ warnlog( "Could not delete: " & cFilePath & " - do so manually!" )
+ endif
+
+
+ hSetmacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT )
+
+
+endcase