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