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/incubator-netbeans-html4j.git


The following commit(s) were added to refs/heads/master by this push:
     new 57ccebb  Only execute the KO test on Nashorn as it requires 
env.nashorn.1.2-debug.js, which only works on Nashorn
57ccebb is described below

commit 57ccebb6e8e5343e73b711987882518e459cb197
Author: Jaroslav Tulach <[email protected]>
AuthorDate: Mon Feb 5 16:39:05 2018 +0100

    Only execute the KO test on Nashorn as it requires 
env.nashorn.1.2-debug.js, which only works on Nashorn
---
 .../java/net/java/html/boot/script/ScriptPresenter.java | 13 ++++++++++---
 .../java/html/boot/script/{ko4j => }/DynamicHTTP.java   |  2 +-
 .../net/java/html/boot/script/{ko4j => }/KOCase.java    |  4 +---
 .../html/boot/script/{ko4j => }/KnockoutEnvJSTest.java  | 17 ++++++++---------
 .../net/java/html/boot/script/{ko4j => }/test.html      |  0
 5 files changed, 20 insertions(+), 16 deletions(-)

diff --git 
a/boot-script/src/main/java/net/java/html/boot/script/ScriptPresenter.java 
b/boot-script/src/main/java/net/java/html/boot/script/ScriptPresenter.java
index addb1b8..7fffdb9 100644
--- a/boot-script/src/main/java/net/java/html/boot/script/ScriptPresenter.java
+++ b/boot-script/src/main/java/net/java/html/boot/script/ScriptPresenter.java
@@ -66,10 +66,14 @@ Presenter, Fn.FromJavaScript, Fn.ToJavaScript, Executor {
     private final Executor exc;
     private final Object undefined;
 
-    public ScriptPresenter(Executor exc) {
+    ScriptPresenter(Executor exc) {
+        this(new ScriptEngineManager().getEngineByName("javascript"), exc);
+    }
+
+    ScriptPresenter(ScriptEngine eng, Executor exc) {
+        this.eng = eng;
         this.exc = exc;
         try {
-            eng = new ScriptEngineManager().getEngineByName("javascript");
             eng.eval("function alert(msg) { 
Packages.java.lang.System.out.println(msg); };");
             eng.eval("function confirm(msg) { 
Packages.java.lang.System.out.println(msg); return true; };");
             eng.eval("function prompt(msg, txt) { 
Packages.java.lang.System.out.println(msg + ':' + txt); return txt; };");
@@ -161,6 +165,9 @@ Presenter, Fn.FromJavaScript, Fn.ToJavaScript, Executor {
     }
 
     final Object checkArray(Object val) throws Exception {
+        if (val instanceof Boolean || val instanceof Number || val instanceof 
String) {
+            return val;
+        }
         final FnImpl fn = arraySizeFn();
         final Object fnRes = fn.invokeImpl(null, false, val, null);
         int length = ((Number) fnRes).intValue();
@@ -177,7 +184,7 @@ Presenter, Fn.FromJavaScript, Fn.ToJavaScript, Executor {
         if (arraySize == null) {
             try {
                 arraySize = defineImpl("\n"
-                    + "if (to === null) {\n"
+                    + "if (to == null) {\n"
                     + "  if (Object.prototype.toString.call(arr) === '[object 
Array]') return arr.length;\n"
                     + "  else return -1;\n"
                     + "} else {\n"
diff --git 
a/boot-script/src/test/java/net/java/html/boot/script/ko4j/DynamicHTTP.java 
b/boot-script/src/test/java/net/java/html/boot/script/DynamicHTTP.java
similarity index 99%
rename from 
boot-script/src/test/java/net/java/html/boot/script/ko4j/DynamicHTTP.java
rename to boot-script/src/test/java/net/java/html/boot/script/DynamicHTTP.java
index 9d8853d..eb0f401 100644
--- a/boot-script/src/test/java/net/java/html/boot/script/ko4j/DynamicHTTP.java
+++ b/boot-script/src/test/java/net/java/html/boot/script/DynamicHTTP.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package net.java.html.boot.script.ko4j;
+package net.java.html.boot.script;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
diff --git 
a/boot-script/src/test/java/net/java/html/boot/script/ko4j/KOCase.java 
b/boot-script/src/test/java/net/java/html/boot/script/KOCase.java
similarity index 96%
rename from boot-script/src/test/java/net/java/html/boot/script/ko4j/KOCase.java
rename to boot-script/src/test/java/net/java/html/boot/script/KOCase.java
index 480b3a3..c565de9 100644
--- a/boot-script/src/test/java/net/java/html/boot/script/ko4j/KOCase.java
+++ b/boot-script/src/test/java/net/java/html/boot/script/KOCase.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package net.java.html.boot.script.ko4j;
+package net.java.html.boot.script;
 
 import java.io.Closeable;
 import java.io.IOException;
@@ -24,8 +24,6 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import org.netbeans.html.boot.spi.Fn;
 import org.testng.ITest;
 import org.testng.SkipException;
diff --git 
a/boot-script/src/test/java/net/java/html/boot/script/ko4j/KnockoutEnvJSTest.java
 b/boot-script/src/test/java/net/java/html/boot/script/KnockoutEnvJSTest.java
similarity index 95%
rename from 
boot-script/src/test/java/net/java/html/boot/script/ko4j/KnockoutEnvJSTest.java
rename to 
boot-script/src/test/java/net/java/html/boot/script/KnockoutEnvJSTest.java
index e4ab201..0977c04 100644
--- 
a/boot-script/src/test/java/net/java/html/boot/script/ko4j/KnockoutEnvJSTest.java
+++ b/boot-script/src/test/java/net/java/html/boot/script/KnockoutEnvJSTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package net.java.html.boot.script.ko4j;
+package net.java.html.boot.script;
 
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -35,9 +35,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
 import net.java.html.BrwsrCtx;
 import net.java.html.boot.BrowserBuilder;
-import net.java.html.boot.script.Scripts;
 import net.java.html.js.JavaScriptBody;
 import org.netbeans.html.boot.spi.Fn;
 import org.netbeans.html.context.spi.Contexts;
@@ -50,6 +51,7 @@ import org.netbeans.html.wstyrus.TyrusContext;
 import org.openide.util.lookup.ServiceProvider;
 import org.testng.Assert;
 import static org.testng.Assert.*;
+import org.testng.SkipException;
 import org.testng.annotations.Factory;
 
 /**
@@ -66,14 +68,11 @@ public final class KnockoutEnvJSTest extends KnockoutTCK {
     }
 
     @Factory public static Object[] compatibilityTests() throws Exception {
-        try {
-            Class.forName("java.lang.FunctionalInterface");
-        } catch (ClassNotFoundException ex) {
-            // only runs on JDK8
-            return new Object[0];
+        ScriptEngine eng = new 
ScriptEngineManager().getEngineByName("nashorn");
+        if (eng == null) {
+            throw new SkipException("Nashorn engine not found. Skipping!");
         }
 
-
         Class[] arr = testClasses();
         for (int i = 0; i < arr.length; i++) {
             assertEquals(
@@ -85,7 +84,7 @@ public final class KnockoutEnvJSTest extends KnockoutTCK {
 
         baseUri = DynamicHTTP.initServer();
 
-        final Fn.Presenter p = Scripts.createPresenter(KOCase.JS);
+        final Fn.Presenter p = new ScriptPresenter(eng, KOCase.JS);
         try {
             URL envNashorn = new 
URL("https://bugs.openjdk.java.net/secure/attachment/11894/env.nashorn.1.2-debug.js";);
             InputStream is = envNashorn.openStream();
diff --git 
a/boot-script/src/test/resources/net/java/html/boot/script/ko4j/test.html 
b/boot-script/src/test/resources/net/java/html/boot/script/test.html
similarity index 100%
rename from 
boot-script/src/test/resources/net/java/html/boot/script/ko4j/test.html
rename to boot-script/src/test/resources/net/java/html/boot/script/test.html

-- 
To stop receiving notification emails like this one, please contact
[email protected].

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to