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.awt; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import lib.MultiMethodTest; 27cdf0e10cSrcweir import lib.Status; 28cdf0e10cSrcweir import lib.StatusException; 29cdf0e10cSrcweir 30cdf0e10cSrcweir import com.sun.star.awt.TextEvent; 31cdf0e10cSrcweir import com.sun.star.awt.XTextListener; 32cdf0e10cSrcweir 33cdf0e10cSrcweir /** 34cdf0e10cSrcweir * Testing <code>com.sun.star.awt.XTextListener</code> 35cdf0e10cSrcweir * interface methods: 36cdf0e10cSrcweir * <ul> 37cdf0e10cSrcweir * <li><code> textChanged() </code></li> 38cdf0e10cSrcweir * </ul><p> 39cdf0e10cSrcweir * 40cdf0e10cSrcweir * This test needs the following object relations : 41cdf0e10cSrcweir * <ul> 42cdf0e10cSrcweir * <li> <code>'TestTextListener'</code> 43cdf0e10cSrcweir * (of type <code>ifc.awt._XTextListener.TestTextListener</code>): 44cdf0e10cSrcweir * this listener implementation must be registered for object tested for 45cdf0e10cSrcweir * checking 46cdf0e10cSrcweir * <code>textChanged()</code> method call. The listener must be registered 47cdf0e10cSrcweir * in object environment creation because it's not a fact that tested 48cdf0e10cSrcweir * component supports <code>XTextComponent</code> interface and the listener 49cdf0e10cSrcweir * can be registered in another object.</li> 50cdf0e10cSrcweir * <ul> <p> 51cdf0e10cSrcweir * 52cdf0e10cSrcweir * @see com.sun.star.awt.XTextListener 53cdf0e10cSrcweir */ 54cdf0e10cSrcweir public class _XTextListener extends MultiMethodTest { 55cdf0e10cSrcweir public XTextListener oObj = null; 56cdf0e10cSrcweir 57cdf0e10cSrcweir /** 58cdf0e10cSrcweir * Listener implementation which sets flags on appropriate method calls 59cdf0e10cSrcweir * and stores event passed. 60cdf0e10cSrcweir */ 61cdf0e10cSrcweir public static class TestTextListener implements 62cdf0e10cSrcweir com.sun.star.awt.XTextListener { 63cdf0e10cSrcweir public boolean textChangedCalled = false ; 64cdf0e10cSrcweir public TextEvent event = null ; 65cdf0e10cSrcweir textChanged(TextEvent e)66cdf0e10cSrcweir public void textChanged(TextEvent e) { 67cdf0e10cSrcweir textChangedCalled = true ; 68cdf0e10cSrcweir event = e ; 69cdf0e10cSrcweir } 70cdf0e10cSrcweir disposing(com.sun.star.lang.EventObject e)71cdf0e10cSrcweir public void disposing(com.sun.star.lang.EventObject e) {} 72cdf0e10cSrcweir 73cdf0e10cSrcweir } 74cdf0e10cSrcweir 75cdf0e10cSrcweir TestTextListener textListener = null; 76cdf0e10cSrcweir /** 77cdf0e10cSrcweir * Retrieves object relation. 78cdf0e10cSrcweir * @throws StatusException If the relation not found. 79cdf0e10cSrcweir */ before()80cdf0e10cSrcweir public void before() { 81cdf0e10cSrcweir textListener = (TestTextListener) 82cdf0e10cSrcweir tEnv.getObjRelation("TestTextListener"); 83cdf0e10cSrcweir if (textListener == null) { 84cdf0e10cSrcweir throw new StatusException(Status.failed("Relation not found")); 85cdf0e10cSrcweir } 86cdf0e10cSrcweir } 87cdf0e10cSrcweir 88cdf0e10cSrcweir /** 89cdf0e10cSrcweir * First a <code>TextEvent</code> object created and 90cdf0e10cSrcweir * it is passed to <code>textChanged</code> method 91cdf0e10cSrcweir * call. Then a short wait follows for listener already 92cdf0e10cSrcweir * registered at the object to be called. <p> 93cdf0e10cSrcweir * Has <b> OK </b> status if the listener was called with 94cdf0e10cSrcweir * the same <code>TextEvent</code> object as was created 95cdf0e10cSrcweir * before. 96cdf0e10cSrcweir */ _textChanged()97cdf0e10cSrcweir public void _textChanged() { 98cdf0e10cSrcweir 99cdf0e10cSrcweir boolean result = true ; 100cdf0e10cSrcweir 101cdf0e10cSrcweir TextEvent event = new TextEvent() ; 102cdf0e10cSrcweir event.dummy1 = 2; 103cdf0e10cSrcweir oObj.textChanged(event); 104cdf0e10cSrcweir 105cdf0e10cSrcweir try { 106cdf0e10cSrcweir Thread.sleep(200) ; 107cdf0e10cSrcweir } catch (InterruptedException e) {} 108cdf0e10cSrcweir 109cdf0e10cSrcweir result = textListener.textChangedCalled && 110cdf0e10cSrcweir textListener.event.dummy1 == 2; 111cdf0e10cSrcweir 112cdf0e10cSrcweir tRes.tested("textChanged()", result) ; 113cdf0e10cSrcweir } 114cdf0e10cSrcweir 115cdf0e10cSrcweir /** 116cdf0e10cSrcweir * Forces environment recreation. 117cdf0e10cSrcweir */ after()118cdf0e10cSrcweir protected void after() { 119cdf0e10cSrcweir disposeEnvironment(); 120cdf0e10cSrcweir } 121cdf0e10cSrcweir 122cdf0e10cSrcweir 123cdf0e10cSrcweir } 124cdf0e10cSrcweir 125