From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- qadevOOo/tests/java/ifc/form/_XReset.java | 170 ++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 qadevOOo/tests/java/ifc/form/_XReset.java (limited to 'qadevOOo/tests/java/ifc/form/_XReset.java') diff --git a/qadevOOo/tests/java/ifc/form/_XReset.java b/qadevOOo/tests/java/ifc/form/_XReset.java new file mode 100644 index 000000000..b3afa18df --- /dev/null +++ b/qadevOOo/tests/java/ifc/form/_XReset.java @@ -0,0 +1,170 @@ +/* + * 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.form; + +import lib.MultiMethodTest; + +import com.sun.star.form.XReset; +import com.sun.star.form.XResetListener; +import com.sun.star.lang.EventObject; + +/** +* Testing com.sun.star.form.XReset +* interface methods : +* +* Test is NOT multithread compliant.

+* @see com.sun.star.form.XReset +*/ +public class _XReset extends MultiMethodTest { + + public static XReset oObj = null; + + /** + * Indicates if listeners must approve reset requests or not. + */ + protected boolean approve = true; + /** + * Array of two elements, each of them indicates reset + * call of appropriate listener. + */ + protected boolean resetted[] = new boolean[2]; + /** + * Array of two elements, each of them indicates + * approveReset call of appropriate listener. + */ + protected boolean approveReset[] = new boolean[2]; + + /** + * The listener which sets flags (in array elements with index 0) + * on reset and + * approveReset events. It approves reset request + * depending on approve field. + */ + protected class MyResetListener implements XResetListener { + public void disposing ( EventObject oEvent ) {} + public boolean approveReset ( EventObject oEvent ) { + approveReset[0] = true; + //cancel the reset action + return approve; + } + public void resetted ( EventObject oEvent ) { + resetted[0] = true; + } + } + + + /** + * The listener which sets flags (in array elements with index 1) + * on reset and + * approveReset events. It approves reset request + * depending on approve field. + */ + protected class MyResetListener2 implements XResetListener { + public void disposing ( EventObject oEvent ) {} + public boolean approveReset ( EventObject oEvent ) { + approveReset[1] = true; + //don't cancel the reset action + return true; + } + public void resetted ( EventObject oEvent ) { + resetted[1] = true; + } + } + + /** + * Listener which is added in test + */ + protected XResetListener listener1 = new MyResetListener(); + /** + * Listener which is added in test + */ + protected XResetListener listener2 = new MyResetListener2(); + + /** + * Just adds two reset listeners.

+ * Status for it is set later in reset method test. + */ + public void _addResetListener() { + + log.println("Testing addResetListener ..."); + oObj.addResetListener( listener2 ); + oObj.addResetListener( listener1 ); + + } // finished _addResetListener() + + /** + * First calls reset method without approving + * the request, in this case only approveReset + * event must be called. Second calls reset with + * approving the request. In this case both listener's events + * must be called.

+ * Has OK status for reset method if in + * the first case only approveReset method was + * called.

+ * Has OK status for addResetListener method + * if in the second case both listener's methods were called.

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

+ */ + public void _reset() { + + executeMethod("addResetListener()"); + log.println("Testing reset() ..."); + approve = false; + oObj.reset(); + waitForEventIdle(); + tRes.tested("reset()", (approveReset[0] && (! resetted[0]))); + approve = true; + oObj.reset(); + waitForEventIdle(); + tRes.tested("addResetListener()", (approveReset[1] && resetted[1])); + + } // finished _reset + + /** + * Removes the first listener, clears it's call flags, and + * calls reset method.

+ * Has OK status if no methods of the listener removed + * were called.

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

+ */ + public void _removeResetListener() { + requiredMethod("reset()"); + log.println("Testing removeResetListener ..."); + approveReset[0] = resetted[0] = false; + oObj.removeResetListener(listener1); + oObj.reset(); + waitForEventIdle(); + tRes.tested("removeResetListener()", !approveReset[0] && !resetted[0]); + //removing the second listener here may avoid crashing the office + } // finished _removeResetListener() + + +} // finished class _XRefresh + + -- cgit v1.2.3