diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/registry')
4 files changed, 310 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/registry_XImplementationRegistration.xba b/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/registry_XImplementationRegistration.xba new file mode 100644 index 000000000000..2915d317d47a --- /dev/null +++ b/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/registry_XImplementationRegistration.xba @@ -0,0 +1,168 @@ +<?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="registry_XImplementationRegistration" 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 + + + +Sub RunTest() + +'************************************************************************* +' INTERFACE: +' com.sun.star.registry.XImplementationRegistration +'************************************************************************* +On Error Goto ErrHndl + Dim bOK As Boolean + Dim aImplementationLoader As String + Dim aImplementations As Variant + Dim aMissingServices As Variant + Dim aLocation As String + Dim i As Integer + Dim k As Integer + Dim xReg As Object + Dim regKey As Object + Dim keyNames As Variant + Dim bNeedTest As Boolean + + xReg = createUNOService("com.sun.star.registry.SimpleRegistry") + xReg.Open(utils.Path2URL(cTestDocsDir & "XImpReg.reg"), false, true) + aImplementationLoader = "com.sun.star.loader.Java2" + aLocation = utils.Path2URL(cTestDocsDir & "qadevlibs/MyPersistObjectImpl.jar") + + Test.StartMethod("getImplementations()") + bOK = true + aImplementations = oObj.getImplementations(aImplementationLoader, aLocation) + bOK = bOK AND i >= 0 + for i = 0 to ubound(aImplementations) + Out.Log "" & i + 1 & ") " & aImplementations(i) + next i + Test.MethodTested("getImplementations()", bOK) + + Test.StartMethod("registerImplementation()") + Out.Log("Registering implementation from " & aLocation) + bOK = true + oObj.registerImplementation(aImplementationLoader, aLocation, xReg) + + bOK = bOK AND xReg.isValid() + + regKey = xReg.getRootKey.openKey("IMPLEMENTATIONS") + keyNames = regKey.getKeyNames() + Out.Log("In registry found " & ubound(keyNames) + 1 & " implementations.") + Dim aFlags(ubound(aImplementations())) As Boolean + for i = 0 to ubound(aFlags()) + aFlags(i) = false + next i + + for i = 0 to ubound(keyNames()) + Out.Log("Found key: " & keyNames(i)) + for k = 0 to ubound(aImplementations) + if (inStr(1, keyNames(i), aImplementations(k)) > 0 ) then + aFlags(k) = true + end if + next k + next i + + for i = 0 to ubound(aFlags()) + if (NOT aFlags(i)) then + Out.Log("Can't find information about " & aImplementations(i) & " in regestry") + bOK = false + end if + next i + + Test.MethodTested("registerImplementation()", bOK) + + Test.StartMethod("checkInstantiation()") + bOK = true + Out.Log("Looking for missing services to create " & aImplementations(0)) + aMissingServices = oObj.checkInstantiation(aImplementations(0)) + Out.Log("" & ubound(aMissingServices) + 1 & " missing services were found") + for i = 0 to ubound(aMissingServices) + Out.Log "" & i & ") " & aMissingServices(i) + next i + Test.MethodTested("checkInstantiation()", bOK) + + Test.StartMethod("revokeImplementation()") + bOK = true + bNeedTest = false + + oObj.revokeImplementation(aLocation, xReg) + + bOK = bOK AND xReg.isValid() + regKey = xReg.getRootKey + keyNames = regKey.getKeyNames() + for i = 0 to ubound(keyNames()) + if (inStr(1, keyNames(i), "IMPLEMENTATIONS") > 0) then + bNeedTest = true + end if + next i + if (NOT bNeedTest) then + Out.Log("No implementation was found.") + end if + + if (bOK AND bNeedTest) then + regKey = xReg.getRootKey.openKey("IMPLEMENTATIONS") + Out.Log("In registry found " & ubound(keyNames) + 1 & " implementations.") + + for i = 0 to ubound(aFlags()) + aFlags(i) = false + next i + + for i = 0 to ubound(keyNames()) + Out.Log("Found key: " & keyNames(i)) + for k = 0 to ubound(aImplementations) + if (inStr(1, keyNames(i), aImplementations(k)) > 0 ) then + aFlags(k) = true + end if + next k + next i + + for i = 0 to ubound(aFlags()) + if (aFlags(i)) then + Out.Log("Information about " & aImplementations(i) & " is still in regestry") + bOK = false + end if + next i + end if + Test.MethodTested("revokeImplementation()", bOK) + + xReg.Close() +Exit Sub +ErrHndl: + Test.Exception() + bOK = false + resume next +End Sub +</script:module> diff --git a/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/script.xlb b/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/script.xlb new file mode 100644 index 000000000000..ba6078351ce9 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/script.xlb @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd"> +<library:library xmlns:library="http://openoffice.org/2000/library" library:name="registry_XImplementationRegistration" library:readonly="false" library:passwordprotected="false"> +"<library:element library:name="registry_XImplementationRegistration"/> +"</library:library> diff --git a/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/registry_XSimpleRegistry.xba b/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/registry_XSimpleRegistry.xba new file mode 100644 index 000000000000..fb9649252959 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/registry_XSimpleRegistry.xba @@ -0,0 +1,132 @@ +<?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="registry_XSimpleRegistry" 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 + + + +Sub RunTest() + +'************************************************************************* +' INTERFACE: +' com.sun.star.registry.XSimpleRegistry +'************************************************************************* +On Error Goto ErrHndl + Dim bOK As Boolean + Dim cURL As String + Dim cTempURL As String + Dim oTempReg As Object + Dim oRoot As Object + Dim oKey As Object + Dim oKey2 As Object + + cURL = utils.getTempFileURL("BASReg.rdb", true) + + Test.StartMethod("open()") + bOK = true + if (cObjectName <> "defreg.NestedRegistry") then + oObj.open(cURL, false, true) + bOK = bOK AND FileExists(cURL) + end if + Test.MethodTested("open()", bOK) + + Test.StartMethod("isValid()") + bOK = true + bOK = bOK AND oObj.isValid() + Test.MethodTested("isValid()", bOK) + + Test.StartMethod("getRootKey()") + bOK = true + oKey = oObj.getRootKey() + bOK = bOK AND hasUnoInterfaces(oKey, "com.sun.star.registry.XRegistryKey") + Test.MethodTested("getRootKey()", bOK) + + Test.StartMethod("isReadOnly()") + bOK = true + bOK = bOK AND NOT oObj.isReadOnly() + Test.MethodTested("isReadOnly()", bOK) + + Test.StartMethod("mergeKey()") + bOK = true + + oKey.createKey("Key1").setStringValue("Value of Key1") + + cTempURL = utils.getTempFileURL("BASRegTemp.rdb", true) + oTempReg = createUnoService("com.sun.star.registry.SimpleRegistry") + oTempReg.open(cTempURL, false, true) + oKey2 = oTempReg.getRootKey() + oKey2.createKey("Key2").setStringValue("Value of Key2") + + oObj.mergeKey("/", cTempURL) + + oRoot = oObj.RootKey + oKey = oRoot.openKey("Key1") + bOK = bOK AND oKey.getStringValue = "Value of Key1" + oKey = oRoot.openKey("Key2") + bOK = bOK AND oKey.getStringValue = "Value of Key2" + oTempReg.close() + + Test.MethodTested("mergeKey()", bOK) + + Test.StartMethod("getURL()") + bOK = true + Out.Log("Returned URL is " & oObj.URL) + bOK = bOK AND inStr(1, oObj.URL, ".rdb") > 0 + Test.MethodTested("getURL()", bOK) + + Test.StartMethod("destroy()") + bOK = true + if (cObjectName <> "defreg.NestedRegistry") then + oObj.open(cURL, false, true) + oObj.destroy() + end if + Test.MethodTested("destroy()", bOK) + + Test.StartMethod("close()") + bOK = true + if (cObjectName <> "defreg.NestedRegistry") then + oObj.open(cURL, false, true) + oObj.close() + end if + Test.MethodTested("close()", bOK) + +Exit Sub +ErrHndl: + Test.Exception() + bOK = false + resume next +End Sub +</script:module> diff --git a/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/script.xlb b/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/script.xlb new file mode 100644 index 000000000000..a4234ec9ee79 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/script.xlb @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd"> +<library:library xmlns:library="http://openoffice.org/2000/library" library:name="registry_XSimpleRegistry" library:readonly="false" library:passwordprotected="false"> +"<library:element library:name="registry_XSimpleRegistry"/> +"</library:library> |