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 2017/09/08 21:06:23 UTC
[15/28] incubator-netbeans-html4j git commit: Send the Enum values to
the JavaScript WebView directly to preserve their toString behavior
Send the Enum values to the JavaScript WebView directly to preserve their toString behavior
Project: http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/commit/411a122b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/tree/411a122b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/diff/411a122b
Branch: refs/heads/master
Commit: 411a122b20f6c3aed575ea8bde7627385166d48e
Parents: 76a37ad
Author: Jaroslav Tulach <jt...@netbeans.org>
Authored: Mon Jan 16 18:49:03 2017 +0100
Committer: Jaroslav Tulach <ja...@apidesign.org>
Committed: Fri Sep 8 17:13:55 2017 +0200
----------------------------------------------------------------------
.../java/org/netbeans/html/boot/fx/AbstractFXPresenter.java | 3 +++
json-tck/src/main/java/net/java/html/js/tests/Bodies.java | 3 +++
.../java/net/java/html/js/tests/JavaScriptBodyTest.java | 9 +++++++++
3 files changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/blob/411a122b/boot-fx/src/main/java/org/netbeans/html/boot/fx/AbstractFXPresenter.java
----------------------------------------------------------------------
diff --git a/boot-fx/src/main/java/org/netbeans/html/boot/fx/AbstractFXPresenter.java b/boot-fx/src/main/java/org/netbeans/html/boot/fx/AbstractFXPresenter.java
index 84e5398..5454047 100644
--- a/boot-fx/src/main/java/org/netbeans/html/boot/fx/AbstractFXPresenter.java
+++ b/boot-fx/src/main/java/org/netbeans/html/boot/fx/AbstractFXPresenter.java
@@ -351,6 +351,9 @@ Fn.KeepAlive, Fn.ToJavaScript, Fn.FromJavaScript, Executor, Cloneable {
if (value instanceof Character) {
return (int) (char) (Character) value;
}
+ if (value instanceof Enum) {
+ return value;
+ }
int len = isArray(value);
if (len >= 0) {
Object[] copy = new Object[len];
http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/blob/411a122b/json-tck/src/main/java/net/java/html/js/tests/Bodies.java
----------------------------------------------------------------------
diff --git a/json-tck/src/main/java/net/java/html/js/tests/Bodies.java b/json-tck/src/main/java/net/java/html/js/tests/Bodies.java
index 122f9f7..641b31f 100644
--- a/json-tck/src/main/java/net/java/html/js/tests/Bodies.java
+++ b/json-tck/src/main/java/net/java/html/js/tests/Bodies.java
@@ -117,6 +117,9 @@ final class Bodies {
@JavaScriptBody(args = { "b" }, body = "return typeof b;")
public static native String typeof(boolean b);
+ @JavaScriptBody(args = { "o" }, body = "return o.toString();")
+ public static native String toString(Object o);
+
@JavaScriptBody(args = { "o" }, body = "return Array.isArray(o);")
public static native boolean isArray(Object o);
http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/blob/411a122b/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java
----------------------------------------------------------------------
diff --git a/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java b/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java
index 1663fa8..6a63640 100644
--- a/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java
+++ b/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java
@@ -154,6 +154,15 @@ public class JavaScriptBodyTest {
assertEquals("number", doubleType, "Expecting number type: " + doubleType);
}
+ enum Two {
+ ONE, TWO;
+ }
+
+ @KOTest public void toStringOfAnEnum() {
+ String enumStr = Bodies.toString(Two.ONE);
+ assertEquals(Two.ONE.toString(), enumStr, "Enum toString() used: " + enumStr);
+ }
+
@KOTest public void computeInARunnable() {
final int[] sum = new int[2];
class First implements Runnable {