diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba b/qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba new file mode 100644 index 000000000000..d28d501553cd --- /dev/null +++ b/qadevOOo/tests/basic/ifc/io/XActiveDataSink/io_XActiveDataSink.xba @@ -0,0 +1,112 @@ +<?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_XActiveDataSink" 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.io.XActiveDataSink +'************************************************************************* +On Error Goto ErrHndl + Dim bOK As Boolean + Dim oIS As Object, oPipe As Object, oGetPipe As Object + Dim aData As Variant, aGetData As Variant + Dim bytesRead As Variant + + ResetStreams() + Test.StartMethod("getInputStream()") + bOK = true + oIS = oObj.getInputStream() + bOK = bOK AND hasUnoInterfaces(oIS, "com.sun.star.io.XInputStream") + Test.MethodTested("getInputStream()", bOK) + + Test.StartMethod("setInputStream()") + bOK = true + oPipe = createUnoService("com.sun.star.io.Pipe") + aData = Array(23, 65, 32, 119) + oPipe.writeBytes(aData) + oObj.setInputStream(oPipe) + oGetPipe = oObj.getInputStream() + aGetData = dimArray(ubound(aData()) + bytesRead = oGetPipe.readBytes(aGetData(), ubound(aData()) + 1) + Out.Log("Reading bytes: " + bytesRead) + + bOK = bOK AND cmpArrays(aData, aGetData) + + Out.Log("Setting old input stream ...") + oObj.setInputStream(oIS) + + Test.MethodTested("setInputStream()", bOK) +Exit Sub +ErrHndl: + Test.Exception() + bOK = false + resume next +End Sub + +Function cmpArrays(arr1 As Variant, arr2 As Variant) As Boolean +On Error Goto ErrHndl + Dim bRet As Boolean + Dim i As Integer + + bRet = true + if (isNull(arr1) OR isNull(arr2)) then + bRet = false + Out.Log("One of arrays is null") + else + if (ubound(arr1()) <> ubound(arr2())) then + Out.Log("UBOUND of 1st array is " + ubound(arr1()) + _ + "UBOUND of 2nd array is " + ubound(arr2())) + bRet = false + else + for i = 0 to ubound(arr1()) + Out.Log("(" + i + "): " + arr1(i) + "-" + arr2(i)) + bRet = bRet AND (arr1(i) = arr2(i)) + next i + end if + end if + + cmpArrays() = bRet +exit Function +ErrHndl: + Test.Exception() + cmpArrays() = false +End Function +</script:module> |