'************************************************************************* ' ' 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: lang_XSingleServiceFactory.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 aArguments As Variant [optional] ' Array of arguments for createInstanceWithArguments() ' Global aMustSupportInterface As Variant [optional] ' Array of Strings with names of interfaces which must be supported by created instance. '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.lang.XSingleServiceFactory '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim aArgs() Dim inst As Object Dim i As Integer Test.StartMethod("createInstance()") bOK = true if (cObjectName = "inv.Invocation") then Out.Log("createInstance() not available in " + cObjectName + " - SKIPPED") else bOK = bOK AND isObject(oObj.createInstance()) end if Test.MethodTested("createInstance()", bOK) Test.StartMethod("createInstanceWithArguments()") bOK = true if isArray(aArguments) then inst = oObj.createInstanceWithArguments(aArguments()) else inst = oObj.createInstanceWithArguments(aArgs()) end if if NOT isObject(inst) then bOK = false Out.Log("The returned instance is not object : FAILED.") end if if isArray(aMustSupportInterface) AND bOK then Out.Log("Checking supported interfaces ...") for i = 0 to ubound(aMustSupportInterface()) if NOT hasUnoInterfaces(inst, aMustSupportInterface(i)) then Out.Log("The created instance doesn't support '" + aMustSupportInterface(i) + "'") bOK = false end if next i end if Test.MethodTested("createInstanceWithArguments()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub