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 2020/12/26 14:40:15 UTC
[netbeans-html4j] 20/25: Close the browser window when the suite
execution is over
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
commit efb47ac07a1474c4a07de3eb047e0915fe4f13d8
Author: Jaroslav Tulach <ja...@apidesign.org>
AuthorDate: Thu Dec 24 08:28:12 2020 +0100
Close the browser window when the suite execution is over
---
.../netbeans/html/presenters/browser/Browser.java | 2 -
.../netbeans/html/presenters/browser/KOClose.java | 53 ++++++++++++++++++++++
.../netbeans/html/presenters/browser/KOScript.java | 5 +-
.../html/presenters/browser/ServerFactories.java | 5 +-
4 files changed, 60 insertions(+), 5 deletions(-)
diff --git a/browser/src/main/java/org/netbeans/html/presenters/browser/Browser.java b/browser/src/main/java/org/netbeans/html/presenters/browser/Browser.java
index d433644..3f509d1 100644
--- a/browser/src/main/java/org/netbeans/html/presenters/browser/Browser.java
+++ b/browser/src/main/java/org/netbeans/html/presenters/browser/Browser.java
@@ -43,8 +43,6 @@ import java.util.Map;
import java.util.Queue;
import java.util.UUID;
import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadFactory;
import java.util.function.Supplier;
import java.util.logging.Level;
import java.util.logging.Logger;
diff --git a/browser/src/test/java/org/netbeans/html/presenters/browser/KOClose.java b/browser/src/test/java/org/netbeans/html/presenters/browser/KOClose.java
new file mode 100644
index 0000000..a90d513
--- /dev/null
+++ b/browser/src/test/java/org/netbeans/html/presenters/browser/KOClose.java
@@ -0,0 +1,53 @@
+/**
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.html.presenters.browser;
+
+import java.util.concurrent.Executor;
+import org.netbeans.html.boot.spi.Fn;
+import org.testng.ITest;
+import org.testng.annotations.AfterSuite;
+
+public class KOClose implements ITest {
+
+ private final Fn.Presenter presenter;
+ private final String prefix;
+ private final Fn updateName;
+
+ public KOClose(Fn updateName, String prefix, Fn.Presenter presenter) {
+ this.updateName = updateName;
+ this.prefix = prefix;
+ this.presenter = presenter;
+ }
+
+ @AfterSuite
+ public void closeWindow() {
+ ((Executor)this.presenter).execute(() -> {
+ try {
+ updateName.invoke(null, getTestName(), "5s");
+ } catch (Exception ex) {
+ }
+ JavaScriptUtilities.closeSoon(5000);
+ });
+ }
+
+ @Override
+ public String getTestName() {
+ return prefix + ": Closing window";
+ }
+}
diff --git a/browser/src/test/java/org/netbeans/html/presenters/browser/KOScript.java b/browser/src/test/java/org/netbeans/html/presenters/browser/KOScript.java
index e2f5217..1f975b7 100644
--- a/browser/src/test/java/org/netbeans/html/presenters/browser/KOScript.java
+++ b/browser/src/test/java/org/netbeans/html/presenters/browser/KOScript.java
@@ -82,7 +82,7 @@ public final class KOScript implements ITest, IHookable, Runnable {
Closeable c = Fn.activate(p);
try {
if (updateName != null) {
- updateName.invoke(null, getTestName());
+ updateName.invoke(null, getTestName(), cnt);
}
if (inst == null) {
inst = m.getDeclaringClass().newInstance();
@@ -91,6 +91,9 @@ public final class KOScript implements ITest, IHookable, Runnable {
if (result == null) {
result = this;
}
+ if (updateName != null) {
+ updateName.invoke(null, getTestName(), "Done");
+ }
} catch (InvocationTargetException ex) {
Throwable r = ex.getTargetException();
result = r;
diff --git a/browser/src/test/java/org/netbeans/html/presenters/browser/ServerFactories.java b/browser/src/test/java/org/netbeans/html/presenters/browser/ServerFactories.java
index 4b38321..c9233cd 100644
--- a/browser/src/test/java/org/netbeans/html/presenters/browser/ServerFactories.java
+++ b/browser/src/test/java/org/netbeans/html/presenters/browser/ServerFactories.java
@@ -70,8 +70,8 @@ public final class ServerFactories {
loadFinished(() -> {
browserPresenter[0] = Fn.activePresenter();
updateName[0] = Fn.define(KOScript.class,
- "document.getElementsByTagName('h1')[0].innerHTML='" + browserName + "@' + t;",
- "t"
+ "document.getElementsByTagName('h1')[0].innerHTML='" + browserName + "@' + t + '[' + s + ']';",
+ "t", "s"
);
cdl.countDown();
});
@@ -85,6 +85,7 @@ public final class ServerFactories {
}
}
}
+ res.add(new KOClose(updateName[0], prefix, browserPresenter[0]));
return browserPresenter[0];
}
---------------------------------------------------------------------
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