--- old/src/org/netbeans/jemmy/operators/JToolTipOperator.java 2018-11-08 23:00:01.889059041 -0800
+++ new/src/org/netbeans/jemmy/operators/JToolTipOperator.java 2018-11-08 23:00:01.812059916 -0800
@@ -37,8 +37,11 @@
import org.netbeans.jemmy.ComponentChooser;
import org.netbeans.jemmy.ComponentSearcher;
+import org.netbeans.jemmy.JemmyException;
import org.netbeans.jemmy.TimeoutExpiredException;
+import org.netbeans.jemmy.Timeouts;
import org.netbeans.jemmy.Waitable;
+import org.netbeans.jemmy.Waiter;
/**
*
@@ -52,6 +55,8 @@
*/
public class JToolTipOperator extends JComponentOperator {
+ private static long WAIT_TOOLTIP_TIMEOUT = 60000;
+
/**
* Identifier for a "tip text" property.
*
@@ -59,6 +64,9 @@
*/
public static final String TIP_TEXT_DPROP = "TipText";
+ static {
+ Timeouts.initDefault("JToolTipOperator.WaitToolTipTimeout", WAIT_TOOLTIP_TIMEOUT);
+ }
/**
* Constructs a JToolTipOperator object, waiting for a shown
* JToolTip.
@@ -286,8 +294,7 @@
*/
public static JToolTip waitJToolTip(ComponentOperator comp,
ComponentChooser chooser) {
- return Operator.getEnvironmentOperator().
- waitState(new Waitable() {
+ Waitable waitable = new Waitable() {
@Override
public JToolTip actionProduced(Void obj) {
return findJToolTip(comp, chooser);
@@ -304,7 +311,19 @@
return "JToolTipOperator.waitJToolTip.Waitable{description = "
+ getDescription() + '}';
}
- });
+ };
+ Waiter stateWaiter = new Waiter<>(waitable);
+ stateWaiter.setTimeoutsToCloneOf(Operator.getEnvironmentOperator().
+ getTimeouts(), "JToolTipOperator.WaitToolTipTimeout");
+ stateWaiter.setOutput(Operator.getEnvironmentOperator().
+ getOutput().createErrorOutput());
+ try {
+ return stateWaiter.waitAction(null);
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw (new JemmyException("Waiting of " + waitable.getDescription()
+ + " state has been interrupted!"));
+ }
}
/**