You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by jt...@apache.org on 2019/11/29 14:51:11 UTC
[netbeans-html4j] branch master updated: Launching the Show.show
always on the background
This is an automated email from the ASF dual-hosted git repository.
jtulach pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans-html4j.git
The following commit(s) were added to refs/heads/master by this push:
new 31d4adc Launching the Show.show always on the background
31d4adc is described below
commit 31d4adc80587e756be67edd8f12a9958e664acf8
Author: Jaroslav Tulach <ja...@apidesign.org>
AuthorDate: Fri Nov 29 15:50:31 2019 +0100
Launching the Show.show always on the background
---
.../html/presenters/browser/ServerTest.java | 69 +++++++++++++++-------
1 file changed, 47 insertions(+), 22 deletions(-)
diff --git a/browser/src/test/java/org/netbeans/html/presenters/browser/ServerTest.java b/browser/src/test/java/org/netbeans/html/presenters/browser/ServerTest.java
index a127f3c..e3e5274 100644
--- a/browser/src/test/java/org/netbeans/html/presenters/browser/ServerTest.java
+++ b/browser/src/test/java/org/netbeans/html/presenters/browser/ServerTest.java
@@ -18,17 +18,25 @@
*/
package org.netbeans.html.presenters.browser;
-import org.netbeans.html.presenters.browser.Browser;
import org.netbeans.html.presenters.render.Show;
import java.io.IOException;
import java.io.InputStream;
+import java.net.HttpURLConnection;
import java.net.ServerSocket;
import java.net.URI;
import java.net.URL;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
import net.java.html.boot.BrowserBuilder;
import net.java.html.js.JavaScriptBody;
import org.testng.Assert;
import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
import org.testng.annotations.Test;
@@ -76,7 +84,10 @@ public class ServerTest {
server.close();
try {
- InputStream unavailable = connect.openStream();
+ HttpURLConnection url = (HttpURLConnection) connect.openConnection();
+ url.setConnectTimeout(3000);
+ url.setReadTimeout(3000);
+ InputStream unavailable = url.getInputStream();
fail("Stream can no longer be opened: " + unavailable);
} catch (IOException ex) {
// OK
@@ -105,27 +116,41 @@ public class ServerTest {
private static native void closeSoon(int ms);
private static void show(URI page) throws IOException {
- IOException one, two;
- try {
- String ui = System.getProperty("os.name").contains("Mac")
- ? "Cocoa" : "GTK";
- Show.show(ui, page);
- return;
- } catch (IOException ex) {
- one = ex;
- }
- try {
- Show.show("AWT", page);
- return;
- } catch (IOException ex) {
- two = ex;
- }
+ ExecutorService background = Executors.newSingleThreadExecutor();
+ Future<Void> future = background.submit((Callable<Void>) () -> {
+ IOException one, two;
+ try {
+ String ui = System.getProperty("os.name").contains("Mac")
+ ? "Cocoa" : "GTK";
+ Show.show(ui, page);
+ return null;
+ } catch (IOException ex) {
+ one = ex;
+ }
+ try {
+ Show.show("AWT", page);
+ return null;
+ } catch (IOException ex) {
+ two = ex;
+ }
+ try {
+ Show.show(null, page);
+ } catch (IOException ex) {
+ two.initCause(one);
+ ex.initCause(two);
+ throw ex;
+ }
+ return null;
+ });
+
try {
- Show.show(null, page);
- } catch (IOException ex) {
- two.initCause(one);
- ex.initCause(two);
- throw ex;
+ Void ignore = future.get(2, TimeUnit.SECONDS);
+ assertNull(ignore);
+ background.shutdown();
+ } catch (InterruptedException | ExecutionException ex) {
+ throw new AssertionError(ex);
+ } catch (TimeoutException ex) {
+ // OK
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists