Bug 505591: Add test cases for Browser.evaluate() to browser test suite.
Fix in evaluate_boolean that sometimes lead to a NPE.
Change-Id: I009a6362b467be1543412f0d7a5d16a74a9c5232
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=505591
Signed-off-by: Leo Ufimtsev <lufimtse@redhat.com>
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java
index 83a51cb..bf59648 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java
@@ -16,6 +16,7 @@
import static org.junit.Assert.fail;
import java.util.Properties;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicIntegerArray;
import java.util.concurrent.atomic.AtomicReference;
@@ -767,7 +768,7 @@
*/
@Test
public void test_evaluate_boolean() {
- final AtomicReference<Boolean> returnValue = new AtomicReference<>();
+ final AtomicBoolean atomicBoolean = new AtomicBoolean(false);
browser.addProgressListener(new ProgressListener() {
@Override
public void changed(ProgressEvent event) {
@@ -775,7 +776,7 @@
@Override
public void completed(ProgressEvent event) {
Boolean evalResult = (Boolean) browser.evaluate("return true");
- returnValue.set(evalResult);
+ atomicBoolean.set(evalResult);
if (browser_debug)
System.out.println("Node value: "+ evalResult);
}
@@ -785,8 +786,8 @@
shell.open();
for (int i = 0; i < (loopMultipier * secondsToWaitTillFail); i++) { // Wait up to seconds before declaring test as failed.
runLoopTimer(waitMS);
- if (returnValue.get()) {
- return; // passed
+ if (atomicBoolean.get()) {
+ return; // passed.
}
}
}