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 &lt;&gt; "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 " &amp; i &amp; ", actual is " &amp; 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 " &amp; 7 &amp; ", actual is " &amp; 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: " &amp; iAvail)
87    bOK = bOK AND iAvail &gt;= 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 " &amp; nRead &amp; " 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