merge the formfield patch from ooo-build
[ooovba.git] / testautomation / global / input / macros.txt
blob2210990ec93f054be2f43192c9b85e9b141c65ff
1 # This is a collection of BASIC macros that can cause Syntax errors, Exceptions, 
2 # Runtime Errors.
4 # ---------------------------------------------------------------------------- #
6 [Default_Macro]
7 REM BASIC
9 sub main
11 end sub
13 # ---------------------------------------------------------------------------- #
15 [MessageBoxes]
16 '# MessageBoxes - Macro that opens all flavors of messageboxes
17 function TestMessageBoxes()
19     msgbox( "0x" , 0 )
20     msgbox( "1x" , 1 )
21     msgbox( "2x" , 2 )
22     msgbox( "3x" , 3 )
23     msgbox( "4x" , 4 )
24     msgbox( "5x" , 5 )
25     
26     msgbox( "16" , 2 + 16 )
27     msgbox( "32" , 2 + 32 )
28     msgbox( "48" , 2 + 48 )
29     msgbox( "64" , 2 + 64 )
30     msgbox( "128" , 2 + 128 )
31     msgbox( "256" , 2 + 256 )
32     msgbox( "512" , 2 + 512 )
33     
34 end function
36 # ---------------------------------------------------------------------------- #
38 [TTMacro1]
39 '# TTMacro1: This is a short testscript for automated testing!
40 sub main
42     print( "Hello" )
44 end sub
46 # ---------------------------------------------------------------------------- #
48 [TTMacro2]
49 '# TTMacro2: Macro that only contains a comment on the first line
51 # ---------------------------------------------------------------------------- #
53 [TTMacro3]
54 '# TTMacro3: Bring up a messagebox
55 sub main
57     msgbox( "TTMacro3" )
58     
59 end sub
61 # ---------------------------------------------------------------------------- #
63 [tBasicExport]
64 ' This is a macro to test the BASIC library export
65 sub main
67     msgbox( "tBasicExport" )
68     
69 end sub
71 # ---------------------------------------------------------------------------- #
73 [i41695]
74 ' No runtime exception 
75 sub main
77     dim F as string
78     dim S as string
79     msgbox( "i41695-1" )
80     F = "file://" & curdir & "/test.txt" 
81     Open F for random as #17
83     get #17, 1, S
84     msgbox( "i41695-2" )
86 end sub
88 # ---------------------------------------------------------------------------- #
90 [i77436]
91 '# This is a macro required for verification of issue 77436
92 Sub Main
93 'test service
94 o= createUnoService("TestNamesComp")
95 msgbox o.dbg_supportedInterfaces
97 'test singleton
98 ctx = getDefaultContext
99 factory = ctx.getValueByName("org.openoffice.test.Names")
100 msgbox o.dbg_supportedInterfaces
102 End Sub
104 # ---------------------------------------------------------------------------- #
106 [i82830]
107 'should display
108 '12D687
109 '4553207
110 Sub Main
111         dim l as long
112         l = 1234567
113         msgbox hex( l )
114         msgbox oct( l )
115 end sub
117 # ---------------------------------------------------------------------------- #
119 [i81674]
120 Sub Main
121         MsgBox Format(1250, "Currency")
122         MsgBox Format(1250, "Yes/No")
123         MsgBox Format(1250, "True/False")
124         MsgBox Format(1250, "On/Off")
125 End Sub
127 # ---------------------------------------------------------------------------- #
129 [i80532]
130 ' Should display three messageboxes: -10,1,-10
131 Sub Main
132     aTestFunction (-10) ' will compile
133     aTestFunction 1,-10 ' will compile
134     aTestFunction -10 ' should now compile and run, too
135 End Sub
137 function aTestFunction( param1 as variant )
138     msgbox "param1 = " & param1
139 end function
141 # ---------------------------------------------------------------------------- #
143 [i83978]
144 ' This should trigger an exception
146 Sub Main
147         BasicLibraries.LoadLibrary( "ThisLibDoesNotExist" )
148 End Sub
150 # ---------------------------------------------------------------------------- #
152 [i84040]
153 ' Two messageboxes that should display "false"
155 Sub Main
156     Dim oError1 as new com.sun.star.sdbc.SQLException
157     print isnull( oError1 )
158     Dim oError2 as Object
159     oError2 = CreateUnoStruct( "com.sun.star.sdbc.SQLException" )
160     print isnull( oError2 )
161 End Sub
163 # ---------------------------------------------------------------------------- #
165 [i86265]
166 ' There should be no "Paramtheses do not match" warning
167 OPTION EXPLICIT
168 Public Const cMAX = 256
170 Sub Main
172     Dim mRangeArray(0, 0) as String
173     Dim n as Integer
174     
175     n = 10
176     MsgBox "i86265-1"   
177     ReDim mRangeArray(CInt(cMAX), n) as String
178     MsgBox "i86265-2"
180 End Sub
182 # ---------------------------------------------------------------------------- #
184 [i92329]
185 Option VBASupport 1
186 Sub Main()
188     Dim mTmp() As String  
189     mTmp() = Test(False) '<-- generates an 'unexpected ')' compiler error
190     MsgBox mTmp(0) & " " & mTmp(1)
191     
192 End Sub
194 Function Test(ByVal bFlag As Boolean) As Variant
196     Dim mRanges(100) As String
198     If (bFlag = True) Then
199         Test = "return a String"
200     Else
201         mRanges(0) = "Return an"
202         mRanges(1) = "Array"
203         Test = mRanges()
204     End If
206 End Function
208 # ---------------------------------------------------------------------------- #
210 [i97038]
211 ' Date should contain the year 1900 and the value should be 2
213 Sub Main
214     Dim v
215     v = DateSerial(0,1,1)
216     Msgbox ("Date :  " & v)
217     MsgBox ("Value : " & CDbl(v))
218 End Sub
220 # ---------------------------------------------------------------------------- #
222 [i103691]
223 option vbasupport 1\r
225 Sub Main\r
226     dim a, b\r
228     if (not a = b) then 
229         msgbox( "not equal" )\r
230     else\r
231         msgbox( "Equal" )    \r
232     end if\r
233 End Sub\r
234 # ---------------------------------------------------------------------------- #
236 [i103697]
237 Private Declare Function FooFunction Lib "foo" ( nVal )\r
238 Public  Declare Function FooFunction2 Lib "foo" ( nVal )\r
240 sub main\r
241         msgbox( "i103697" )\r
242 end sub
244 # ---------------------------------------------------------------------------- #
246 [i103990]
247 type MyType\r
248         a( 3 ) as integer\r
249         b as double\r
250 end type\r
252 Sub Main\r
253         dim mt as MyType\r
254         mt.a(0) = 42\r
255         mt.a(1) = 43\r
256         mt.b = 3.14\r
257         msgbox( mt.a(0) )
258         msgbox( mt.a(1) )
259         if ( mt.b = 3.14 ) then
260         msgbox( "Pi" )
261     else
262         msgbox( "Error" )
263     endif\r
264 end sub\r