/* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ package ifc.awt; import lib.MultiMethodTest; import com.sun.star.awt.SpinEvent; import com.sun.star.awt.XSpinField; import com.sun.star.awt.XSpinListener; import com.sun.star.lang.EventObject; /** * Testing com.sun.star.awt.XSpinField * interface methods : *

* Test is NOT multithread compilant.

* @see com.sun.star.awt.XSpinField */ public class _XSpinField extends MultiMethodTest { public XSpinField oObj = null; /** * Listener implementation which set flags on appropriate * listener methods calls. */ protected class TestListener implements XSpinListener { public boolean upFl = false ; public boolean downFl = false ; public boolean firstFl = false ; public boolean lastFl = false ; public void up(SpinEvent e) { upFl = true ; } public void down(SpinEvent e) { downFl = true ; } public void first(SpinEvent e) { firstFl = true ; } public void last(SpinEvent e) { lastFl = true ; } public void disposing(EventObject e) {} } private TestListener listener = new TestListener() ; /** * Just adds a listener.

* Has OK status if no runtime exceptions occurred. */ public void _addSpinListener() { oObj.addSpinListener(listener) ; tRes.tested("addSpinListener()", true) ; } /** * Calls the method.

* Has OK status if the appropriate listener method * was called.

* The following method tests are to be completed successfully before : *

*/ public void _up() { requiredMethod("addSpinListener()") ; oObj.up() ; shortWait(); tRes.tested("up()", listener.upFl) ; } /** * Calls the method.

* Has OK status if the appropriate listener method * was called.

* The following method tests are to be completed successfully before : *

*/ public void _down() { requiredMethod("addSpinListener()") ; oObj.down() ; shortWait(); tRes.tested("down()", listener.downFl) ; } /** * Calls the method.

* Has OK status if the appropriate listener method * was called.

* The following method tests are to be completed successfully before : *

*/ public void _first() { requiredMethod("addSpinListener()") ; oObj.first() ; shortWait(); tRes.tested("first()", listener.firstFl) ; } /** * Calls the method.

* Has OK status if the appropriate listener method * was called.

* The following method tests are to be completed successfully before : *

*/ public void _last() { requiredMethod("addSpinListener()") ; oObj.last() ; shortWait(); tRes.tested("last()", listener.lastFl) ; } /** * Removes the listener, then calls up method and * checks if te listener wasn't called.

* Has OK status if listener wasn't called.

* The following method tests are to be completed successfully before : *

*/ public void _removeSpinListener() { requiredMethod("addSpinListener()") ; executeMethod("up()") ; executeMethod("down()") ; executeMethod("first()") ; executeMethod("last()") ; listener.upFl = false ; oObj.removeSpinListener(listener) ; oObj.up() ; tRes.tested("removeSpinListener()", !listener.upFl) ; } /** * Enables then disables repeating.

* Has OK status if no runtime exceptions occurred. */ public void _enableRepeat() { oObj.enableRepeat(true) ; oObj.enableRepeat(false) ; tRes.tested("enableRepeat()", true) ; } /** * Waits for 0.5 sec to allow listener to be called. */ private void shortWait() { try { Thread.sleep(500); } catch (InterruptedException ex) { } } }