jl165 merging heads
[LibreOffice.git] / testautomation / framework / optional / includes / CJK_RubyDialogueProposal_1.inc
blobab6e04c33e3a2ba0dbe3ef617c7a1e7d03d15372
1 'encoding UTF-8  Do not remove or change this line!
2 '**************************************************************************
3 ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 ' Copyright 2000, 2010 Oracle and/or its affiliates.
7 ' OpenOffice.org - a multi-platform office productivity suite
9 ' This file is part of OpenOffice.org.
11 ' OpenOffice.org is free software: you can redistribute it and/or modify
12 ' it under the terms of the GNU Lesser General Public License version 3
13 ' only, as published by the Free Software Foundation.
15 ' OpenOffice.org is distributed in the hope that it will be useful,
16 ' but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ' GNU Lesser General Public License version 3 for more details
19 ' (a copy is included in the LICENSE file that accompanied this code).
21 ' You should have received a copy of the GNU Lesser General Public License
22 ' version 3 along with OpenOffice.org.  If not, see
23 ' <http://www.openoffice.org/license.html>
24 ' for a copy of the LGPLv3 License.
26 '/************************************************************************
28 '* owner : thorsten.bosbach@oracle.com
30 '* short description : CJK Ruby Dialogue Proposal Test
32 '\***********************************************************************
34 testcase tRubyDialog_1
36     Dim sBaseText , sRubyText   as String
37     Dim sBaseText1 , sRubyText1 as String
39     sBaseText  = "BaseText"
40     sRubyText  = "RubyText"
42     sBaseText1 = "BaseText1"
43     sRubyText1 = "RubyText1"
45     '/// Check Apply and Close button in Ruby dialogue
46     Call hNewDocument
48     '/// Check close button.
49     '/// open ruby dialogue , input base text and ruby text , then press close button
50     '/// 1) check if the ruby dialogue is closed
51     '/// 2) check if the base text and ruby text is recorded
52     FormatRuby
53     Kontext "RubyDialog"
54     Sleep 3
55     BasisText1.SetText  sBaseText
56     Sleep 1
57     RubyText1.SetText   sRubyText
58     Sleep 1
60     DialogClose.Click
61     Sleep 1
63     if RubyDialog.Exists then
64         Warnlog "The Ruby dialogue is NOT closed !"
65     end if
67     FormatRuby
68     Kontext "RubyDialog"
69     Sleep 3
70     if Len(BasisText1.GetText) <> 0 then Warnlog "The base text should not been inputed"
71     if Len(RubyText1.SetText)  <> 0 then Warnlog "The ruby text should not been inputed"
73     '/// Check Apply button -- Normally , we think it is RubyDialog.OK
74     '/// open ruby dialogue , input base text and ruby text , then press close button
75     '/// Press Apply button , then press close button
76     '/// check if the base text and ruby text is recorded
78     BasisText1.SetText  sBaseText1
79     Sleep 1
80     RubyText1.SetText   sRubyText1
81     Sleep 1
83     RubyDialog.OK
84     Sleep 2
86     DialogClose.Click
87     Sleep 1
89     EditSelectAll
90     Sleep 1
92     FormatRuby
93     Kontext "RubyDialog"
94     Sleep 3
95     if BasisText1.GetText <> sBaseText1 then Warnlog "The base text should be "+sBaseText1 + " but get " + BasisText1.GetText
96     if RubyText1.GetText  <> sRubyText1 then Warnlog "The ruby text should be "+sRubyText1 + " but get " + RubyText1.GetText
98     DialogClose.Click
99     Sleep 1
101     Call hCloseDocument
103 endcase
105 '-------------------------------------------------------------------------
107 testcase tRubyDialog_2
109     Dim sBaseText as String
111     sBaseText = "test1 test2 test3 test4 test5 test6 test7 test8 test9"
112     '/// Test scrollbar in Ruby dialog
114     Call hNewDocument
116     '/// when there is less basetext,  the scrollbar should appear
117     FormatRuby
118     Kontext "RubyDialog"
119     if RubyDialog.HasScrollbar <> TRUE  then warnlog "The Scrollbar should appear when less basetext!"
120     DialogClose.Click
121     Sleep 1
123     '/// when there is more basetext(here is >4),  the scrollbar should appear
124     Kontext "DocumentWriter"
125     DocumentWriter.TypeKeys sBaseText
126     DocumentWriter.TypeKeys "<Shift Home>"
128     FormatRuby
129     Kontext "RubyDialog"
130     if RubyDialog.HasScrollbar <> TRUE  then warnlog "The Scrollbar should appear when more basetext!"
131     DialogClose.Click
132     Sleep 1
134     Call hCloseDocument
136 endcase
138 '-------------------------------------------------------------------------
139 testcase tRubyDialog_3
141     Dim sTestText              as String
142     Dim sBaseText1, sBaseText2 as String
144     sTestText  = "Test1 Test2"
145     sBaseText1 = "Test1"
146     sBaseText2 = "Test2"
148     '/// The list in ruby dialogure will be updated as soon as the uses
149     '/// selects new or further words of his text.
150     '/// The update will be done once the user changes his focus
151     '/// back to the Ruby-Dialogue from the text
153     Call hNewDocument
155     '/// input 2 test words, and mark the second
156     DocumentWriter.TypeKeys sTestText
157     DocumentWriter.TypeKeys "<Shift Left>" , 5
159     '/// There should be only the second test word in basetext1 in ruby dialogue
160     FormatRuby
161     Kontext "RubyDialog"
162     Sleep 2
163     if BasisText1.GetText <> sBaseText2  then warnlog "The BaseText1 should be:" +sBaseText2 + " but get "+BasisText1.GetText
165     '/// Mark 2 test words
166     Kontext "DocumentWriter"
167     try
168         DocumentWriter.TypeKeys "<Shift Home>"
169         Sleep 2
170     catch
171         warnlog "The ruby dialogue is MODE less dialogue , the document can be edited!"
172     endcatch
174     '/// Check if the 2 test words are all in the ruby dialogue when set forcus back to the dialogue
175     Kontext "RubyDialog"
176     Sleep 1
177     'this step is meaningless, just let the focus back to ruby dialogue
178     Adjust.Select 1
179     Sleep 8
180     if BasisText1.GetText <> sBaseText1  then warnlog "The BaseText1 should be:" +sBaseText1 + " but get "+BasisText1.GetText
181     Sleep 1
182     if BasisText2.GetText <> sBaseText2  then warnlog "The BaseText2 should be:" +sBaseText2 + " but get "+BasisText2.GetText
184     DialogClose.Click
185     Sleep 1
187     Call hCloseDocument
189 endcase
191 '-------------------------------------------------------------------------
193 testcase tRubyDialog_4
195     Dim sCharacterStyle  as String
196     dim i as integer
198     '/// Check default setting for Character Style of Ruby Text
200     select case iSprache
201     case 01   :  sCharacterStyle = "Rubies"
202     case 33   :  sCharacterStyle = "Rubys"
203     case 34   :  sCharacterStyle = "Rubys"
204     case 39   :  sCharacterStyle = "Testo Ruby"
205     case 46   :  sCharacterStyle = "Rubytext"
206     case 49   :  sCharacterStyle = "Rubys"
207     case 50   :  sCharacterStyle = "Rubys"
208     case 55   :  sCharacterStyle = "Rubys"
209     case 81   :  sCharacterStyle = "ふりがな"
210     case 82   :  sCharacterStyle = "윗주 달기" ' not sure TBO
211     case 86   :  sCharacterStyle = "拼音和注音符号"
212     case 88   :  sCharacterStyle = "注音符號"
213     case else :' QAErrorLog "Now, the test does not support for the language " +iSprache
214         Goto endsub
215     end select
217     Call hNewDocument
219     FormatRuby
220     Kontext "RubyDialog"
221     Sleep 3
222     if CharacterStyle.GetSelText <> sCharacterStyle  then
223         warnlog "Default setting for Character Style of Ruby Text isn't right, should be "+sCharacterStyle + " but get "+CharacterStyle.GetSelText
224         for i = 1 to CharacterStyle.getItemCount
225             printlog "("+i+"/"+CharacterStyle.getItemCount+"): '"+CharacterStyle.getItemText(i)+"'"
226         next i
227     endif
228     DialogClose.Click
229     Sleep 1
231     Call hCloseDocument
233 endcase
235 '-------------------------------------------------------------------------
237 testcase tRubyDialog_5
239     Dim sCharacterStyle as String
240     Dim sStyleName as String
241     Dim i as Integer
242     dim iCount as integer
243     dim bError as boolean
244     dim bWileExit as boolean
246     '/// Check stylist
248     select case iSprache
249     case 01   :  sCharacterStyle = "Rubies"
250     case 33   :  sCharacterStyle = "Rubys"
251     case 34   :  sCharacterStyle = "Rubys"
252     case 39   :  sCharacterStyle = "Testo Ruby"
253     case 46   :  sCharacterStyle = "Rubytext"
254     case 49   :  sCharacterStyle = "Rubys"
255     case 50   :  sCharacterStyle = "Rubys"
256     case 55   :  sCharacterStyle = "Rubys"
257     case 81   :  sCharacterStyle = "ふりがな"
258     case 82   :  sCharacterStyle = "윗주 달기" ' not sure TBO was "덧말"
259     case 86   :  sCharacterStyle = "拼音和注音符号"
260     case 88   :  sCharacterStyle = "注音符號"
261     case else :' QAErrorLog "Now, the test does not support for the language " +iSprache
262         Goto endsub
263     end select
265     sStyleName = "ZZZ-Test-ZZZ"
267     Call hNewDocument
269     '/// Open ruby dialogue
270     FormatRuby
271     Kontext "RubyDialog"
273     '/// Click stylist button
274     CallStylist.Click
275     Sleep 2
277     Kontext "Stylist"
278     if Stylist.NotExists then
279         Warnlog "No Stylist with clicking Stylist button!"
280     end if
282     '/// click Character Style
283     Zeichenvorlagen.Click
285     ' needed to update the listbox count :-(
286     Vorlagenliste.typeKeys ("<end><up><down>")
287     iCount = Vorlagenliste.getItemCount
288     printlog iCount
289     i=1
290     bWileExit = Vorlagenliste.getItemText (i) <> sCharacterStyle
291     while ((i<iCount+1) AND (bWileExit))
292         printlog "" + (i) + ": " + Vorlagenliste.getItemText (i)
293         bWileExit = Vorlagenliste.getItemText (i) <> sCharacterStyle
294         inc (i)
295     wEnd
296     if (i = iCount+1) then
297         warnlog "Style (Rubies) not found: '" + sCharacterStyle + "' inside of entries: " + iCount
298         bError = true
299     else
300         printlog "Style (Rubies) found: '" + sCharacterStyle + "' @ position: ("+(i)+"/"+icount+")"
301         Vorlagenliste.select (i)
302         bError = false
303     endif
305     if (NOT bError) then
306         '/// find entry ruby and add a new entry
307         AusSelektion.OpenMenu
308         Sleep 1
309         printlog "hMenuSelect 1"
310         hMenuSelectNr(1)
311         printlog "hMenuSelect 1 survived"
312         Sleep 1
314         Kontext "VorlageErzeugen"
315         Sleep 1
316         Vorlagenname.SetText sStyleName
317         Sleep 1
318         VorlageErzeugen.OK
319         Sleep 2
321         '/// check if the new entry is in the  Character Style list box in ruby dialogue
322         Kontext "RubyDialog"
324         ' needed to update the listbox count :-(
325         CharacterStyle.typeKeys ("<end><up><down>")
326         iCount = CharacterStyle.GetItemCount
327         i=0
328         bWileExit = true
329         while ((i<(iCount+1)) AND (bWileExit))
330             bWileExit = CharacterStyle.getItemText (i+1) <> sStyleName
331             inc (i)
332             printlog "" + (i) + ": " + CharacterStyle.getItemText (i)
333         wEnd
334         printlog CharacterStyle.GetItemCount
335         if ((i = iCount) AND bWileExit) then
336             warnlog "New created entry not found: '" + sStyleName + "' inside of entries: " + iCount
337             bError = true
338         else
339             printlog "New created entry found: '" + sStyleName + "' @ position: ("+(i)+"/"+icount+")"
340             CharacterStyle.select (i)
341             bError = false
342         endif
344         if (NOT bError) then
345             Kontext "Stylist"
346             iCount = Vorlagenliste.getItemCount
347             i=0
348             while ((i<iCount) AND (Vorlagenliste.getItemText (i+1) <> sStyleName))
349                 inc (i)
350                 printlog "" + (i) + ": " + Vorlagenliste.getItemText (i)
351             wEnd
352             if (i = iCount) then
353                 warnlog "Style (Rubies) not found for deleting: '" + sStyleName + "' inside of entries: " + iCount
354                 bError = true
355             else
356                 printlog "Style (Rubies) found, will delete it now: '" + sStyleName + "' @ position: ("+i+"/"+icount+")"
357                 Vorlagenliste.select (i+1)
358                 bError = false
359                 iCount = Vorlagenliste.getItemCount
360                 Vorlagenliste.TypeKeys "<Delete>"
361                 sleep(1)
362                 Kontext "Active"
363                 if active.exists(5) then
364                     printlog "active about deleting; say yes to: '" + active.getText + "'"
365                     Active.Yes
366                 else
367                     warnlog "No warning, before deleting style."
368                 endif
369                 sleep 1
370                 Kontext "Stylist"
371                 i = Vorlagenliste.getItemCount
372                 if ( (iCount-1) <> i) then
373                     warnlog "Style wasn't deleted; count is still the same: " + i + "/" + iCount
374                 else
375                     printlog "Style was deleted; Count is OK: " + i + "/" + iCount
376                 endif
377             endif
378         endif
379     endif
381     Kontext "Stylist"
382     Stylist.Close
383     Sleep 1
384     Kontext "RubyDialog"
385     DialogClose.Click
386     Sleep 1
388     Call hCloseDocument
389 endcase