sync master with lastest vba changes
[ooovba.git] / testautomation / spreadsheet / optional / includes / arrayconstants / c_arrayconstants.inc
blob7b50548d0244770632101cffa0ef9efdb16dda1b
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: c_arrayconstants.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 08:05:49 $
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 : oliver.craemer@sun.com
36 '* short description : calc arrayconstants level2 test
38 '************************************************************************
40 ' #1 tArrayconstants01     ' Direct input and OASIS format
41 ' #1 tArrayconstants02     ' Import / Export to MSExcel
43 '\***********************************************************************
45 testcase tArrayconstants01
47     dim sFunctionTRUE as string
48     dim sFunctionFALSE as string
49     dim sFunctionSIN as string
50     dim sError512 as string
51     dim sError533 as string
52     dim sdecimalseperator as string
53     dim sLocalFile as string
54     dim sCellcontent as string
55     
56     sFunctionTRUE = fFunctionName ("TRUE")
57     sFunctionFALSE = fFunctionName ("FALSE")
58     sFunctionSIN = fFunctionName ("SIN")
59     sError512 = fError_l10n ("512")
60     sError533 = fError_l10n ("533")
61     sDecimalseperator = GetDecimalSeperator
62     sLocalFile = convertpath ( gOfficepath & "user/work/arrayconstants.ods" )
64     '///Open new spreadsheet document
65     printlog "Open new spreadsheet document"
66     call hNewDocument
67     
68     '///In cell A1 enter "={1;2;3}"
69     printlog "In cell A1 enter ""={1;2;3}"""
70     call fCalcSelectRange ("A1")
71     kontext "DocumentCalc"
72     DocumentCalc.TypeKeys ("={1;2;3} <RETURN>")
73     '///Check that the cellvalue is "1"
74     printlog "Check that the cellvalue is ""1"""
75     call fCalcCompareCellValue ("A1","1")
77     '///In cell A2 enter "={1;2;3|4;5;6}"
78     printlog "In cell A2 enter ""={1;2;3|4;5;6}"""
79     call fCalcSelectRange ("A2")
80     kontext "DocumentCalc"
81     DocumentCalc.TypeKeys ("={1;2;3|4;5;6} <RETURN>")
82     '///Check that the cellvalue is "1"
83     printlog "Check that the cellvalue is ""1"""
84     call fCalcCompareCellValue ("A2","1")
86     '///In cell A3 enter "={0;1;2|False;TRUE;"two"}"
87     printlog "In cell A3 enter ""={0;1;2|" & sFunctionFALSE & ";" & sFunctionTRUE & ";""two""}"""
88     call fCalcSelectRange ("A3")
89     kontext "DocumentCalc"
90     DocumentCalc.TypeKeys ("={0;1;2|" & sFunctionFALSE & ";" & sFunctionTRUE & ";""two""} <RETURN>")
91     '///Check that the cellvalue is "0"
92     printlog "Check that the cellvalue is ""0"""
93     call fCalcCompareCellValue ("A3","0")
95     '///Multiselect cells A4:C4, type "=sin({1;2;3})" and press <ctrl shift enter>
96     printlog "Multiselect cells A4:C4, type ""=sin({1;2;3})"" and press <ctrl shift enter>"
97     call fCalcSelectRange ("A4:C4")
98     kontext "DocumentCalc"
99     DocumentCalc.TypeKeys ("=" & sFunctionSIN & "({1;2;3}) <MOD1 SHIFT RETURN>")
100     '///Check that the cellvalue  of A4 is "0.84"
101     printlog "Check that the cellvalue  of A4 is ""0.84"""
102     call fCalcSelectRange ("A5")
103     kontext "DocumentCalc"
104     DocumentCalc.TypeKeys "=A4<TAB>=B4<TAB>=C4<RETURN>" 'because a part of a matrix is protected we need a helpcell with only the values
105     call fCalcCompareCellValue ("A5","0" & sDecimalseperator & "84")
106     '///Check that the cell contents of B4 is "0.91"
107     printlog "Check that the cell contents of B4 is ""0.91"""
108     call fCalcCompareCellValue ("B5","0" & sDecimalseperator & "91")
109     '///Check that the cell contents of C4 is "0.14"
110     printlog "Check that the cell contents of C4 is ""0.14"""
111     call fCalcCompareCellValue ("C5","0" & sDecimalseperator & "14")
113     '///In cell A6 enter "={1;2|4;5;6}"
114     printlog "In cell A6 enter ""={1;2|4;5;6}"""
115     call fCalcSelectRange ("A6")
116     kontext "DocumentCalc"
117     DocumentCalc.TypeKeys ("={1;2|4;5;6} <RETURN>")
118     '///Check that the cellvalue is "Err:512"
119     printlog "Check that the cellvalue is ""Err:512"""
120     call fCalcCompareCellValue ("A6",sError512)
122     '///In cell A7 enter "={1;2+3}"
123     printlog "In cell A7 enter ""={1;2+3}"""
124     call fCalcSelectRange ("A7")
125     kontext "DocumentCalc"
126     DocumentCalc.TypeKeys ("={1;2+3} <RETURN>")
127     '///Check that the cellvalue is "Err:512"
128     printlog "Check that the cellvalue is ""Err:512"""
129     call fCalcCompareCellValue ("A7",sError512)
130     
131     '///In cell A8 enter "={1;2;{3;4;5}}"
132     printlog "In cell A8 enter ""={1;2;{3;4;5}}"""
133     call fCalcSelectRange ("A8")
134     kontext "DocumentCalc"
135     DocumentCalc.TypeKeys ("={1;2;{3;4;5}} <RETURN>")
136     kontext
137     '///Cancel appearing MsgBox for correction of a wrong formular
138     if active.exists then
139         active.no
140     end if
141     '///Check that the cellvalue is "Err:533"
142     printlog "Check that the cellvalue is ""Err:533"""
143     call fCalcCompareCellValue ("A8",sError533)
145     '///Save document 
146     printlog "Save document"
147     call hFileSaveAsKill ( slocalfile )
148     
149     '/// Close document
150     printlog "Close document"
151     call hCloseDocument
153     '/// Load Document
154     printlog "Load Document"
155     call hFileOpen ( slocalfile )
156     sleep (2)
157     
158     '///Check that all formulars are the same as before.
159     printlog "Check that all formulars are the same as before."
160     
161     '///+Check that the editline shows "={1;2;3}" for cell A1
162     printlog "  Check that the editline shows ""={1;2;3}"" for cell A1"
163     scellcontent = "={1;2;3}"
164     call fCalcCompareCellFormular ("A1",scellcontent)
165     
166     '///+Check that the editline shows "={1;2;3|4;5;6}" for cell A2
167     printlog "  Check that the editline shows ""={1;2;3|4;5;6}"" for cell A2"
168     scellcontent = "={1;2;3|4;5;6}"
169     call fCalcCompareCellFormular ("A2",scellcontent)
170     
171     '///+Check that the editline shows "={0;1;2|False;TRUE;"two"}" for cell A3
172     printlog "  Check that the editline shows ""={0;1;2|" & sFunctionFALSE & ";" & sFunctionTRUE & ";""two""}"" for cell A3"
173     scellcontent = "={0;1;2|" & sFunctionFALSE & ";" & sFunctionTRUE & ";""two""}"
174     call fCalcCompareCellFormular ("A3",scellcontent)
175     
176     '///+Check that the editline shows "=SIN({1;2;3})" for cell A4:C4
177     printlog "  Check that the editline shows ""=" & sFunctionSIN & "({1;2;3})"" for cell A4:C4"
178     scellcontent = "=" & sFunctionSIN & "({1;2;3})"
179     call fCalcCompareCellFormular ("A4:C4",scellcontent)
180     
181     '///+Check that the editline shows "={1;2|4;5;6}" for cell A6
182     printlog "  Check that the editline shows ""={1;2|4;5;6}"" for cell A6"
183     scellcontent = "={1;2|4;5;6}"
184     call fCalcCompareCellFormular ("A6",scellcontent)
185     
186     '///+Check that the editline shows "={1;2+3}" for cell A7
187     printlog "  Check that the editline shows ""={1;2+3}"" for cell A7"
188     scellcontent = "={1;2+3}"
189     call fCalcCompareCellFormular ("A7",scellcontent)
190     
191     '///+Check that the editline shows "={1;2;{3;4;5}}" for cell A8
192     printlog "  Check that the editline shows ""={1;2;{3;4;5}}"" for cell A8"
193     scellcontent = "={1;2;{3;4;5}}"
194     call fCalcCompareCellFormular ("A8",scellcontent)
195     
196     '///Close Document
197     printlog "Close Document"
198     call hCloseDocument
200 endcase
202 '--------------------------------------------------------------------
204 testcase tArrayconstants02
206     Dim sImportFile as string
207     Dim sLocalFile as string
208     Dim sFunctionSUM as string
209     Dim sFunctionMDETERM as string
210     Dim sCellcontent as string
211     
212     sImportFile = convertpath ( gTesttoolpath & "spreadsheet/optional/input/arrayconstants.xls" )
213     sLocalFile = convertpath ( gOfficepath & "user/work/arrayconstants.xls" )
214     sFunctionSUM = fFunctionName ("SUM")
215     sFunctionMDETERM = fFunctionName ("MDETERM")
216     
217     '///Load xls testdocument <i>gTestToolPath</i>/spreadsheet/optional/input/arrayconstants.xls
218     printlog "Load xls testdocument <i>gTestToolPath</i>/spreadsheet/optional/input/arrayconstants.xls"
219     call hFileOpen ( sImportFile )
220     sleep(2)
221     '///If the file is not editable, click the edit button on standardbar
222     printlog "If the file is not editable, click the edit button on standardbar"
223     call sMakeReadOnlyDocumentEditable
224     
225     '///Check that the cell contents of B4 is 1
226     printlog "Check that the cell contents of B4 is 1"
227     call fCalcCompareCellValue ("F4","1")
228     '///Check that the cell contents of C5 is 4
229     printlog "Check that the cell contents of C5 is 4"
230     call fCalcCompareCellValue ("G5","4")
231     '///Check that the editline shows "={1;2|3;4}" for cell B4
232     printlog "Check that the editline shows ""={1;2|3;4}"" for cell B4"
233     scellcontent = "={1;2|3;4}"
234     call fCalcCompareCellFormular ("B4:C5",scellcontent)
235     '///Check that the cell contents of B8 is 10
236     printlog "Check that the cell contents of B8 is 10"
237     call fCalcCompareCellValue ("B8","10")
238     '///Check that the editline for cell B8 is "=SUM({1;2|3;4})"
239     printlog "Check that the editline for cell B8 is ""=SUM({1;2|3;4})"""
240     scellcontent = "=" & sFunctionSUM & "({1;2|3;4})"
241     call fCalcCompareCellFormular ("B8",scellcontent)
242     '///Check that the cell contents of B11 is -2
243     printlog "Check that the cell contents of B11 is -2"
244     call fCalcCompareCellValue ("B11","-2")
245     '///Check that the editline for cell B11 is "=MDETERM({1;2|3;4})"
246     printlog "Check that the editline for cell B11 is ""=MDETERM({1;2|3;4})"""
247     scellcontent = "=" & sFunctionMDETERM & "({1;2|3;4})"
248     call fCalcCompareCellFormular ("B11",scellcontent)
249     '///Check that the cell contents of B14 is 1
250     printlog "Check that the cell contents of B14 is 1"
251     call fCalcCompareCellValue ("F14","1")
252     '///Check that the editline for cell B14 is "{=name}"
253     printlog "Check that the editline for cell B14 is ""=name"""
254     scellcontent = "=name"
255     call fCalcCompareCellFormular ("B14:C15",scellcontent)
256     
257     '/// Save document back to xls locally
258     printlog "Save document back to xls locally"
259     call hFileSaveAsKill ( slocalfile )
260     
261     '/// Close document
262     printlog "Close document"
263     call hCloseDocument
265     '/// Load Document
266     printlog "Load Document"
267     call hFileOpen ( slocalfile )
268     sleep (2)
270     '///Check that all cellvalues are the same as before
271     printlog "Check that all cellvalues are the same as before"
272     '///+Check that the cell contents of B4 is 1
273     printlog "Check that the cell contents of B4 is 1"
274     call fCalcCompareCellValue ("F4","1")
275     '///+Check that the cell contents of C5 is 4
276     printlog "Check that the cell contents of C5 is 4"
277     call fCalcCompareCellValue ("G5","4")
278     '///+Check that the editline shows "={1;2|3;4}" for cell B4
279     printlog "Check that the editline shows ""={1;2|3;4}"" for cell B4"
280     scellcontent = "={1;2|3;4}"
281     call fCalcCompareCellFormular ("B4:C5",scellcontent)
282     '///+Check that the cell contents of B8 is 10
283     printlog "Check that the cell contents of B8 is 10"
284     call fCalcCompareCellValue ("B8","10")
285     '///+Check that the editline for cell B8 is "=SUM({1;2|3;4})"
286     printlog "Check that the editline for cell B8 is ""=SUM({1;2|3;4})"""
287     scellcontent = "=" & sFunctionSUM & "({1;2|3;4})"
288     call fCalcCompareCellFormular ("B8",scellcontent)
289     '///+Check that the cell contents of B11 is -2
290     printlog "Check that the cell contents of B11 is -2"
291     call fCalcCompareCellValue ("B11","-2")
292     '///+Check that the editline for cell B11 is "=MDETERM({1;2|3;4})"
293     printlog "Check that the editline for cell B11 is ""=MDETERM({1;2|3;4})"""
294     scellcontent = "=" & sFunctionMDETERM & "({1;2|3;4})"
295     call fCalcCompareCellFormular ("B11",scellcontent)
296     '///+Check that the cell contents of B14 is 1
297     printlog "Check that the cell contents of B14 is 1"
298     call fCalcCompareCellValue ("F14","1")
299     '///+Check that the editline for cell B14 is "{=name}"
300     printlog "Check that the editline for cell B14 is ""=name"""
301     scellcontent = "=name"
302     call fCalcCompareCellFormular ("B14:C15",scellcontent)
304     '///Close document
305     printlog "Close document"
306     call hCloseDocument
308 endcase