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