1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="io_XInputStream" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9' 10' Copyright 2000, 2010 Oracle and/or its affiliates. 11' 12' OpenOffice.org - a multi-platform office productivity suite 13' 14' This file is part of OpenOffice.org. 15' 16' OpenOffice.org is free software: you can redistribute it and/or modify 17' it under the terms of the GNU Lesser General Public License version 3 18' only, as published by the Free Software Foundation. 19' 20' OpenOffice.org is distributed in the hope that it will be useful, 21' but WITHOUT ANY WARRANTY; without even the implied warranty of 22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23' GNU Lesser General Public License version 3 for more details 24' (a copy is included in the LICENSE file that accompanied this code). 25' 26' You should have received a copy of the GNU Lesser General Public License 27' version 3 along with OpenOffice.org. If not, see 28' <http://www.openoffice.org/license.html> 29' for a copy of the LGPLv3 License. 30' 31'************************************************************************* 32***** 33'************************************************************************* 34 35 36 37 38 39Sub RunTest() 40 41'************************************************************************* 42' INTERFACE: 43' com.sun.star.io.XInputStream 44'************************************************************************* 45On Error Goto ErrHndl 46 Dim bOK As Boolean 47 Dim Bytes(10) As Integer 48 Dim rBytes(10) As Integer 49 Dim oOutputStream As Object 50 Dim i As Integer 51 Dim nRead As Integer 52 53 Out.Log("First writeBytes()...") 54 bOK = true 55 56 for i = 0 to ubound(Bytes()) 57 Bytes(i) = i 58 next i 59 60 oOutputStream = getOutStream() 61 oOutputStream.writeBytes(Bytes()) 62 63 if (cObjectName <> "stm.Pipe") then ResetStreams() 64 65 Test.StartMethod("readBytes()") 66 bOK = true 67 nRead = oObj.readBytes(Bytes(), 5) 68 bOK = bOK AND nRead = 5 69 for i = 0 to 4 70 Out.Log("Expected " & i & ", actual is " & int(Bytes(i))) 71 bOK = bOK AND Bytes(i) = i 72 next i 73 Test.MethodTested("readBytes()", bOK) 74 75 Test.StartMethod("skipBytes()") 76 bOK = true 77 oObj.skipBytes(2) 78 nRead = oObj.readBytes(Bytes(), 2) 79 Out.Log("Expected " & 7 & ", actual is " & int(Bytes(0))) 80 bOK = bOK AND Bytes(0) = 7 81 Test.MethodTested("skipBytes()", bOK) 82 83 Test.StartMethod("available()") 84 bOK = true 85 iAvail = oObj.available() 86 Out.Log("bytes available without blocking: " & iAvail) 87 bOK = bOK AND iAvail >= 0 88 Test.MethodTested("available()", bOK) 89 90 Test.StartMethod("readSomeBytes()") 91 bOK = true 92 nRead = oObj.readSomeBytes(Bytes(), 10) 93 Out.Log("Can read " & nRead & " bytes.") 94 for i = 0 to ubound(Bytes()) 95 Out.Log(int(Bytes(i))) 96 next i 97 bOK = bOK AND ubound(Bytes()) = 1 98 bOK = bOK AND nRead = 2 99 bOK = bOK AND Bytes(0) = 9 100 bOK = bOK AND Bytes(1) = 10 101 Test.MethodTested("readSomeBytes()", bOK) 102 103 Test.StartMethod("closeInput()") 104 bOK = true 105 Out.Log("This method is called in main module.") 106 Test.MethodTested("closeInput()", bOK) 107 108 ResetStreams() 109 110Exit Sub 111ErrHndl: 112 Test.Exception() 113 bOK = false 114 resume next 115End Sub 116</script:module> 117