Added tests for integer division and reminder after division. Removed JS version of String.hashCode since standard version is already correct.
1.1 --- a/emul/src/main/java/java/lang/String.java Tue Dec 18 20:19:11 2012 +0100
1.2 +++ b/emul/src/main/java/java/lang/String.java Wed Dec 19 11:12:04 2012 +0100
1.3 @@ -1491,15 +1491,6 @@
1.4 *
1.5 * @return a hash code value for this object.
1.6 */
1.7 - @JavaScriptBody(args = "self", body =
1.8 - "var h = 0;\n" +
1.9 - "var s = self.toString();\n" +
1.10 - "for (var i = 0; i < s.length; i++) {\n" +
1.11 - " var high = (h >> 16) & 0xffff, low = h & 0xffff;\n" +
1.12 - " h = (((((31 * high) & 0xffff) << 16) >>> 0) + (31 * low) + s.charCodeAt(i)) & 0xffffffff;\n" +
1.13 - "}\n" +
1.14 - "return h;\n"
1.15 - )
1.16 public int hashCode() {
1.17 int h = hash;
1.18 if (h == 0 && length() > 0) {
2.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/tck/CompareHashTest.java Tue Dec 18 20:19:11 2012 +0100
2.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/tck/CompareHashTest.java Wed Dec 19 11:12:04 2012 +0100
2.3 @@ -35,6 +35,10 @@
2.4 return o.hashCode() - o.hashCode();
2.5 }
2.6
2.7 + @Compare public int hashOfInt() {
2.8 + return Integer.valueOf(Integer.MAX_VALUE).hashCode();
2.9 + }
2.10 +
2.11 @Factory
2.12 public static Object[] create() {
2.13 return CompareVMs.create(CompareHashTest.class);
3.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/tck/IntegerArithmeticTest.java Tue Dec 18 20:19:11 2012 +0100
3.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/tck/IntegerArithmeticTest.java Wed Dec 19 11:12:04 2012 +0100
3.3 @@ -39,6 +39,14 @@
3.4 return x * y;
3.5 }
3.6
3.7 + private static int div(int x, int y) {
3.8 + return x / y;
3.9 + }
3.10 +
3.11 + private static int mod(int x, int y) {
3.12 + return x % y;
3.13 + }
3.14 +
3.15 @Compare public int addOverflow() {
3.16 return add(Integer.MAX_VALUE, 1);
3.17 }
3.18 @@ -75,6 +83,14 @@
3.19 return mul(119106029, 1103515245);
3.20 }
3.21
3.22 + @Compare public int division() {
3.23 + return div(1, 2);
3.24 + }
3.25 +
3.26 + @Compare public int divisionReminder() {
3.27 + return mod(1, 2);
3.28 + }
3.29 +
3.30 @Factory
3.31 public static Object[] create() {
3.32 return CompareVMs.create(IntegerArithmeticTest.class);