1.1 --- a/emul/compact/src/test/java/org/apidesign/bck2brwsr/compact/tck/JFXIssuesTest.java Fri Feb 15 16:06:12 2013 +0100
1.2 +++ b/emul/compact/src/test/java/org/apidesign/bck2brwsr/compact/tck/JFXIssuesTest.java Tue Feb 19 15:33:32 2013 +0100
1.3 @@ -39,7 +39,15 @@
1.4 @Compare public boolean isClassAssignable() {
1.5 return Application.class.isAssignableFrom(MyApplication.class);
1.6 }
1.7 -
1.8 +
1.9 + @Compare public boolean isNaN() {
1.10 + return Double.isNaN(Double.NaN);
1.11 + }
1.12 +
1.13 + @Compare public boolean isInfinite() {
1.14 + return Float.isInfinite(Float.NEGATIVE_INFINITY);
1.15 + }
1.16 +
1.17 @Factory public static Object[] create() {
1.18 return VMTest.create(JFXIssuesTest.class);
1.19 }
2.1 --- a/emul/mini/src/main/java/java/lang/Double.java Fri Feb 15 16:06:12 2013 +0100
2.2 +++ b/emul/mini/src/main/java/java/lang/Double.java Tue Feb 19 15:33:32 2013 +0100
2.3 @@ -191,7 +191,7 @@
2.4 * @return a string representation of the argument.
2.5 */
2.6 @JavaScriptBody(args="d", body="var r = d.toString();"
2.7 - + "if (r.indexOf('.') === -1) r = r + '.0';"
2.8 + + "if (isFinite(d) && (r.indexOf('.') === -1)) r = r + '.0';"
2.9 + "return r;")
2.10 public static String toString(double d) {
2.11 throw new UnsupportedOperationException();
3.1 --- a/emul/mini/src/main/java/java/lang/Float.java Fri Feb 15 16:06:12 2013 +0100
3.2 +++ b/emul/mini/src/main/java/java/lang/Float.java Tue Feb 19 15:33:32 2013 +0100
3.3 @@ -819,11 +819,15 @@
3.4 */
3.5 @JavaScriptBody(args = "bits",
3.6 body =
3.7 - "if (bits === 0x7f800000) return Number.POSITIVE_INFINITY;\n"
3.8 - + "if (bits === 0xff800000) return Number.NEGATIVE_INFINITY;\n"
3.9 - + "if (bits >= 0x7f800001 && bits <= 0xffffffff) return Number.NaN;\n"
3.10 - + "var s = ((bits >> 31) == 0) ? 1 : -1;\n"
3.11 + "var s = ((bits >> 31) == 0) ? 1 : -1;\n"
3.12 + "var e = ((bits >> 23) & 0xff);\n"
3.13 + + "if (e === 0xff) {\n"
3.14 + + " if ((bits & 0x7fffff) === 0) {\n"
3.15 + + " return (s > 0) ? Number.POSITIVE_INFINITY"
3.16 + + " : Number.NEGATIVE_INFINITY;\n"
3.17 + + " }\n"
3.18 + + " return Number.NaN;\n"
3.19 + + "}\n"
3.20 + "var m = (e == 0) ?\n"
3.21 + " (bits & 0x7fffff) << 1 :\n"
3.22 + " (bits & 0x7fffff) | 0x800000;\n"