1*ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ef39d40dSAndrew Rist * distributed with this work for additional information 6*ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9*ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10*ef39d40dSAndrew Rist * 11*ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*ef39d40dSAndrew Rist * 13*ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15*ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17*ef39d40dSAndrew Rist * specific language governing permissions and limitations 18*ef39d40dSAndrew Rist * under the License. 19*ef39d40dSAndrew Rist * 20*ef39d40dSAndrew Rist *************************************************************/ 21*ef39d40dSAndrew Rist 22*ef39d40dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package ifc.util; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import lib.MultiMethodTest; 27cdf0e10cSrcweir 28cdf0e10cSrcweir import com.sun.star.util.XRefreshListener; 29cdf0e10cSrcweir import com.sun.star.util.XRefreshable; 30cdf0e10cSrcweir 31cdf0e10cSrcweir /** 32cdf0e10cSrcweir * Testing <code>com.sun.star.util.XRefreshable</code> 33cdf0e10cSrcweir * interface methods : 34cdf0e10cSrcweir * <ul> 35cdf0e10cSrcweir * <li><code> refresh()</code></li> 36cdf0e10cSrcweir * <li><code> addRefreshListener()</code></li> 37cdf0e10cSrcweir * <li><code> removeRefreshListener()</code></li> 38cdf0e10cSrcweir * </ul> <p> 39cdf0e10cSrcweir * Test is <b> NOT </b> multithread compilant. <p> 40cdf0e10cSrcweir * @see com.sun.star.util.XRefreshable 41cdf0e10cSrcweir */ 42cdf0e10cSrcweir public class _XRefreshable extends MultiMethodTest { 43cdf0e10cSrcweir 44cdf0e10cSrcweir public XRefreshable oObj = null; 45cdf0e10cSrcweir 46cdf0e10cSrcweir final boolean listenerCalled[] = new boolean[1]; 47cdf0e10cSrcweir 48cdf0e10cSrcweir 49cdf0e10cSrcweir /** 50cdf0e10cSrcweir * <code>XRefreshListener</code> implementation which 51cdf0e10cSrcweir * sets a flag when <code>refreshed</code> method is 52cdf0e10cSrcweir * called. 53cdf0e10cSrcweir */ 54cdf0e10cSrcweir public class MyRefreshListener implements XRefreshListener { refreshed(com.sun.star.lang.EventObject e)55cdf0e10cSrcweir public void refreshed (com.sun.star.lang.EventObject e) { 56cdf0e10cSrcweir listenerCalled[0] = true; 57cdf0e10cSrcweir } 58cdf0e10cSrcweir disposing(com.sun.star.lang.EventObject obj)59cdf0e10cSrcweir public void disposing (com.sun.star.lang.EventObject obj) {} 60cdf0e10cSrcweir } 61cdf0e10cSrcweir 62cdf0e10cSrcweir XRefreshListener listener = new MyRefreshListener(); 63cdf0e10cSrcweir 64cdf0e10cSrcweir /** 65cdf0e10cSrcweir * Just adds a listener. <p> 66cdf0e10cSrcweir * Always has <b>OK</b> status. 67cdf0e10cSrcweir */ _addRefreshListener()68cdf0e10cSrcweir public void _addRefreshListener() { 69cdf0e10cSrcweir 70cdf0e10cSrcweir oObj.addRefreshListener(listener) ; 71cdf0e10cSrcweir tRes.tested("addRefreshListener()", true); 72cdf0e10cSrcweir } 73cdf0e10cSrcweir 74cdf0e10cSrcweir /** 75cdf0e10cSrcweir * Calls the method and checks if the listener was called. <p> 76cdf0e10cSrcweir * Has <b>OK</b> status if listener's flag is set after call. 77cdf0e10cSrcweir * The following method tests are to be completed successfully before : 78cdf0e10cSrcweir * <ul> 79cdf0e10cSrcweir * <li> <code> addRefreshListener </code> : to have a listener added.</li> 80cdf0e10cSrcweir * </ul> 81cdf0e10cSrcweir */ _refresh()82cdf0e10cSrcweir public void _refresh() { 83cdf0e10cSrcweir 84cdf0e10cSrcweir requiredMethod("addRefreshListener()"); 85cdf0e10cSrcweir 86cdf0e10cSrcweir oObj.refresh(); 87cdf0e10cSrcweir 88cdf0e10cSrcweir tRes.tested("refresh()", listenerCalled[0]); 89cdf0e10cSrcweir if (!listenerCalled[0]) 90cdf0e10cSrcweir log.println("RefreshListener wasn't called after refresh"); 91cdf0e10cSrcweir 92cdf0e10cSrcweir } 93cdf0e10cSrcweir 94cdf0e10cSrcweir /** 95cdf0e10cSrcweir * Removes the listener added before and calls <code>refresh</code> 96cdf0e10cSrcweir * method. Listener must not be called. <p> 97cdf0e10cSrcweir * Has <b>OK</b> status if listener's flag isn't changed. 98cdf0e10cSrcweir * <ul> 99cdf0e10cSrcweir * <li> <code> refresh </code> : listener added must be already 100cdf0e10cSrcweir * tested.</li> 101cdf0e10cSrcweir * </ul> 102cdf0e10cSrcweir */ _removeRefreshListener()103cdf0e10cSrcweir public void _removeRefreshListener() { 104cdf0e10cSrcweir requiredMethod("refresh()"); 105cdf0e10cSrcweir listenerCalled[0] = false; 106cdf0e10cSrcweir 107cdf0e10cSrcweir oObj.removeRefreshListener(listener) ; 108cdf0e10cSrcweir oObj.refresh(); 109cdf0e10cSrcweir 110cdf0e10cSrcweir tRes.tested("removeRefreshListener()", !listenerCalled[0]); 111cdf0e10cSrcweir if (listenerCalled[0]) 112cdf0e10cSrcweir log.println("RefreshListener was called after removing"); 113cdf0e10cSrcweir } 114cdf0e10cSrcweir } // finish class _XRefreshable 115cdf0e10cSrcweir 116