'************************************************************************* ' ' 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: i18n_XCollator.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. ' '************************************************************************* '************************************************************************* ' Be sure that all variables are dimensioned: option explicit '************************************************************************* ' This Interface/Service test depends on the following GLOBAL variables, ' which must be specified in the object creation: ' - Global oLocal As Object '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.i18n.XCollator '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim Algorithms As Variant Dim options As Variant Test.StartMethod("listCollatorAlgorithms()") bOK = true Algorithms = oObj.listCollatorAlgorithms(oLocale) Out.Log("Found " + (ubound(Algorithms) + 1) + " algorithms.") bOK = bOK AND ubound(Algorithms) >= 0 Test.MethodTested("listCollatorAlgorithms()", bOK) Test.StartMethod("loadCollatorAlgorithm()") bOK = true options = com.sun.star.i18n.CollatorOptions.CollatorOptions_IGNORE_CASE oObj.loadCollatorAlgorithm(Algorithms(0), oLocale, options) bOK = bOK AND oObj.compareString("A", "a") = 0 oObj.loadCollatorAlgorithm(Algorithms(0), oLocale, 0) bOK = bOK AND oObj.compareString("A", "a") <> 0 Test.MethodTested("loadCollatorAlgorithm()", bOK) Test.StartMethod("loadDefaultCollator()") bOK = true oObj.loadDefaultCollator(oLocale, 0) bOK = bOK AND oObj.compareString("A", "a") <> 0 oObj.loadDefaultCollator(oLocale, options) bOK = bOK AND oObj.compareString("A", "a") = 0 Test.MethodTested("loadDefaultCollator()", bOK) Test.StartMethod("listCollatorOptions()") bOK = true options = oObj.listCollatorOptions(Algorithms(0)) Out.Log("Found " + (ubound(options) + 1) + " options.") bOK = bOK AND ubound(options) >= 0 Test.MethodTested("listCollatorOptions()", bOK) Test.StartMethod("compareSubstring()") bOK = true bOK = bOK AND oObj.compareSubstring("a", 0, 1, "B", 0, 1) = -1 bOK = bOK AND oObj.compareSubstring("A", 0, 1, "b", 0, 1) = -1 bOK = bOK AND oObj.compareSubstring("A", 0, 1, "a", 0, 1) = 0 Test.MethodTested("compareSubstring()", bOK) Test.StartMethod("compareString()") bOK = true bOK = bOK AND oObj.compareString("a", "B") = -1 bOK = bOK AND oObj.compareString("A", "b") = -1 bOK = bOK AND oObj.compareString("A", "a") = 0 Test.MethodTested("compareString()", bOK) Test.StartMethod("loadCollatorAlgorithmWithEndUserOption()") bOK = true Dim noOptions() As Integer Dim optionsArray(0) As Integer Dim ColAlgorithm As String colAlgorithm = "alphanumeric" Out.Log("Used collation algorithm: "+colAlgorithm) optionsArray(0) = com.sun.star.i18n.CollatorOptions.CollatorOptions_IGNORE_CASE oObj.loadCollatorAlgorithmWithEndUserOption(colAlgorithm, oLocale, noOptions()) bOK = bOK AND oObj.compareString("A", "a") = 1 bOK = bOK AND oObj.compareString("a", "A") = -1 bOK = bOK AND oObj.compareString("a", "a") = 0 oObj.loadCollatorAlgorithmWithEndUserOption(colAlgorithm, oLocale, optionsArray()) bOK = bOK AND oObj.compareString("A", "a") = 0 bOK = bOK AND oObj.compareString("a", "A") = 0 bOK = bOK AND oObj.compareString("a", "a") = 0 Test.MethodTested("loadCollatorAlgorithmWithEndUserOption()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub