'************************************************************************* ' ' 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: script_XTypeConverter.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 Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.script.XTypeConverter '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim oCoreRefl As Object oCoreRefl = createUNOService("com.sun.star.reflection.CoreReflection") Test.StartMethod("convertTo()") bOK = true Dim tXInterface As Variant Dim tXInterfaceObject As Variant Dim cObjTypeName As String Dim oObjToConv As Object Out.Log("Creating a Type object for XInterface") tXInterface = oCoreRefl.forName("com.sun.star.io.XInputStream") Out.Log("Created " + tXInterface.Name) oObjToConv = createUnoService("com.sun.star.io.Pipe") Out.Log("Converting object of type " + oCoreRefl.getType(oObjToConv).Name + " to " + tXInterface.Name) tXInterfaceObject = oObj.convertTo(oObjToConv, tXInterface) if (isNULL(tXInterfaceObject)) then Out.Log("Returned object is NULL!!!") bOK = false elseif (isEmpty(tXInterfaceObject)) then cObjTypeName = "Empty" else cObjTypeName = oCoreRefl.getType(tXInterfaceObject).Name end if Out.Log("New object is of type " + cObjTypeName + ".") bOK = bOK AND NOT isNULL(tXInterfaceObject) bOK = bOK AND inStr(1, cObjTypeName, "XInterface") Test.MethodTested("convertTo()", bOK) Test.StartMethod("convertToSimpleType()") Dim oldType As String Dim newType As String Dim oldVal As Integer Dim newVal bOK = true oldVal = 65 oldType = oCoreRefl.getType(oldVal).Name newVal = oObj.convertToSimpleType(oldVal, com.sun.star.uno.TypeClass.STRING) newType = oCoreRefl.getType(newVal).Name bOK = bOK AND newType <> oldType bOK = bOK AND inStr(1, newVal, "65") Out.Log("Old value is " + oldVal + " of type " + oldType + ", new value is " + _ newVal + " of type " + newType + ".") Test.MethodTested("convertToSimpleType()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub