1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?>
2*b1cdbd2cSJim Jagielski<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3*b1cdbd2cSJim Jagielski<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XResultSet" script:language="StarBasic">
4*b1cdbd2cSJim Jagielski
5*b1cdbd2cSJim Jagielski
6*b1cdbd2cSJim Jagielski'*************************************************************************
7*b1cdbd2cSJim Jagielski'
8*b1cdbd2cSJim Jagielski'  Licensed to the Apache Software Foundation (ASF) under one
9*b1cdbd2cSJim Jagielski'  or more contributor license agreements.  See the NOTICE file
10*b1cdbd2cSJim Jagielski'  distributed with this work for additional information
11*b1cdbd2cSJim Jagielski'  regarding copyright ownership.  The ASF licenses this file
12*b1cdbd2cSJim Jagielski'  to you under the Apache License, Version 2.0 (the
13*b1cdbd2cSJim Jagielski'  "License"); you may not use this file except in compliance
14*b1cdbd2cSJim Jagielski'  with the License.  You may obtain a copy of the License at
15*b1cdbd2cSJim Jagielski'
16*b1cdbd2cSJim Jagielski'    http://www.apache.org/licenses/LICENSE-2.0
17*b1cdbd2cSJim Jagielski'
18*b1cdbd2cSJim Jagielski'  Unless required by applicable law or agreed to in writing,
19*b1cdbd2cSJim Jagielski'  software distributed under the License is distributed on an
20*b1cdbd2cSJim Jagielski'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*b1cdbd2cSJim Jagielski'  KIND, either express or implied.  See the License for the
22*b1cdbd2cSJim Jagielski'  specific language governing permissions and limitations
23*b1cdbd2cSJim Jagielski'  under the License.
24*b1cdbd2cSJim Jagielski'
25*b1cdbd2cSJim Jagielski'*************************************************************************
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski'*************************************************************************
32*b1cdbd2cSJim Jagielski' This Interface/Service test depends on the following GLOBAL variables,
33*b1cdbd2cSJim Jagielski' which must be specified in the object creation:
34*b1cdbd2cSJim Jagielski
35*b1cdbd2cSJim Jagielski'     - Global cXResultSetFirstRecord as String
36*b1cdbd2cSJim Jagielski'       Global cXResultSetLastRecord as String
37*b1cdbd2cSJim Jagielski'       Global cXResultSetRecord1 as String
38*b1cdbd2cSJim Jagielski'       Global cXResultSetRecord2 as String
39*b1cdbd2cSJim Jagielski'       Global cXResultSet2BeforeLastRecord as String
40*b1cdbd2cSJim Jagielski
41*b1cdbd2cSJim Jagielski'*************************************************************************
42*b1cdbd2cSJim Jagielski
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski
47*b1cdbd2cSJim JagielskiSub RunTest()
48*b1cdbd2cSJim Jagielski
49*b1cdbd2cSJim Jagielski'*************************************************************************
50*b1cdbd2cSJim Jagielski' INTERFACE:
51*b1cdbd2cSJim Jagielski' com.sun.star.sdbc.XResultSet
52*b1cdbd2cSJim Jagielski'*************************************************************************
53*b1cdbd2cSJim JagielskiOn Error Goto ErrHndl
54*b1cdbd2cSJim Jagielski    Dim bOK As Boolean
55*b1cdbd2cSJim Jagielski
56*b1cdbd2cSJim Jagielski
57*b1cdbd2cSJim Jagielski    Out.Log("ReCreating Object, to be shure that it is in initial state.")
58*b1cdbd2cSJim Jagielski
59*b1cdbd2cSJim Jagielski    Test.StartMethod("beforeFirst()")
60*b1cdbd2cSJim Jagielski    Test.StartMethod("isBeforeFirst()")
61*b1cdbd2cSJim Jagielski    Test.StartMethod("isFirst()")
62*b1cdbd2cSJim Jagielski    Test.StartMethod("first()")
63*b1cdbd2cSJim Jagielski    Test.StartMethod("next()")
64*b1cdbd2cSJim Jagielski
65*b1cdbd2cSJim Jagielski    Test.StartMethod("afterLast()")
66*b1cdbd2cSJim Jagielski    Test.StartMethod("isAfterLast()")
67*b1cdbd2cSJim Jagielski    Test.StartMethod("isLast()")
68*b1cdbd2cSJim Jagielski    Test.StartMethod("last()")
69*b1cdbd2cSJim Jagielski    Test.StartMethod("previous()")
70*b1cdbd2cSJim Jagielski
71*b1cdbd2cSJim Jagielski    Test.StartMethod("getRow()")
72*b1cdbd2cSJim Jagielski
73*b1cdbd2cSJim Jagielski    Dim bBeforeFirst As Boolean
74*b1cdbd2cSJim Jagielski    Dim bIsBeforeFirst As Boolean
75*b1cdbd2cSJim Jagielski    Dim bIsBeforeFirstLoop As Boolean
76*b1cdbd2cSJim Jagielski    Dim bIsFirst As Boolean
77*b1cdbd2cSJim Jagielski    Dim bFirst As Boolean
78*b1cdbd2cSJim Jagielski    Dim bNext As Boolean
79*b1cdbd2cSJim Jagielski    Dim bAfterLast As Boolean
80*b1cdbd2cSJim Jagielski    Dim bIsAfterLast As Boolean
81*b1cdbd2cSJim Jagielski    Dim bIsAfterLastLoop As Boolean
82*b1cdbd2cSJim Jagielski    Dim bIsLast As Boolean
83*b1cdbd2cSJim Jagielski    Dim bLast As Boolean
84*b1cdbd2cSJim Jagielski    Dim bPrevious As Boolean
85*b1cdbd2cSJim Jagielski    Dim bGetRow As Boolean
86*b1cdbd2cSJim Jagielski    Dim bLoopError as Boolean
87*b1cdbd2cSJim Jagielski
88*b1cdbd2cSJim Jagielski    bLoopError = false
89*b1cdbd2cSJim Jagielski    bBeforeFirst = true
90*b1cdbd2cSJim Jagielski    bIsBeforeFirst = true
91*b1cdbd2cSJim Jagielski    bIsFirst = true
92*b1cdbd2cSJim Jagielski    bFirst = true
93*b1cdbd2cSJim Jagielski    bNext = true
94*b1cdbd2cSJim Jagielski    bAfterLast = true
95*b1cdbd2cSJim Jagielski    bIsAfterLast = true
96*b1cdbd2cSJim Jagielski    bIsLast = true
97*b1cdbd2cSJim Jagielski    bLast = true
98*b1cdbd2cSJim Jagielski    bPrevious = true
99*b1cdbd2cSJim Jagielski    bGetRow = true
100*b1cdbd2cSJim Jagielski
101*b1cdbd2cSJim Jagielski    oObj.beforeFirst()
102*b1cdbd2cSJim Jagielski
103*b1cdbd2cSJim Jagielski    Out.Log("Initially the cursor should be before first record.")
104*b1cdbd2cSJim Jagielski    Out.Log("getRow(): expected : 0, actual: " + oObj.getRow())
105*b1cdbd2cSJim Jagielski    if (oObj.getRow() = 0) then
106*b1cdbd2cSJim Jagielski        Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
107*b1cdbd2cSJim Jagielski        bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
108*b1cdbd2cSJim Jagielski    end if
109*b1cdbd2cSJim Jagielski
110*b1cdbd2cSJim Jagielski    Out.Log("Go to not first record...")
111*b1cdbd2cSJim Jagielski    oObj.next
112*b1cdbd2cSJim Jagielski    oObj.next
113*b1cdbd2cSJim Jagielski    Out.Log("isBeforeFirst(): expected: 'false', actual '" + oObj.isBeforeFirst() + "'")
114*b1cdbd2cSJim Jagielski    bIsBeforeFirst = bIsBeforeFirst AND NOT oObj.isBeforeFirst()
115*b1cdbd2cSJim Jagielski
116*b1cdbd2cSJim Jagielski    Out.Log("Go to before first record...")
117*b1cdbd2cSJim Jagielski    oObj.beforeFirst()
118*b1cdbd2cSJim Jagielski    Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
119*b1cdbd2cSJim Jagielski    bBeforeFirst = bBeforeFirst AND oObj.isBeforeFirst()
120*b1cdbd2cSJim Jagielski    bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
121*b1cdbd2cSJim Jagielski
122*b1cdbd2cSJim Jagielski    Out.Log("Go to previous position")
123*b1cdbd2cSJim Jagielski    oObj.previous()
124*b1cdbd2cSJim Jagielski    Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
125*b1cdbd2cSJim Jagielski    bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
126*b1cdbd2cSJim Jagielski    bPrevious = bPrevious AND oObj.isBeforeFirst()
127*b1cdbd2cSJim Jagielski
128*b1cdbd2cSJim Jagielski    Out.Log("Go to first record...")
129*b1cdbd2cSJim Jagielski    oObj.first()
130*b1cdbd2cSJim Jagielski    Out.Log("isBeforeFirst(): expected: 'false', actual '" + oObj.isBeforeFirst() + "'")
131*b1cdbd2cSJim Jagielski    bIsBeforeFirst = bIsBeforeFirst AND NOT oObj.isBeforeFirst()
132*b1cdbd2cSJim Jagielski    Out.Log("isFirst(): expected: 'true', actual '" + oObj.isFirst() + "'")
133*b1cdbd2cSJim Jagielski    bIsFirst = bIsFirst AND oObj.isFirst()
134*b1cdbd2cSJim Jagielski    Out.Log("getRow(): expected : 1, actual: " + oObj.getRow())
135*b1cdbd2cSJim Jagielski    bIsFirst = bIsFirst AND oObj.getRow() = 1
136*b1cdbd2cSJim Jagielski    Out.Log("RowDsc should contain " + cXResultSetFirstRecord)
137*b1cdbd2cSJim Jagielski    Out.Log("RowDsc is '" + oObj.getString(1) + "'")
138*b1cdbd2cSJim Jagielski    bFirst = bFirst AND inStr(1, oObj.getString(1), cXResultSetFirstRecord)
139*b1cdbd2cSJim Jagielski
140*b1cdbd2cSJim Jagielski    Out.Log("Go to previous position")
141*b1cdbd2cSJim Jagielski    oObj.previous()
142*b1cdbd2cSJim Jagielski    Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
143*b1cdbd2cSJim Jagielski    bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
144*b1cdbd2cSJim Jagielski    bPrevious = bPrevious AND oObj.isBeforeFirst()
145*b1cdbd2cSJim Jagielski    Out.Log("isFirst(): expected: 'false', actual '" + oObj.isFirst() + "'")
146*b1cdbd2cSJim Jagielski    bIsFirst = bIsFirst AND NOT oObj.isFirst()
147*b1cdbd2cSJim Jagielski
148*b1cdbd2cSJim Jagielski    Out.Log("Go to beforeFirst()")
149*b1cdbd2cSJim Jagielski    oObj.beforeFirst()
150*b1cdbd2cSJim Jagielski    Out.Log("Iterate through all records form first to last")
151*b1cdbd2cSJim Jagielski    Dim n As Integer
152*b1cdbd2cSJim Jagielski    n = 0
153*b1cdbd2cSJim Jagielski    bLoopError = false
154*b1cdbd2cSJim Jagielski    bIsAfterLastLoop = oObj.isAfterLast()
155*b1cdbd2cSJim Jagielski    while (n &lt; 1000 AND NOT bIsAfterLastLoop)
156*b1cdbd2cSJim Jagielski        oObj.next()
157*b1cdbd2cSJim Jagielski        n = n + 1
158*b1cdbd2cSJim Jagielski        bIsAfterLastLoop = oObj.isAfterLast()
159*b1cdbd2cSJim Jagielski        if bLoopError then
160*b1cdbd2cSJim Jagielski            bLoopError = false
161*b1cdbd2cSJim Jagielski            n = 1000
162*b1cdbd2cSJim Jagielski        end if
163*b1cdbd2cSJim Jagielski    wend
164*b1cdbd2cSJim Jagielski
165*b1cdbd2cSJim Jagielski    Out.Log("IsAfterLast(): expected: 'true', actual '" + oObj.IsAfterLast() + "'")
166*b1cdbd2cSJim Jagielski    bIsAfterLast = bIsAfterLast AND oObj.isAfterLast()
167*b1cdbd2cSJim Jagielski    Out.Log("IsLast(): expected: 'false', actual '" + oObj.IsLast() + "'")
168*b1cdbd2cSJim Jagielski    bIsLast = bIsLast AND NOT oObj.isLast()
169*b1cdbd2cSJim Jagielski    Out.Log("Amount of records is " + n)
170*b1cdbd2cSJim Jagielski    Out.Log("Trying to go to next record")
171*b1cdbd2cSJim Jagielski    oObj.next()
172*b1cdbd2cSJim Jagielski    Out.Log("IsAfterLast(): expected: 'true', actual '" + oObj.IsAfterLast() + "'")
173*b1cdbd2cSJim Jagielski    bIsAfterLast = bIsAfterLast AND oObj.isAfterLast()
174*b1cdbd2cSJim Jagielski
175*b1cdbd2cSJim Jagielski    Out.Log("Go to previous position.")
176*b1cdbd2cSJim Jagielski    oObj.previous()
177*b1cdbd2cSJim Jagielski    Out.Log("IsLast(): expected: 'true', actual '" + oObj.IsLast() + "'")
178*b1cdbd2cSJim Jagielski    bIsLast = bIsLast AND oObj.isLast()
179*b1cdbd2cSJim Jagielski    Out.Log("RowDsc should contain " + cXResultSetLastRecord)
180*b1cdbd2cSJim Jagielski    Out.Log("RowDsc is '" + oObj.getString(1) + "'")
181*b1cdbd2cSJim Jagielski    bIsLast = bIsLast AND inStr(1, oObj.getString(1), cXResultSetLastRecord)
182*b1cdbd2cSJim Jagielski
183*b1cdbd2cSJim Jagielski    Out.Log("Iterate through all records form last to first")
184*b1cdbd2cSJim Jagielski    bLoopError = false
185*b1cdbd2cSJim Jagielski    bIsBeforeFirstLoop = oObj.isBeforeFirst()
186*b1cdbd2cSJim Jagielski    while (n &gt; 0 AND NOT bIsBeforeFirstLoop)
187*b1cdbd2cSJim Jagielski        oObj.previous()
188*b1cdbd2cSJim Jagielski        n = n - 1
189*b1cdbd2cSJim Jagielski        bIsBeforeFirstLoop = oObj.isBeforeFirst()
190*b1cdbd2cSJim Jagielski        if bLoopError then
191*b1cdbd2cSJim Jagielski            bLoopError = false
192*b1cdbd2cSJim Jagielski            n = 0
193*b1cdbd2cSJim Jagielski        end if
194*b1cdbd2cSJim Jagielski    wend
195*b1cdbd2cSJim Jagielski
196*b1cdbd2cSJim Jagielski    Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
197*b1cdbd2cSJim Jagielski    bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
198*b1cdbd2cSJim Jagielski
199*b1cdbd2cSJim Jagielski    Out.Log("Trying to go to previous record")
200*b1cdbd2cSJim Jagielski    oObj.previous()
201*b1cdbd2cSJim Jagielski    Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'")
202*b1cdbd2cSJim Jagielski    bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst()
203*b1cdbd2cSJim Jagielski
204*b1cdbd2cSJim Jagielski
205*b1cdbd2cSJim Jagielski    Test.MethodTested("beforeFirst()", bBeforeFirst)
206*b1cdbd2cSJim Jagielski    Test.MethodTested("isBeforeFirst()", bIsBeforeFirst)
207*b1cdbd2cSJim Jagielski    Test.MethodTested("isFirst()", bIsFirst)
208*b1cdbd2cSJim Jagielski    Test.MethodTested("first()", bFirst)
209*b1cdbd2cSJim Jagielski    Test.MethodTested("next()", bNext)
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski    Test.MethodTested("afterLast()", bAfterLast)
212*b1cdbd2cSJim Jagielski    Test.MethodTested("isAfterLast()", bIsAfterLast)
213*b1cdbd2cSJim Jagielski    Test.MethodTested("isLast()", bIsLast)
214*b1cdbd2cSJim Jagielski    Test.MethodTested("last()", bLast)
215*b1cdbd2cSJim Jagielski    Test.MethodTested("previous()", bPrevious)
216*b1cdbd2cSJim Jagielski
217*b1cdbd2cSJim Jagielski    Test.MethodTested("getRow()", bGetRow)
218*b1cdbd2cSJim Jagielski
219*b1cdbd2cSJim Jagielski
220*b1cdbd2cSJim Jagielski    Test.StartMethod("absolute()")
221*b1cdbd2cSJim Jagielski    bOK = true
222*b1cdbd2cSJim Jagielski    Out.Log("Go to second record")
223*b1cdbd2cSJim Jagielski    oObj.absolute(2)
224*b1cdbd2cSJim Jagielski    Out.Log("RowDsc should contain " + cXResultSetRecord2)
225*b1cdbd2cSJim Jagielski    Out.Log("RowDsc is '" + oObj.getString(1) + "'")
226*b1cdbd2cSJim Jagielski    bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord2)
227*b1cdbd2cSJim Jagielski    Out.Log("Go to record -1")
228*b1cdbd2cSJim Jagielski    oObj.absolute(-1)
229*b1cdbd2cSJim Jagielski    Out.Log("RowDsc is '" + oObj.getString(1) + "'")
230*b1cdbd2cSJim Jagielski    Out.Log("IsLast(): expected: 'true', actual '" + oObj.IsLast() + "'")
231*b1cdbd2cSJim Jagielski    bOK = bOK AND oObj.isLast()
232*b1cdbd2cSJim Jagielski    Out.Log("Go to record -2")
233*b1cdbd2cSJim Jagielski    oObj.absolute(-2)
234*b1cdbd2cSJim Jagielski    Out.Log("IsLast(): expected: 'false', actual '" + oObj.IsLast() + "'")
235*b1cdbd2cSJim Jagielski    bOK = bOK AND NOT oObj.isLast()
236*b1cdbd2cSJim Jagielski    Out.Log("RowDsc should contain " + cXResultSet2BeforeLastRecord)
237*b1cdbd2cSJim Jagielski    Out.Log("RowDsc is '" + oObj.getString(1) + "'")
238*b1cdbd2cSJim Jagielski    bOK = bOK AND inStr(1, oObj.getString(1), cXResultSet2BeforeLastRecord)
239*b1cdbd2cSJim Jagielski    Test.MethodTested("absolute()", bOK)
240*b1cdbd2cSJim Jagielski
241*b1cdbd2cSJim Jagielski    Test.StartMethod("relative()")
242*b1cdbd2cSJim Jagielski    bOK = true
243*b1cdbd2cSJim Jagielski    Out.Log("Go to before first record")
244*b1cdbd2cSJim Jagielski    oObj.beforeFirst()
245*b1cdbd2cSJim Jagielski    on error goto RelativeErrHndl
246*b1cdbd2cSJim Jagielski        oObj.relative(1)
247*b1cdbd2cSJim Jagielski        Out.Log("Exception expected!")
248*b1cdbd2cSJim Jagielski        bOK = false
249*b1cdbd2cSJim Jagielski    goto ContRelative
250*b1cdbd2cSJim Jagielski    RelativeErrHndl:
251*b1cdbd2cSJim Jagielski        Out.Log("Expected exception.")
252*b1cdbd2cSJim Jagielski
253*b1cdbd2cSJim Jagielski    ContRelative:
254*b1cdbd2cSJim Jagielski    On Error Goto NewErrHndl
255*b1cdbd2cSJim Jagielski    Out.Log("Go to first record and relative(1)")
256*b1cdbd2cSJim Jagielski    oObj.next()
257*b1cdbd2cSJim Jagielski    oObj.relative(1)
258*b1cdbd2cSJim Jagielski    Out.Log("RowDsc should contain " + cXResultSetRecord2)
259*b1cdbd2cSJim Jagielski    Out.Log("RowDsc is '" + oObj.getString(1) + "'")
260*b1cdbd2cSJim Jagielski    bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord2)
261*b1cdbd2cSJim Jagielski    Out.Log("Go to relative(-1)")
262*b1cdbd2cSJim Jagielski    oObj.relative(-1)
263*b1cdbd2cSJim Jagielski    Out.Log("RowDsc should contain " + cXResultSetRecord1)
264*b1cdbd2cSJim Jagielski    Out.Log("RowDsc is '" + oObj.getString(1) + "'")
265*b1cdbd2cSJim Jagielski    bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord1)
266*b1cdbd2cSJim Jagielski    Out.Log("RowDsc is '" + oObj.getString(1) + "'")
267*b1cdbd2cSJim Jagielski    Test.MethodTested("relative()", bOK)
268*b1cdbd2cSJim Jagielski
269*b1cdbd2cSJim Jagielski    Test.StartMethod("refreshRow()")
270*b1cdbd2cSJim Jagielski    bOK = true
271*b1cdbd2cSJim Jagielski    oObj.refreshRow()
272*b1cdbd2cSJim Jagielski    Test.MethodTested("refreshRow()", bOK)
273*b1cdbd2cSJim Jagielski
274*b1cdbd2cSJim Jagielski    Test.StartMethod("rowUpdated()")
275*b1cdbd2cSJim Jagielski    bOK = true
276*b1cdbd2cSJim Jagielski    Out.Log("rowUpdated() is " + oObj.rowUpdated())
277*b1cdbd2cSJim Jagielski    bOK = bOK AND NOT oObj.rowUpdated()
278*b1cdbd2cSJim Jagielski    Test.MethodTested("rowUpdated()", bOK)
279*b1cdbd2cSJim Jagielski
280*b1cdbd2cSJim Jagielski    Test.StartMethod("rowInserted()")
281*b1cdbd2cSJim Jagielski    bOK = true
282*b1cdbd2cSJim Jagielski    Out.Log("rowInserted() is " + oObj.rowInserted())
283*b1cdbd2cSJim Jagielski    bOK = bOK AND NOT oObj.rowInserted()
284*b1cdbd2cSJim Jagielski    Test.MethodTested("rowInserted()", bOK)
285*b1cdbd2cSJim Jagielski
286*b1cdbd2cSJim Jagielski    Test.StartMethod("rowDeleted()")
287*b1cdbd2cSJim Jagielski    bOK = true
288*b1cdbd2cSJim Jagielski    Out.Log("rowDeleted() is " + oObj.rowDeleted())
289*b1cdbd2cSJim Jagielski    bOK = bOK AND NOT oObj.rowDeleted()
290*b1cdbd2cSJim Jagielski    Test.MethodTested("rowDeleted()", bOK)
291*b1cdbd2cSJim Jagielski
292*b1cdbd2cSJim Jagielski    Test.StartMethod("getStatement()")
293*b1cdbd2cSJim Jagielski    bOK = true
294*b1cdbd2cSJim Jagielski    oStatement = oObj.getStatement()
295*b1cdbd2cSJim Jagielski    bOK = bOK AND NOT isNULL(oStatement)
296*b1cdbd2cSJim Jagielski    Test.MethodTested("getStatement()", bOK)
297*b1cdbd2cSJim Jagielski
298*b1cdbd2cSJim JagielskiExit Sub
299*b1cdbd2cSJim JagielskiNewErrHndl:
300*b1cdbd2cSJim JagielskiErrHndl:
301*b1cdbd2cSJim Jagielski    Test.Exception()
302*b1cdbd2cSJim Jagielski    bOK = false
303*b1cdbd2cSJim Jagielski    bLoopError = true
304*b1cdbd2cSJim Jagielski    resume next
305*b1cdbd2cSJim JagielskiEnd Sub
306*b1cdbd2cSJim Jagielski</script:module>
307