'************************************************************************* ' ' 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: util_XSearchable.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. ' '************************************************************************* '************************************************************************* '************************************************************************* ' This Interface/Service test depends on the following GLOBAL variables, ' which must be specified in the object creation: ' - Global cStringToSearch As String ' should appears more than once ' - Global nSearchedEntriesAmount As Integer '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.util.XSearchable '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim oMatch As Object Dim oAllMatch As Object Dim oSearchDescriptor As Object Dim nCount As Long Test.StartMethod("createSearchDescriptor()") bOK = true oSearchDescriptor = oObj.createSearchDescriptor() bOK = bOK AND NOT isNULL(oSearchDescriptor) bOK = bOK AND hasUnoInterfaces(oSearchDescriptor, "com.sun.star.util.XSearchDescriptor") Test.MethodTested("createSearchDescriptor()", bOK) Out.Log("Setting values to search descriptor") oSearchDescriptor.SearchString = cStringToSearch oSearchDescriptor.SearchWords = false oSearchDescriptor.SearchCaseSensitive = true Test.StartMethod("findAll()") bOK = true oAllMatch = oObj.findAll(oSearchDescriptor) bOK = bOK AND hasUnoInterfaces(oAllMatch, "com.sun.star.container.XIndexAccess") for i = 0 to oAllMatch.count - 1 bOK = bOK AND oAllMatch.getByIndex(i).String = cStringToSearch next i bOK = bOK AND oAllMatch.count = nSearchedEntriesAmount Test.MethodTested("findAll()", bOK) Test.StartMethod("findFirst()") bOK = true oMatch = oObj.findFirst(oSearchDescriptor) bOK = bOK AND oMatch.String = cStringToSearch Test.MethodTested("findFirst()", bOK) Test.StartMethod("findNext()") bOK = true nCount = 0 While NOT isNULL(oMatch) nCount = nCount + 1 bOK = bOK AND oMatch.String = cStringToSearch oMatch = oObj.findNext(oMatch.end, oSearchDescriptor) wend bOK = bOK AND nSearchedEntriesAmount = nCount Test.MethodTested("findNext()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub