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 {