'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2000, 2010 Oracle and/or its affiliates. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' 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. ' '************************************************************************* ***** '************************************************************************* ' Be sure that all variables are dimensioned: option explicit Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.util.XTextSearch '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim _Locale As new com.sun.star.lang.Locale _Locale.Country = "US" _Locale.Language = "en" Test.StartMethod("setOptions()") bOK = true Dim aSearchOptions As new com.sun.star.util.SearchOptions aSearchOptions.algorithmType = com.sun.star.util.SearchAlgorithms.REGEXP aSearchOptions.searchFlag = com.sun.star.util.SearchFlags.ALL_IGNORE_CASE aSearchOptions.searchString = "h[ae](k|l|j)+o" 'Should work because of ALL_IGNORE_CASE! aSearchOptions.Locale = _Locale oObj.setOptions(aSearchOptions) Test.MethodTested("setOptions()", bOK) Test.StartMethod("searchForward()") bOK = true Dim _string As String Dim _result As Variant _string = "String with 'Hello' and 'Hallo'." _result = oObj.searchForward(_string, 0, len(_string)) if (ubound(_result.startOffset()) >= 0) then bOK = bOK AND _result.startOffset(0) = 13 bOK = bOK AND _result.endOffset(0) = 18 _result = oObj.searchForward(_string, 18, len(_string)) bOK = bOK AND _result.startOffset(0) = 25 bOK = bOK AND _result.endOffset(0) = 30 else Out.Log("No matches were found!") bOK = false end if Test.MethodTested("searchForward()", bOK) Test.StartMethod("searchBackward()") bOK = true _result = oObj.searchBackward(_string, len(_string), 0) if (ubound(_result.startOffset()) >= 0) then bOK = bOK AND _result.startOffset(0) = 30 bOK = bOK AND _result.endOffset(0) = 25 _result = oObj.searchBackward(_string, _result.endOffset(0), 0) bOK = bOK AND _result.startOffset(0) = 18 bOK = bOK AND _result.endOffset(0) = 13 else Out.Log("No matches were found!") bOK = false end if Test.MethodTested("searchBackward()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub