blob: 53fc08d96200e86390e902354f8fe6e9efabb529 [file] [log] [blame]
<?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="i18n_XCollator" 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.
'
'*************************************************************************
' 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) &gt;= 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") &lt;&gt; 0
Test.MethodTested("loadCollatorAlgorithm()", bOK)
Test.StartMethod("loadDefaultCollator()")
bOK = true
oObj.loadDefaultCollator(oLocale, 0)
bOK = bOK AND oObj.compareString("A", "a") &lt;&gt; 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) &gt;= 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
</script:module>