1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="lang_XMultiServiceFactory" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9' 10' Copyright 2000, 2010 Oracle and/or its affiliates. 11' 12' OpenOffice.org - a multi-platform office productivity suite 13' 14' This file is part of OpenOffice.org. 15' 16' OpenOffice.org is free software: you can redistribute it and/or modify 17' it under the terms of the GNU Lesser General Public License version 3 18' only, as published by the Free Software Foundation. 19' 20' OpenOffice.org is distributed in the hope that it will be useful, 21' but WITHOUT ANY WARRANTY; without even the implied warranty of 22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23' GNU Lesser General Public License version 3 for more details 24' (a copy is included in the LICENSE file that accompanied this code). 25' 26' You should have received a copy of the GNU Lesser General Public License 27' version 3 along with OpenOffice.org. If not, see 28' <http://www.openoffice.org/license.html> 29' for a copy of the LGPLv3 License. 30' 31'************************************************************************* 32'************************************************************************* 33 34 35 36'************************************************************************* 37' This Interface/Service test depends on the following GLOBAL variables, 38' which must be specified in the object creation: 39 40' - Global cServiceName As String ie. "com.sun.star.drawing.RectangleShape" 41' - Global bCreateInstanceWithoutArguments As Boolean 42' - Global aArguments() As Variant 43 44'************************************************************************* 45 46 47 48 49 50Sub RunTest() 51 52'************************************************************************* 53' INTERFACE: 54' com.sun.star.lang.XMultiServiceFactory 55'************************************************************************* 56On Error Goto ErrHndl 57 Dim bOK As Boolean 58 Dim oInstance1, oInstance2 As Object 59 Dim Names 60 61 Test.StartMethod("getAvailableServiceNames()") 62 bOK = true 63 Names = oObj.getAvailableServiceNames() 64 Dim bFound As Boolean 65 bFound = false 66 for i = 0 to ubound(Names) 67 if Names(i) = cServiceName then bFound = true 68 next i 69 if (NOT bFound) then Out.Log("Can't find '" & cServiceName & "' in returned array.") 70 bOK = bOK AND bFound 71 Test.MethodTested("getAvailableServiceNames()", bOK) 72 73 Test.StartMethod("createInstance()") 74 bOK = true 75 if bCreateInstanceWithoutArguments then 76 oInstance1 = oObj.createInstance(cServiceName) 77 bOK = bOK AND NOT isNull(oInstance1) 78 else 79 Out.Log("createInstance() skipped for this object.") 80 end if 81 Test.MethodTested("createInstance()", bOK) 82 83 Test.StartMethod("createInstanceWithArguments()") 84 bOK = true 85 if (cObjectName = "sd.SdXImpressDocument") then 86 Out.Log("Object SdXImpressDocument doesn't suppotr createInstanceWithArguments().") 87 else 88 oInstance2 = oObj.createInstanceWithArguments(cServiceName, aArguments()) 89 bOK = bOK AND NOT isNULL(oInstance2) 90 end if 91 Test.MethodTested("createInstanceWithArguments()", bOK) 92 93Exit Sub 94ErrHndl: 95 Test.Exception() 96 bOK = false 97 resume next 98End Sub 99</script:module> 100