diff options
Diffstat (limited to 'qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba')
-rw-r--r-- | qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba b/qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba new file mode 100644 index 000000000000..2e4b93d772a8 --- /dev/null +++ b/qadevOOo/tests/basic/mod/stm/MarkableInputStream/stm_MarkableInputStream.xba @@ -0,0 +1,125 @@ +<?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="stm_MarkableInputStream" 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 + + +' REQUIRED VARIABLES for interface/service tests: +Global cFileName As String +Global oFileAcc As Object +Global oInputStream As Object +Global oOutputStream As Object +Global bInputStream As Boolean +Global bOutputStream As Boolean + + +Sub CreateObj() + +'************************************************************************* +' COMPONENT: +' stm.MarkableInputStream +'************************************************************************* +On Error Goto ErrHndl + Dim oOS As Object + + bInputStream = false + bOutputStream = false + cFileName = utils.getTempFileURL("BasicMarkableIOStream.dat") + oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess") + + oObj = createUnoService("com.sun.star.io.MarkableInputStream") + 'Creating a file... + if oFileAcc.exists(cFileName) then oFileAcc.Kill(cFileName) + oOS = oFileAcc.openFileWrite(cFileName) + oOS.closeOutput() + + ResetStreams() +Exit Sub +ErrHndl: + Test.Exception() +End Sub + +Function getInStream() As Object +On Error goto ErrHndl + ResetStreams() + getInStream() = oInputStream +Exit Function +ErrHndl: + Test.Exception() + getInStream() = NULL_OBJECT +End Function + +Function getOutStream() As Object +On Error goto ErrHndl + Dim oFO As Object + + ResetStreams() + oOutputStream = createUnoService("com.sun.star.io.MarkableOutputStream") + oInputStream.closeInput() + oFileAcc.Kill(cFileName) + oFO = oFileAcc.openFileWrite(cFileName) + oOutputStream.setOutputStream(oFO) + bOutputStream = true + getOutStream() = oOutputStream +Exit Function +ErrHndl: + Test.Exception() + getOutStream() = NULL_OBJECT +End Function + +Sub ResetStreams() +On Error goto ErrHndl + if bOutputStream then + oOutputStream.closeOutput() + bOutputStream = false + end if + if bInputStream then + oInputStream.closeInput() + bInputStream = false + end if + oInputStream = oFileAcc.openFileRead(cFileName) + bInputStream = true + oObj.setInputStream(oInputStream) +Exit Sub +ErrHndl: + Test.Exception() + resume next +End Sub + +Sub DisposeObj() + if NOT isNULL(oObj) then oObj.closeInput() +End Sub +</script:module> |