merge the formfield patch from ooo-build
[ooovba.git] / testautomation / framework / optional / includes / security_evilmacro1.inc
blob9b45bd40b14ac319939786b1fac6647082ad9675
1 'encoding UTF-8  Do not remove or change this line!
2 '**************************************************************************
3 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 '* 
5 '* Copyright 2008 by Sun Microsystems, Inc.
6 '*
7 '* OpenOffice.org - a multi-platform office productivity suite
8 '*
9 '* $RCSfile: security_evilmacro1.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 12:18:15 $
15 '* This file is part of OpenOffice.org.
17 '* OpenOffice.org is free software: you can redistribute it and/or modify
18 '* it under the terms of the GNU Lesser General Public License version 3
19 '* only, as published by the Free Software Foundation.
21 '* OpenOffice.org is distributed in the hope that it will be useful,
22 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
23 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 '* GNU Lesser General Public License version 3 for more details
25 '* (a copy is included in the LICENSE file that accompanied this code).
27 '* You should have received a copy of the GNU Lesser General Public License
28 '* version 3 along with OpenOffice.org.  If not, see
29 '* <http://www.openoffice.org/license.html>
30 '* for a copy of the LGPLv3 License.
32 '/******************************************************************************
34 '*  owner : joerg.skottke@sun.com
36 '*  short description : Load documents containing hidden BASIC scripts
38 '\******************************************************************************
40 testcase tSecurityEvilMacro1()
42     '///<h1>Level 1 test: Allow macro execution/Security set to medium</h1>
43     '///<ul>
44     
45     dim acFile( 2 ) as string
47         acFile( 1 ) = gTesttoolPath & "framework\optional\input\security\test_macro.html"
48         acFile( 1 ) = convertpath( acFile( 1 ) )
50         acFile( 2 ) = gTesttoolPath & "framework\optional\input\security\test_macro.odt"
51         acFile( 2 ) = convertpath( acFile( 2 ) )
53     dim iCurrentFile as integer ' increment variable
54     dim cMsg as string          ' string from messagebox
55     dim brc as boolean          ' some returnvalue
56     
58     '///+<li>Do following for each document to be tested:</li>
59     '///<ul>
61     for iCurrentFile = 1 to ubound( acFile() )
63         printlog( "" )
64         printlog( "File: " & acFile( iCurrentFile ) )
66         '///+<li>Click FileOpen or go to the dialog via menu</li>
67         FileOpen
69         '///+<li>Enter the name of the file</li>
70         kontext "OeffnenDlg"
71         Dateiname.setText( acFile( iCurrentFile ) )
73         '///+<li>Click &quot;Open&quot;</li>
74         Oeffnen.click()
76         '///+<li>Verify that the security warning comes up, confirm to run macro.<br>
77         '///+ There should be no warning for security levels other than medium!</li>
78         brc = hAllowMacroExecution() 
79         if ( not brc ) then
80             warnlog( "Macro security dialog not triggered by document with macro" )
81         endif
83         '///+<li>Wait a moment for the document to get loaded</li>
85         '///+<li>Check for a messagebox to come up on load. This might only<br>
86         '///+ after a security warning has been displayed!</li>
87         kontext "Active"
88         if ( active.exists( 5 ) ) then
90             ' warn if macro runs without security warning
91             if ( not brc ) then
92                 cMsg = active.getText()
93                 cMsg = hRemoveLineBreaks( cMsg )
94                 if ( cMsg = "Hello from StarBasic" ) then
95                     warnlog( "The macro was executed without asking for permission" )
96                 else
97                     printlog( "Messagebox: " & cMsg )
98                 endif
99             endif
101             ' get the string on the messagebox
102             cMsg = active.getText()
103             cMsg = hRemoveLineBreaks( cMsg )
104             if ( cMsg = "Hello from StarBasic!" ) then
105                 printlog( "Macro was executed: " & cMsg )
106             else
107                 warnlog( "Unknown dialog is open. This is not the macro" )
108             endif
109             active.ok()
110         endif
112         '///+<li>Close the document</li>
113         call ExitRestartTheOffice()
115     next iCurrentFile
117     '///</ul>
118     '///</ul>
120 endcase