'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: sdbcx_XRowLocate.xba,v $ ' ' $Revision: 1.3 $ ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 License. ' '************************************************************************* '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.sdbcx.XRowLocate '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim oBM1 As Variant Dim oBM2 As Variant Dim oBM3 As Variant Dim oBM4 As Variant Dim cDscr1 As String Dim cDscr2 As String ReCreateObj() oObj.first() Test.StartMethod("getBookmark()") bOK = true oBM1 = oObj.getBookmark() cDscr1 = oObj.getString(1) Out.Log("Set bookmark to row " + cDscr1) bOK = bOK AND NOT isNULL(oBM1) Test.MethodTested("getBookmark()", bOK) Test.StartMethod("moveToBookmark()") bOK = true oObj.next() cDscr2 = oObj.getString(1) Out.Log("Now on " + cDscr2) oObj.moveToBookmark(oBM1) Out.Log("After movment on " + oObj.getString(1)) bOK = bOK AND oObj.getString(1) = cDscr1 Test.MethodTested("moveToBookmark()", bOK) Test.StartMethod("moveRelativeToBookmark()") bOK = true oObj.moveRelativeToBookmark(oBM1, 1) Out.Log("After movment on " + oObj.getString(1)) bOK = bOK AND oObj.getString(1) = cDscr2 Test.MethodTested("moveRelativeToBookmark()", bOK) oBM2 = oObj.getBookmark() Test.StartMethod("compareBookmarks()") bOK = true ' if database driver supports ordered marks then ' compareBookmarks should return values CompareBookmark::LESS or ' CompareBookmark::GREATER in case when bookmarks are not equal ' otherwise this method returnes only CompareBookmark::NOT_EQUAL if (oObj.hasOrderedBookmarks()) then bOK = bOK AND oObj.compareBookmarks(oBM1, oBM1) = com.sun.star.sdbcx.CompareBookmark.EQUAL bOK = bOK AND oObj.compareBookmarks(oBM1, oBM2) = com.sun.star.sdbcx.CompareBookmark.LESS bOK = bOK AND oObj.compareBookmarks(oBM2, oBM1) = com.sun.star.sdbcx.CompareBookmark.GREATER else bOK = bOK AND oObj.compareBookmarks(oBM1, oBM1) = com.sun.star.sdbcx.CompareBookmark.EQUAL bOK = bOK AND oObj.compareBookmarks(oBM1, oBM2) = com.sun.star.sdbcx.CompareBookmark.NOT_EQUAL bOK = bOK AND oObj.compareBookmarks(oBM2, oBM1) = com.sun.star.sdbcx.CompareBookmark.NOT_EQUAL end if Test.MethodTested("compareBookmarks()", bOK) Test.StartMethod("hasOrderedBookmarks()") bOK = true bOK = bOK AND oObj.hasOrderedBookmarks() Test.MethodTested("hasOrderedBookmarks()", bOK) Test.StartMethod("hashBookmark()") bOK = true oObj.last() oBM3 = oObj.getBookmark() oObj.first() oBM4 = oObj.getBookmark() bOK = bOK AND oObj.hashBookmark(oBM1) <> oObj.hashBookmark(oBM2) bOK = bOK AND oObj.hashBookmark(oBM1) <> oObj.hashBookmark(oBM3) bOK = bOK AND oObj.hashBookmark(oBM3) <> oObj.hashBookmark(oBM2) bOK = bOK AND oObj.hashBookmark(oBM1) = oObj.hashBookmark(oBM4) Test.MethodTested("hashBookmark()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub