| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> |
| <script:module xmlns:script="http://openoffice.org/2000/script" script:name="sdbc_XResultSet" script:language="StarBasic"> |
| |
| |
| '************************************************************************* |
| ' |
| ' Licensed to the Apache Software Foundation (ASF) under one |
| ' or more contributor license agreements. See the NOTICE file |
| ' distributed with this work for additional information |
| ' regarding copyright ownership. The ASF licenses this file |
| ' to you under the Apache License, Version 2.0 (the |
| ' "License"); you may not use this file except in compliance |
| ' with the License. You may obtain a copy of the License at |
| ' |
| ' http://www.apache.org/licenses/LICENSE-2.0 |
| ' |
| ' Unless required by applicable law or agreed to in writing, |
| ' software distributed under the License is distributed on an |
| ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ' KIND, either express or implied. See the License for the |
| ' specific language governing permissions and limitations |
| ' under the License. |
| ' |
| '************************************************************************* |
| |
| |
| |
| |
| |
| '************************************************************************* |
| ' This Interface/Service test depends on the following GLOBAL variables, |
| ' which must be specified in the object creation: |
| |
| ' - Global cXResultSetFirstRecord as String |
| ' Global cXResultSetLastRecord as String |
| ' Global cXResultSetRecord1 as String |
| ' Global cXResultSetRecord2 as String |
| ' Global cXResultSet2BeforeLastRecord as String |
| |
| '************************************************************************* |
| |
| |
| |
| |
| |
| Sub RunTest() |
| |
| '************************************************************************* |
| ' INTERFACE: |
| ' com.sun.star.sdbc.XResultSet |
| '************************************************************************* |
| On Error Goto ErrHndl |
| Dim bOK As Boolean |
| |
| |
| Out.Log("ReCreating Object, to be shure that it is in initial state.") |
| |
| Test.StartMethod("beforeFirst()") |
| Test.StartMethod("isBeforeFirst()") |
| Test.StartMethod("isFirst()") |
| Test.StartMethod("first()") |
| Test.StartMethod("next()") |
| |
| Test.StartMethod("afterLast()") |
| Test.StartMethod("isAfterLast()") |
| Test.StartMethod("isLast()") |
| Test.StartMethod("last()") |
| Test.StartMethod("previous()") |
| |
| Test.StartMethod("getRow()") |
| |
| Dim bBeforeFirst As Boolean |
| Dim bIsBeforeFirst As Boolean |
| Dim bIsBeforeFirstLoop As Boolean |
| Dim bIsFirst As Boolean |
| Dim bFirst As Boolean |
| Dim bNext As Boolean |
| Dim bAfterLast As Boolean |
| Dim bIsAfterLast As Boolean |
| Dim bIsAfterLastLoop As Boolean |
| Dim bIsLast As Boolean |
| Dim bLast As Boolean |
| Dim bPrevious As Boolean |
| Dim bGetRow As Boolean |
| Dim bLoopError as Boolean |
| |
| bLoopError = false |
| bBeforeFirst = true |
| bIsBeforeFirst = true |
| bIsFirst = true |
| bFirst = true |
| bNext = true |
| bAfterLast = true |
| bIsAfterLast = true |
| bIsLast = true |
| bLast = true |
| bPrevious = true |
| bGetRow = true |
| |
| oObj.beforeFirst() |
| |
| Out.Log("Initially the cursor should be before first record.") |
| Out.Log("getRow(): expected : 0, actual: " + oObj.getRow()) |
| if (oObj.getRow() = 0) then |
| Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'") |
| bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst() |
| end if |
| |
| Out.Log("Go to not first record...") |
| oObj.next |
| oObj.next |
| Out.Log("isBeforeFirst(): expected: 'false', actual '" + oObj.isBeforeFirst() + "'") |
| bIsBeforeFirst = bIsBeforeFirst AND NOT oObj.isBeforeFirst() |
| |
| Out.Log("Go to before first record...") |
| oObj.beforeFirst() |
| Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'") |
| bBeforeFirst = bBeforeFirst AND oObj.isBeforeFirst() |
| bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst() |
| |
| Out.Log("Go to previous position") |
| oObj.previous() |
| Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'") |
| bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst() |
| bPrevious = bPrevious AND oObj.isBeforeFirst() |
| |
| Out.Log("Go to first record...") |
| oObj.first() |
| Out.Log("isBeforeFirst(): expected: 'false', actual '" + oObj.isBeforeFirst() + "'") |
| bIsBeforeFirst = bIsBeforeFirst AND NOT oObj.isBeforeFirst() |
| Out.Log("isFirst(): expected: 'true', actual '" + oObj.isFirst() + "'") |
| bIsFirst = bIsFirst AND oObj.isFirst() |
| Out.Log("getRow(): expected : 1, actual: " + oObj.getRow()) |
| bIsFirst = bIsFirst AND oObj.getRow() = 1 |
| Out.Log("RowDsc should contain " + cXResultSetFirstRecord) |
| Out.Log("RowDsc is '" + oObj.getString(1) + "'") |
| bFirst = bFirst AND inStr(1, oObj.getString(1), cXResultSetFirstRecord) |
| |
| Out.Log("Go to previous position") |
| oObj.previous() |
| Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'") |
| bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst() |
| bPrevious = bPrevious AND oObj.isBeforeFirst() |
| Out.Log("isFirst(): expected: 'false', actual '" + oObj.isFirst() + "'") |
| bIsFirst = bIsFirst AND NOT oObj.isFirst() |
| |
| Out.Log("Go to beforeFirst()") |
| oObj.beforeFirst() |
| Out.Log("Iterate through all records form first to last") |
| Dim n As Integer |
| n = 0 |
| bLoopError = false |
| bIsAfterLastLoop = oObj.isAfterLast() |
| while (n < 1000 AND NOT bIsAfterLastLoop) |
| oObj.next() |
| n = n + 1 |
| bIsAfterLastLoop = oObj.isAfterLast() |
| if bLoopError then |
| bLoopError = false |
| n = 1000 |
| end if |
| wend |
| |
| Out.Log("IsAfterLast(): expected: 'true', actual '" + oObj.IsAfterLast() + "'") |
| bIsAfterLast = bIsAfterLast AND oObj.isAfterLast() |
| Out.Log("IsLast(): expected: 'false', actual '" + oObj.IsLast() + "'") |
| bIsLast = bIsLast AND NOT oObj.isLast() |
| Out.Log("Amount of records is " + n) |
| Out.Log("Trying to go to next record") |
| oObj.next() |
| Out.Log("IsAfterLast(): expected: 'true', actual '" + oObj.IsAfterLast() + "'") |
| bIsAfterLast = bIsAfterLast AND oObj.isAfterLast() |
| |
| Out.Log("Go to previous position.") |
| oObj.previous() |
| Out.Log("IsLast(): expected: 'true', actual '" + oObj.IsLast() + "'") |
| bIsLast = bIsLast AND oObj.isLast() |
| Out.Log("RowDsc should contain " + cXResultSetLastRecord) |
| Out.Log("RowDsc is '" + oObj.getString(1) + "'") |
| bIsLast = bIsLast AND inStr(1, oObj.getString(1), cXResultSetLastRecord) |
| |
| Out.Log("Iterate through all records form last to first") |
| bLoopError = false |
| bIsBeforeFirstLoop = oObj.isBeforeFirst() |
| while (n > 0 AND NOT bIsBeforeFirstLoop) |
| oObj.previous() |
| n = n - 1 |
| bIsBeforeFirstLoop = oObj.isBeforeFirst() |
| if bLoopError then |
| bLoopError = false |
| n = 0 |
| end if |
| wend |
| |
| Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'") |
| bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst() |
| |
| Out.Log("Trying to go to previous record") |
| oObj.previous() |
| Out.Log("isBeforeFirst(): expected: 'true', actual '" + oObj.isBeforeFirst() + "'") |
| bIsBeforeFirst = bIsBeforeFirst AND oObj.isBeforeFirst() |
| |
| |
| Test.MethodTested("beforeFirst()", bBeforeFirst) |
| Test.MethodTested("isBeforeFirst()", bIsBeforeFirst) |
| Test.MethodTested("isFirst()", bIsFirst) |
| Test.MethodTested("first()", bFirst) |
| Test.MethodTested("next()", bNext) |
| |
| Test.MethodTested("afterLast()", bAfterLast) |
| Test.MethodTested("isAfterLast()", bIsAfterLast) |
| Test.MethodTested("isLast()", bIsLast) |
| Test.MethodTested("last()", bLast) |
| Test.MethodTested("previous()", bPrevious) |
| |
| Test.MethodTested("getRow()", bGetRow) |
| |
| |
| Test.StartMethod("absolute()") |
| bOK = true |
| Out.Log("Go to second record") |
| oObj.absolute(2) |
| Out.Log("RowDsc should contain " + cXResultSetRecord2) |
| Out.Log("RowDsc is '" + oObj.getString(1) + "'") |
| bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord2) |
| Out.Log("Go to record -1") |
| oObj.absolute(-1) |
| Out.Log("RowDsc is '" + oObj.getString(1) + "'") |
| Out.Log("IsLast(): expected: 'true', actual '" + oObj.IsLast() + "'") |
| bOK = bOK AND oObj.isLast() |
| Out.Log("Go to record -2") |
| oObj.absolute(-2) |
| Out.Log("IsLast(): expected: 'false', actual '" + oObj.IsLast() + "'") |
| bOK = bOK AND NOT oObj.isLast() |
| Out.Log("RowDsc should contain " + cXResultSet2BeforeLastRecord) |
| Out.Log("RowDsc is '" + oObj.getString(1) + "'") |
| bOK = bOK AND inStr(1, oObj.getString(1), cXResultSet2BeforeLastRecord) |
| Test.MethodTested("absolute()", bOK) |
| |
| Test.StartMethod("relative()") |
| bOK = true |
| Out.Log("Go to before first record") |
| oObj.beforeFirst() |
| on error goto RelativeErrHndl |
| oObj.relative(1) |
| Out.Log("Exception expected!") |
| bOK = false |
| goto ContRelative |
| RelativeErrHndl: |
| Out.Log("Expected exception.") |
| |
| ContRelative: |
| On Error Goto NewErrHndl |
| Out.Log("Go to first record and relative(1)") |
| oObj.next() |
| oObj.relative(1) |
| Out.Log("RowDsc should contain " + cXResultSetRecord2) |
| Out.Log("RowDsc is '" + oObj.getString(1) + "'") |
| bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord2) |
| Out.Log("Go to relative(-1)") |
| oObj.relative(-1) |
| Out.Log("RowDsc should contain " + cXResultSetRecord1) |
| Out.Log("RowDsc is '" + oObj.getString(1) + "'") |
| bOK = bOK AND inStr(1, oObj.getString(1), cXResultSetRecord1) |
| Out.Log("RowDsc is '" + oObj.getString(1) + "'") |
| Test.MethodTested("relative()", bOK) |
| |
| Test.StartMethod("refreshRow()") |
| bOK = true |
| oObj.refreshRow() |
| Test.MethodTested("refreshRow()", bOK) |
| |
| Test.StartMethod("rowUpdated()") |
| bOK = true |
| Out.Log("rowUpdated() is " + oObj.rowUpdated()) |
| bOK = bOK AND NOT oObj.rowUpdated() |
| Test.MethodTested("rowUpdated()", bOK) |
| |
| Test.StartMethod("rowInserted()") |
| bOK = true |
| Out.Log("rowInserted() is " + oObj.rowInserted()) |
| bOK = bOK AND NOT oObj.rowInserted() |
| Test.MethodTested("rowInserted()", bOK) |
| |
| Test.StartMethod("rowDeleted()") |
| bOK = true |
| Out.Log("rowDeleted() is " + oObj.rowDeleted()) |
| bOK = bOK AND NOT oObj.rowDeleted() |
| Test.MethodTested("rowDeleted()", bOK) |
| |
| Test.StartMethod("getStatement()") |
| bOK = true |
| oStatement = oObj.getStatement() |
| bOK = bOK AND NOT isNULL(oStatement) |
| Test.MethodTested("getStatement()", bOK) |
| |
| Exit Sub |
| NewErrHndl: |
| ErrHndl: |
| Test.Exception() |
| bOK = false |
| bLoopError = true |
| resume next |
| End Sub |
| </script:module> |