diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba b/qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba new file mode 100644 index 000000000000..9898d7579251 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/io/XPersistObject/io_XPersistObject.xba @@ -0,0 +1,134 @@ +<?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="io_XPersistObject" script:language="StarBasic"> + + +'************************************************************************* +' +' 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: io_XPersistObject.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 +' <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 oPersistInstance As Object + +'************************************************************************* + + + + + +Sub RunTest() + +'************************************************************************* +' INTERFACE: +' com.sun.star.io.XPersistObject +'************************************************************************* +On Error Goto ErrHndl + Dim bOK As Boolean + Dim oMarkIn, oMarkOut, oOutStrm, oInStrm As Object + Dim oDummy, oCopy, oPipe As Object + Dim uuidString As String + Dim UUID(), UUIDnew() As Variant + Dim i As Integer + + if isNull(oPersistInstance) Then + Out.Log("oPersistInstance is Empty! No oPersistInstance in main created?") + Exit Sub + end if + + Test.StartMethod("getServiceName()") + bOK = true + bOK = bOK AND (VarType(oObj.getServiceName()) = 8) + Test.MethodTested("getServiceName()", bOK) + + if (hasUnoInterfaces(oObj,"com.sun.star.lang.XTypeProvider")) then + 'get ImplementationID + Out.Log("Before writing object, rememeber it's implementation ID.") + uuidString = "" + UUID = oObj.getImplementationId() + for i = 0 to ubound(UUID()) + uuidString = uuidString & UUID(i) & "; " + next i + Out.Log("ImplementationID: " & uuidString) + endif + + oDummy = oPersistInstance + oPipe = createUNOService("com.sun.star.io.Pipe") + oMarkOut = createUNOService("com.sun.star.io.MarkableOutputStream") + oMarkIn = createUNOService("com.sun.star.io.MarkableInputStream") + oOutStrm = createUNOService("com.sun.star.io.ObjectOutputStream") + oInStrm = createUNOService("com.sun.star.io.ObjectInputStream") + + 'made chain + oOutStrm.setOutputStream(oMarkOut) + oMarkOut.setOutputStream(oPipe) + oMarkIn.setInputStream(oPipe) + oInStrm.setInputStream(oMarkIn) + + Test.StartMethod("write()") + Test.StartMethod("read()") + bOK = true + 'write dummy + oOutStrm.writeObject(oDummy) + oObj.write(oOutStrm) + 'read copy + oCopy = oInStrm.readObject() + oObj.read(oInStrm) + + if (hasUnoInterfaces(oObj,"com.sun.star.lang.XTypeProvider")) then + Out.Log("After reading object, get it's implementation ID.") + uuidString = "" + UUIDnew = oObj.getImplementationId() + for i = 0 to ubound(UUID()) + bOK = bOK AND (UUID(i) = UUIDnew(i)) + uuidString = uuidString & UUIDnew(i) & "; " + next i + Out.Log("ImplementationID: " & uuidString) + endif + + Test.MethodTested("write()", bOK) + Test.MethodTested("read()", bOK) + + ReCreateObj() +Exit Sub +ErrHndl: + Test.Exception() + bOK = false + resume next +End Sub +</script:module> |