merge the formfield patch from ooo-build
[ooovba.git] / testautomation / writer / optional / includes / sorting / w_sorting2.inc
blobbf5868eba22fa54bcea1f35c481e218693bcb5c5
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_sorting2.inc,v $
11 '* $Revision: 1.2 $
13 '* last change: $Author: vg $ $Date: 2008-08-18 12:36:02 $
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 : Sort functionality test
38 '************************************************************************
40 ' #1 tSort_1
41 ' #1 tSort_2
43 '\***********************************************************************
45 testcase tSort_1
47         Dim contentInTable() as String
48         Dim i as Integer
49         Dim j as Integer
50         Dim sKeyType as String
51         Dim sLanguage as String
52         Dim TestFile as string
54     if iSprache <> 01 then
55         QaErrorLog "Aborting test since this test currently only work with English."
56         goto endsub
57     end if
59         PrintLog "- Tools / Sorting in table - Ascending mode "
60         for j = 1 to 3
61                 Select Case j
62                         Case 1:
63                                 PrintLog "- 1.test for Alphanumeric"
64                                 contentInTable = Array( _
65                                 "FIRST NAME", "LAST NAME", "PHONE HOME", "PHONE WORK"     , _
66                                 "Alan"      , "Brown"    , "212121"    , "(407) 555-5454" , _
67                                 "Julie"     , "Clark"    , "321123"    , "(040) 555-007"  , _
68                                 "Patricia"  , "Fisher"   , "121212"    , "(202) 555-4455" , _
69                                 "Peter"     , "Arnold"   , "432104"    , "(212) 555-9876 Ext. 543" , _
70                                 )
71                                 TestFile = gTesttoolPath & "writer\optional\input\sorting\phonelist.odt"
72                                 sKeyType   = fGetKeyType(01)
73                                 sLanguage  = fGetCountryName(01)
74                         Case 2:
75                                 PrintLog "- 2.test for Phonebook"
76                                 contentInTable = Array( _
77                                 "FIRST NAME", "LAST NAME", "PHONE HOME", "PHONE WORK"     , _
78                                 "Alan"      , "Brown"    , "212121"    , "(407) 555-5454" , _
79                                 "Julie"     , "Clark"    , "321123"    , "(040) 555-007"  , _
80                                 "Patricia"  , "Fisher"   , "121212"    , "(202) 555-4455" , _
81                                 "Peter"     , "Arnold"   , "432104"    , "(212) 555-9876 Ext. 543" , _
82                                 )
83                                 TestFile = gTesttoolPath + "writer\optional\input\sorting\phonelist.odt"
84                                 sKeyType   = fGetKeyType(49)
85                                 sLanguage  = fGetCountryName(49)
86                         Case 3:
87                                 PrintLog "- 3.test for pinyin"
88                                 contentInTable = Array( _
89                                 "姓名"     , "电话(家)"    ,  "电话(单位)"   ,  _
90                                 "钱二"     , "212121"    , "(407) 555-5454"           , _
91                                 "孙三"     , "432104"    , "(212) 555-9876 Ext. 543"  , _
92                                 "张四"     , "321123"    , "(040) 555-007"            , _
93                                 "赵一"     , "121212"    , "(202) 555-4455"           , _
94                                 )
95                                 TestFile = gTesttoolPath + "writer\optional\input\sorting\phonelist_sc.odt"
96                                 sKeyType   = fGetKeyType(86)
97                                 sLanguage  = fGetCountryName(86)                                
98                 end select
100                                 
101                 printlog " open a test file"
102                 Call hFileOpen ( TestFile )
103         Call sMakeReadOnlyDocumentEditable
105                 printlog " select all table"
106                 Call wTypeKeys "<Mod1 a>", 2
108                 printlog " Tools/Sort , choose  Ascending mode"
109                 printlog " choose English in language and Alphanumeric in keytype"
110                 ToolsSort
111                 Kontext "Sortieren"
112                 Sprache.Select sLanguage
113                 Schluessel1.Check
114                 Spalte1.SetText "1"
115                 Schluesseltyp1.Select sKeyType
116                 Aufsteigend1.Check
117                 Schluessel2.UnCheck
118                 Schluessel3.UnCheck
119                 Sortieren.OK
120                 Sleep 1
122                 Call wTypeKeys "<Mod1 a>" ,2 
124                 For i = 0 to UBound(contentInTable)
125                         Call wTypeKeys "<Mod1 a>"
126                         wait 100
127                         EditCopy
128                         if GetClipboardText <> contentInTable(i) then
129                                 Warnlog "The content in table is Wrong! We hope to get " + contentInTable(i) + " But get " + GetClipboardText
130                         end if
131                         Call wTypeKeys "<Escape><TAB>"
132                 next i
134                 Call hCloseDocument
135         next j
136 endcase
138 '-------------------------------------------------------------------------
140 testcase tSort_2
142         Dim contentInTable() as String
143         Dim i as Integer
144         Dim j as Integer
145         Dim sKeyType as String
146         Dim sLanguage as String
147         Dim TestFile as string
149     if iSprache <> 01 then
150         QaErrorLog "Aborting test since this test currently only work with English."
151         goto endsub
152     end if
154         PrintLog "- Tools / Sorting in table - Descending mode "
155         for j = 1 to 3
156                 Select Case j
157                         Case 1:
158                                 PrintLog "- 1.test for Alphanumeric"
159                                 contentInTable = Array( _
160                                 "FIRST NAME", "LAST NAME", "PHONE HOME", "PHONE WORK"     , _
161                                 "Peter"     , "Arnold"   , "432104"    , "(212) 555-9876 Ext. 543" , _
162                                 "Patricia"  , "Fisher"   , "121212"    , "(202) 555-4455" , _
163                                 "Julie"     , "Clark"    , "321123"    , "(040) 555-007"  , _
164                                 "Alan"      , "Brown"    , "212121"    , "(407) 555-5454" , _
165                                 )
166                                 TestFile = gTesttoolPath & "writer\optional\input\sorting\phonelist.odt"
167                                 sKeyType   = fGetKeyType(01)
168                                 sLanguage  = fGetCountryName(01)
169                         Case 2:
170                                 PrintLog "- 2.test for Phonebook"
171                                 contentInTable = Array( _
172                                 "FIRST NAME", "LAST NAME", "PHONE HOME", "PHONE WORK"     , _
173                                 "Peter"     , "Arnold"   , "432104"    , "(212) 555-9876 Ext. 543" , _
174                                 "Patricia"  , "Fisher"   , "121212"    , "(202) 555-4455" , _
175                                 "Julie"     , "Clark"    , "321123"    , "(040) 555-007"  , _
176                                 "Alan"      , "Brown"    , "212121"    , "(407) 555-5454" , _
177                                 )
178                                 TestFile = gTesttoolPath + "writer\optional\input\sorting\phonelist.odt"
179                                 sKeyType   = fGetKeyType(49)
180                                 sLanguage  = fGetCountryName(49)
181                         Case 3:
182                                 PrintLog "- 3.test for pinyin"
183                                 contentInTable = Array( _
184                                 "姓名"     , "电话(家)"    ,  "电话(单位)"   ,  _
185                                 "赵一"     , "121212"    , "(202) 555-4455"           , _
186                                 "张四"     , "321123"    , "(040) 555-007"            , _
187                                 "孙三"     , "432104"    , "(212) 555-9876 Ext. 543"  , _
188                                 "钱二"     , "212121"    , "(407) 555-5454"           , _
189                                 )
190                                 TestFile = gTesttoolPath + "writer\optional\input\sorting\phonelist_sc.odt"
191                                 sKeyType   = fGetKeyType(86)
192                                 sLanguage  = fGetCountryName(86)
193                 end select
195                 printlog " open a test file"
196                 Call hFileOpen ( TestFile )
197         Call sMakeReadOnlyDocumentEditable
199                 printlog " select all table"
200                 Call wTypeKeys "<Mod1 a>", 2
202                 printlog " Tools/Sort , choose  Ascending mode."
203                 printlog " choose English in language and Alphanumeric in keytype."
204                 ToolsSort
205                 Kontext "Sortieren"
206                 Sprache.Select sLanguage
207                 Schluessel1.Check
208                 Spalte1.SetText "1"
209                 Schluesseltyp1.Select sKeyType
210                 Absteigend1.Check
211                 Schluessel2.UnCheck
212                 Schluessel3.UnCheck
213                 Sortieren.OK
214                 Sleep 1
216                 Call wTypeKeys "<Mod1 a>" ,2 
218                 For i = 0 to UBound(contentInTable)
219                         Call wTypeKeys "<Mod1 a>"
220                         wait 100
221                         EditCopy
222                         if GetClipboardText <> contentInTable(i) then
223                                 Warnlog "The content in table is Wrong! We hope to get " + contentInTable(i) + " But get " + GetClipboardText
224                         end if
225                         Call wTypeKeys "<Escape><TAB>"
226                 next i
228                 Call hCloseDocument
229         next j
230 endcase
232 '--------------------------------------------------------------
234 function fGetCountryName( CountryID as Integer ) as String
236   select case iSprache
237       case 01   :        ' English (USA)
238             select case CountryID
239                   case 1:      fGetCountryName = "English (USA)"
240                   case 49:     fGetCountryName = "German (Germany)"
241                   case 86:     fGetCountryName = "Chinese (simplified)"
242                   case else :
243                                QAErrorLog "Now, the test does not support for the language " +iSprache
244                                fGetCountryName = ""
245             end select
247         case 31:
248             select case CountryID
249                 case 1:      fGetCountryName = "Engels (VS)"
250                 case 49:     fGetCountryName = "Duits (Duitsland)"
251                 case 86:     fGetCountryName = "Chinees (vereenvoudigd)"
252                 case else :
253                 QAErrorLog "Now, the test does not support for the language " +iSprache
254                 fGetCountryName = ""
255            end select
257       case 49   :        ' German
258            select case CountryID
259                   case 1:      fGetCountryName = "Englisch (USA)"
260                   case 49:     fGetCountryName = "Deutsch (Deutschland)"
261                   case 86:     fGetCountryName = "Chinesisch (einfach)"
262                   case else :
263                                QAErrorLog "Now, the test does not support for the language " +iSprache
264                                fGetCountryName = ""
265            end select
266       case 81   :        ' Japanese
267            select case CountryID
268                   case 1:      fGetCountryName = "英語(米国)"
269                   case 49:     fGetCountryName = "ドイツ語(ドイツ)"
270                   case 86:     fGetCountryName = "中国語(簡体字)"
271                   case else :
272                                QAErrorLog "Now, the test does not support for the language " +iSprache
273                                fGetCountryName = ""
274            end select
276       case 86   :        ' Chinese (simplified)
277           select case CountryID
278                  case 1:      fGetCountryName = "英语(美国)"
279                  case 49:     fGetCountryName = "德语(德国)"
280                  case 86:     fGetCountryName = "中文(简体字)"
281                  case else :
282                               QAErrorLog "Now, the test does not support for the language " +iSprache
283                               fGetCountryName = ""
284           end select
286       case 88   :        ' Chinese (traditional)
287            select case CountryID
288                   case 1:      fGetCountryName = "英語(美國)"
289                   case 49:     fGetCountryName = "德語(德國)"
290                   case 86:     fGetCountryName = "中文(簡體字)"
291                   case else :
292                                QAErrorLog "Now, the test does not support for the language " +iSprache
293                                fGetCountryName = ""
294            end select
295       case else :        ' Fallback
296                   QAErrorLog "Now, the test does not support for the language " +iSprache
297                   fGetCountryName = ""
298   end select
299 end function
301 '-------------------------------------------------------
303 function fGetKeyType( KeyType as Integer ) as String
305     select case iSprache
306         case 01, 31, 49   :
307             select case KeyType
308                 case 1:      fGetKeyType   = "Alphanumeric"
309                 case 49:     fGetKeyType   = "Phone book"
310                 case 86:     fGetKeyType   = "Pinyin"
311                 case else :
312                 QAErrorLog "Now, the test does not support for the language " +iSprache
313                 fGetKeyType = ""
314             end select
316         case 81   :' Japanese
317             select case KeyType
318                 case 1:      fGetKeyType   = "英数字"
319                 case 49:     fGetKeyType   = "電話帳"
320                 case 86:     fGetKeyType   = "ピンイン(中国語のローマ字表記法)"
321                 case else :
322                 QAErrorLog "Now, the test does not support for the language " +iSprache
323                 fGetKeyType = ""
324             end select
326         case 86   :' Chinese (simplified)
327             select case KeyType
328                 case 1:      fGetKeyType   = "字母数字式"
329                 case 49:     fGetKeyType   = "电话簿"
330                 case 86:     fGetKeyType   = "拼音"
331                 case else :
332                 QAErrorLog "Now, the test does not support for the language " +iSprache
333                 fGetKeyType = ""
334             end select
336         case 88   :' Chinese (traditional)
337             select case KeyType
338                 case 1:      fGetKeyType   = "字母數字式"
339                 case 49:     fGetKeyType   = "電話簿"
340                 case 86:     fGetKeyType   = "拼音"
341                 case else :
342                 QAErrorLog "Now, the test does not support for the language " +iSprache
343                 fGetKeyType = ""
344             end select
346         case else :' Fallback
347             QAErrorLog "The test does not support the language " + iSprache
348             fGetKeyType = ""
349     end select
351 end function