merge the formfield patch from ooo-build
[ooovba.git] / testautomation / global / required / includes / g_009.inc
blobb3b3dc4cd8f9ad96ea3f88395718b27d2b8b9f9d
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: g_009.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-13 10:27:03 $
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 : thorsten.bosbach@sun.com
36 '* short description : Global resource tests for the menu: Help
38 '*************************************************************************
40 ' #1 tHelpCheckForUpdates
42 '\************************************************************************
44 testcase tHelpCheckForUpdates
45     dim sTemp as string
46     dim sIniFile as string
47     dim i,a as integer
48     dim bProxy as boolean
49     dim bOnceAgain as boolean
50     dim sProxyFile as string
51     dim iOldProxy as integer
52    
53     bProxy = FALSE
54     bOnceAgain = TRUE
55    
56     '/// open application ///'
57     Call hNewDocument
59     if gPlatGroup = "unx" then
60         sIniFile = convertPath(gNetzOfficePath+"program/versionrc")
61     else
62         sIniFile = convertPath(gNetzOfficePath+"program\version.ini")
63     endif
64     sTemp = GetIniValue (sIniFile, "Version", "UpdateURL")
65     if (sTemp <> "" AND NOT gOOO) then 
66         '/// choose Help -> Check for Updates... ///'
67         while (bOnceAgain)
68             if bProxy AND bOnceAgain then
69                 bOnceAgain = FALSE
70             endif
71             try
72                 HelpCheckForUpdates
73             catch
74                 bOnceAgain = FALSE
75                 if (gtplatform = "sol") OR (gtplatform = "x86") or gOOO then
76                     printlog "This could be a (patched) installation on Solaris Sparc/Intel or OOo - No Online Update Feature available."
77                     hCloseDocument
78                 else
79                         warnlog "Help->Check for Updates failed"
80                         hCloseDocument
81                 endif
82                 goto endsub
83             endcatch
84             ' The dialog has to come up: 'Check for Updates'
85             Kontext "CheckForUpdates"
86 '            if CheckForUpdates.exists(10) then ' id not in build for dialog workaround: ' not working due to i 80859
87             if Status.exists(10) then
88                 if sTemp <> "" then
89                     printlog "'Check for Updates' came up"
90                 else
91                     warnlog "'Check for Updates' came up, but the feature is disabled and the dialog hasn't to come up"
92                     bOnceAgain = FALSE
93                 endif
94                 'dialogTest(CheckForUpdates) ' not working due to i 80859
95                 '/// A messagebox comes up with either CANCEL and/or OK -> press CANCEL or the only available button. ///'
96                 ' And will be overlayed soon by an 'active'
97                 Kontext
98                 if active.exists(6) then
99                     printlog "Active text: '" + active.getText + "'"
100                     try
101                         active.cancel
102                         printlog "Pressed CANCEL"
103                     catch
104                         active.ok
105                         printlog "Pressed OK"
106                     endcatch
107                     bOnceAgain = FALSE
108                 else
109                     bOnceAgain = FALSE
110                     Kontext "CheckForUpdates"
111                     try
112                        CheckForUpdates.cancel
113                     catch
114                        'cancel button is no more availabale
115                        printlog "cancel wasnt possible"
116                        try
117                            'CheckForUpdates.close
118                            ' close method doesn't work
119                            printlog "1:"+status.gettext
120                            printlog "2:"+description.gettext
121                            closebtn.click
122                        catch
123                            printlog "close wasnt possible"
124                            ' last fallback
125                            'printlog resetapplication
126                            'hNewDocument
127                            printlog "1:"+status.gettext
128                            printlog "2:"+description.gettext
129                            cancel.click
130                        endcatch
131                     endcatch
132                 endif
133             else
134                 bOnceAgain = FALSE
135                 if sTemp <> "" then
136                     if (gtplatform = "sol") OR (gtplatform = "x86") or gOOO then
137                         printlog "This could be a (patched) installation on Solaris Sparc/Intel or OOo - No Online Update Feature available."
138                     else
139                         warnlog "Dialog didn't came up: 'Check for Updates'; URL that was called is: '" + sTemp + "'"
140                     endif
141                 else
142                     warnlog "Online Update Feature isn't available in this build, but calling Help -> Check for Updates is possible? (no 'UpdateURL' in file: '"+sIniFile+"')"
143                 endif
144             endif
145             ' Set proxy to get connection to update server
146             if bProxy then
147                 ToolsOptions
148                 hToolsOptions("INTERNET","PROXY")
149                 Kontext "TabProxyServer"
150                 a = ProxyServer.getItemCount
151                 for i = 1 to a
152                     printlog "(" + i + "/" + a + "): '" + ProxyServer.getItemText(i) + "'"
153                 next i
154                 ProxyServer.select(a) ' should be always manual
155                 if HttpProxy.isEnabled AND (privateProxyServer <> "") then
156                     HttpProxy.setText privateProxyServer
157                     HttpPort.setText cStr(privateProxyPort)
158                     if bOnceAgain then
159                         iOldProxy = ProxyServer.getSelIndex
160                     else
161                         ProxyServer.select(iOldProxy)
162                     endif
163                     Kontext "OptionenDlg"
164                     OptionenDlg.OK
165                 else
166                     if privateProxyServer <> "" then
167                         warnLog "Wrong assumption that last entry is 'manual'! " + ProxyServer.getItemText(a)
168                     else
169                         qaErrorLog "Maybe you need to use a proxy server to connect to the internet."
170                     endif
171                     Kontext "OptionenDlg"
172                     OptionenDlg.Cancel
173                     bOnceAgain = FALSE
174                 endif
175             endif
176                     bOnceAgain = FALSE
177         wend
178     else
179         qaErrorlog "Test disabled, because it is OOo build and UpdateURL is empty and calling the slot would succeed"
180     endif
181     '/// close application ///'
182     Call hCloseDocument
183 endcase