Added conversion to long for JavaScript implementation of System.currentTimeMillis arithmetic
authorLubomir Nerad <lubomir.nerad@oracle.com>
Mon, 25 Feb 2013 19:00:08 +0100
brancharithmetic
changeset 7555652acd48509
parent 753 cc0e6767259b
child 756 227192d82682
child 774 42bc1e89134d
Added conversion to long for JavaScript implementation of System.currentTimeMillis
emul/compact/src/test/java/org/apidesign/bck2brwsr/compact/tck/JFXIssuesTest.java
emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java
vm/src/test/java/org/apidesign/vm4brwsr/SystemTest.java
     1.1 --- a/emul/compact/src/test/java/org/apidesign/bck2brwsr/compact/tck/JFXIssuesTest.java	Tue Feb 19 15:59:27 2013 +0100
     1.2 +++ b/emul/compact/src/test/java/org/apidesign/bck2brwsr/compact/tck/JFXIssuesTest.java	Mon Feb 25 19:00:08 2013 +0100
     1.3 @@ -48,6 +48,13 @@
     1.4          return Float.isInfinite(Float.NEGATIVE_INFINITY);
     1.5      }
     1.6  
     1.7 +    @Compare public boolean areTimesEqual() {
     1.8 +        long l1 = System.currentTimeMillis();
     1.9 +        long l2 = l1 + 0;
    1.10 +
    1.11 +        return l1 == l2;
    1.12 +    }
    1.13 +
    1.14      @Factory public static Object[] create() {
    1.15          return VMTest.create(JFXIssuesTest.class);
    1.16      }
     2.1 --- a/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java	Tue Feb 19 15:59:27 2013 +0100
     2.2 +++ b/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java	Mon Feb 25 19:00:08 2013 +0100
     2.3 @@ -55,8 +55,12 @@
     2.4      public static native byte[] expandArray(byte[] arr, int expectedSize);
     2.5  
     2.6      @JavaScriptBody(args = {}, body = "return new Date().getTime();")
     2.7 -    public static native long currentTimeMillis();
     2.8 -    
     2.9 +    private static native double currentTimeMillisDouble();
    2.10 +
    2.11 +    public static long currentTimeMillis() {
    2.12 +        return (long) currentTimeMillisDouble();
    2.13 +    }
    2.14 +
    2.15      public static long nanoTime() {
    2.16          return 1000000L * currentTimeMillis();
    2.17      }
     3.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/SystemTest.java	Tue Feb 19 15:59:27 2013 +0100
     3.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/SystemTest.java	Mon Feb 25 19:00:08 2013 +0100
     3.3 @@ -32,7 +32,7 @@
     3.4          long now = System.currentTimeMillis();
     3.5          
     3.6          Object js = code.execCode("Get js time", 
     3.7 -            org.apidesign.bck2brwsr.emul.lang.System.class, "currentTimeMillis__J",
     3.8 +            org.apidesign.bck2brwsr.emul.lang.System.class, "currentTimeMillisDouble__D",
     3.9              null
    3.10          );
    3.11