summaryrefslogtreecommitdiff
path: root/testautomation/writer/tools/includes/w_tool2.inc
blob: e9c9df318a53aae78ce969998559851e6f510e54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
'**************************************************************************
'* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
'*
'* Copyright 2008 by Sun Microsystems, Inc.
'*
'* OpenOffice.org - a multi-platform office productivity suite
'*
'* $RCSfile: w_tool2.inc,v $
'*
'* $Revision: 1.2 $
'*
'* last change: $Author: vg $ $Date: 2008-08-18 12:43:13 $
'*
'* 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 : helge.delfs@sun.com                                    **
'*                                                                **
'* short description : Description of file                        **
'*                                                                **
'*******************************************************************
'*                                                                **
' #1 OptionenAufrufen
' #1 CheckUberpruefen
' #1 UnCheckUeberpruefen
' #1 WortErgaenzen
'*                                                                **
'\******************************************************************

sub OptionenAufrufen(Seite as string)
    Dim i as integer, GotItAlready as Boolean
    Kontext
    ToolsAutoCorrect
    For i = 1 to 5
        Kontext "Active"
        if Active.Exists then
            if Active.GetRT = 304 then
                if i = 1 then
                    Warnlog Active.Gettext + " Bug#90025"
                    GotItAlready = True
                end if
                Active.Ok
            end if
        end if
    next i
    Kontext
    Select case Seite
    case "TabErsetzung"   : active.SetPage TabErsetzung
    case "TabAusnahmen"   : active.SetPage TabAusnahmen
    case "TabOptionen"    : active.SetPage TabOptionen
    case "TabTypografisch": active.SetPage TabTypografisch
    end select
    for i = 1 to 5
        Kontext "Active"
        if Active.Exists then
            if Active.GetRT = 304 then
                if i = 1 and GotItAlready = False then Warnlog Active.Gettext + " Bug#90025"
                Active.Ok
            end if
        end if
    next i
    Kontext Seite
end sub



sub CheckUberpruefen ( Pruefung$ )
    Call wTypeKeys Pruefung$
    wait 100
    Call wTypeKeys "<Home><Shift End>"
    EditCopy
    if GetClipboardText = Pruefung$ then Warnlog "Text has not been replaced"
    Call wTypeKeys "<Home><Shift End><Delete>"
end sub

sub UnCheckUeberpruefen ( Pruefung$ )
    Call wTypeKeys Pruefung$
    wait 100
    Call wTypeKeys "<Home><Shift End>"
    EditCopy
    if GetClipboardText <> Pruefung$ then Warnlog "Text has been replaced"
    Call wTypeKeys "<Home><Shift End><Delete>"
end sub


sub WortErgaenzen(Tastaturbefehl as string)
    Call wTypeKeys "Die"
    Wait 500
    Call wTypeKeys Tastaturbefehl
    Call wTypeKeys "<End><Mod1 Shift Left>"
    EditCopy
    if GetClipBoardtext = "Dies" then Warnlog "Word 'Dies' has been completed!"
    if Tastaturbefehl = "<Return>" then Call wTypeKeys "<Return>"

    Call wTypeKeys "auto"
    Wait 500
    Call wTypeKeys Tastaturbefehl
    Call wTypeKeys "<End><Mod1 Shift Left>"
    EditCopy
    if GetClipBoardtext <> "automatischen" then Warnlog "Word 'automatischen' has not been completed!"
    if Tastaturbefehl = "<Return>" then Call wTypeKeys "<Return>"

    Call wTypeKeys "Wor"
    Wait 500
    Call wTypeKeys Tastaturbefehl
    Call wTypeKeys "<End><Mod1 Shift Left>"
    EditCopy
    if GetClipBoardtext <> "Worterkennung" then Warnlog "Word 'Worterkennung' has not been completed!"
    if Tastaturbefehl = "<Return>" then Call wTypeKeys "<Return>"

end sub

' -----------------------------------------------------------------------------

function wCreateAutotextCategory(vCategoryName as string) as boolean
    Dim i as integer, bCategoryExist as boolean
    '/// This function creates an autotext-category
    '/// requires CategoryName to create
    '/// returns true if category could be created
    '/// Attention: Autotext-Dialog leaves open after creating category
    Kontext "Autotext"
    if Not Autotext.Exists then EditAutotext

    Kontext "Active"
    if Active.Exists then
        if Active.GetRT = 304 then
            QAErrorlog Active.Gettext
            Active.Ok
        end if
    end if

    Kontext "Autotext"
    try
        Bereiche.Click
        Kontext "Active"
        if Active.Exists then
            if Active.GetRT = 304 then
                QAErrorlog Active.Gettext
                Active.Ok
            end if
        end if
    catch
        Warnlog "Button 'Categories' is disabled!"
        exit function
    endcatch

    Kontext "BereicheBearbeitenAutotext"
    if ( BereicheBearbeitenAutotext.Exists( 1 ) ) then

        Liste.TypeKeys "<Home>"
        For i = 1 to Liste.GetItemCount
            if Liste.GetText = vCategoryName then
                QAErrorlog "Category " & vCategoryName & " already existing"
                bCategoryExist = true
                exit for
            end if
        next i

        if bCategoryExist = false then
            for i = 1 to Pfad.GetItemCount
                Pfad.Select i
                Bereich.Settext vCategoryName
                try
                    Neu.Click
                    exit for
                catch
                    if i = Pfad.GetItemCount then
                        Warnlog "Unable to create new category"
                        BereicheBearbeitenAutotext.Close
                        exit function
                    end if
                endcatch
            next i

            if Liste.GetText <> vCategoryName then
                Warnlog "New category is not selected after creation"
                try
                    Liste.Select vCategoryName
                    wCreateAutotextCategory = true
                catch
                    exit function
                endcatch
            else
                wCreateAutotextCategory = true
            end if
        else
            wCreateAutotextCategory = true
        end if

        BereicheBearbeitenAutotext.Ok

        Kontext "Active"
        if Active.Exists then
            if Active.GetRT = 304 then
                QAErrorlog Active.Gettext
                Active.Ok
            end if
        end if

    else
        warnlog( "Dialog <BereicheBearbeitenAutotext> is not available" )
    endif

end function

' -----------------------------------------------------------------------------

function wSelectAutotextCategory(vCategoryName as string) as boolean
    Dim i as integer
    '/// This function selects an autotext-category
    '/// requires CategoryName to select
    '/// returns true if category could be selected
    '/// Attention: Autotext-Dialog leaves open after selecting category
    Kontext "Autotext"
    if Not Autotext.Exists then EditAutotext

    Kontext "Active"
    if Active.Exists then
        if Active.GetRT = 304 then
            QAErrorlog Active.Gettext
            Active.Ok
        end if
    end if
    '/// close all categories
    Kontext "Autotext"
    Liste.Select 1
    for i=1 to 10
        Liste.TypeKeys "-"
        Liste.TypeKeys "<Down>"
        wait 500
    next i

    Liste.TypeKeys "<Home>"
    for i=1 to 10
        if Liste.Gettext <>  vCategoryName then
            Liste.TypeKeys "<Down>"
            wait 500
        end if
    next i

    if Liste.Gettext =  vCategoryName then wSelectAutotextCategory = true

end function

' -----------------------------------------------------------------------------

function wDeleteAutotextCategory(vCategoryName as string) as boolean
    Dim i as integer
    '/// This function deletes an autotext-category
    '/// requires CategoryName to delete
    '/// returns true if category could be deleted
    '/// Attention: Autotext-Dialog leaves open after deleting category
    Kontext "Autotext"
    if Not Autotext.Exists then EditAutotext

    Kontext "Active"
    if Active.Exists then
        if Active.GetRT = 304 then
            QAErrorlog Active.Gettext
            Active.Ok
        end if
    end if

    Kontext "Autotext"
    try
        Bereiche.Click

        Kontext "Active"
        if Active.Exists then
            if Active.GetRT = 304 then
                QAErrorlog Active.Gettext
                Active.Ok
            end if
        end if

    catch
        Warnlog "Button 'Categories' is disabled!"
        exit function
    endcatch

    wait 500
    Kontext "BereicheBearbeitenAutotext"
    if Not BereicheBearbeitenAutotext.Exists then exit function

    Liste.TypeKeys "<Home>"
    for i=1 to 10
        if Liste.Gettext <>  vCategoryName then
            Liste.TypeKeys "<Down>"
            wait 500
        end if
    next i

    if Liste.Gettext = vCategoryName then
        try
            Loeschen.Click
        catch
            exit function
            BereicheBearbeitenAutotext.Close
        endcatch
    end if
    BereicheBearbeitenAutotext.Ok

    Kontext "Active"
    if Active.Exists then
        if Active.GetRT = 304 then
            try
                Active.Yes
                wDeleteAutotextCategory = true
                Sleep 1
            catch
                Active.Ok
            endcatch
        end if
    end if

    Kontext "Active"
    if Active.Exists then
        if Active.GetRT = 304 then
            QAErrorlog Active.Gettext
            Active.Ok
        end if
    end if

end function

'----------------------------------------------------------------------

function wDeleteAutotext(vAutotextName as string) as boolean
    '/// This function deletes an autotext
    '/// requires AutotextName to delete
    '/// returns true if Autotext could be deleted
    '/// Attention: Autotext-Dialog leaves open after deleting autotext

    Dim j as integer, sAll as integer
    Kontext "Autotext"
    if Not Autotext.Exists then EditAutotext

    Kontext "Active"
    if Active.Exists then
        if Active.GetRT = 304 then
            QAErrorlog Active.Gettext
            Active.Ok
        end if
    end if

    Kontext "Autotext"
    Liste.Select 1
    for j=1 to 10
        Liste.TypeKeys "-"
        Liste.TypeKeys "<Down>"
        wait 500
    next j

    Liste.Select 1
    Liste.TypeKeys "+"
    sAll = Liste.GetItemCount
    For j = 1 to sAll
        Liste.TypeKeys "<Down>"
        if Liste.Gettext = vAutotextName then
            try
                Menue.Click
                wait 500
                Call hMenuSelectNr ( 3 )
                Kontext "Active"
                if Active.Exists and Active.GetRT = 304 then
                    Active.yes
                    wDeleteAutotext = true
                else
                    Warnlog "No messages to confirm deleting the Autotext!"
                end if
                exit for
            catch
                Warnlog "Menu Autotext->'Delete' disabled ! Test failed !"
            endcatch
        end if
        Liste.TypeKeys "+"
        sAll = Liste.GetItemCount
    next j

end function