/* * 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.util; import lib.MultiMethodTest; import com.sun.star.util.XRefreshListener; import com.sun.star.util.XRefreshable; /** * Testing com.sun.star.util.XRefreshable * interface methods : *

* Test is NOT multithread compliant.

* @see com.sun.star.util.XRefreshable */ public class _XRefreshable extends MultiMethodTest { public XRefreshable oObj = null; final boolean listenerCalled[] = new boolean[1]; /** * XRefreshListener implementation which * sets a flag when refreshed method is * called. */ public class MyRefreshListener implements XRefreshListener { public void refreshed (com.sun.star.lang.EventObject e) { listenerCalled[0] = true; } public void disposing (com.sun.star.lang.EventObject obj) {} } XRefreshListener listener = new MyRefreshListener(); /** * Just adds a listener.

* Always has OK status. */ public void _addRefreshListener() { oObj.addRefreshListener(listener) ; tRes.tested("addRefreshListener()", true); } /** * Calls the method and checks if the listener was called.

* Has OK status if listener's flag is set after call. * The following method tests are to be completed successfully before : *

*/ public void _refresh() { requiredMethod("addRefreshListener()"); oObj.refresh(); tRes.tested("refresh()", listenerCalled[0]); if (!listenerCalled[0]) log.println("RefreshListener wasn't called after refresh"); } /** * Removes the listener added before and calls refresh * method. Listener must not be called.

* Has OK status if listener's flag isn't changed. *

*/ public void _removeRefreshListener() { requiredMethod("refresh()"); listenerCalled[0] = false; oObj.removeRefreshListener(listener) ; oObj.refresh(); tRes.tested("removeRefreshListener()", !listenerCalled[0]); if (listenerCalled[0]) log.println("RefreshListener was called after removing"); } } // finish class _XRefreshable