rt/vm/src/test/java/org/apidesign/vm4brwsr/Numbers.java
brancharithmetic
changeset 783 8264f07b1f46
parent 772 d382dacfd73f
child 791 af4001c85438
     1.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/Numbers.java	Tue Feb 26 16:54:16 2013 +0100
     1.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/Numbers.java	Wed Feb 27 17:50:47 2013 +0100
     1.3 @@ -20,6 +20,7 @@
     1.4  import java.io.ByteArrayInputStream;
     1.5  import java.io.DataInputStream;
     1.6  import java.io.IOException;
     1.7 +import org.apidesign.bck2brwsr.core.JavaScriptBody;
     1.8  
     1.9  /**
    1.10   *
    1.11 @@ -67,4 +68,23 @@
    1.12      static String floatToString() {
    1.13          return new Float(7.0).toString().toString();
    1.14      }
    1.15 +    
    1.16 +    static double seven(int todo) {
    1.17 +        switch (todo) {
    1.18 +            case 0: return sevenNew().doubleValue();
    1.19 +            case 1: return sevenNew().intValue();
    1.20 +            case 2: return sevenNew().longValue();
    1.21 +            case 3: return sevenNew().shortValue();
    1.22 +            case 4: return sevenNew().byteValue();
    1.23 +            case 8: return valueOf(Double.valueOf(7.0));
    1.24 +            case 9: return valueOf(Long.valueOf(Long.MAX_VALUE / 5));
    1.25 +            default: throw new IllegalStateException();
    1.26 +        }
    1.27 +    }
    1.28 +    
    1.29 +    @JavaScriptBody(args = {}, body = "return 7;")
    1.30 +    private static native Number sevenNew();
    1.31 +    
    1.32 +    @JavaScriptBody(args = { "o" }, body = "return o.valueOf();")
    1.33 +    private static native double valueOf(Object o);
    1.34  }