summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/ifc/registry
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/ifc/registry')
-rw-r--r--qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/registry_XImplementationRegistration.xba168
-rw-r--r--qadevOOo/tests/basic/ifc/registry/XImplementationRegistration/script.xlb5
-rw-r--r--qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/registry_XSimpleRegistry.xba132
-rw-r--r--qadevOOo/tests/basic/ifc/registry/XSimpleRegistry/script.xlb5
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 &amp; "XImpReg.reg"), false, true)
+ aImplementationLoader = "com.sun.star.loader.Java2"
+ aLocation = utils.Path2URL(cTestDocsDir &amp; "qadevlibs/MyPersistObjectImpl.jar")
+
+ Test.StartMethod("getImplementations()")
+ bOK = true
+ aImplementations = oObj.getImplementations(aImplementationLoader, aLocation)
+ bOK = bOK AND i &gt;= 0
+ for i = 0 to ubound(aImplementations)
+ Out.Log "" &amp; i + 1 &amp; ") " &amp; aImplementations(i)
+ next i
+ Test.MethodTested("getImplementations()", bOK)
+
+ Test.StartMethod("registerImplementation()")
+ Out.Log("Registering implementation from " &amp; 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 " &amp; ubound(keyNames) + 1 &amp; " 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: " &amp; keyNames(i))
+ for k = 0 to ubound(aImplementations)
+ if (inStr(1, keyNames(i), aImplementations(k)) &gt; 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 " &amp; aImplementations(i) &amp; " 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 " &amp; aImplementations(0))
+ aMissingServices = oObj.checkInstantiation(aImplementations(0))
+ Out.Log("" &amp; ubound(aMissingServices) + 1 &amp; " missing services were found")
+ for i = 0 to ubound(aMissingServices)
+ Out.Log "" &amp; i &amp; ") " &amp; 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") &gt; 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 " &amp; ubound(keyNames) + 1 &amp; " implementations.")
+
+ for i = 0 to ubound(aFlags())
+ aFlags(i) = false
+ next i
+
+ for i = 0 to ubound(keyNames())
+ Out.Log("Found key: " &amp; keyNames(i))
+ for k = 0 to ubound(aImplementations)
+ if (inStr(1, keyNames(i), aImplementations(k)) &gt; 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 " &amp; aImplementations(i) &amp; " 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 &lt;&gt; "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 " &amp; oObj.URL)
+ bOK = bOK AND inStr(1, oObj.URL, ".rdb") &gt; 0
+ Test.MethodTested("getURL()", bOK)
+
+ Test.StartMethod("destroy()")
+ bOK = true
+ if (cObjectName &lt;&gt; "defreg.NestedRegistry") then
+ oObj.open(cURL, false, true)
+ oObj.destroy()
+ end if
+ Test.MethodTested("destroy()", bOK)
+
+ Test.StartMethod("close()")
+ bOK = true
+ if (cObjectName &lt;&gt; "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>