Update ooo320-m1
[ooovba.git] / testautomation / writer / optional / includes / spellcheck / w_spellcheck.inc
blobf455d37e6c8a717a1a103334f4b68ec439841475
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: w_spellcheck.inc,v $
11 '* $Revision: 1.3 $
13 '* last change: $Author: rt $ $Date: 2008-09-04 09:20:07 $
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 : helge.delfs@sun.com
36 '* short description : Spellcheck-Testing. Functional-Test.
38 '\***********************************************************************
40 sub w_spellcheck
42     Call tToolsSpellcheckWithShortcut
43     Call tToolsSpellcheckCorrect
44     Call tToolsSpellcheck1Mistake
45     Call tToolsSpellcheckForward
46     Call tToolsSpellcheckOnlyOneWord
47     Call tToolsSpellcheckAutomatic
48     Call tToolsSpellcheckChangeLanguageAttribute
49     Call tToolsThesaurus
50     Call tToolsSpellcheckButtonChange
51     Call tToolsSpellcheckButtonChangeAll
53 end sub
56 testcase tToolsSpellcheckWithShortcut
57     Dim TheFile as String
58     '/// Check if Spellcheck dialog comes up with shortcut 'F7'
59     printlog " Open document where the formatting is set to the language we wish to test."
60     TheFile = Convertpath (gTesttoolpath + "writer\optional\input\spellcheck\spellcheck_" + iSprache + ".odt")
61     if hFileExists ( TheFile ) <> TRUE then
62        Warnlog "Found no Document for the language you're testing in, Please inform the Test-Developer."
63        exit sub
64     end if
65     
66     call hFileOpen (TheFile,false)
67     Call sMakeReadOnlyDocumentEditable
69     printlog " Insert some faulty text"
70     select case iSprache
71         case 01 : Call wTypeKeys ("This is a spellchecktestttttt<Home>")
72         case 33 : Call wTypeKeys ("Je Suiss la Penneeee<Home>")
73         case 34 : Call wTypeKeys ("Habla Espanollll<Home>")
74         case 39 : Call wTypeKeys ("Don Cara Mio, capitoliooo?<Home>")
75         case 49 : Call wTypeKeys ("Dies ist ein Rechtschreibtexxxxt<Home>")
76         case 46 : Call wTypeKeys ("Det här är en rättstavningstexxxxt<Home>")
77         case 07 : Printlog "- No Spellcheck in Russian!"
78                      goto endsub
79         case 48 : Printlog "- No Spellcheck in Polish!"
80                      goto endsub
81         case 55 : Printlog "- No Spellcheck in Brazilian!"
82                      goto endsub                     
83         case 81 : Printlog "- No Spellcheck in Japanese!"
84                      goto endsub
85         case 82 : Printlog "- No Spellcheck in Korean!"
86                      goto endsub
87         case 86 : Printlog "- No Spellcheck in Chinese (simplified)!"
88                      goto endsub
89         case 88 : Printlog "- No Spellcheck in Chinese (traditional)!"
90                      goto endsub
91         case 03, 30, 35, 36, 37, 42, 47, 51, 90
92                   Printlog "- No Spellcheck available !"
93                   goto endsub
94         case else
95     end select
97     Call wTypeKeys "<HOME>"         'Setting cursor to beginning
98     Call wTypeKeys "<F7>"           'Calling spellchecker with shortcut
99     sleep (1)
100     
101     Kontext "Active"
102     if Active.Exists(1) then        'checking if messagebox comes up
103         if Active.getRT = 304 then      'checking ressource type 
104             Active.OK
105         else
106             printlog "No message Box!"
107         end if
108         printlog "Message Box closed, Spellchecker came up"
109     else
110         Kontext "Spellcheck"            'checking if spellcheck dialog came up
111         if Spellcheck.Exists then
112             printlog "OK, Spellchecker comes up"
113             Spellcheck.Close            'closing spellchecker
114         else
115             Warnlog "#i35000#Spellchecker does not come up with shortcut 'F7'"
116         end if
117     end if
118     Call hCloseDocument
119 endcase
121 '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
123 testcase tToolsSpellcheckCorrect
124     Dim sHyphenationFile as String
125     Dim TheFile as String
126     Dim FFText as String
128     TheFile = Convertpath (gTesttoolpath + "writer\optional\input\spellcheck\spellcheck_" + iSprache + ".odt")
129     if hFileExists ( TheFile ) <> TRUE then
130        Warnlog "Found no Document for the language you're testing in, Please inform the Test-Developer."
131        exit sub
132     end if
134     Printlog "- Checking Dictionary-Files"
135     select case iSprache
136         case 1 : sHyphenationFile = "01-44-hyph.dat"
137         case 81 : Printlog "- No Spellcheck in Japanese!"
138                   goto endsub
139         case 82 : Printlog "- No Spellcheck in Korean!"
140                   goto endsub
141         case 86 : Printlog "- No Spellcheck in Chinese (simplified)!"
142                   goto endsub
143         case 88 : Printlog "- No Spellcheck in Chinese (traditional)!"
144                   goto endsub
145         case else : sHyphenationFile =  "" & iSprache & "-hyph.dat"
146     end select
147     if gNetzInst = TRUE then
148         sHyphenationFile = Convertpath (gNetzOfficePath + "share\dict\" + trim$(sHyphenationFile))
149     else
150         sHyphenationFile = Convertpath (gOfficePath + "share\dict\" + trim$(sHyphenationFile))
151     end if
153     PrintLog "- Tools / Spellcheck without text"
155     printlog " Open document where the formatting is set to the language we wish to test."
156     call hFileOpen (TheFile,false)
157     Call sMakeReadOnlyDocumentEditable
159     printlog " Insert some faulty text"
160     Sleep 1
161     '/// Call Spellcheck in empty document ///
162     ToolsSpellcheckWriter
163     Sleep 2
164     Kontext "Active"
165     if NOT Active.Exists(1) then
166         Warnlog "No Finished message"
167     else
168         Active.OK
169     end if
171     PrintLog "- Tools / Spellcheck with correct text"
172     '/// Call Spellcheck for correct text ///
173     select case iSprache
174         case 01   : FFText = "This is a text without any error.<Return>"
175         case 03   : FFText = "Escreva os seus dados de utilizador correctamente e tome nota deles (guardar / imprimir).<Return>"
176         case 07   : FFText = "принятый Государственной Думой в первом чтении 16 ноября 1999 года.<Return>"
177         case 31   : FFText = "Dit werk is beschermd door de Auteurswet.<Return>"
178         case 33   : FFText = "Il nous faut donc un de temps pour examiner avec soin tous les dossiers.<Return>"
179         case 34   : FFText = "Este archivo contiene información importante sobre el programa.<Return>"
180         case 36   : FFText = "Boszniai amerikai kontingens háromnegyedesek – mintegy négyezer katona – magyarországi telepítése egy éven belül megtörténhet.<Return>"
181         case 39   : FFText = "La ringraziamo per l'interesse mostrato a collaborare con la firma.<Return>"
182         case 45   : FFText = "Danmark ikke er sikret maksimal indflydelse på den fremtidige europæiske udlændingepolitik.<Return>"
183         case 46   : FFText = "Den här filen innehåller viktig programinformation.<Return>"
184         case 48   : FFText = "Nie wolno w zadnim wypadku przerywa uruchomionego serwisu !<Return>"
185         case 49   : FFText = "Dies ist ein Text ohne Fehler.<Return>"
186         case 55   : FFText = "Ele ouviu passos silenciosos atrás dele. Isso não estava certo.<Return>"
187         case else : QAErrorLog " - The language " + iSprache +" has no defined language text. No Test !"
188                     exit Sub
189     end select
191     Call wTypeKeys FFText
192     wait 500
193     ToolsSpellcheckWriter
194     Sleep 2
195     Kontext "Active"
196     try
197         Active.Yes
198         Sleep 1
199     catch
200         Warnlog "No message to jump to start"
201     endcatch
203     Kontext "Active"
204     try
205         Active.OK
206     catch
207         Kontext "Spellcheck"
208         if Spellcheck.Exists then
209             Warnlog "With correct text the Spellcheck dialog appears ( maybe wrong language selected )"
210             Spellcheck.Close
211         end if
212     endcatch
214     '/// Close document ///
215     Call hCloseDocument
216 endcase
218 ' *******************************************************************
220 testcase tToolsSpellcheck1Mistake
221     Dim sWordToBeChecked as string
222     Dim sLanguageName as string
223     Dim sDummy as string
224     Dim sErrorSampleText as string
225     Dim TheFile as String
227     TheFile = Convertpath (gTesttoolpath + "writer\optional\input\spellcheck\spellcheck_" + iSprache + ".odt")
228     if hFileExists ( TheFile ) <> TRUE then
229        Warnlog "Found no Document for the language you're testing in, Please inform the Test-Developer."
230        exit sub
231     end if
233     PrintLog "- Tools / Spellcheck with a defined mistake"
234     Select Case iSprache
235         case 01   : sErrorSampleText = "Thatts not a trick, it"  ' 's a Sony."    (removing this last part because of different apostrophes in StarSuite)
236                     sWordToBeChecked = "Thatts"
237                     sLanguageName = "English (USA)"
238         case 03   : sErrorSampleText = "Escrive os seus dados de utilizador correctamente e tome nota deles."
239                     sWordToBeChecked = "Escrive"
240                     sLanguageName = "Português"
241         case 07   : sErrorSampleText = "Военная технического сaтрудничества, проблему задолженности и вопросы региональных связей."
242                     sWordToBeChecked = "сaтрудничества"
243                     sLanguageName = "Русский"
244         case 31   : sErrorSampleText = "Wijek danken u voor uw interesse in het samenwerken met Sun Microsystems."
245                     sWordToBeChecked = "Wijek"
246                     sLanguageName = "Nederlands (NL)"
247         case 33   : sErrorSampleText = "Ilk nous faut donc un de temps pour examiner avec soin"
248                     sWordToBeChecked = "Ilk"
249                     sLanguageName = "Français (France)"
250         case 34   : sErrorSampleText = "Este archivo contiene información importnte sobre el programa."
251                     sWordToBeChecked = "importnte"
252                     sLanguageName = "Español (España)"
253         case 36   : sErrorSampleText = "Boszniai amerikai kontingens háromnegyedének – mintegy négyezer katona – magyarországi telepítése egy éven belül megtörténhet."
254                     sWordToBeChecked = "háromnegyedének"
255                     sLanguageName = "Magyar"
256         case 39   : sErrorSampleText = "Lab ringraziamo per l'interesse"
257                     sWordToBeChecked = "Lab"
258                     sLanguageName = "Italiano (Italia)"
259         case 45   : sErrorSampleText = "Igke er sikret maksimal indflydelse på den fremtidige europæiske udlændingepolitik."
260                     sWordToBeChecked = "Igke"
261                     sLanguageName = "Dansk"
262         case 46   : sErrorSampleText = "Dsän här filen innehåller viktig programinformation."
263                     sWordToBeChecked = "Dsän"
264                     sLanguageName = "svenska (Sverige)"
265         case 48   : sErrorSampleText  = "walno w zadnim wypadku przerywa uruchomionego serwisu !"
266                     sWordToBeChecked = "Walno"
267                     sLanguageName = "Polski"
268         case 49   : sErrorSampleText = "Diees ist ein Fehler."
269                     sWordToBeChecked = "Diees"
270                     sLanguageName = "Deutsch (Deutschland)"
271         case 55   : sErrorSampleText = "Esta poderia ser a respista para suas preces?"
272                                 sWordToBeChecked = "respista"
273                                 sLanguageName = "Português (Brasil)"
274         case 81 : Printlog "- No Spellcheck in Japanese!"
275                   goto endsub
276         case 82 : Printlog "- No Spellcheck in Korean!"
277                   goto endsub
278         case 86 : Printlog "- No Spellcheck in Chinese (simplified)!"
279                   goto endsub
280        case 88 :  Printlog "- No Spellcheck in Chinese (traditional)!"
281                   goto endsub
282         case else : QAErrorLog "The language " + wSysLanguage +" has no defined Errortext. No test"
283                   goto endsub
284     end select
286     printlog " Open document where the formatting is set to the language we wish to test."
287     call hFileOpen (TheFile,false)
288     Call sMakeReadOnlyDocumentEditable
290     '/// Insert a sentence with one definded mistake and execute spellcheck ///
291     Call wTypeKeys sErrorSampleText
292     Call wTypeKeys "<Return><Up>"
293         wait 500
294     ToolsSpellcheckWriter
295     Kontext "Active"
296     if Active.Exists then
297         if Active.GetRT = 304 then
298             try
299                 Active.Yes
300             catch
301                 Warnlog Active.Gettext
302                 Active.Ok
303             endcatch
304         end if
305     end if
306     Sleep 2
307     Kontext "Spellcheck"
308     if Not Spellcheck.Exists then
309         Warnlog "Spellchecker is not up !"
310         Call hCloseDocument
311         goto endsub
312     end if
313     printlog "Current selected dictionary language is: " & DictionaryLanguage.GetSelText 
314     '  Dictionary Language is language dependend. Function to be created
315     printlog "   - check language"
316     'if DictionaryLanguage.GetSelText <> gLanguage then Warnlog "Dictionary language " + DictionaryLanguage.GetSelText +" selected"
317     printlog "   - replace wrong word with a suggestion"
318     '/// replace wrong word with a suggestion ///
319     
320     if trim$(NotInDictionary.GetText) <> trim(sErrorSampleText) then
321         warnlog " " & sErrorSampleText & " has not been detected as mistake. Detected mistake is:" & NotInDictionary.GetText
322     end if
324     if Suggestions.GetItemCount > 0 then
325         if Suggestions.IsEnabled then
326             try
327                 sDummy = Suggestions.GetItemText (2)
328                 Suggestions.Select 2
329             catch
330                 sDummy = Suggestions.GetItemText (1)
331                 Suggestions.Select 1
332             endcatch
333             ' Next check does not work because if word is selected it will only be highlited!!"
334             ' if Not NotInDictionary.GetText <> sErrorSampleText then Warnlog "Text in preview has not been replaced with the suggestion"
335             Change.Click
336         else
337             QAErrorLog "No suggestions made from spellchecker"
338         end if
339     else
340         QAErrorLog "Please choose another word to check suggestions, because no suggestion found!"
341     end if
342     Kontext "Active"
343     if Active.Exists then
344         try
345             Active.OK
346         catch
347             Warnlog Active.Gettext
348             Active.No
349         endcatch
350     end if
351     
352     Kontext "Spellcheck"
353     if Spellcheck.Exists then SpellcheckClose.Click
355         Call wTypeKeys "<Up><Home>"
356     Call wTypeKeys "<Shift End>"
357     Sleep 1
358         EditCopy
359     if GetClipboardText = sErrorSampleText then Warnlog "Replaced text in document is wrong. Not "+ sErrorSampleText + " but " + GetClipboardText
360     Call hCloseDocument
362 endcase
364 ' *******************************************************************
366 testcase tToolsSpellcheckForward
367     Dim sDummy as string
368     Dim sWordToBeAdded as string
369     Dim InsFile as string
370     Dim Add_Word as string
371     Dim sDictionary as string
373     PrintLog "- Tools / Spellcheck / check forward"
374     '/// Open specified document depending on language to check spellcheck ///
375     '/// document has 4 defined wrong words ///
376     InsFile = wGetSpellcheckDocumentName(1)
377     Select Case InsFile
378         Case "None"
379             Printlog "- No Spellcheck for this language available!"
380             goto endsub
381         case "Empty"
382             QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!"  'iSystemSprache
383             goto endsub
384     end select
385     
386     if gApplication = "MASTERDOCUMENT" then
387         if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
388             EditPaste
389     else
390         Call hFileOpen(InsFile)
391         Call sMakeReadOnlyDocumentEditable
392     end if
393     '/// point cursor to beginning of document and execute spellcheck ///
394     Call wTypeKeys "<Mod1 Home>"
395     
396     select case iSprache
397         case 01   : sDummy = "exprass"      : sWordToBeAdded = "pablischer"
398         case 07   : sDummy = "решаaт"       : sWordToBeAdded = "кaнкретных"
399         case 03   : sDummy = "quante"       : sWordToBeAdded = "cempas"
400         case 31   : sDummy = "haaietanden"  : sWordToBeAdded = "widerzijdse"
401         case 33   : sDummy = "votrex"       : sWordToBeAdded = "recontacterons"
402         case 34   : sDummy = "Asegúree"     : sWordToBeAdded = "diretorio"
403         case 36   : sDummy = "hétozres"     : sWordToBeAdded = "jelentos"
404         case 39   : sDummy = "meczanici"    : sWordToBeAdded = "anniche"
405         case 45   : sDummy = "grend"        : sWordToBeAdded = "lando"
406         case 46   : sDummy = "handbroken"   : sWordToBeAdded = "viktikt"
407         case 48   : sDummy = "znajdujacej"  : sWordToBeAdded = "usuniete"
408         case 49   : sDummy = "reichtt"      : sWordToBeAdded = "viierter"
409         case 55   : sDummy = "horat"        : sWordToBeAdded = "dpa"
410     end select
412     wait 500
413     ToolsSpellcheckWriter
414     Sleep 2
415     Kontext "Spellcheck"
416     Printlog "   - Replace all (" + NotInDictionary.Gettext + ") ...."
417     '/// Replace first found word with 1 suggestion in list ///
418     if Suggestions.IsEnabled then
419         Suggestions.Select 1
420         Printlog "   - .... with (" + NotInDictionary.Gettext + ")"
421         wait 500
422         try
423             ChangeAll.Click
424         catch
425             Warnlog "Button 'change all' is not accessible!"
426         endcatch
427         '/// Select 'Always replace' ///
428         Sleep 1
429     else
430         QAErrorLog "No suggestions made from spellchecker!=>Choose 'Ignore All'"
431         if IgnoreAll.IsEnabled then IgnoreAll.Click
432     end if
434     Printlog "   - Ignore All (" + NotInDictionary.Gettext + ")"
435     '/// For second wrong word select 'Ignore all' ///
436     wait 500
437     try
438         IgnoreAll.Click
439     catch
440         Warnlog "Button 'Ignore all' is not accessible"
441     endcatch
442     Sleep 1
444     Printlog "   - Ignore (" + NotInDictionary.Gettext + ")"
445     '/// For 3rd wrong word select 'Ignore' ///
446     wait 500
447 '    try
448 '        IgnoreOnce.Click
449 '    catch
450 '        Warnlog "Button 'Ignore once' is not accessible"
451 '    endcatch
452 '    Sleep 1
454     Kontext "Active"
455     if Active.Exists(3) then
456         if Active.GetRT = 304 then
457             Warnlog "Spellcheck has ended! Not reproducable by hand !"
458         end if
459     else
460         Kontext "Spellcheck"
461         Add_Word = trim$(NotInDictionary.Gettext)
462         Printlog "   - Add (" + sDummy + ")"
463         '/// Add 4th word to dictionary ///
464         if AddToDictionary.IsEnabled then
465             AddToDictionary.Click
466             wait 500
467             '/// remember selected dictionary
468             sDictionary = MenuGetitemText(1)
469             Call hMenuSelectNr(1)
470             Sleep 1
471         else
472             Warnlog "Unable to add word to dictionary->button is disabled!"
473         end if
474     end if
476         Kontext "Active"
477         if Active.Exists then
478             If Active.GetRT = 304 then
479                 Active.Ok
480             end if
481         end if
483     Kontext "Spellcheck"
484     if Spellcheck.Exists then Spellcheck.Close
485     Call wTypeKeys "<Home>"
487     Printlog "   - recheck: One mistake has to be found 3 times"
488     wait 500
489     '/// Recheck: One mistake has to be found 3 times ///
490     ToolsSpellcheckWriter
491     Sleep 2
492     Kontext "Active"
493     if Active.Exists then
494         if Active.GetRT = 304 then
495             try
496                 Active.Ok
497             catch
498                 Active.Yes
499                 Warnlog Active.Gettext
500             endcatch
501         end if
502     end if
503     Kontext "Spellcheck"
504     if Spellcheck.Exists then
505         if Instr(NotInDictionary.GetText, sDummy) = 0 then
506             Warnlog "Jumped to wrong mistake! Not " & sDummy & " but " & Suggestions.GetSelText
507         else
508             try
509                 IgnoreAll.Click
510             catch
511                 Warnlog "Button 'Ignore all' is not accessible"
512             endcatch
513         end if
514     end if
515     Sleep 2
516     Kontext
517     if Active.Exists(2) then
518         Active.OK
519     else
520         Kontext "Spellcheck"
521         if Spellcheck.Exists then Spellcheck.Close
522     end if
523     Sleep 1
525     GoOn:
526     Printlog "- Deleting the Ignore list"
527     '/// Delete entrys in Ignorelist ///
528     Call wIgnorierenListeLoeschen
530     Printlog "   - Delete added word in dictionary"
531     '/// Delete added word in dictionary ///
532     Call WortAusWoerterbuchLoeschen ( sDummy )
534     '/// Close document ///
535     Call hCloseDocument
536 endcase
538 ' *******************************************************************
540 testcase tToolsSpellcheckOnlyOneWord
541     Dim sWordToBeChecked as string
542     Dim InsFile as string
543     Dim ReplacedWith as String
544     Dim i as integer
545         
546     '/// Open specified document depending on language to check spellcheck ///
547     '/// document has 1 defined wrong word ///
548     PrintLog "- Tools / Spellchecking / Check only one word"
549     InsFile = wGetSpellcheckDocumentName(2)
550     Select Case InsFile
551         Case "None"
552             Printlog "- No Spellcheck for this language available!"
553             goto endsub
554         case "Empty"
555             QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!"
556             goto endsub
557     end select
558     
559     if gApplication = "MASTERDOCUMENT" then
560         if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
561             EditPaste
562     else
563         Call hFileOpen(InsFile)
564         Call sMakeReadOnlyDocumentEditable
565     end if
566     Call wTypeKeys "<Mod1 Home>"
567     
568     select case iSprache
569         case 01   : sWordToBeChecked = "excetionally"      ' this word is wrong
570         case 07   : sWordToBeChecked = "Кaнституции"
571         case 03   : sWordToBeChecked = "semstre"           ' this word is wrong
572         case 31   : sWordToBeChecked = "lidstartesn"        ' this word is wrong
573         case 33   : sWordToBeChecked = "heues"            ' this word is wrong
574         case 34   : sWordToBeChecked = "vacunaión"         ' this word is wrong
575         case 36   : sWordToBeChecked = "fekvo"         ' this word is wrong
576         case 39   : sWordToBeChecked = "brasilianir"       ' this word is wrong
577         case 45   : sWordToBeChecked = "Amserdam"         ' this word is wrong
578         case 46   : sWordToBeChecked = "avrttades"         ' this word is wrong
579         case 48   : sWordToBeChecked = "stosowanei"         ' this word is wrong
580         case 49   : sWordToBeChecked = "georaphischen"     ' this word is wrong
581         case 55   : sWordToBeChecked = "Veigo"     ' this word is wrong
582     end select
584     EditSearchAndReplace
585     Kontext "FindAndReplace"
586     try
587         SearchFor.Settext ""
588     catch
589     endcatch
590     if SimilaritySearch.IsVisible = False then More.Click
591     if SimilaritySearch.IsEnabled then SimilaritySearch.Uncheck
592     if SearchForStyles.IsEnabled then SearchForStyles.Uncheck
593     if RegularExpressions.IsEnabled then RegularExpressions.Uncheck
594     if NoFormat.IsEnabled then NoFormat.Click
595     if CurrentSelectionOnly.IsEnabled then CurrentSelectionOnly.Uncheck
596     WholeWordsOnly.Uncheck
597     Backwards.Uncheck
598     MatchCase.Uncheck
599     RegularExpressions.Check
601     SearchFor.Settext sWordToBeChecked
602     SearchNow.Click
603     Kontext "Active"
604     if Active.Exists then
605         if Active.getRT = 304 then
606             Warnlog Active.Gettext
607             try
608                 Active.Ok
609             catch
610                 Active.No
611             endcatch
612         end if
613     end if
615     Kontext "FindAndReplace"
616     if FindAndReplace.Exists then FindAndReplace.Close
618     ToolsSpellcheckWriter
619     Kontext "Active"
620     if Active.Exists then
621         if Active.GetRT = 304 then 
622             Warnlog "Spellcheck doesn't work correctly:" & Active.Gettext
623             try
624                 Active.Ok
625             catch
626                 Active.No
627             endcatch
628             Call hCloseDocument
629             goto endsub
630         end if
631     end if
633     Kontext "Spellcheck"
634     Printlog "   - Replace all"
635     if Suggestions.GetItemCount > 0 then
636         if Suggestions.IsEnabled then
637                         Suggestions.Select 1
638                         wait 500
639                         Suggestions.TypeKeys "<Down><Up>"
640                         ReplacedWith = Suggestions.GetSelText
641                         wait 500
642                         if Change.IsEnabled then Change.Click
643                         Sleep 1
644                 else
645                         QAErrorLog "No suggestions made from spellchecker!"
646             Spellcheck.Close
647             Call hCloseDocument
648             goto endsub
649                 end if
650     else
651         Warnlog "No suggestion for word: " & sWordToBeChecked & " found. Test stops"
652         Spellcheck.Close
653         Call hCloseDocument
654         goto endsub
655     end if
657     Kontext "Active"
658     if Active.Exists then
659         if Active.GetRT = 304 then
660             try
661                 Active.Ok
662             catch
663                 Active.No
664                 Warnlog Active.Gettext
665             endcatch
666         end if
667     end if       
668     
669     Kontext "Spellcheck"
670     if Spellcheck.Exists then SpellcheckClose.Click
671     
672     Call wTypeKeys "<Mod1 Shift Left>"
673     try
674         EditCopy
675         if GetClipboardtext = sWordToBeChecked then
676             Warnlog "#i40498#Spellchecker does not commit changes correctly (" & GetClipboardtext & " found )"
677             Call hCloseDocument
678             goto endsub
679         end if
680     catch
681         Warnlog "- Didn't found the word to check! No Spellchecking for one word!"
682         Call hCloseDocument
683         goto endsub
684     endcatch
686     '/// Execute spellcheck again ///
687     wait 500
688     ToolsSpellcheckWriter
689     Kontext "Active"
690     if Active.Exists then
691         if Active.GetRT = 304 then
692             try
693                 Active.Yes
694                 Kontext "Active"
695                 if Active.Exists then
696                     if Active.GetRT = 304 then
697                         Active.Ok
698                         Warnlog "#i40480#Spellchecker finishes though wrong words in documents"
699                     end if
700                 end if
701             catch
702                 Active.Ok
703             endcatch
704         end if
705     else
706         Sleep 2
707         Kontext "Spellcheck"
708         if Spellcheck.Exists then
709             Warnlog "Probably the replaced word found wrong again!"
710             Spellcheck.Close
711         end if
712     end if
713         
714     Kontext "Spellcheck"
715     if Spellcheck.Exists then Spellcheck.Close
716     
717     '/// Close document ///
718     Call hCloseDocument
719 endcase
721 ' *******************************************************************
723 testcase tToolsSpellcheckAutomatic
724     Dim iError1 as integer
725     Dim iError2 as integer
726     Dim sError1 as string
727     Dim sError2 as string
728     Dim j as integer
729     Dim sNumberOfSuggestions as string
730     Dim sReplaceWithWord as string
731     Dim sDefaultFormat as string
732     Dim TheFile as String
734     TheFile = Convertpath (gTesttoolpath + "writer\optional\input\spellcheck\spellcheck_" + iSprache + ".odt")
735     if hFileExists ( TheFile ) <> TRUE then
736        Warnlog "Found no Document for the language you're testing in, Please inform the Test-Developer."
737        exit sub
738     end if
740     PrintLog "- Tools / Spellcheck / AutoSpellcheck"
741     printlog " Open document where the formatting is set to the language we wish to test."
742     call hFileOpen (TheFile,false)
743     Call sMakeReadOnlyDocumentEditable
745     '/// Enable Auto-Spellcheck in options
746     Call wEnableAutoSpellcheck ( true ) 
747     
748     '/// Check Auto-Spellcheck and insert a sentence with 2 mistakes ///
749     printlog "   - write text"
750     select case iSprache
751         case 01   : wTypeKeys "Hello thiis here are too errorrs "
752                   iError1 = 1 : iError2 = 4
753                   sError1 = "thiis"  : sError1 = "errorrs"
754                   sDefaultFormat = "Standard"
755         case 03   : wTypeKeys "Aqui poderá elimitnar componentes já instalados ou instalar novos compotentes numa "
756                   iError1 = 2 : iError2 = 7
757                   sError1 = "elimitnar"  : sError1 = "compotentes"
758                   sDefaultFormat = "Padrão"
759         case 31   : wTypeKeys "Betaling binnern 14 dagen rekeningsdatum met 2% kortng, binnen 30 dagen nettor "
760                   iError1 = 1 : iError2 = 7
761                   sError1 = "binnern"  : sError1 = "rekeningsdatum"
762                   sDefaultFormat = "Standaard"
763         case 33   : wTypeKeys "Je vious remercie d'accuser réception dex ce courrier "
764                   iError1 = 1 : iError2 = 4
765                   sError1 = "vious"  : sError1 = "dex"
766                   sDefaultFormat = "Standard"
767         case 34   : wTypeKeys "Este archvo contiene información importnte sobre el programa."
768                   iError1 = 1 : iError2 = 3
769                   sError1 = "archvo"  : sError1 = "importnte"
770                   sDefaultFormat = "Estándar"
771         case 36   : wTypeKeys "A hétezres koszovói amerikai kontingens jelentos részét is a magyarországi bázison helyezi majd el."
772                   iError1 = 1 : iError2 = 4
773                   sError1 = "hétezres"  : sError1 = "jelentos"
774                   sDefaultFormat = "Alapértelmezett"                
775         case 39   : wTypeKeys "La sfumaturar è statsi modificata senza salvare "
776                   iError1 = 1 : iError2 = 2
777                   sError1 = "sfumaturar"  : sError1 = "statsi"
778                   sDefaultFormat = "Standard"
779         case 45   : wTypeKeys "Han advarade både mod at kalde traktüten et fredens projekt "
780                   iError1 = 1 : iError2 = 5
781                   sError1 = "advarade"  : sError1 = "traktüten"
782                   sDefaultFormat = "Standard"
783         case 46   : wTypeKeys "Den här fiten innehåller viktit programinformation "
784                   iError1 = 2 : iError2 = 2
785                   sError1 = "fiten"  : sError1 = "viktit"
786                   sDefaultFormat = "Standard"
787         case 48   : wTypeKeys "Nie wolno w zadim wypadku przerywa uruchomiongo serwisu "
788                   iError1 = 3 : iError2 = 3
789                   sError1 = "zadim"  : sError1 = "uruchomiongo"
790                   sDefaultFormat = "Standard"
791         case 49   : wTypeKeys "Hallo hiaer sind swei Fehler "
792                   iError1 = 1 : iError2 = 2
793                   sError1 = "hiaer"  : sError1 = "swei"
794                   sDefaultFormat = "Standard"
795         case 55   : wTypeKeys "Aqui poderá elimitnar componentes já instalados ou instalar novos compotentes numa "
796                   iError1 = 2 : iError2 = 7
797                   sError1 = "elimitnar"  : sError1 = "compotentes"
798                   sDefaultFormat = "Padrão"                  
799         case 81 : Printlog "- No Spellcheck in Japanese!"
800                  Call hCloseDocument
801                  goto endsub
802         case 82 : Printlog "- No Spellcheck in Korean!"
803                  Call hCloseDocument
804                  goto endsub
805         case 86 : Printlog "- No Spellcheck in Chinese (simplified)!"
806                  Call hCloseDocument
807                  goto endsub
808         case 88 : Printlog "- No Spellcheck in Chinese (traditional)!"
809                  Call hCloseDocument
810                  goto endsub
811         case else : QAErrorlog "The language " + iSprache +" has no defined errortext. No Test!"
812                   Call hCloseDocument
813                   goto endsub
814     end select
816     Call wTypeKeys "<Space><Return>"
817     
818     printlog "   -  relieve mistake"
819     Call wTypeKeys "<Up><Home>"
820     Call wTypeKeys "<Mod1 Right>", iError1
821     Call wTypeKeys "<Right>"          ' Cursor in fehlerhaftes NotInDictionary stellen
822     Wait (500)
823     '/// Open contextmenu in first wrong word ///
824     Call wTypeKeys "<Shift F10>"
825     sReplaceWithWord=hMenuItemGetText (2)
826     if sReplaceWithWord<>sDefaultFormat then
827         sNumberOfSuggestions=MenuGetItemCount - 6
828         '/// Check if there is a suggestion and replace word ///
829         if sNumberOfSuggestions <=0 then
830             Warnlog "- No suggestions in Context menu for the first wrong word!"
831         else
832             printlog "- Context menu has " + sNumberOfSuggestions + " suggestions to the 1. wrong word!"
833             Call hMenuSelectNr (2)
834             Call wTypeKeys "<Shift Mod1 Left>"
835             try
836                 EditCopy
837                 if GetClipboardtext<> sReplaceWithWord then
838                     Warnlog "- 1. wrong Word has not been replaced with " + sReplaceWithWord + " but "+ GetClipBoardtext
839                 else
840                     printlog "- 1. wrong word has been replaced with the 1. entry in context menu!"
841                 end if
842             catch
843             endcatch
844         end if
845     else
846         Warnlog "- AutoSpellcheck doesn't work , wrong Context menu! (1.Word)"
847     end if
848     Wait (5000)
849     Call wTypeKeys "<Mod1 Right>", iError2
850     Wait (5000)
851     Call wTypeKeys "<Right>"          ' Cursor in fehlerhaftes NotInDictionary stellen
852     Wait (5000)
853     Call wTypeKeys "<Shift F10>"
855     sReplaceWithWord=hMenuItemGetText (2)
856     if sReplaceWithWord<>sDefaultFormat then
857         sNumberOfSuggestions=MenuGetItemCount - 6
858         if sNumberOfSuggestions <=0 then
859             Warnlog "- No suggestions in Contextmenu for 2. wrong Word !"
860         else
861             printlog "- Context menu has " + sNumberOfSuggestions + " suggestions for the 2. wrong word!"
862             Call hMenuSelectNr (2)
863             Call wTypeKeys "<Shift Mod1 Left>"
864             try
865                 EditCopy
866                 if GetClipboardtext<> sReplaceWithWord then
867                     Warnlog "- 2. wrong word has not been replaced with " + sReplaceWithWord + " but "+ GetClipBoardtext
868                 else
869                     printlog "- 2. mistake has been replaced with the 1. entry in context menu!"
870                 end if
871             catch
872             endcatch
873         end if
874     else
875         Warnlog "- AutoSpellcheck doesn't work, wrong Context menu (2.Word)!"
876     end if
878     Call wTypeKeys "<Home>"
879     Call wTypeKeys "<F7>"
880     Sleep 2
881     Kontext "Active"
882     if Active.Exists then
883         if Active.GetRT = 304 then
884             try
885                 Active.ok
886             catch
887                 Active.Gettext
888                 Active.No
889             endcatch
890         end if
891     else
892         Kontext "Spellcheck"
893         if Spellcheck.Exists then
894             QAErrorlog "- Spellchecking dialog is still open. Not all words have been replaced!"
895             Spellcheck.Close
896         end if
897     end if
899     Kontext "Active"
900     if Active.Exists then Active.ok
902     '/// Close document ///
903     Call hCloseDocument
904 endcase
906 '------------------------------------------------------------------------------------------------------------------------------------------------------------------
908 testcase tToolsSpellcheckChangeLanguageAttribute
910     Dim sWordToBeChecked as string
911     Dim InsFile as string
912     Dim i as integer
913     Dim ReplacedWith as string
914     Dim PriorLanguage as string
915     Dim CurrentLanguage as string
917     '/// Open specified document depending on language to check spellcheck ///
918     '/// document has 1 defined wrong word ///
919     PrintLog "- Tools / Spellchecking / Check only one word"
920     InsFile = wGetSpellcheckDocumentName(2)
921     Select Case InsFile
922         Case "None"
923             Printlog "- No Spellcheck for this language available!"
924             goto endsub
925         case "Empty"
926             QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!" 'iSystemSprache
927             goto endsub
928     end select
929     
930     if gApplication = "MASTERDOCUMENT" then
931         if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
932         EditPaste
933     else
934         Call hFileOpen(InsFile)
935         Call sMakeReadOnlyDocumentEditable
936     end if
937     Call wTypeKeys "<Mod1 Home>"
938     
939     select case iSprache
940         case 01   : sWordToBeChecked = "excetionally"      ' this word is wrong
941         case 03   : sWordToBeChecked = "semstre"           ' this word is wrong
942         case 07   : sWordToBeChecked = "военно"
943         case 31   : sWordToBeChecked = "lidstartesn"        ' this word is wrong
944         case 33   : sWordToBeChecked = "heues"            ' this word is wrong
945         case 34   : sWordToBeChecked = "vacunaión"         ' this word is wrong
946         case 36   : sWordToBeChecked = "jelentos"
947         case 39   : sWordToBeChecked = "brasilianir"       ' this word is wrong
948         case 45   : sWordToBeChecked = "Amserdam"         ' this word is wrong
949         case 46   : sWordToBeChecked = "avrttades"         ' this word is wrong
950         case 48   : sWordToBeChecked = "stosowanei"         ' this word is wrong
951         case 49   : sWordToBeChecked = "georaphischen"     ' this word is wrong
952         case 55   : sWordToBeChecked = "Veigo"     ' this word is wrong
953     end select
955     EditSearchAndReplace
956     Kontext "FindAndReplace"
957     try
958         SearchFor.Settext ""
959     catch
960     endcatch
961     if SimilaritySearch.IsVisible = False then More.Click
962     if SimilaritySearch.IsEnabled then SimilaritySearch.Uncheck
963     if SearchForStyles.IsEnabled then SearchForStyles.Uncheck
964     if RegularExpressions.IsEnabled then RegularExpressions.Uncheck
965     if NoFormat.IsEnabled then NoFormat.Click
966     if CurrentSelectionOnly.IsEnabled then CurrentSelectionOnly.Uncheck
967     WholeWordsOnly.Uncheck
968     Backwards.Uncheck
969     MatchCase.Uncheck
970     RegularExpressions.Check
972     SearchFor.Settext sWordToBeChecked
973     SearchNow.Click
974     Kontext "Active"
975     if Active.Exists then
976         if Active.GetRT = 304 then
977             Warnlog "- Didn't found the word to check! No Spellchecking for one word!"
978             Active.Ok
979             Kontext "FindAndReplace"
980             FindAndReplace.Cancel
981             Call hCloseDocument
982             goto endsub
983         end if
984     end if
985     Kontext "FindAndReplace"
986     if FindAndReplace.Exists then FindAndReplace.Cancel
987     EditCopy
989     '/// Execute spellcheck: change language Attributes
990     wait 500
991     ToolsSpellcheckWriter
992     Sleep 2
993     Kontext "Spellcheck"
994     if Not Spellcheck.Exists then
995         Kontext "Active"
996         If Active.Exists then
997             If Active.GetRT = 304 then
998                 Warnlog Active.Gettext
999                 Warnlog "- Probably didn't found the word to check! No Spellchecking for one word!"
1000                 Active.ok
1001             end if
1002         end if
1003         ToolsSpellcheckWriter
1004         Kontext "Spellcheck"
1005     end if
1006         '/// Replace found word with suggestion from list
1007     if Spellcheck.Exists then
1008         PriorLanguage = DictionaryLanguage.GetSelText
1009         printlog "- remember selected language: " & PriorLanguage
1010         for i = 1 to DictionaryLanguage.GetItemCount
1011             DictionaryLanguage.Select i
1012             if Suggestions.GetItemCount > 0 then
1013                 CurrentLanguage = DictionaryLanguage.GetSelText
1014                 if Suggestions.IsEnabled and CurrentLanguage <> PriorLanguage then
1015                     printlog "-  replace with language: " & CurrentLanguage
1016                     Suggestions.Select 1
1017                     ReplacedWith = Suggestions.GetSelText
1018                     printlog "-  replace with word: " & ReplacedWith
1019                     i = DictionaryLanguage.GetItemCount + 1 
1020                 end if
1021             end if
1022         next i
1023         '/// Close spellcheck dialog and check if properties have been set
1024         if ReplacedWith > "" then
1025             Change.Click
1026             Kontext "Active"
1027             if Active.Exists then
1028                 if Active.GetRT = 304 then
1029                     try
1030                         Active.Yes
1031                     catch
1032                     endcatch
1033                 end if
1034             end if
1035             ' Finished message ?
1036             Kontext "Active"
1037             if Active.Exists then
1038                 if Active.GetRT = 304 then
1039                     try
1040                         Active.Ok
1041                     catch
1042                     endcatch
1043                 end if
1044             end if
1045             wait 500
1046             Kontext "Spellcheck"
1047             if Spellcheck.Exists then
1048                 SpellcheckClose.Click
1049             end if
1050             wait 500
1051             Call wTypeKeys "<Mod1 Home>"
1052             printlog "- find replaced word"
1053             
1054             EditSearchAndReplace
1055             Kontext "FindAndReplace"
1056             try
1057                 SearchFor.Settext ""
1058             catch
1059             endcatch
1061             SearchFor.Settext ReplacedWith
1062             SearchNow.Click
1063             Kontext "Active"
1064             if Active.Exists then
1065                 if Active.GetRT = 304 then
1066                     Warnlog "- Didn't found the replaced word !"
1067                     Active.Ok
1068                     Kontext "FindAndReplace"
1069                     FindAndReplace.Cancel
1070                     Call hCloseDocument
1071                     goto endsub
1072                 end if
1073             end if
1074             Kontext "FindAndReplace"
1075             if FindAndReplace.Exists then FindAndReplace.Cancel
1076             wait 500
1077             FormatCharacter
1078             Kontext
1079             Active.Setpage TabFont
1080             Kontext "TabFont"
1081             try 
1082                 if Language.GetSelText <> CurrentLanguage then
1083                     if Language.GetSelText = PriorLanguage then
1084                         Warnlog "Language Attributes has not been set to" & CurrentLanguage
1085                     else
1086                         Warnlog "Language Attributes has not been set to " & CurrentLanguage & " but " & Language.GetSelText
1087                     end if
1088                 end if
1089             catch
1090                 if LanguageWest.GetSelText <> CurrentLanguage then
1091                     if LanguageWest.GetSelText = PriorLanguage then
1092                         Warnlog "Language Attributes has not been set to" & CurrentLanguage
1093                     else
1094                         Warnlog "Language Attributes has not been set to " & CurrentLanguage & " but " & LanguageWest.GetSelText
1095                     end if
1096                 end if
1097             endcatch
1098             TabFont.Cancel
1099         else
1100             QAErrorlog "No suggestions found! Maybe wrong word should be changed to run more deeper testing"
1101         end if
1102     else
1103         Warnlog "Spellcheck dialog is not up !"
1104     end if
1105     '/// Close document ///
1106     Call hCloseDocument
1107 endcase
1109 ' *******************************************************************
1111 testcase tToolsSpellcheckButtonChange
1112     Dim InsFile as string
1113     Dim i as integer
1114     '/// Open specified document depending on language to check spellcheck ///
1115     '/// document has 1 defined wrong word ///
1116     PrintLog "- Tools / Spellchecking / Check button 'change'"
1117     InsFile = wGetSpellcheckDocumentName(2)
1118     Select Case InsFile
1119         Case "None"
1120             Printlog "- No Spellcheck for this language available!"
1121             goto endsub
1122         case "Empty"
1123             QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!"  'iSystemSprache
1124             goto endsub
1125     end select
1126     
1127     if gApplication = "MASTERDOCUMENT" then
1128         if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
1129         EditPaste
1130     else
1131         Call hFileOpen(InsFile)
1132         Call sMakeReadOnlyDocumentEditable
1133     end if
1134     Call wTypeKeys "<Mod1 Home>"
1136     '/// invoke the spellchecker
1137     ToolsSpellcheckWriter
1138     '/// Check if button change if disabled if
1139     '/// 1. No suggestion has been given from spellchecker
1140     '/// 2. The button 'change' should be enabled if found mistake has been changed!"
1141     Kontext "Active"
1142     if Active.Exists then
1143         if Active.GetRT = 304 then
1144             try
1145                 Active.Ok
1146                 Warnlog "No mistake found in sample document -> Bug!"
1147             catch
1148             endcatch
1149         else
1150             Kontext "Spellcheck"
1151             if Spellcheck.Exists then
1152                 for i = 1 to DictionaryLanguage.GetItemCount
1153                     DictionaryLanguage.Select i
1154                     if Suggestions.GetItemCount = 0 then
1155                         if Change.IsEnabled = true then
1156                             Warnlog "Button 'Change' is enabled though no sugggestion is given"
1157                         else
1158                             NotInDictionary.TypeKeys "Enable me"
1159                             wait 500
1160                             if Not Change.IsEnabled = true then
1161                                 Warnlog "Button 'Change' is disabled though text has been changed"
1162                             end if
1163                          end if
1164                      end if
1165                 next i
1166             end if
1167         end if
1168     end if
1169     Kontext "Spellcheck"
1170     if Spellcheck.Exists then SpellcheckClose.Click
1171     '/// Close document
1172     Call hCloseDocument
1174 endcase
1176 ' *******************************************************************
1178 testcase tToolsSpellcheckButtonChangeAll
1179     Dim InsFile as string
1180     Dim i as integer
1181     '/// Open specified document depending on language to check spellcheck ///
1182     '/// document has 1 defined wrong word ///
1183     PrintLog "- Tools / Spellchecking / Check button 'change all'"
1184     InsFile = wGetSpellcheckDocumentName(2)
1185     Select Case InsFile
1186         Case "None"
1187             Printlog "- No Spellcheck for this language available!"
1188             goto endsub
1189         case "Empty"
1190             QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!"  'iSystemSprache
1191             goto endsub
1192     end select
1193     
1194     if gApplication = "MASTERDOCUMENT" then
1195         if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
1196         EditPaste
1197     else
1198         Call hFileOpen(InsFile)
1199         Call sMakeReadOnlyDocumentEditable
1200     end if
1201     Call wTypeKeys "<Mod1 Home>"
1203     '/// invoke the spellchecker
1204     ToolsSpellcheckWriter
1205     '/// Check if button 'change all' disabled if found mistake has been changed!"
1206     Kontext "Active"
1207     if Active.Exists then
1208         if Active.GetRT = 304 then
1209             try
1210                 Active.Ok
1211                 Warnlog "No mistake found in sample document -> Bug!"
1212             catch
1213             endcatch
1214         else
1215             Kontext "Spellcheck"
1216             if ChangeAll.IsEnabled then
1217                 NotInDictionary.TypeKeys "Disable me"
1218                 wait 500
1219                 if ChangeAll.IsEnabled = true then
1220                     Warnlog "Button 'Change all' is disabled though text has been changed"
1221                 end if
1222             else
1223                 Warnlog "Button 'Change all' should be enabled"
1224             end if
1225             SpellcheckClose.Click
1226         end if
1227     end if
1228     '/// Close document
1229     Call hCloseDocument
1230     
1231 endcase
1233 ' *******************************************************************
1235 testcase tToolsThesaurus
1236     Dim sWordInitial as string
1237     Dim sLanguageToBeSelected as string
1238     Dim sWordToBeFound as string
1239     Dim sWordReplacedWith as string
1240     Dim i as integer
1241     Dim TheFile as String
1243     PrintLog "- Tools / Thesaurus"
1245     printlog " Open document where the formatting is set to the language we wish to test."
1246     TheFile = Convertpath (gTesttoolpath + "writer\optional\input\spellcheck\spellcheck_" + iSprache + ".odt")
1247     if hFileExists ( TheFile ) <> TRUE then
1248        Warnlog "Found no Document for the language you're testing in, Please inform the Test-Developer."
1249        exit sub
1250     end if
1252     select case iSprache
1253         case 01 : sWordInitial = "Morning"
1254         case 03 : sWordInitial = "Confirmam"
1255         case 07 : Printlog "- No Thesaurus in Russian!"
1256                   goto endsub
1257         case 31 : sWordInitial = "Hulp"
1258         case 33 : sWordInitial = "Payer"
1259         case 34 : sWordInitial = "Suficiente"
1260         case 36 : Printlog "- No Thesaurus in Hungarian!"
1261                   goto endsub
1262         case 39 : sWordInitial = "Lingua"
1263         case 45 : sWordInitial = "Først"
1264         case 46 : sWordInitial = "Däng"
1265         case 48 : sWordInitial = "wypowiedź"
1266         case 49 : sWordInitial = "Mann"
1267         case 55 : Printlog "- No Thesaurus in Portuguese (Brazil) !"
1268                           goto endsub
1269         case 81 : Printlog "- No Thesaurus in Japanese!"
1270                   goto endsub
1271         case 82 : Printlog "- No Thesaurus in Korean!"
1272                   goto endsub
1273         case 86 : Printlog "- No Thesaurus in Chinese (simplified)!"
1274                   goto endsub
1275         case 88 : Printlog "- No Thesaurus in Chinese (traditional)!"
1276                   goto endsub
1277         case 30, 35, 36, 37, 42, 47, 48, 51, 90
1278                   Printlog "- No Thesaurus available !"
1279                   goto endsub
1280         case else : QAErrorlog "The language " + iSprache + " has no defined errortext. No Test!"
1281                     goto endsub
1282     end select
1284     printlog "Open new preformatted-writerdocument"
1285     call hFileOpen (TheFile,false)
1286     Call sMakeReadOnlyDocumentEditable
1288     printlog "-  Thesaurus without a word"
1289     '/// Call Thesaurus without a written word ///
1290         ToolsLanguageThesaurus
1291     Kontext "Thesaurus"
1292     if Ersetzen.GetText <> "" then Warnlog "- Though no word has been selected there is a replacetext in the textfield!"
1293     printlog "-  enter one word and search"
1294     Ersetzen.SetText sWordInitial
1295     Nachschlagen.Click
1296     Kontext "Active"
1297     if Active.Exists then
1298         Warnlog Active.Gettext
1299         Active.ok
1300     end if
1301     Kontext "Thesaurus"
1302     if Bedeutung.GetSelText(1) = "" then Warnlog "No meaning text"
1303     if Ersetzen.Gettext = "" then Ersetzen.SetText = sWordInitial
1304     sWordToBeFound = Ersetzen.GetText
1305     Thesaurus.OK
1306     Call wTypeKeys "<Home><Shift End>"
1307     wait 200
1308     EditCopy
1309     if iSprache = 1 then
1310         if GetClipboardText <> sWordToBeFound then Warnlog "Wrong word has been replaced, not => " + sWordInitial + " but => " + GetClipboardText
1311     else
1312         if LCase (GetClipboardText) <> LCase (sWordToBeFound) then Warnlog "Wrong word has been replaced, not => " + sWordToBeFound + " but => " + GetClipboardText
1313     end if
1314     Call hCloseDocument
1315     wait 500
1316     
1317     printlog " Open new preformatted-document where the formatting is set to the language we wish to test."
1318     call hFileOpen (TheFile,false)
1319     Call sMakeReadOnlyDocumentEditable
1321     printlog "-  check the language"
1322     Call wTypeKeys sWordInitial + "<Home>"
1323     '/// Check language in Thesaurus ///
1324     ToolsLanguageThesaurus
1325     Kontext "Thesaurus"
1327     Sprache.Click
1328     Kontext "SpracheAuswaehlen"
1329     select case iSprache ' iSystemSprache
1330         case 01 : sLanguageToBeSelected = "English (USA)"
1331         case 07 : sLanguageToBeSelected = "Русский"
1332         case 03 : sLanguageToBeSelected = "Português"
1333         case 31 : sLanguageToBeSelected = "Nederlands (NL)"
1334         case 33 : sLanguageToBeSelected = "Français (France)"
1335         case 34 : sLanguageToBeSelected = "Español (España)"
1336         case 36 : sLanguageToBeSelected = "Madyar"
1337         case 39 : sLanguageToBeSelected = "Italiano (Italia)"
1338         case 45 : sLanguageToBeSelected = "Dansk"
1339         case 46 : sLanguageToBeSelected = "svenska (Sverige)"
1340         case 48 : sLanguageToBeSelected = "Polski"
1341         case 49 : sLanguageToBeSelected = "Deutsch (Deutschland)"
1342     end select
1343     SpracheAuswaehlen.OK
1344     Sleep 5
1346     Kontext "Thesaurus"
1347     printlog "-  Search for a Synonym"
1348     '/// Search for a synonym ///
1349     Synonym.Select 1
1350     wait 500
1351     sWordToBeFound = Synonym.GetSelText
1352     if Ersetzen.GetText <> sWordToBeFound then Warnlog "Synonym has not been taken over"
1353     Nachschlagen.Click
1354         wait 500
1355         if Wort.GetSelText <> sWordToBeFound then Warnlog "Synonym has not been added to the word listand activated"
1356         
1357     printlog "-  Search for a meaning"
1358     '/// Search for a meaning ///
1359     wait 500
1360         Bedeutung.Select 1
1361     wait 500
1362         Nachschlagen.Click
1363     Sleep 1
1364     Kontext "Active"
1365     if Active.Exists then
1366         printlog "-   " + Active.Gettext
1367         Active.Ok
1368         Kontext "Thesaurus"
1369     else                                               ' Nur wenn Wort auch enthalten ist
1370         Kontext "Thesaurus"
1371         for i = 1 to 100
1372             if Bedeutung.GetSeltext <> "" then i = 101
1373             Sleep 1
1374         next i
1375         sWordToBeFound = Bedeutung.GetSelText
1376         if Instr ( Ersetzen.GetText, sWordToBeFound ) <> 0 then
1377             Warnlog "Meaning has not been overtaken"
1378         end if
1379     end if
1381     printlog "-  Replace unchecked ( Cursor in front of words 1. character )"
1382     '/// replace unchecked ///
1383     sWordReplacedWith = Ersetzen.GetText
1384     Thesaurus.OK
1385     Call wTypeKeys "<Shift Home>"
1386     wait 200
1387     EditCopy
1388     if GetClipboardText <> sWordReplacedWith then Warnlog "Text has not been correctly replaced, not => " + sWordReplacedWith + " but => " + GetClipboardText
1390     Call wTypeKeys "<End><Shift Home><Delete>" + sWordInitial
1391     Call wTypeKeys "<Home><Right><Right>"
1393     printlog "-  Replace unchecked ( Cursor in word )"
1394     ToolsLanguageThesaurus
1395     Kontext "Thesaurus"
1396     wait 500
1397     if Synonym.GetItemCount >0 then
1398         Synonym.Select 1
1399         sWordReplacedWith = Ersetzen.GetText
1400         Thesaurus.OK
1401         Call wTypeKeys "<Home><Shift End>"
1402         wait 200
1403         EditCopy
1404         if GetClipboardText <> sWordReplacedWith then Warnlog "Text has not been correctly replaced, not => " + sWordReplacedWith + " but => " + GetClipboardText
1405     else
1406         Warnlog "- No Synonym when cursor is in word!"
1407         Thesaurus.Ok
1408     end if
1410     Call wTypeKeys "<End><Shift Home><Delete>"
1411     Call wTypeKeys sWordInitial + "<End><Left>"
1413     printlog "-  Replace unchecked ( Cursor at words end )"
1414     ToolsLanguageThesaurus
1415     Kontext "Thesaurus"
1416     if Synonym.GetItemCount >0 then
1417         Synonym.Select 1
1418         sWordReplacedWith = Ersetzen.GetText
1419         Thesaurus.OK
1420         Call wTypeKeys "<Home><Shift End>"
1421         wait 200
1422         EditCopy
1423         if GetClipboardText <> sWordReplacedWith then Warnlog "Text has not been correctly replaced, not => " + sWordReplacedWith + " but => " + Trim$(GetClipboardText)
1424     else
1425         Warnlog "- No sysnonym when cursor pointed to words end!"
1426         Thesaurus.Ok
1427     end if
1429     Call wTypeKeys "<End><Shift Home><Delete>"
1430     Call wTypeKeys sWordInitial + "<End><Left><Shift Mod1 Left>"
1432     printlog "-  Replace checked ( back to front )"
1433     '/// replace checked ///
1434     ToolsLanguageThesaurus
1435     Kontext "Thesaurus"
1436     if Synonym.GetItemCount >0 then
1437         Synonym.Select 1
1438         sWordReplacedWith = Ersetzen.GetText
1439         Thesaurus.Ok
1440         Call wTypeKeys "<Home><Shift End><Shift Left>"
1441         wait 200
1442         EditCopy
1443         if GetClipboardText <> sWordReplacedWith then Warnlog "Text has not been correctly replaced, not => " + sWordReplacedWith + " but => " + GetClipboardText
1444     else
1445         Nachschlagen.Click
1446         Kontext "Active"
1447         if Active.Exists then
1448             Active.Ok
1449             Kontext "Thesaurus"
1450             Thesaurus.OK
1451         end if
1452     end if
1454     Call wTypeKeys "<End><Shift Home><Delete>"
1455     Call wTypeKeys sWordInitial + "<Home><Shift End>"
1456     printlog "-  Replace checked ( front to back )"
1457     ToolsLanguageThesaurus
1458     Kontext "Thesaurus"
1459     if Synonym.GetItemCount >0 then
1460         Synonym.Select 1
1461         sWordReplacedWith = Ersetzen.GetText
1462         Thesaurus.Ok
1463         Call wTypeKeys "<Home><Shift End>"
1464         wait 200
1465         EditCopy
1466         if GetClipboardText <> sWordReplacedWith then Warnlog "Text has not been correctly replaced, not => " + sWordReplacedWith + " but => " + GetClipboardText
1467     else
1468         Warnlog "- No sysnonym when word is marked!"
1469         Thesaurus.Ok
1470     end if
1472     Call wTypeKeys "<End><Shift Home><Delete>"
1473     Call wTypeKeys sWordInitial + "<Home><Right><Shift Right><Shift Right>"
1475     printlog "-  Part of Replace checked ( back to front )  - no checking anymore"
1476     ToolsLanguageThesaurus
1477     Kontext "Thesaurus"
1478     Thesaurus.OK
1479     '/// Close thesaurus and writerdocument ///
1480     Call hCloseDocument
1481 endcase