update dev300-m58
[ooovba.git] / testautomation / graphics / optional / includes / global / g_autocorrection.inc
blob21cda12dc6f4d176de0afaa4f65bfa7dde95a970
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_autocorrection.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 10:42:39 $
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 : wolfram.garten@sun.com
36 '* short description :
38 '*******************************************************************
40 ' #1 tToolsAutocorrectReplace
41 ' #1 tToolsAutocorrectExceptions
42 ' #1 tToolsAutocorrectCustomQuotes
43 ' #1 tToolsAutocorrectOption
45 '\*******************************************************************
47 ' Tools->Autocorrect...
48 ' Replace; Exceptions; Options; Custom Quotes
49 ' these are Language
50 ' dependant in the
51 ' listbox above!!
52 ' box only enabled, if the both tabpages are selected ...
54 testcase tToolsAutocorrectReplace
56     dim i as integer
57     dim x as integer
58     dim iTemp as integer
60     Call hNewDocument
62     ToolsAutocorrect
63     Kontext
64     active.SetPage TabErsetzung
65     Kontext "TabErsetzung"
66     iTemp = WelcheSprache.GetItemCount
67     for i = 1 to iTemp
68         WelcheSprache.select i
69         sleep 1
70         x = Liste.getItemCount
71         '         results from an english version:
72         '         - 28: English (UK): 807
73         '         - 29: English (USA): 807
74         '         - 38: French (France): 304
75         '         - 43: German (Germany): 100
76         '         - 102: Spanish (Spain): 353
77         if (x <> 0) then
78             printlog " - " + i + ": " + WelcheSprache.getSelText + ": " + x
79             '               printlog "    " + Liste.getItemText (5,1) + " - " + Liste.getItemText (5,2)
80         endif
81     next i
82     TabErsetzung.OK
84     hCloseDocument
85 endcase
87 testcase tToolsAutocorrectExceptions
88     dim i as integer
89     dim x as integer
90     dim y as integer
91     dim iTemp as integer
93     Call hNewDocument
95     ToolsAutocorrect
96     Kontext
97     active.SetPage TabAusnahmen
98     Kontext "TabAusnahmen"
99     iTemp = WelcheSprache.GetItemCount
100     for i = 1 to iTemp
101         WelcheSprache.select i
102         sleep 1
103         x = AbkuerzungenListe.getItemCount
104         '         results from an english version:
105         '             - 28: English (UK): 120
106         '             - 28: English (UK): 7
107         '             - 29: English (USA): 120
108         '             - 29: English (USA): 7
109         '             - 38: French (France): 50
110         '             - 38: French (France): 1
111         '             - 43: German (Germany): 123
112         '             - 43: German (Germany): 20
113         '             - 102: Spanish (Spain): 115
114         '             - 102: Spanish (Spain): 1
115         if (x <> 0) then
116             printlog " - " + i + ": " + WelcheSprache.getSelText + ": " + x
117             '                printlog "    " + AbkuerzungenListe.getItemText (5)
118         endif
119         y = WoerterListe.getItemCount
120         if (y <> 0) then
121             printlog " - " + i + ": " + WelcheSprache.getSelText + ": " + y
122             '                printlog "    " + WoerterListe.getItemText (5)
123         endif
124     next i
125     TabAusnahmen.OK
127     hCloseDocument
128 endcase
130 '-------------------------------------------------------------------------------
131 testcase tToolsAutocorrectCustomQuotes(bSimple as boolean)
133     ' bSinple = true: use simple quotes ;; else Double Quotes
134     Dim Vorn$
135     Dim Hinten$
136     Dim Normal$
137     dim sTemp as string
138     dim sFileName as string
140     if (gApplication = "IMPRESS") then
141         ExtensionString = "odp"
142     else
143         ExtensionString = "odg"
144     end if
146     if iSprache = "1" OR iSprache = "33" OR iSprache = "34" OR iSprache = "36" OR iSprache = "39" OR iSprache = "46" OR iSprache = "48" OR iSprache = "49" OR iSprache = "55" then
147         sFileName = (ConvertPath ( gTesttoolPath + "graphics\required\input\rightfont" & iSprache & "." + ExtensionString ))
148     elseif bAsianLan = true then
149         Printlog "Language-file for Asian language " & iSprache & " is missing. Using standard instead."
150         sFileName = (ConvertPath ( gTesttoolPath + "graphics\required\input\rightfont." + ExtensionString))
151     else
152         warnlog "Language-file for language " & iSprache & " is missing. Using standard instead."
153         sFileName = (ConvertPath ( gTesttoolPath + "graphics\required\input\rightfont." + ExtensionString))
154     endif
156     if hFileExists ( sFileName ) = FALSE then
157         warnlog "The language-file was not found or accessible! The test ends."
158         goto endsub
159     endif
161     'HDE has same problems in w_106a.inc ;-) !!! migrate ?!?! ///'
162     Call hNewDocument
164     hFileOpen sFileName
165     printlog "File opened: " + sFileName
166     Sleep 3
168     Call sMakeReadOnlyDocumentEditable
170     if bSimple then
171         Printlog "- Tools/Autocorrect -single quotes"
172         Normal$ = Chr(39)
173         select case iSprache
174         case 01 : Vorn$ = Chr(8216) : Hinten$ = Chr(8217)
175         case 03 : Vorn$ = Chr(8216) : Hinten$ = Chr(8217)
176         case 07 : qaerrorlog "Test impossible. No quotes in russian!"
177             hCloseDocument
178             goto endsub
179         case 31 : Vorn$ = Chr(8218) : Hinten$ = Chr(8216)
180         case 33 : Vorn$ = Chr(8216) : Hinten$ = Chr(8217)
181         case 34 : Vorn$ = Chr(8216) : Hinten$ = Chr(8217)
182         case 36 : Vorn$ = Chr(187)  : Hinten$ = Chr(171)
183         case 39 : Vorn$ = Chr(8216) : Hinten$ = Chr(8217)
184         case 45 : Vorn$ = Chr(8217) : Hinten$ = Chr(8217)
185         case 46 : Vorn$ = Chr(8217) : Hinten$ = Chr(8217)
186         case 48 : Vorn$ = Chr(8216) : Hinten$ = Chr(8217)
187         case 49 : Vorn$ = Chr(8218) : Hinten$ = Chr(8216)
188         case 55 : Vorn$ = Chr(8216) : Hinten$ = Chr(8217)
189         case 81, 82, 86, 88 : Vorn$ = Chr(8216) : Hinten$ = Chr(8217) ' Asian
190         case else : Warnlog "- Nothing prepared for this language, but I run: take the warnlogs an insert the numbers here.: "+iSprache
191             Vorn$ = Chr(8216) : Hinten$ = Chr(8217)
192         end select
193     else
194         Printlog "- Tools/Autocorrect -double quotes"
195         Normal$ = Chr(34)
196         select case iSprache
197         case 01 : Vorn$ = Chr(8220) : Hinten$ = Chr(8221)
198         case 03 : Vorn$ = Chr(8220) : Hinten$ = Chr(8221)
199         case 07 : qaerrorlog "Test not possible. No quotes in russian !"
200             Call hCloseDocument
201             goto endsub
202         case 31 : Vorn$ = Chr(8222) : Hinten$ = Chr(8220)
203         case 33 : Vorn$ = Chr(171)  : Hinten$ = Chr(187)
204         case 34 : Vorn$ = Chr(8220) : Hinten$ = Chr(8221)
205         case 36 : Vorn$ = Chr(8222) : Hinten$ = Chr(8221)
206         case 39 : Vorn$ = Chr(8220) : Hinten$ = Chr(8221)
207         case 45 : Vorn$ = Chr(8221) : Hinten$ = Chr(8221)
208         case 46 : Vorn$ = Chr(8221) : Hinten$ = Chr(8221)
209         case 48 : Vorn$ = Chr(8222) : Hinten$ = Chr(8221)
210         case 49 : Vorn$ = Chr(8222) : Hinten$ = Chr(8220)
211         case 55 : Vorn$ = Chr(8220) : Hinten$ = Chr(8221)
212         case 81, 82, 86, 88 : Vorn$ = Chr(8220) : Hinten$ = Chr(8221) ' Asian
213         case else : Warnlog "- Nothing prepared for this language: "+iSprache
214             goto endsub
215         end select
216     endif
217     Printlog "   - replace quotes" '------------------------------------------------------------------------------------------
218     ToolsAutocorrect
219     Kontext
220     active.SetPage TabTypografisch
221     Kontext "TabTypografisch"
222     if bSimple then
223         EinfacheErsetzen.Check
224     else
225         DoppelteErsetzen.Check
226         DoppeltStandard.Click
227     endif
228     TabTypografisch.OK
229     sleep 5
230     gMouseClick 50,50
231     sleep 5
232     hTextrahmenErstellen ( Normal$ + "Hallo" + Normal$ + " ",20,20,60,30)
233     sleep 5
234     hTypeKeys ("<Home><Shift Right>")
235     sleep 5
236     EditCopy
237     sTemp = GetClipboardText
238     if (sTemp <> Vorn$) then
239         Warnlog "The beginning quote seems wrong. Should be :'" + Vorn$ +"':"+ASC(vorn$)+ ":  but it is = :'" + sTemp +"':"+ASC(sTemp)+":"
240     endif
241     sleep 1
242     hTypeKeys "<End><Left><Shift Left>"
243     Sleep 1
244     EditCopy
245     sTemp = GetClipboardText
246     if (sTemp <> Hinten$) then
247         Warnlog "The end quote seems wrong. Should be :" + Hinten$ +":"+ASC(Hinten$) +":  but it is :" + sTemp + ":"+ASC(sTemp)+":"
248     endif
250     hTypeKeys "<Home><Shift End><Delete>"
252     Printlog "   - dont replace quotes" '------------------------------------------------------------------------------------------
253     ToolsAutocorrect
254     Kontext
255     Active.SetPage TabTypografisch
256     Kontext "TabTypografisch"
257     if bSimple then
258         EinfacheErsetzen.Uncheck
259     else
260         DoppelteErsetzen.Uncheck
261     endif
262     TabTypografisch.OK
263     sleep 1
264     gMouseClick 50,50
265     sleep 1
266     hTextrahmenErstellen ( Normal$ + "Hello" + Normal$ + " ",20,20,60,30)
267     sleep 1
268     hTypeKeys "<Home><Shift Right>"
269     Sleep 1
270     EditCopy
271     sTemp = GetClipboardText
272     if (sTemp <> Normal$) then
273         Warnlog "The beginning quote seems wrong. Should be :'" + Vorn$ +"':"+ASC(vorn$)+ ":  but it is = :'" + sTemp +"':"+ASC(sTemp)+":"
274     endif
276     hTypeKeys "<End><Left><Shift Left>"
277     Sleep 1
278     EditCopy
279     sTemp = GetClipboardText
280     if (sTemp <> Normal$) then
281         Warnlog "The end quote seems wrong. Should be :" + Hinten$ +":"+ASC(Hinten$) +":  but it is :" + sTemp + ":"+ASC(sTemp)+":"
282     endif
283     hTypeKeys "<Home><Shift End><Delete>"
285     Printlog "   - replace quotes" '------------------------------------------------------------------------------------------
286     ToolsAutocorrect
287     Kontext
288     active.SetPage TabTypografisch
289     Kontext "TabTypografisch"
290     if bSimple then
291         EinfacheErsetzen.Check
292         EinfachWortAnfang.Click
293     else
294         DoppelteErsetzen.Check
295         DoppeltWortAnfang.Click
296     endif
297     Kontext "Sonderzeichen"
298     sleep 1
299     Schriftliste.TypeKeys "<Home>"
300     Schriftliste.TypeKeys "<Right>", 91 '123
301     sleep 1
302     Sonderzeichen.OK
304     Kontext "TabTypografisch"
305     if bSimple then
306         EinfachWortEnde.Click
307     else
308         DoppeltWortEnde.Click
309     endif
310     Kontext "Sonderzeichen"
311     sleep 1
312     Schriftliste.TypeKeys "<Home>"
313     Schriftliste.TypeKeys "<Right>", 93 '125
314     sleep 1
315     Sonderzeichen.OK
317     Kontext "TabTypografisch"
318     TabTypografisch.OK
319     sleep 5
320     gMouseClick 50,50
321     sleep 5
322     hTextrahmenErstellen ( Normal$ + "Hello" + Normal$ + " ",20,20,60,30)
323     sleep 2
324     hTypeKeys "<Home><Shift Right>"
325     Sleep 5
326     EditCopy
327     sTemp = GetClipboardText
328     if (sTemp <> Chr(123)) then
329         Warnlog "Beginning quote is wrong. It should be :" + Chr (123) + ":123:  but it is = " + sTemp +":"+ASC(sTemp)+":"
330     endif
332     hTypeKeys "<End><Left><Shift Left>"
333     Sleep 1
334     EditCopy
335     sTemp = GetClipboardText
336     if (sTemp <> Chr(125)) then
337         Warnlog "The end quote is wrong, it should be :" + Chr (125) + ":125:  but it is = " + sTemp +":"+ASC(sTemp)+":"
338     endif
339     hTypeKeys "<Home><Shift End><Delete>"
341     Printlog "   - back to standard" '------------------------------------------------------------------------------------------
342     ToolsAutocorrect
343     Kontext
344     active.SetPage TabTypografisch
345     Kontext "TabTypografisch"
346     if bSimple then
347         EinfacheErsetzen.Check
348         EinfachStandard.Click
349     else
350         DoppelteErsetzen.Check
351         DoppeltStandard.Click
352     endif
354     TabTypografisch.OK
355     sleep 1
356     hTextrahmenErstellen ( Normal$ + "Hello" + Normal$ + " ",20,20,60,30)
357     sleep 2
358     hTypeKeys "<Home><Shift Right>"
359     Sleep 1
360     EditCopy
361     sTemp = GetClipboardText
362     if (sTemp <> Vorn$) then
363         Warnlog "The beginning quote seems wrong. Should be :" + Vorn$ +":"+ASC(vorn$)+ ":  but it is = :" + sTemp +":"+ASC(sTemp)+":"
364     endif
366     hTypeKeys "<End><Left><Shift Left>"
367     Sleep 1
368     EditCopy
369     sTemp = GetClipboardText
370     if (sTemp <> Hinten$) then
371         Warnlog "The end quote seems wrong. Should be :" + Hinten$ +":"+ASC(Hinten$) +":  but it is :" + sTemp + ":"+ASC(sTemp)+":"
372     endif
373     hTypeKeys "<Home><Shift End><Delete>"
375     ToolsAutocorrect
376     Kontext
377     active.SetPage TabTypografisch
378     Kontext "TabTypografisch"
379     if bSimple then
380         EinfacheErsetzen.UnCheck
381     else
382         DoppelteErsetzen.UnCheck
383     endif
384     TabTypografisch.OK
385     sleep 1
387     hCloseDocument
388 endcase
390 '-------------------------------------------------------------------------------
391 testcase tToolsAutocorrectOption
393     const cEntryCount = 9
394     dim i as integer
395     dim iEntryCount as integer
396     dim sEntries (20, 2) as string
397     dim bState as boolean
399     ' this test relies on the following order of entries!!:
400     sEntries (1,1) = "Use replacement table"
401     sEntries (1,2) = "(C) "
402     sEntries (2,1) = "Correct TWo INitial CApitals"
403     sEntries (2,2) = "ABer "
404     sEntries (3,1) = "Capitalize first letter of every sentence"
405     sEntries (3,2) = "Hello. this is a sentence. "
406     sEntries (4,1) = "Automatic *bold* and _underline_"
407     sEntries (4,2) = "*Hello* " '"_Hello_ "
408     sEntries (5,1) = "URL Recognition"
409     sEntries (5,2) = "It is www.ksta.de "
410     sEntries (6,1) = "Replace 1st... with 1^st..."
411     sEntries (6,2) = "1st "
412     sEntries (7,1) = "Replace 1/2 ... with ÃƒÂ» ..."
413     sEntries (7,2) = "1/2 "
414     sEntries (8,1) = "Replace dashes"
415     sEntries (8,2) = "Hello - Hrbert "
416     sEntries (9,1) = "Ignore double spaces"
417     sEntries (9,2) = "Hello  this is 2  blanks "
419     Printlog "- Tools / Autocorrect -options"
420     Call hNewDocument()
421     callAutocorrectOptions
423     iEntryCount = Einstellungen.getItemCount
424     if (iEntryCount <> cEntryCount) then
425         warnLog "Unexpected count of entries in Listbox: expected: '" + cEntryCount + "' actual: '" + iEntryCount + "'"
426         for i = 1 to iEntryCount
427             Printlog " " + i + " - '" + sEntries (i,1) + "' ?= '" + Einstellungen.getItemText(1) + "'"
428         next i
429     endif
430     TabOptionen.OK
432     for i = 1 to cEntryCount
433         callAutocorrectOptions
434         Printlog " " + i + " - '" + sEntries (i,1) + "' ?= '" + Einstellungen.getItemText(i) + "'"
435         bState = (i <> cEntryCount)
436         Einstellungen.select(i)
437         if (bState <> Einstellungen.isChecked) then
438             Warnlog "        Entry is '" + bState + "' per default - will be '" + bState + "' now!"
439         end if
440         ' first test the opposite default value
441         if bState then
442             Einstellungen.UnCheck
443         else
444             Einstellungen.Check
445         endif
446         TabOptionen.OK
447         sCheckCheck (i, sEntries(i,2), not bState)
448         ' now test and set the default value
449         callAutocorrectOptions
450         Einstellungen.select(i)
451         if bState then
452             Einstellungen.Check
453         else
454             Einstellungen.UnCheck
455         endif
456         TabOptionen.OK
457         sCheckCheck (i, sEntries(i,2), bState)
458     next i
460     hCloseDocument
461     sleep 1
462 endcase
464 '-------------------------------------------------------------------------------