1ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5ef39d40dSAndrew Rist * distributed with this work for additional information 6ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10ef39d40dSAndrew Rist * 11ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12ef39d40dSAndrew Rist * 13ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17ef39d40dSAndrew Rist * specific language governing permissions and limitations 18ef39d40dSAndrew Rist * under the License. 19ef39d40dSAndrew Rist * 20ef39d40dSAndrew Rist *************************************************************/ 21ef39d40dSAndrew Rist 22ef39d40dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package ifc.io; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import lib.MultiMethodTest; 27cdf0e10cSrcweir 28cdf0e10cSrcweir import com.sun.star.io.XActiveDataSink; 29cdf0e10cSrcweir import com.sun.star.io.XInputStream; 30cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime; 31cdf0e10cSrcweir import com.sun.star.uno.XInterface; 32cdf0e10cSrcweir 33cdf0e10cSrcweir /** 34cdf0e10cSrcweir * Testing <code>com.sun.star.io.XActiveDataSink</code> 35cdf0e10cSrcweir * interface methods : 36cdf0e10cSrcweir * <ul> 37cdf0e10cSrcweir * <li><code> setInputStream()</code></li> 38cdf0e10cSrcweir * <li><code> getInputStream()</code></li> 39cdf0e10cSrcweir * </ul> <p> 40cdf0e10cSrcweir * Test is <b> NOT </b> multithread compilant. <p> 41cdf0e10cSrcweir * 42cdf0e10cSrcweir * This test needs the following object relations : 43cdf0e10cSrcweir * <ul> 44cdf0e10cSrcweir * <li> <code>'InputStream'</code> 45cdf0e10cSrcweir * (of type <code>com.sun.star.io.XInputStream</code>): 46cdf0e10cSrcweir * acceptable input stream which can be set by <code>setInputStream</code> </li> 47cdf0e10cSrcweir * <ul> <p> 48cdf0e10cSrcweir * 49cdf0e10cSrcweir * After test completion object environment has to be recreated. 50cdf0e10cSrcweir * @see com.sun.star.io.XActiveDataSink 51cdf0e10cSrcweir */ 52cdf0e10cSrcweir public class _XActiveDataSink extends MultiMethodTest { 53cdf0e10cSrcweir 54cdf0e10cSrcweir public XActiveDataSink oObj = null; 55cdf0e10cSrcweir 56cdf0e10cSrcweir private XInputStream iStream = null; 57cdf0e10cSrcweir 58cdf0e10cSrcweir /** 59cdf0e10cSrcweir * Take the XInputStream from the environment for setting and getting 60cdf0e10cSrcweir */ before()61cdf0e10cSrcweir public void before() { 62cdf0e10cSrcweir XInterface x = (XInterface)tEnv.getObjRelation("InputStream"); 63cdf0e10cSrcweir iStream = (XInputStream) UnoRuntime.queryInterface 64cdf0e10cSrcweir (XInputStream.class, x) ; 65cdf0e10cSrcweir } 66cdf0e10cSrcweir 67cdf0e10cSrcweir /** 68cdf0e10cSrcweir * Just sets new input stream. <p> 69*bb6af6bcSPedro Giffuni * Has <b>OK</b> status if no runtime exceptions occurred. 70cdf0e10cSrcweir */ _setInputStream()71cdf0e10cSrcweir public void _setInputStream() { 72cdf0e10cSrcweir oObj.setInputStream(iStream) ; 73cdf0e10cSrcweir 74cdf0e10cSrcweir tRes.tested("setInputStream()", true) ; 75cdf0e10cSrcweir } 76cdf0e10cSrcweir 77cdf0e10cSrcweir /** 78cdf0e10cSrcweir * First retrieves current input stream, then sets to new 79cdf0e10cSrcweir * input stream (if old was <code>null</code>) or to null. 80cdf0e10cSrcweir * Then input stream retrieved again and checked to be not 81cdf0e10cSrcweir * equal to the old one. <p> 82cdf0e10cSrcweir * Has <b>OK</b> status if old and new streams retrieved are 83cdf0e10cSrcweir * not equal. <p> 84cdf0e10cSrcweir * The following method tests are to be completed successfully before : 85cdf0e10cSrcweir * <ul> 86cdf0e10cSrcweir * <li> <code> setInputStream() </code> : to be sure the method 87cdf0e10cSrcweir * works without exceptions. </li> 88cdf0e10cSrcweir * </ul> 89cdf0e10cSrcweir */ _getInputStream()90cdf0e10cSrcweir public void _getInputStream() { 91cdf0e10cSrcweir requiredMethod("setInputStream()") ; 92cdf0e10cSrcweir 93cdf0e10cSrcweir Object oldStream = oObj.getInputStream() ; 94cdf0e10cSrcweir XInputStream newStream = oldStream == null ? iStream : null ; 95cdf0e10cSrcweir 96cdf0e10cSrcweir oObj.setInputStream(newStream) ; 97cdf0e10cSrcweir Object getStream = oObj.getInputStream() ; 98cdf0e10cSrcweir 99cdf0e10cSrcweir tRes.tested("getInputStream()", getStream != oldStream) ; 100cdf0e10cSrcweir } 101cdf0e10cSrcweir after()102cdf0e10cSrcweir public void after() { 103cdf0e10cSrcweir this.disposeEnvironment() ; 104cdf0e10cSrcweir } 105cdf0e10cSrcweir } 106cdf0e10cSrcweir 107cdf0e10cSrcweir 108