merge the formfield patch from ooo-build
[ooovba.git] / testautomation / writer / optional / includes / table / w_204_.inc
blob9bc3f38498d50db844fd18ce9685527c729203c8
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_204_.inc,v $
11 '* $Revision: 1.3 $
13 '* last change: $Author: vg $ $Date: 2008-08-18 12:36:50 $
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 : Writer Table Test
38 '*************************************************************************
40 '*    tTableOption
41 '*    tTableInsert1
42 '*    tTableInsert2
43 '*    tTableInsert3
44 '*    tTableInsert4
45 '*    tTableInsert5
46 '*    tTableNumberFormat
47 '*    tTableDelete
48 '*    tTableText
49 '*    tTableCalculate
50 '*    tTableEdit
52 '\***********************************************************************
54 sub w_204_
55     Call tTableOption
56     Call tTableInsert1
57     Call tTableInsert2
58     Call tTableInsert3
59     Call tTableInsert4
60     Call tTableInsert5
61     Call tTableNumberFormat
62     Call tTableDelete
63      Call tTableText
64      Call tTableCalculate
65     Call tTableEdit
66 end sub
68 testcase tTableOption
69    '/// Check Tables' default Option ///
70     printlog "/// Check Tables' default Option ///"
72     Call hNewDocument
74     '/// TOOLS->OPTIONS->StarOffice Writer->Table ///"
75     '/// Number recognition should be OFF by default///"
76     '/// two boxes below are checked but disabled ///"
77     
78     ToolsOptions
79     Call hToolsOptions ("WRITER","Table")
80     if AutomatischeZahlenerkennung.IsChecked then 
81         warnlog "The default for 'Number recognition' should be OFF => 114166 "
82         AutomatischeZahlenerkennung.UnCheck
83     else
84         if AutomatischeAusrichtung.IsChecked then
85             try
86                 AutomatischeAusrichtung.UnCheck
87                 warnlog "'Number format recognition' should be disabled => 114166 "
88             catch
89             endcatch
90         else
91             warnlog "'Number format recognition' should be checked => 114166 "    
92         end if
93         if Zahlenformaterkennung.IsChecked then   
94             try
95                 Zahlenformaterkennung.UnCheck
96                 warnlog "'Alignment' should be disabled => 114166 "
97             catch
98             endcatch
99         else
100             warnlog "'Alignment' should be checked => 114166 "
101         end if
102     end if
103     Kontext "ExtrasOptionenDlg"
104     ExtrasOptionenDlg.Cancel
106     Call hCloseDocument
108 endcase
110 ' --------------------------------------------------------------------
112 testcase tTableInsert1
113     dim i as integer
115     Call hNewDocument
116     Kontext "DocumentWriter"
118     Printlog "'///  1. Insert Toolbox -> Insert Table ///"
119     Call hToolbarSelect ( "Insert", True )
120     Kontext "InsertBar"
121     Tabelle.Click
122     Kontext "TabelleEinfuegenWriter"
123     TabellenName.SetText "one"
124         Spalten.Settext "5"
125     TabelleEinfuegenWriter.OK
126     Call wTypeKeys "one<down>"
128     Printlog "'///+ ... play with number recognition in TOOLS->OPTIONS->TextDoc->Table ///"
129     Printlog "'///+     ... Number recognition OFF ///"
130     ToolsOptions
131     Call hToolsOptions ("WRITER","Table")
132     AutomatischeZahlenerkennung.UnCheck
133     Kontext "ExtrasOptionenDlg"
134     ExtrasOptionenDlg.OK
136     ' insert test row
137     Call hToolbarSelect ( "Table", true )
138         ZeileEinfuegen.Click
139     Call wTypeKeys "<down>11111<Tab>1"+cSep+"116111<Tab>1"+cDecSep+"116111<Tab>abcd<shift tab><shift tab><shift tab>"
140     ' check format
141     for i=1 to 4
142         FormatNumberFormat
143         Kontext "Zahlenformat"
144         if (Kategorie.GetSelText <> fLocaleString("LocaleText")) then
145             warnlog "wrong format; is: "+Kategorie.GetSelText+" should: "+fLocaleString("LocaleText") ' Text
146         end if
147         Zahlenformat.Cancel
148         FormatParagraph
149         Kontext
150         Active.SetPage tabAusrichtungAbsatz
151         Kontext "tabAusrichtungAbsatz"
152         if (links.isChecked <> true) then warnlog "wrong alignment of tablefield: "+i
153         TabAusrichtungAbsatz.Cancel
154         Call wTypeKeys "<Tab>"
155     next i
156     ' go back to start of table
157     Call wTypeKeys "<Mod1 Home><Down>"
159     Printlog "'///+       ... Number recognition ON -                           ///"
160     ToolsOptions
161     Call hToolsOptions ("WRITER","Table")
162     AutomatischeZahlenerkennung.Check ' even with that, everything is a TEXT :-(????
163     Zahlenformaterkennung.UnCheck ' much better with that! everything with numbers&decimalsep is number with 2 decimal places displayed, but all kept!!!
164     AutomatischeAusrichtung.UnCheck ' just the allignment does change too!
165     Kontext "ExtrasOptionenDlg"
166     ExtrasOptionenDlg.OK
168         Call hToolbarSelect ( "Table", true )
169     ZeileEinfuegen.Click
170     Call wTypeKeys "<down>11111<Tab>1"+cSep+"116111<Tab>1"+cDecSep+"116111<Tab>abcd<shift tab><shift tab><shift tab>"
171     for i=1 to 4
172         FormatNumberFormat
173         Kontext "Zahlenformat"
174         if (Kategorie.GetSelText <> fLocaleString("LocaleText")) then
175             warnlog "wrong format; is: "+Kategorie.GetSelText+" should: "+fLocaleString("LocaleText") ' Text
176         end if
177         Zahlenformat.Cancel
178         FormatParagraph
179         Kontext
180         Active.SetPage tabAusrichtungAbsatz
181         Kontext "TabAusrichtungAbsatz"
182         if (Links.IsChecked = false) then warnlog "wrong alignment of tablefield: "+i
183         TabAusrichtungAbsatz.Cancel
184         Call wTypeKeys "<Tab>"
185     next i
186     Call wTypeKeys "<Mod1 Home><Down>"
188     Printlog "'///+       ... Number recognition ON - Number format recognition ///"
189     ToolsOptions
190     Call hToolsOptions ("WRITER","Table")
191     AutomatischeZahlenerkennung.Check ' even with that, everything is a TEXT :-(????
192     Zahlenformaterkennung.Check ' much better with that! everything with numbers&decimalsep is number with 2 decimal places displayed, but all kept!!!
193     AutomatischeAusrichtung.UnCheck ' just the allignment does change too!
194     Kontext "ExtrasOptionenDlg"
195     ExtrasOptionenDlg.OK
196         Call hToolbarSelect ( "Table", true )
197     ZeileEinfuegen.Click
198     Call wTypeKeys "<down>11111<Tab>1"+cSep+"116111<Tab>1"+cDecSep+"116111<Tab>abcd<shift tab><shift tab><shift tab>"
199     ' number, text, number, text
200     for i=1 to 4
201         FormatNumberFormat
202         Kontext "Zahlenformat"
203         Select Case i
204             Case 1,2,3
205                 if (Kategorie.GetSelText <> fLocaleString("LocaleNumber")) then
206                     warnlog "wrong format; "+ i +"; is: "+Kategorie.GetSelText+" should: "+fLocaleString("LocaleNumber") ' Number
207                 end if
208             Case 4
209                 if (Kategorie.GetSelText <> fLocaleString("LocaleText")) then
210                     warnlog "wrong format; "+ i +"; is: "+Kategorie.GetSelText+" should: "+fLocaleString("LocaleText") ' Text
211                 end if
212         end select
213         Zahlenformat.Cancel
214         Call wTypeKeys "<Tab>"
215     next i
216     Call wTypeKeys "<Mod1 Home><Down>"
218     Printlog "'///+       ... Number recognition ON - Number format recognition - Alignment ///"
219     ToolsOptions
220     Call hToolsOptions ("WRITER","Table")
221     AutomatischeZahlenerkennung.Check ' even with that, everything is a TEXT :-(????
222     Zahlenformaterkennung.Check ' much better with that! everything with numbers&decimalsep is number with 2 decimal places displayed, but all kept!!!
223     AutomatischeAusrichtung.Check ' just the allignment does change too!
224     Kontext "ExtrasOptionenDlg"
225     ExtrasOptionenDlg.OK
226         Call hToolbarSelect ( "Table", true )
227     ZeileEinfuegen.Click
228     Call wTypeKeys "<down>11111<Tab>1"+cSep+"116111<Tab>1"+cDecSep+"116111<Tab>abcd<shift tab><shift tab><shift tab>"
229     ' number-right, text-left, number-right, text-left
230     for i=1 to 4
231         Select Case i
232             Case 1,2,3
233                 FormatNumberFormat
234                 Kontext "Zahlenformat"
235                 if (Kategorie.GetSelText <> fLocaleString("LocaleNumber")) then
236                     warnlog "wrong format; "+ i +"; is: "+Kategorie.GetSelText+" should: "+fLocaleString("LocaleNumber") ' number
237                 end if
238                 Zahlenformat.Cancel
239                 formatparagraph
240                 Kontext
241                 Active.SetPage tabAusrichtungAbsatz
242                 Kontext "tabAusrichtungAbsatz"
243                 if (rechts.isChecked <> true) then warnlog "wrong alignment of tablefield: "+i +"; should: right"
244                 tabausrichtungabsatz.Cancel
245             Case 4
246                 FormatNumberFormat
247                 Kontext "Zahlenformat"
248                 if (Kategorie.GetSelText <> fLocaleString("LocaleText")) then
249                     warnlog "wrong format; is: "+ i +"; "+Kategorie.GetSelText+" should: "+fLocaleString("LocaleText") ' Text
250                 end if
251                 Zahlenformat.Cancel
252                 formatparagraph
253                 Kontext
254                 Active.SetPage TabAusrichtungAbsatz
255                 Kontext "TabAusrichtungAbsatz"
256                 if (links.isChecked <> true) then warnlog "wrong alignment of tablefield: "+i+"; should: left"
257                 TabAusrichtungAbsatz.Cancel
258          end select
259          Call wTypeKeys "<Tab>"
260      next i
262      Call hCloseDocument
264 endcase
266 ' --------------------------------------------------------------------
268 testcase tTableInsert2
270     Call hNewDocument
271     Printlog "'///  2. Insert Toolbox -> Insert Table -> Autoformat ///"
272     ' using autoformat
273     Call hToolbarSelect ( "Insert", True )
274     Kontext "InsertBar"
275     Tabelle.Click
276     Kontext "TabelleEinfuegenWriter"
277     Spalten.Settext "5"
278         Zeilen.SetText "20"
279     Autoformat.Click
280     Kontext "AutoformatTabelle"
281     AutoFormatTabelle.OK
282     Kontext "TabelleEinfuegenWriter"
283     TabellenName.SetText "two"
284     TabelleEinfuegenWriter.OK
285     Call wTypeKeys "two"
287     Call hCloseDocument
289 endcase
291 ' --------------------------------------------------------------------
292 testcase tTableInsert3
293     dim i as integer
294     dim sTemp as string
295     dim itemp(3) as integer
297     Call hNewDocument
298     Printlog "'///  3. Menu: Insert -> Table (Shortcut): {strg} + {F12} ///"
299     Printlog "'///+ Test Options on 'Insert Table'                 ///"
300     Printlog "'///+ Header ON                                 ///"
301     ' table heading active
302     ' Don't split table INactive
303     ' table border unchecked
304     Call wTypeKeys "<Mod1 F12>"
305     Kontext "TabelleEinfuegenWriter"
307     TabellenName.SetText "three"
308         Spalten.Settext "5"
309     Ueberschrift.Check
310     Umrandung.Uncheck
311     TabelleEinfuegenWriter.OK
312     Call wTypeKeys "three"
314     ' -------------check if heading 1
315     ' if checked: heading; else: contents !! SystemLanguage dependent !! :-(
316     Printlog "'///+ check if Header ON ///"
317     Kontext "TextObjectbar"
318     sleep (1)
319     sTemp = Vorlage.GetSelText
320     if (sTemp <> fLocaleString("LocaleTableHeading")) then
321         Warnlog "--- table heading did not work!"
322         warnlog "--- is:" + sTemp + ", should :" + fLocaleString("LocaleTableHeading")
323     end if
324     '----------------------------------
325     Call wTypeKeys "<down>"
326       ' -------------check if splitting; it HAS TO split
327     Printlog "'///+ check if Table gets splitted -  it HAS TO split ///"
329     InsertFieldsPagenumbers          ' get pagenumber & leave it for next calculation
330     Call wTypeKeys "<Mod1 A>"
331     ToolsCalculate
332     itemp(1) = val(GetClipboardText)
333         Call hToolbarSelect ( "Table", true )
334     for i=1 to 60
335         ZeileEinfuegen.Click ' inserted below the current row
336         wait 200
337     next i
338     ToolsUpdateUpdateAll             ' update field & get pagenumber & clear
339     Call wTypeKeys "<Left><Right>" ' Seems there are focus problems on Solaris...workaround
340     Call wTypeKeys "<Mod1 A>"
341     ToolsCalculate
342     itemp(2) = val(GetClipboardText)
343     if (itemp(1)+1 = itemp(2)) then warnlog "--- Table moved to seconde page"
344     EditCut
345     Call wTypeKeys "got start3"
347     Call wTypeKeys "<Mod1 end>"       ' move to last cell in table
348     InsertFieldsPagenumbers          ' get pagenumber & clear
349     Call wTypeKeys "<Mod1 A>"
350     ToolsCalculate
351     itemp(3) = val(GetClipboardText)
352     if (itemp(2) <> itemp(3)) then
353         printlog "--- Table splitted" + itemp(3)
354     else
355         warnlog "put some more rows in!!!"
356     end if
358     Call hCloseDocument         
359 endcase
361 ' --------------------------------------------------------------------
362 testcase tTableInsert4
363     dim i as integer
364     dim stemp as string
366     '/// Open a new writer document
367     Call hNewDocument
368     '/// Insert some dummy text
369     if wBlindTextEinfuegen() = false then
370         Call hCloseDocument
371         goto endsub
372     end if
373     '/// Insert a table with parameters:
374     InsertTableWriter
375     Kontext "TabelleEinfuegenWriter"
377     '/// - Set table name: four
378     TabellenName.SetText "four"
379     '/// - number of columns: 5
380         Spalten.Settext "5"
381     '/// - number of rows: 16
382     Zeilen.Settext "16"
383     '/// - Header: uncheck
384     Ueberschrift.UnCheck
385     '/// - Don't split table: check
386     TabelleNichtTrennen.Check
387     '/// - Border: check
388     Umrandung.check
389     TabelleEinfuegenWriter.OK
391     '/// check if table has no header
392     Printlog "check if Header OFF"
393     Kontext "TextObjectbar"
394     sleep (1)
395     if wStyleGet(fLocaleString("LocaleTableHeading")) = true then
396         Warnlog "Seems tableheader is activated though header is off"
397     end if
399     '/// Cursor leaves table with <Up> and <End>
400     Printlog "check if Table gets splitted"
401     Call wTypeKeys "<Up><End><SPACE>"
402     '/// Insert dummy text again 3 times
403     Call wBlindtextEinfuegen
404 '    wait 500
405     Call wBlindtextEinfuegen
406 '    wait 500
407     Call wBlindtextEinfuegen
408     '/// check if table has been moved to Page 2
410     Call wTypeKeys "<Mod1 End>"     ' jump to documents end
411     Call wTypeKeys "<Up>"           ' move cursor into table
412     Call wTypeKeys "<Mod1 Home>"    ' move cursor to first cell
414     '/// Insert / Fields / Pagenumbers to check on which page table is
415     InsertFieldsPagenumbers
416     Call wTypeKeys "<shift home>"
417     ToolsCalculate
419     if (GetClipboardText = "2") or (GetClipboardText = "3") then
420                 printlog "Table has been moved correctly"
421         else
422             warnlog " It seems table has been splitted"
423     end if
425         '/// <B>Table should split if table is bigger than one page</B>
426     Call wTypeKeys "<Up>"
427     Call wTypeKeys "<shift mod1 home>"
428     Call wTypeKeys "<delete>"
429     Call wBlindtextEinfuegen
430     Call wTypeKeys "<mod1 End>"
431     Call wTypeKeys "<up>"
432     Call wTypeKeys "<mod1 Home>"
434     Printlog "Table should split"
435         Call hToolbarSelect ( "Table", true )
436     for i=1 to 25
437         ZeileEinfuegen.Click ' inserted below the current row
438     next i
439     Call wTypeKeys "<shift end>"
440     ToolsCalculate
441         stemp = GetClipboardText
442         Call wTypeKeys "<ESCAPE>"
443         Call wTypeKeys "<mod1 End>"
444         InsertFieldsPagenumbers
445         Call wTypeKeys "<shift home>"
446         ToolsCalculate
447     if (GetClipboardText <> stemp) then
448                 printlog "Table has been splitted"
449         else
450             warnlog " It seems table has not been splitted"
451     end if
453     Call hCloseDocument
454 endcase
456 ' --------------------------------------------------------------------
457 testcase tTableInsert5
459     Call hNewDocument
460     '///  Insert Text with delimeter & call Tools -> Text<->Table
461     Printlog "'///  Insert Text with delimeter & call Tools -> Text<->Table ///"
462     Call wTypeKeys "five;2;3;4;5;<return>"
463     Call wTypeKeys "a;b;c;d;e;<return>"
464     Call wTypeKeys "A;B;C;D;E;"
465     Call wTypeKeys "<shift home>"
466     Call wTypeKeys "<shift up>"
467     Call wTypeKeys "<shift up>"
469     ToolsTextInTable
470     Kontext "TextInTabelleUmwandeln"
471     Semikolon.Check
473     TextInTabelleUmwandeln.OK
474     Call wTypeKeys "<end><Mod1 end><down><return>"
476     Call hCloseDocument
477 endcase
479 ' --------------------------------------------------------------------
481 testcase tTableNumberFormat
483     Call hNewDocument
484     Printlog "'/// Fill table with content: Tools->Options->TextDoc->Number formating/recognition check ALL ///"
485     '///    use table 5x10; and try to get every entry from format->numberFormat->Categorie ///'
487     Call TBOhTabelleEinfuegen ("six",0, 0, 0, 1,"5", "10" )
488     Call wTypeKeys "six<down>"
490     ToolsOptions           ' set options for this test
491     Call hToolsOptions ("WRITER","Table")
492     AutomatischeZahlenerkennung.Check
493     Zahlenformaterkennung.Check
494     AutomatischeAusrichtung.Check
495     Kontext "ExtrasOptionenDlg"
496     ExtrasOptionenDlg.OK
497     
498     printlog "Checking numberformater"
499     '///+ - Currency    
500     printlog "  - Currency"
501     call wTypeKeys(fLocaleString("LocaleCurrencyValue"))
502     call wTypeKeys "<Tab><shift tab>"
503     FormatNumberFormat
504     Kontext "Zahlenformat"
505     if (Kategorie.GetSelIndex <> 5) then
506             warnlog "The value is not recognized as currency, it is " & Kategorie.GetSelText
507         else
508             printlog "    - Value is correctly recognized as currency"
509     end if
510     Zahlenformat.Cancel
511     formatparagraph
512     Kontext
513     Active.SetPage tabAusrichtungAbsatz
514     Kontext "tabAusrichtungAbsatz"
515     if (rechts.isChecked <> true) then 
516             warnlog "wrong alignment of number"
517         else
518             printlog "    - Currencyvalue is correctly alligned"
519     end if
520     TabAusrichtungAbsatz.Cancel
521     Call wTypeKeys "<home><shift end>"
522     EditCopy
523     if (GetClipboardText <> fLocaleString("LocaleCurrencyValue")) then
524             warnlog "The number is not correctly formated. It is: " & GetClipboardText & " but should be: " & fLocaleString("LocaleCurrencyValue")
525         else
526             printlog "    - Currencyvalue is correctly formated"
527     end if
528     
529     '///+ - Unknown currency
530     printlog "  - Unknown currency"
531     call wTypeKeys("10.78 Â§")
532     call wTypeKeys "<Tab><shift tab>"
533     FormatNumberFormat
535     Kontext "Zahlenformat"
536     if (Kategorie.GetSelIndex <> 11) then
537             warnlog "The value is not recognized as string, it is " & Kategorie.GetSelText
538         else
539             printlog "    - Value is correctly recognized as string"
540     end if
541     Zahlenformat.Cancel
542     formatparagraph
543     Kontext
544     Active.SetPage tabAusrichtungAbsatz
545     Kontext "tabAusrichtungAbsatz"
546     if (links.isChecked <> true) then 
547             warnlog "wrong alignment of number"
548         else
549             printlog "    - Value is correctly alligned"
550     end if
551     TabAusrichtungAbsatz.Cancel
552     Call wTypeKeys "<home><shift end>"
553     EditCopy
554     if (GetClipboardText <> "10.78 Â§") then
555             warnlog "The number is not correctly formated: should be 10.78 Â§, but is " & GetClipboardText
556         else
557             printlog "    - Value is correctly formated"
558     end if
559     
560     '///+ - Date
561     printlog "  - Date"
562     call wTypeKeys(fLocaleString("LocaleDateValue"))
563     call wTypeKeys "<Tab><shift tab>"
564     FormatNumberFormat
566     Kontext "Zahlenformat"
567     if (Kategorie.GetSelIndex <> 6) then
568             warnlog "The value is not recognized as date, it is " & Kategorie.GetSelText
569         else
570             printlog "    - Value is correctly recognized as date"
571     end if
572     Zahlenformat.Cancel
573     Formatparagraph
574     Kontext
575     Active.SetPage tabAusrichtungAbsatz
576     Kontext "tabAusrichtungAbsatz"
577     if (rechts.isChecked <> true) then 
578             warnlog "wrong alignment of number"
579         else
580             printlog "    - Datevalue is correctly alligned"
581     end if
582     TabAusrichtungAbsatz.Cancel
583     Call wTypeKeys "<home><shift end>"
584     EditCopy
585     if (GetClipboardText <> fLocaleString("LocaleDateOutput")) then
586             warnlog "The number is not correctly formated: should be " & fLocaleString("LocaleDateOutput") & ", but is " & GetClipboardText
587         else
588             printlog "    - Datevalue is correctly formated"
589     end if
590     
591     '///+ - Time
592     printlog "  - Time"
593     call wTypeKeys(fLocaleString("LocaleTimeInput"))
594     call wTypeKeys "<Tab><shift tab>"
595     FormatNumberFormat
597     Kontext "Zahlenformat"
598     if (Kategorie.GetSelIndex <> 7) then
599             warnlog "The value is not recognized as time, it is " & Kategorie.GetSelText
600         else
601             printlog "    - Value is correctly recognized as date"
602     end if
603     Zahlenformat.Cancel
604     Formatparagraph
605     Kontext
606     Active.SetPage tabAusrichtungAbsatz
607     Kontext "tabAusrichtungAbsatz"
608     if (rechts.isChecked <> true) then 
609             warnlog "wrong alignment of number"
610         else
611             printlog "    - Timevalue is correctly alligned"
612     end if
613     TabAusrichtungAbsatz.Cancel
614     Call wTypeKeys "<home><shift end>"
615     EditCopy
616     if (GetClipboardText <> fLocaleString("LocaleTimeValue")) then
617             warnlog "The number is not correctly formated: should be " & fLocaleString("LocaleTimeValue") & ", but is " & GetClipboardText
618         else
619             printlog "    - Timevalue is correctly formated"
620     end if
621     
622     '///+ - Percent
623     printlog "  - Percent"
624     call wTypeKeys(fLocaleString("LocalePercentValue"))
625     call wTypeKeys "<Tab><shift tab>"
626     FormatNumberFormat
628     Kontext "Zahlenformat"
629     if (Kategorie.GetSelIndex <> 4) then
630             warnlog "The value is not recognized as percent, it is " & Kategorie.GetSelText
631         else
632             printlog "    - Value is correctly recognized as percent"
633     end if
634     Zahlenformat.Cancel
635     Formatparagraph
636     Kontext
637     Active.SetPage tabAusrichtungAbsatz
638     Kontext "tabAusrichtungAbsatz"
639     if (rechts.isChecked <> true) then 
640             warnlog "wrong alignment of number"
641         else
642             printlog "    - Percentvalue is correctly alligned"
643     end if
644     TabAusrichtungAbsatz.Cancel
645     Call wTypeKeys "<home><shift end>"
646     EditCopy
647     if (GetClipboardText <> fLocaleString("LocalePercentValue")) then
648             warnlog "The number is not correctly formated: should be " & fLocaleString("LocalePercentValue") & ", but is " & GetClipboardText
649         else
650             printlog "    - Percentvalue is correctly formated"
651     end if
652     
653     '///+ - Scientific
654     printlog "  - Scientific"
655     call wTypeKeys(fLocaleString("LocaleScientificValue"))
656     call wTypeKeys "<Tab><shift tab>"
657     FormatNumberFormat
659     Kontext "Zahlenformat"
660     if (Kategorie.GetSelIndex <> 8) then
661             warnlog "The value is not recognized as scientific, it is " & Kategorie.GetSelText
662         else
663             printlog "    - Value is correctly recognized as scientific"
664     end if
665     Zahlenformat.Cancel
666     Formatparagraph
667     Kontext
668     Active.SetPage tabAusrichtungAbsatz
669     Kontext "tabAusrichtungAbsatz"
670     if (rechts.isChecked <> true) then 
671             warnlog "wrong alignment of number"
672         else
673             printlog "    - Scientificvalue is correctly alligned"
674     end if
675     TabAusrichtungAbsatz.Cancel
676     Call wTypeKeys "<home><shift end>"
677     EditCopy
678     if (GetClipboardText <> fLocaleString("LocaleScientificValue")) then
679             warnlog "The number is not correctly formated: should be " & fLocaleString("LocaleScientificValue") & ", but is " & GetClipboardText
680         else
681             printlog "    - Scientificvalue is correctly formated"
682     end if
683     
684     '///+ - Fraction
685     printlog "  - Fraction"
686     call wTypeKeys("58 11/4")
687     call wTypeKeys "<Tab><shift tab>"
688     FormatNumberFormat
690     Kontext "Zahlenformat"
691     if (Kategorie.GetSelIndex <> 9) then
692             warnlog "The value is not recognized as fraction, it is " & Kategorie.GetSelText
693         else
694             printlog "    - Value is correctly recognized as fraction"
695     end if
696     Zahlenformat.Cancel
697     Formatparagraph
698     Kontext
699     Active.SetPage tabAusrichtungAbsatz
700     Kontext "tabAusrichtungAbsatz"
701     if (rechts.isChecked <> true) then 
702             warnlog "wrong alignment of number"
703         else
704             printlog "    - Fractionvalue is correctly alligned"
705     end if
706     TabAusrichtungAbsatz.Cancel
707     Call wTypeKeys "<home><shift end>"
708     EditCopy
709     if (GetClipboardText <> "60 3/4") then
710             warnlog "The number is not correctly formated: should be 60 3/4, but is " & GetClipboardText
711         else
712             printlog "    - Fractionvalue is correctly formated"
713     end if
714     
715     '///+ - Boolean
716     printlog "  - Boolean"
717     call wTypeKeys(fLocaleString("LocaleBooleanValue"))
718     call wTypeKeys "<Tab><shift tab>"
719     FormatNumberFormat
721     Kontext "Zahlenformat"
722     
723     if (Kategorie.GetSelIndex = 10) then
724                 printlog "    - Value is correctly recognized as boolean"
725         elseif iSprache = 86 or iSprache = 82 or iSprache =88 then 
726                         warnlog "Boolean value in chinese and korean not recognized"
727                 else
728                 warnlog "The value " & fLocaleString("LocaleBooleanValue") & "is not recognized as boolean, it is " & Kategorie.GetSelText 
729      end if
731     Zahlenformat.Cancel
732     Formatparagraph
733     Kontext
734     Active.SetPage tabAusrichtungAbsatz
735     Kontext "tabAusrichtungAbsatz"
736     if (rechts.isChecked = true) then 
737             printlog "    - Booleanvalue is correctly alligned"
738         elseif iSprache = 86 or iSprache = 82 or iSprache = 88 then 
739                         warnlog "Boolean value in chinese and korean not recognized"
740             else
741             warnlog "wrong alignment of number"
742     end if
744     TabAusrichtungAbsatz.Cancel
745     Call wTypeKeys "<home><shift end>"
746     EditCopy
747     if (GetClipboardText <> fLocaleString("LocaleBooleanValue")) then
748             warnlog "The number is not correctly formated: should be " & fLocaleString("LocaleBooleanValue") & ", but is " & GetClipboardText
749         else
750             printlog "    - Booleanvalue is correctly formated"
751     end if
752     
753     '///+ - String
754     printlog "  - String"
755     call wTypeKeys("testtext")
756     call wTypeKeys "<Tab><shift tab>"
757     FormatNumberFormat
759     Kontext "Zahlenformat"
760     if (Kategorie.GetSelIndex <> 11) then
761             warnlog "The value is not recognized as string, it is " & Kategorie.GetSelText
762         else
763             printlog "    - Value is correctly recognized as string"
764     end if
765     Zahlenformat.Cancel
766     Formatparagraph
767     Kontext
768     Active.SetPage tabAusrichtungAbsatz
769     Kontext "tabAusrichtungAbsatz"
770     if (links.isChecked <> true) then 
771             warnlog "wrong alignment of string"
772         else
773             printlog "    - String is correctly alligned"
774     end if
775     TabAusrichtungAbsatz.Cancel
776     Call wTypeKeys "<home><shift end>"
777     EditCopy
778     if (GetClipboardText <> "Testtext") then
779             warnlog "The string is not correctly formated: should be Testtext, but is " & GetClipboardText
780         else
781             printlog "    - String is correctly formated"
782     end if
784     '/// finished the file, now some hardwired tests ///'
785     '///+    check, if all decimals are saved, even if not displayed ///'
786     Call wTypeKeys "123" & cDecSep & "123456789"
787     Call wTypeKeys "<Tab><shift tab>"
788     Call wTypeKeys "<home><shift end>"
789     wait 500
790         EditCopy
791     if (GetClipboardText <> "123" & cDecSep & "12") then warnlog "wrong reformating of text tablefield 1; should: " & "123" & cDecSep & "12 is: "+GetClipboardText
792     EditUndo
793     Call wTypeKeys "<home><shift end>"
794     EditCopy
795     if (GetClipboardText <> "123" & cDecSep  & "123456789") then warnlog "wrong reformating of text tablefield 2; should: 123" & cDecSep &  "123456789 is: "+GetClipboardText
797     Call hCloseDocument ()
798 endcase
800 ' --------------------------------------------------------------------
802 testcase tTableDelete
803     dim i as integer
805     Call hNewDocument
806     Printlog "'/// delete rows/columns in a table ///"
808     Call TBOhTabelleEinfuegen ("seven",0, 0, 0, 1,"20", "20" )
809     ' Point cursor to upper left cell
810     Call wTypeKeys "<Mod1 Home>", 2
811     Call wTypeKeys "1"
812     For i = 2 to 20
813         Call wTypeKeys "<down><right>"
814         Call wTypeKeys CStr(i)
815     next i
816     Call wTypeKeys "<Mod1 Home>", 2
818     Printlog "'///   via keys {alt delete} {cursor} -> delete row/column ///"
819     ' delete some rows/columns using shortcuts del 2rows 2cols
820     Call wTypeKeys "<mod2 delete><right>"
821     Call wTypeKeys "<right>"
822     Call wTypeKeys "<mod2 delete><left>"
823     Call wTypeKeys "<left>"
824     Call wTypeKeys "<mod2 delete><down>"
825     Call wTypeKeys "<down>"
826     Call wTypeKeys "<mod2 delete><up>"
827     Call wTypeKeys "<up>"
828     Call SpaltenTesten ( 18 )
829     Call wTypeKeys "<Mod1 Home>", 2
830     Call wTypeKeys "<Mod1 A>"
831     EditCopy
832     if GetClipboardtext <> "2" then
833         Warnlog "Deleting rows/columns via keys has not been worked as accepted! -> Test failed!"
834         Call hCloseDocument
835         exit sub
836     end if
838     Printlog "'///   via menue Format[Zeile|Spalte]Loeschen ///"
839     for i = 1 to 17             ' delete some rows/columns
840         FormatZeileLoeschen
841         wait 500
842         FormatSpalteLoeschen
843         wait 500
844     next i
845     Call wTypeKeys "<Mod1 A>"
846     EditCopy
847     if GetClipboardtext <> "20" then
848         Warnlog "Deleting rows/columns via keys has not been worked as accepted! -> Test failed!"
849         Call hCloseDocument
850         exit sub
851     end if
853     Printlog "'///   via keys {alt insert} {cursor} -> insert row/column ///"
854     Call wTypeKeys "<ESCAPE>"
855     Call wTypeKeys "<mod2 insert><left>"
856     Call wTypeKeys "<mod2 insert><right>"
857     Call wTypeKeys "<mod2 insert><down>"
858     Call wTypeKeys "<mod2 insert><up>"
859     Call SpaltenTesten ( 3 )
860     Call wTypeKeys "<Mod1 Home>", 2
861     Call wTypeKeys "<Shift End>"
862     try
863         EditCopy
864         Warnlog "Maybe no columns have been inserted!"
865     catch
866         Call wTypeKeys "<Right>", 2
867         Call wTypeKeys "<Shift End>"
868         try
869             EditCopy
870             if GetClipboardtext <> "20" then
871                 Warnlog "Maybe no columns have been inserted!"
872             end if
873         catch
874             Warnlog "Maybe no columns have been inserted!"
875         endcatch
876     endcatch
878     Printlog "'///   delete whole table ///"
879     Call wTypeKeys "<mod1 home>", 2  ' delete hole table
880     Call wTypeKeys "<Mod1 A>"
881     try
882         Call wTypeKeys "<MOD1 SHIFT DELETE>" 'EditCut
883         Call wTypeKeys "<return>"
884     catch
885         Warnlog "Unable to delete table!"
886     endcatch
887     Call hCloseDocument
888 endcase
890 '--------------------------------------------------------------------------------------------------------
892 testcase tTableText
893     dim i as integer
895     Call hNewDocument
896     Printlog "'/// +++ table to text ///"
898     Call TBOhTabelleEinfuegen ("seven",0, 0, 0, 1,"10", "10" )
900     for i = 1 to 99          ' fill every cell
901         Call wTypeKeys CStr(i)
902         Call wTypeKeys "<Tab>"
903     next i
905     ToolsTextInTable         ' convert with '+' seperator
906     Kontext "TextInTabelleUmwandeln"
907     Andere.Check
908     AndereText.settext "+"
909     TextInTabelleUmwandeln.OK
911     Call wTypeKeys "<home>"   ' calculate every row
912     for i = 1 to 10
913         Call wTypeKeys "<shift end>"
914         ToolsCalculate
915         Call wTypeKeys "<shift insert>"
916         Call wTypeKeys "+<delete>"
917     next i
918     Call wTypeKeys "<backspace>0<shift home>"
919     ToolsCalculate
920     if (GetClipboardText <> "12645") then warnlog "wrong table converting table<->text "
921     Call wTypeKeys "<shift insert><return>"
923     Call hCloseDocument ()
924 endcase
926 '-------------------------------------------------------------------------------------------
928 testcase tTableCalculate
929     Printlog "'/// calculating in table ///"
930     Call hNewDocument
932     Call TBOhTabelleEinfuegen ()
933     Call wTypeKeys "1<Tab>2<Tab>3<Tab>4<Tab>5<Tab>6<Tab>7<Tab>8<Tab>"
934     Call wTypeKeys "<end><Mod1 end><down><return>"
935     Call TBOhTabelleEinfuegen ("eight",0, 0, 0, 1,"5", "5" )
937     '///'  should look like: <pre> ///
938     '///+  a        b    c        d                 e ///
939     '///+1 1,.1  2,.2   =3,.3  4,.4        =summe<:4,.4 ///
940     '///+2 1        2   =3        4        =summe<:4 ///
941     '///+3 =2,.1 =18,.9 =2     =-0,31      =32,.6926671... <1.check> ///
942     '///+4 =14   =16    gone   =<2.check>  = ...table1 ?? ///
943     '///+5 </pre> ///
945     '/// this table gets generated one by one ///'
947     Call wTypeKeys "1"+cDecSep+"1<Tab>" ' insert input A1
948     Call wTypeKeys "2"+cDecSep+"2<Tab>"
949     Call wTypeKeys "="                  '
950     Kontext "OL_SW_Rechenleiste"       '               C1
951     Eingabefeld.SetText "<A1>+<B1>"
952     Uebernehmen.click
953     Call wTypeKeys "<Tab>"
954     Call wTypeKeys "4"+cDecSep+"4<Tab>"
955     Call wTypeKeys "<Tab>"
957     Call wTypeKeys "1<Tab>"             '               A2
958     Call wTypeKeys "2<Tab>"
959     Call wTypeKeys "<Tab>"
960     Call wTypeKeys "4<shift tab>"
961     Call wTypeKeys "="                  '
962     Kontext "OL_SW_Rechenleiste"       '               C2
963     Eingabefeld.SetText "<D2>-<A2>"
964     Uebernehmen.click
965     Call wTypeKeys "<Tab>"
966     Call wTypeKeys "<Tab>"
968     ' automatic sum works only to next formula :-< ///'
969         Call hToolbarSelect ( "Table", true )
970     formeleingeben.click
971     Kontext "OL_SW_Rechenleiste"
972     Uebernehmen.click
973     Call wTypeKeys "<up>"
975         Call hToolbarSelect ( "Table", true )
976     formeleingeben.click
977     Kontext "OL_SW_Rechenleiste"
978     Uebernehmen.click
979     Call wTypeKeys "<down><Tab>"
981     Call wTypeKeys "="                  ' slip into calculation area
982     Kontext "OL_SW_Rechenleiste"       '               A3
983     Eingabefeld.SetText "sum <A1:A2>"
984     Uebernehmen.click
985     Call wTypeKeys "<Tab>"
986     Call wTypeKeys "<F2>"                  '
987     Kontext "OL_SW_Rechenleiste"
988     Eingabefeld.SetText "sum <D2:B1>"
989     Uebernehmen.click
990     Call wTypeKeys "<Tab>"
991     Call wTypeKeys "<F2>"                  '
992     Kontext "OL_SW_Rechenleiste"
993     Eingabefeld.SetText "sqrt <E2>"
994     Uebernehmen.click
995     Call wTypeKeys "<Tab>"
996     Call wTypeKeys "<F2>"                  '
997     Kontext "OL_SW_Rechenleiste"
998     Eingabefeld.SetText "cos <E1>"
999     Uebernehmen.click
1000     Call wTypeKeys "<Tab>"
1002     Call wTypeKeys "<F2>"                  ' E3 check this out :-)
1003     Kontext "OL_SW_Rechenleiste"
1004     Eingabefeld.SetText "sum <A2:D3>"
1005     Uebernehmen.click
1006     Call wTypeKeys "<shift home>"
1007     EditCopy
1008     if (GetClipboardText <> "32" & cDecSep & "69") then warnlog "wrong calculation should: 32" & cDecSep & "69 is: "+GetClipboardText
1009     Call wTypeKeys "<end><Tab>"
1011     Call wTypeKeys "<F2>"                  ' A4
1012     Kontext "OL_SW_Rechenleiste"
1013     Eingabefeld.SetText "2+3*4"
1014     Uebernehmen.click
1015     Call wTypeKeys "<shift home>"
1016     EditCopy
1017     if (GetClipboardText <> "14") then warnlog "wrong calculation should: "+"14"+" is: "+GetClipboardText
1018     Call wTypeKeys "<end><Tab>"
1020     Call wTypeKeys "<F2>"                  ' B4
1021     Kontext "OL_SW_Rechenleiste"
1022     Eingabefeld.SetText "2*2 pow 3"
1023     Uebernehmen.click
1024     Call wTypeKeys "<shift home>"
1025     EditCopy
1026     if (GetClipboardText <> "16") then warnlog "wrong calculation should: "+"16"+" is: "+GetClipboardText
1027     Call wTypeKeys "<end><Tab>"
1028     Call wTypeKeys "<shift tab>"
1029     sleep (1)
1030     Call wTypeKeys "<Tab>"
1031     sleep (1)
1033     '/// one row gets deleted///'
1034     FormatSpalteLoeschen ' grumel: have to find a cell :-(
1035     Call wTypeKeys "<F2>"                  ' C4
1036     Kontext "OL_SW_Rechenleiste"
1037     Eingabefeld.SetText "sum <A1:D3>"
1038     Uebernehmen.click
1039     Call wTypeKeys "<shift home>"
1040     EditCopy
1041     if (GetClipboardText <> "58" & cDecSep & "89") then warnlog "wrong calculation should: " & "58" & cDecSep & "89" & " is: " & GetClipboardText
1042     Call wTypeKeys "<end><Tab>"
1043     Call wTypeKeys "<F2>"                  ' C4
1044     Kontext "OL_SW_Rechenleiste"
1045     Eingabefeld.SetText "sum <"+fLocaleString("LocaleTable")+"1.B1:E1> / <A2:D2>"
1046     sleep (2)
1047     Uebernehmen.click
1048     Call wTypeKeys "<shift home>"
1049     EditCopy
1050     if (GetClipboardText <> "1" & cDecSep & "27") then warnlog "wrong calculation should: 1" & cDecSep & "27 is: " & GetClipboardText
1051     Call wTypeKeys "<end><Tab>"
1053     Call wTypeKeys "<end><Mod1 end><down><return>"
1054     Call hCloseDocument ()
1055 endcase
1057 '-------------------------------------------------------------------------------------------
1059 testcase tTableEdit
1060     dim itemp(5) as integer
1062     Call hNewDocument
1063     Printlog "'///  edit table ///"
1065     Call TBOhTabelleEinfuegen ("nine-dumy",0, 0, 0, 1,"5", "3" )
1066     Call wTypeKeys "<end><Mod1 end><Mod1 end><return>"
1067     Call TBOhTabelleEinfuegen ("nine",0, 0, 0, 1,"5", "3" )
1068     Call wTypeKeys "nine<Tab>"
1070     Printlog "'///    insert Frame & Graphic in heading ///"
1071     InsertFrame
1072     sleep (5)
1073     Kontext "tabtype"
1074     sleep (5)
1075     TabType.ok
1076     sleep (5)
1077     Call wTypeKeys "<escape>"
1078     sleep (5)
1079     Call hGrafikEinfuegen (gTesttoolPath +"writer\optional\input\options\ga000907.gif")
1080     sleep (5)
1081     Call wTypeKeys "<escape>"
1082     sleep (5)
1083     Call wTypeKeys "<mod1 end><up><up>"
1084     sleep (5)
1086     Printlog "'///    insert Frame & Graphic in body ///"
1087     InsertFrame
1088     sleep (5)
1089     Kontext "tabtype"
1090     sleep (5)
1091     TabType.ok
1092     sleep (5)
1093     Call wTypeKeys "<escape>"
1094     sleep (5)
1095     Call hGrafikEinfuegen (gTesttoolPath +"writer\optional\input\options\ga000907.gif")
1096     sleep (5)
1097     Call wTypeKeys "<escape>"
1098     sleep (5)
1099     Call wTypeKeys "<mod1 end><up><up><Tab>"
1101     Printlog "'///    insert Frame & Table in body ///"
1102     InsertFrame
1103     sleep (5)
1104     Kontext "tabtype"
1105     sleep (5)
1106     TabType.ok
1107     sleep (5)
1108     Call wTypeKeys "<return>"
1109     sleep (5)
1110     try
1111         Call hTabelleEinfuegen ()
1112         Call wTypeKeys "<mod1 end><mod1 end><up><up><Tab><Tab>"
1113     catch
1114         Warnlog "Hit <Enter>-Key should enable edit mode for selected frames! (srx642z or greater)"
1115         Call wTypeKeys "<escape>"
1116         Call wTypeKeys "<down>"
1117     endcatch
1118     sleep (5)
1120     Printlog "'///    insert PageBreak ///"
1121     '/// TBO: check test / insert dummy table      ' doesn't work, if the first 'stuff' in a document is the table ///'
1122     InsertFieldsPagenumbers
1123     Call wTypeKeys "<shift home>"
1124     EditCopy
1125     ToolsCalculate
1126     sleep (5)
1127     itemp(1) = val(GetClipboardText)
1128     EditCut
1129     InsertManualBreak
1130     sleep (5)
1131     Kontext "UmbruchEinfuegen"
1132     Seitenumbruch.check
1133     UmbruchEinfuegen.OK
1134     sleep (5)
1135     InsertFieldsPagenumbers
1136     Call wTypeKeys "<shift home>"
1137     EditCopy
1138     ToolsCalculate
1139     sleep (5)
1140     itemp(3) = val(GetClipboardText)
1141     if (itemp(1) <> itemp(3)) then
1142         printlog "--- Pagebreak works in Table, that's good :-)"
1143     else
1144         warnlog " Pagebreak doesn't work in Table, that's not good :-("+itemp(1) +" "+ itemp(3)
1145     end if
1147     sleep (5)
1148     Call wTypeKeys "<end><Mod1 end><down><return>"
1150     Printlog "'///   the following may not be possible ///"
1151     Printlog "'///+      Insert table in footnote ///"
1152     InsertFootnote
1153     Kontext "FussnoteEinfuegen"
1154     FussnoteEinfuegen.OK
1155     try
1156         InsertTableWriter
1157         warnlog "     Table in Footnote is possible, that's not good :-("
1158     catch
1159     endcatch
1161     Call wTypeKeys "<end><Mod1 end><return>"
1162     Call hCloseDocument
1163 endcase