# HG changeset patch # User Martin Soch # Date 1355911924 -3600 # Node ID c0fd4e7919b38f230abb21cb798daca05fc78f0e # Parent b7459b10d581687ca66a40008bf42d2ee16a0c3a Added tests for integer division and reminder after division. Removed JS version of String.hashCode since standard version is already correct. diff -r b7459b10d581 -r c0fd4e7919b3 emul/src/main/java/java/lang/String.java --- a/emul/src/main/java/java/lang/String.java Tue Dec 18 20:19:11 2012 +0100 +++ b/emul/src/main/java/java/lang/String.java Wed Dec 19 11:12:04 2012 +0100 @@ -1491,15 +1491,6 @@ * * @return a hash code value for this object. */ - @JavaScriptBody(args = "self", body = - "var h = 0;\n" + - "var s = self.toString();\n" + - "for (var i = 0; i < s.length; i++) {\n" + - " var high = (h >> 16) & 0xffff, low = h & 0xffff;\n" + - " h = (((((31 * high) & 0xffff) << 16) >>> 0) + (31 * low) + s.charCodeAt(i)) & 0xffffffff;\n" + - "}\n" + - "return h;\n" - ) public int hashCode() { int h = hash; if (h == 0 && length() > 0) { diff -r b7459b10d581 -r c0fd4e7919b3 vm/src/test/java/org/apidesign/vm4brwsr/tck/CompareHashTest.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/tck/CompareHashTest.java Tue Dec 18 20:19:11 2012 +0100 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/tck/CompareHashTest.java Wed Dec 19 11:12:04 2012 +0100 @@ -35,6 +35,10 @@ return o.hashCode() - o.hashCode(); } + @Compare public int hashOfInt() { + return Integer.valueOf(Integer.MAX_VALUE).hashCode(); + } + @Factory public static Object[] create() { return CompareVMs.create(CompareHashTest.class); diff -r b7459b10d581 -r c0fd4e7919b3 vm/src/test/java/org/apidesign/vm4brwsr/tck/IntegerArithmeticTest.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/tck/IntegerArithmeticTest.java Tue Dec 18 20:19:11 2012 +0100 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/tck/IntegerArithmeticTest.java Wed Dec 19 11:12:04 2012 +0100 @@ -39,6 +39,14 @@ return x * y; } + private static int div(int x, int y) { + return x / y; + } + + private static int mod(int x, int y) { + return x % y; + } + @Compare public int addOverflow() { return add(Integer.MAX_VALUE, 1); } @@ -75,6 +83,14 @@ return mul(119106029, 1103515245); } + @Compare public int division() { + return div(1, 2); + } + + @Compare public int divisionReminder() { + return mod(1, 2); + } + @Factory public static Object[] create() { return CompareVMs.create(IntegerArithmeticTest.class);