diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba b/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba new file mode 100644 index 000000000000..77ad0a8c79b1 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/lang/XSingleServiceFactory/lang_XSingleServiceFactory.xba @@ -0,0 +1,106 @@ +<?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="lang_XSingleServiceFactory" script:language="StarBasic"> + + +'************************************************************************* +' +' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +' +' Copyright 2000, 2010 Oracle and/or its affiliates. +' +' OpenOffice.org - a multi-platform office productivity suite +' +' 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 +' <http://www.openoffice.org/license.html> +' 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 +</script:module> |