Skip to content

Commit b76f3d6

Browse files
committed
Edge: Tests: Add test-case for evaluate opening new window
See #1771 See #1973
1 parent 4e6c092 commit b76f3d6

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java

+24
Original file line numberDiff line numberDiff line change
@@ -2175,6 +2175,30 @@ public void test_evaluate_array_mixedTypes () {
21752175
assertTrue(message, passed);
21762176
}
21772177

2178+
/**
2179+
* https://github.com/eclipse-platform/eclipse.platform.swt/issues/1771
2180+
* https://github.com/eclipse-platform/eclipse.platform.swt/pull/1973
2181+
*/
2182+
@Test
2183+
public void test_evaluate_OpeningNewWindow() throws Exception {
2184+
AtomicBoolean initialLoad = new AtomicBoolean();
2185+
AtomicBoolean openWindowListenerCalled = new AtomicBoolean();
2186+
browser.addProgressListener(ProgressListener.completedAdapter(e -> initialLoad.set(true)));
2187+
browser.addOpenWindowListener(event -> {
2188+
event.required = true; // block default
2189+
openWindowListenerCalled.set(true);
2190+
});
2191+
browser.setText("""
2192+
<button id="button" onClick="window.open('https://eclipse.org');">open eclipse.org</button>
2193+
""");
2194+
waitForPassCondition(initialLoad::get);
2195+
2196+
browser.evaluate("""
2197+
document.getElementById("button").click();
2198+
""");
2199+
2200+
waitForPassCondition(openWindowListenerCalled::get);
2201+
}
21782202

21792203
ProgressListener callCustomFunctionUponLoad = completedAdapter(event -> browser.execute("callCustomFunction()"));
21802204

0 commit comments

Comments
 (0)