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 38Sub RunTest() 39 40'************************************************************************* 41' INTERFACE: 42' com.sun.star.io.XInputStream 43'************************************************************************* 44On Error Goto ErrHndl 45 Dim bOK As Boolean 46 Dim Bytes(10) As Integer 47 Dim rBytes(10) As Integer 48 Dim oOutputStream As Object 49 Dim i As Integer 50 Dim nRead As Integer 51 52 Out.Log("First writeBytes()...") 53 bOK = true 54 55 for i = 0 to ubound(Bytes()) 56 Bytes(i) = i 57 next i 58 59 oOutputStream = getOutStream() 60 oOutputStream.writeBytes(Bytes()) 61 62 if (cObjectName <> "stm.Pipe") then ResetStreams() 63 64 Test.StartMethod("readBytes()") 65 bOK = true 66 nRead = oObj.readBytes(Bytes(), 5) 67 bOK = bOK AND nRead = 5 68 for i = 0 to 4 69 Out.Log("Expected " & i & ", actual is " & int(Bytes(i))) 70 bOK = bOK AND Bytes(i) = i 71 next i 72 Test.MethodTested("readBytes()", bOK) 73 74 Test.StartMethod("skipBytes()") 75 bOK = true 76 oObj.skipBytes(2) 77 nRead = oObj.readBytes(Bytes(), 2) 78 Out.Log("Expected " & 7 & ", actual is " & int(Bytes(0))) 79 bOK = bOK AND Bytes(0) = 7 80 Test.MethodTested("skipBytes()", bOK) 81 82 Test.StartMethod("available()") 83 bOK = true 84 iAvail = oObj.available() 85 Out.Log("bytes available without blocking: " & iAvail) 86 bOK = bOK AND iAvail >= 0 87 Test.MethodTested("available()", bOK) 88 89 Test.StartMethod("readSomeBytes()") 90 bOK = true 91 nRead = oObj.readSomeBytes(Bytes(), 10) 92 Out.Log("Can read " & nRead & " bytes.") 93 for i = 0 to ubound(Bytes()) 94 Out.Log(int(Bytes(i))) 95 next i 96 bOK = bOK AND ubound(Bytes()) = 1 97 bOK = bOK AND nRead = 2 98 bOK = bOK AND Bytes(0) = 9 99 bOK = bOK AND Bytes(1) = 10 100 Test.MethodTested("readSomeBytes()", bOK) 101 102 Test.StartMethod("closeInput()") 103 bOK = true 104 Out.Log("This method is called in main module.") 105 Test.MethodTested("closeInput()", bOK) 106 107 ResetStreams() 108 109Exit Sub 110ErrHndl: 111 Test.Exception() 112 bOK = false 113 resume next 114End Sub 115</script:module> 116